diff --git a/desktopenvs/hyprdrive/hypr/usr/windowrules.lua b/desktopenvs/hyprdrive/hypr/usr/windowrules.lua index 400c6ae..bf62f29 100644 --- a/desktopenvs/hyprdrive/hypr/usr/windowrules.lua +++ b/desktopenvs/hyprdrive/hypr/usr/windowrules.lua @@ -103,6 +103,19 @@ hl.window_rule({ move = "(monitor_w/2 - window_w/2) (monitor_h/2 - window_h/2)", }) +-- screen-share source picker (xdg-desktop-portal-hyprland) — same treatment as +-- the GTK portal dialog above. This is the Qt "hyprland-share-picker" binary +-- that pops up asking which output/window to share (e.g. from Discord); it +-- calls QCoreApplication::setApplicationName("org.hyprland.xdg-desktop-portal-hyprland"), +-- which becomes its Wayland app_id/class. It's a parentless top-level like the +-- GTK portal dialog, so it needs the same explicit float+center rule. +hl.window_rule({ + name = "hyprland-share-picker", + match = { class = "org.hyprland.xdg-desktop-portal-hyprland" }, + float = true, + move = "(monitor_w/2 - window_w/2) (monitor_h/2 - window_h/2)", +}) + -- dialogs — float any dialog-like window at its natural (minimum) size, centred on -- the cursor: renaming dialogs, generic Save/Open/Confirm/Delete/Move/Copy/Replace/ -- Properties/Preferences dialogs, and Firefox "Opening " download prompts. diff --git a/desktopenvs/hyprlua/hypr/usr/windowrules.lua b/desktopenvs/hyprlua/hypr/usr/windowrules.lua index 63c2c98..26b932a 100644 --- a/desktopenvs/hyprlua/hypr/usr/windowrules.lua +++ b/desktopenvs/hyprlua/hypr/usr/windowrules.lua @@ -104,6 +104,19 @@ hl.window_rule({ move = "(monitor_w/2 - window_w/2) (monitor_h/2 - window_h/2)", }) +-- screen-share source picker (xdg-desktop-portal-hyprland) — same treatment as +-- the GTK portal dialog above. This is the Qt "hyprland-share-picker" binary +-- that pops up asking which output/window to share (e.g. from Discord); it +-- calls QCoreApplication::setApplicationName("org.hyprland.xdg-desktop-portal-hyprland"), +-- which becomes its Wayland app_id/class. It's a parentless top-level like the +-- GTK portal dialog, so it needs the same explicit float+center rule. +hl.window_rule({ + name = "hyprland-share-picker", + match = { class = "org.hyprland.xdg-desktop-portal-hyprland" }, + float = true, + move = "(monitor_w/2 - window_w/2) (monitor_h/2 - window_h/2)", +}) + -- dialogs — float any dialog-like window at its natural (minimum) size, centred on -- the cursor: renaming dialogs, generic Save/Open/Confirm/Delete/Move/Copy/Replace/ -- Properties/Preferences dialogs, and Firefox "Opening " download prompts.