diff --git a/.gitignore b/.gitignore index ad011d8..697e872 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ monitors.conf monitors.lua exec-once.conf exec-once.lua +custom.lua plugins diff --git a/hyprland.lua b/hyprland.lua index 814f5ef..1d02388 100644 --- a/hyprland.lua +++ b/hyprland.lua @@ -3,6 +3,9 @@ -- git clone https://github.com/zjeffer/split-monitor-workspaces ~/.config/hypr/plugins/split-monitor-workspaces +-- Custom, non versionned parameters +local custom_ok, custom = pcall(require, "custom") + -------------------------------------- ---- SPLIT-MONITOR-WORKSPACES ---- -------------------------------------- @@ -35,8 +38,12 @@ local menu = "rofi -show drun -theme ~/.config/rofi/theme.rasi" local emoji = [[rofimoji --selector-args="-theme ~/.config/rofi/theme.rasi"]] local hyprscript = "~/.config/hypr/hyprscript" -- ne sert plus que pour `stat` local social = [[firefox "http://notes.tforgione.fr/" "https://ksuite.infomaniak.com/1220491/mail/0" "https://ksuite.infomaniak.com/1085038/mail" "https://web.telegram.org" "https://web.whatsapp.com/" "https://discord.com/app" "https://nuage.tforgione.fr/index.php/apps/calendar/" "https://gotify.tforgione.fr"]] -local yuzzit = [[firefox -P Yuzzit "https://mail.google.com/" "https://app.gather.town/app/bZRkf3gh7MIximOa/ytopenspace" "https://app.slack.com/client/T03UFFGJK/D07KS0S1LDT" "https://yip.atlassian.net/wiki/spaces/Y/overview" "https://yip.atlassian.net/"]] +local yuzzit = [[sh -c 'firefox -P Yuzzit "https://mail.google.com/" "https://app.slack.com/client/T03UFFGJK/D07KS0S1LDT" "https://yip.atlassian.net/wiki/spaces/Y/overview" "https://yip.atlassian.net/"' & chromium "https://app.gather.town/app/bZRkf3gh7MIximOa/ytopenspace" ]] +if custom_ok and type(custom) == "table" then + social = custom.social or social + yuzzit = custom.yuzzit or yuzzit +end ------------------- ---- AUTOSTART ---- @@ -338,3 +345,18 @@ hl.window_rule({ match = { class = "^(Alacritty)$" }, border_size = 1, }) + + +-------------------------------- +---- POPUP FIXES ---- +-------------------------------- +hl.on("window.open", function(w) + -- on ne touche qu'aux dialogs (flottants), pas aux fenêtres tuilées normales + if not w.floating then return end + + -- le special actuellement visible sur le moniteur de cette fenêtre + local special = w.monitor and w.monitor.special_workspace -- nom du champ à confirmer + if special and special ~= "" then + hl.dispatch(hl.dsp.window.move({ window = w, workspace = "special:" .. special })) + end +end)