From 0583e84db4f0b6fd7b211c7278f5e0fa722c76a2 Mon Sep 17 00:00:00 2001 From: Nicolas Dorier Date: Tue, 11 Nov 2025 10:13:31 +0900 Subject: [PATCH 1/3] Fix: Jetbrains popup dialog would not get focus automatically The config shipped with omarchy misbehaves with popups. Opening a popup would not shift the focus automatically to it, requiring manual click on it to start typing into it. You can reproduce with by trying to open any popup dialog (for example CTRL+T on Rider, or CTRL+SHIFT+F) This config with `-Dawt.toolkit.name=WLToolkit` in the custom VM options fixes all the issues I have with jetbrains. I am also making a dedicated workspace which float all windows just for jetbrains. --- default/hypr/apps/jetbrains.conf | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/default/hypr/apps/jetbrains.conf b/default/hypr/apps/jetbrains.conf index f9273df147..8aee4c3d04 100644 --- a/default/hypr/apps/jetbrains.conf +++ b/default/hypr/apps/jetbrains.conf @@ -1,9 +1,18 @@ -# JetBrains windows default size -windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$ +# -- Fix odd behaviors in IntelliJ IDEs -- +#! Fix splash screen showing in weird places and prevent annoying focus takeovers +windowrule = tag +jb-splash,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 +windowrule = center,tag:jb-splash +windowrule = nofocus,tag:jb-splash +windowrule = noborder,tag:jb-splash +#! Center popups/find windows +windowrule = tag +jb,class:^(jetbrains-.*),title:^()$,floating:1 +windowrule = center,tag:jb +#! Enabling this makes it impossible to provide input to any popup dialogue (search window, new file, etc.) +windowrule = stayfocused,tag:jb +windowrule = noborder,tag:jb +# For some reason tag:jb does not work for size rule +windowrule = size >50% >50%,class:^(jetbrains-.*),title:^()$,floating:1 -# Fix tab dragging (tab titles are just one space) -windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$ - -# Allow dialogs (like "Send usage statistics") to be focusable and clickable -windowrule = unset,nofocus,class:^(.*jetbrains.*)$,title:^$ -windowrule = unset,noinitialfocus,class:^(.*jetbrains.*)$,title:^$ +#! Disable window flicker when autocomplete or tooltips appear +windowrule = noinitialfocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1 +# -- End of IntelliJ Rules -- From 30c0749f6a870a73d7330ec53e59d50ed9a27cc1 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 11 Nov 2025 15:52:13 +0100 Subject: [PATCH 2/3] Use existing formatting conventions --- default/hypr/apps/jetbrains.conf | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/default/hypr/apps/jetbrains.conf b/default/hypr/apps/jetbrains.conf index 8aee4c3d04..bc3d42d3d4 100644 --- a/default/hypr/apps/jetbrains.conf +++ b/default/hypr/apps/jetbrains.conf @@ -1,18 +1,19 @@ -# -- Fix odd behaviors in IntelliJ IDEs -- -#! Fix splash screen showing in weird places and prevent annoying focus takeovers -windowrule = tag +jb-splash,class:^(jetbrains-.*)$,title:^(splash)$,floating:1 -windowrule = center,tag:jb-splash -windowrule = nofocus,tag:jb-splash -windowrule = noborder,tag:jb-splash -#! Center popups/find windows -windowrule = tag +jb,class:^(jetbrains-.*),title:^()$,floating:1 -windowrule = center,tag:jb -#! Enabling this makes it impossible to provide input to any popup dialogue (search window, new file, etc.) -windowrule = stayfocused,tag:jb -windowrule = noborder,tag:jb +# Fix splash screen showing in weird places and prevent annoying focus takeovers +windowrule = tag +jb-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1 +windowrule = center, tag:jb-splash +windowrule = nofocus, tag:jb-splash +windowrule = noborder, tag:jb-splash + +# Center popups/find windows +windowrule = tag +jb, class:^(jetbrains-.*), title:^()$, floating:1 +windowrule = center, tag:jb + +# Enabling this makes it impossible to provide input to any popup dialogue (search window, new file, etc.) +windowrule = stayfocused, tag:jb +windowrule = noborder, tag:jb + # For some reason tag:jb does not work for size rule -windowrule = size >50% >50%,class:^(jetbrains-.*),title:^()$,floating:1 +windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1 -#! Disable window flicker when autocomplete or tooltips appear -windowrule = noinitialfocus,class:^(jetbrains-.*)$,title:^(win.*)$,floating:1 -# -- End of IntelliJ Rules -- +# Disable window flicker when autocomplete or tooltips appear +windowrule = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1 From 3d5f9362a316a94cace03af8bc4456424e747a6c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 11 Nov 2025 15:53:50 +0100 Subject: [PATCH 3/3] More tweaks --- default/hypr/apps/jetbrains.conf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/default/hypr/apps/jetbrains.conf b/default/hypr/apps/jetbrains.conf index bc3d42d3d4..f6455ced33 100644 --- a/default/hypr/apps/jetbrains.conf +++ b/default/hypr/apps/jetbrains.conf @@ -1,18 +1,18 @@ # Fix splash screen showing in weird places and prevent annoying focus takeovers -windowrule = tag +jb-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1 -windowrule = center, tag:jb-splash -windowrule = nofocus, tag:jb-splash -windowrule = noborder, tag:jb-splash +windowrule = tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1 +windowrule = center, tag:jetbrains-splash +windowrule = nofocus, tag:jetbrains-splash +windowrule = noborder, tag:jetbrains-splash # Center popups/find windows -windowrule = tag +jb, class:^(jetbrains-.*), title:^()$, floating:1 -windowrule = center, tag:jb +windowrule = tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1 +windowrule = center, tag:jetbrains -# Enabling this makes it impossible to provide input to any popup dialogue (search window, new file, etc.) -windowrule = stayfocused, tag:jb -windowrule = noborder, tag:jb +# Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.) +windowrule = stayfocused, tag:jetbrains +windowrule = noborder, tag:jetbrains -# For some reason tag:jb does not work for size rule +# For some reason tag:jetbrains does not work for size rule windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1 # Disable window flicker when autocomplete or tooltips appear