From 32a74f5fd65c07dec0a0d56e986e22fc76719f3e Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Tue, 5 Sep 2023 12:49:33 +0100 Subject: [PATCH] Back to numbered workspaces --- home/hyprland/config.nix | 216 +++++++----------- .../waybar/modules/wlr_workspaces.nix | 41 ++-- hosts/Ronin/home.nix | 9 + hosts/Vanguard/home.nix | 1 + 4 files changed, 115 insertions(+), 152 deletions(-) diff --git a/home/hyprland/config.nix b/home/hyprland/config.nix index 37beddbb..cbbfa38e 100644 --- a/home/hyprland/config.nix +++ b/home/hyprland/config.nix @@ -92,21 +92,18 @@ in '' bind = SUPER, Space, exec, ${anyrunPackage}/bin/anyrun bind = SUPER ALT, Space, submap, launch bind = SUPER ALT, E, exec, ${emacsPackage}/bin/emacsclient -c -a 'emacs' - bind = SUPER ALT, W, exec, ${firefoxPackage}/bin/firefox - bind = SUPER ALT, F, exec, ${pkgs.xfce.thunar}/bin/thunar - bind = SUPER ALT, Z, exec, ${pkgs.zotero}/bin/zotero - bind = SUPER ALT, S, exec, ${pkgs.alacritty}/bin/alacritty -e ncspot - bind = SUPER ALT, V, exec, ${pkgs.bitwarden}/bin/bitwarden - bind = SUPER ALT, R, exec, ${pkgs.remmina}/bin/remmina + bind = SUPER ALT, W, exec, [workspace 2] ${firefoxPackage}/bin/firefox + bind = SUPER ALT, D, exec, [workspace 3] ${emacsPackage}/bin/emacsclient -c -a 'emacs' + bind = SUPER ALT, F, exec, [workspace 4] ${pkgs.xfce.thunar}/bin/thunar + bind = SUPER ALT, Z, exec, [workspace 4] ${pkgs.zotero}/bin/zotero + bind = SUPER ALT, S, exec, [workspace 5] ${pkgs.alacritty}/bin/alacritty -e ncspot submap = launch - bind = , E, exec, [workspace name:editor silent] ${emacsPackage}/bin/emacsclient -c -a 'emacs' - bind = , W, exec, [workspace name:browser silent] ${firefoxPackage}/bin/firefox - bind = , F, exec, [workspace name:files silent] ${pkgs.xfce.thunar}/bin/thunar - bind = , Z, exec, [workspace name:library silent] ${pkgs.zotero}/bin/zotero - bind = , S, exec, [workspace name:music silent] ${pkgs.alacritty}/bin/alacritty -e ncspot - bind = , V, exec, [workspace name:vault silent] ${pkgs.bitwarden}/bin/bitwarden - bind = , R, exec, [workspace name:remote silent] ${pkgs.remmina}/bin/remmina + bind = , W, exec, [workspace 2 silent] ${firefoxPackage}/bin/firefox + bind = , D, exec, [workspace 3 silent] ${emacsPackage}/bin/emacsclient -c -a 'emacs' + bind = , F, exec, [workspace 4 silent] ${pkgs.xfce.thunar}/bin/thunar + bind = , Z, exec, [workspace 4 silent] ${pkgs.zotero}/bin/zotero + bind = , S, exec, [workspace 5 silent] ${pkgs.alacritty}/bin/alacritty -e ncspot bind = , Space, submap, reset bind = SUPER, Space, submap, reset bind = SUPER ALT, Space, submap, reset @@ -138,119 +135,86 @@ in '' bind = SUPER SHIFT, K, movewindow, u bind = SUPER SHIFT, J, movewindow, d - # Workspace definitions - # home - bind = SUPER, A, moveworkspacetomonitor, name:home current - bind = SUPER, A, workspace, name:home - bind = SUPER SHIFT, A, movetoworkspace, name:home - - # editor - bind = SUPER, E, moveworkspacetomonitor, name:editor current - bind = SUPER, E, workspace, name:editor - bind = SUPER SHIFT, E, movetoworkspace, name:editor - - # browser - bind = SUPER, W, moveworkspacetomonitor, name:browser current - bind = SUPER, W, workspace, name:browser - bind = SUPER SHIFT, W, movetoworkspace, name:browser - windowrule = workspace name:browser,(firefox) - windowrulev2 = float,title:(File|Picture-in-Picture),class:(firefox) - windowrulev2 = pin,title:(File|Picture-in-Picture),class:(firefox) - - # files - bind = SUPER, F, moveworkspacetomonitor, name:files current - bind = SUPER, F, workspace, name:files - bind = SUPER SHIFT, F, movetoworkspace, name:files - windowrule = workspace name:files,^(libreoffice).* - windowrule = workspace name:files,(thunar) - windowrulev2 = workspace name:files,title:(Open),class:(soffice) - windowrulev2 = float,title:(Open),class:(soffice) - - # chat - bind = SUPER, C, moveworkspacetomonitor, name:chat current - bind = SUPER, C, workspace, name:chat - bind = SUPER SHIFT, C, movetoworkspace, name:chat - windowrule = workspace name:chat,(Signal) - windowrule = workspace name:chat,(fractal) - windowrule = workspace name:chat,(discord) - windowrule = workspace name:chat,(teams-for-linux) - windowrulev2 = workspace name:chat,title:(Zoom|zoom) - windowrulev2 = float,title:(Zoom|zoom) - windowrulev2 = center,title:(Zoom|zoom) - windowrulev2 = maxsize 512 512,title:(Zoom|zoom) - windowrulev2 = nofullscreenrequest,title:(Zoom|zoom) - windowrulev2 = nomaximizerequest,title:(Zoom|zoom) - - # library - bind = SUPER, Z, moveworkspacetomonitor, name:library current - bind = SUPER, Z, workspace, name:library - bind = SUPER SHIFT, Z, movetoworkspace, name:library - windowrule = workspace name:library,(Zotero) - - # music - bind = SUPER, S, moveworkspacetomonitor, name:music current - bind = SUPER, S, workspace, name:music - bind = SUPER SHIFT, S, movetoworkspace, name:music - windowrulev2 = workspace name:music,title:(ncspot) - - # gaming - bind = SUPER, G, moveworkspacetomonitor, name:gaming current - bind = SUPER, G, workspace, name:gaming - bind = SUPER SHIFT, G, movetoworkspace, name:gaming - windowrule = workspace name:gaming,(steam) - windowrulev2 = float,class:(steam),title:(Friends List) - - # vault - bind = SUPER, V, moveworkspacetomonitor, name:vault current - bind = SUPER, V, workspace, name:vault - bind = SUPER SHIFT, V, movetoworkspace, name:vault - windowrule = workspace name:vault,(Bitwarden) - - # remote - bind = SUPER, R, moveworkspacetomonitor, name:remote current - bind = SUPER, R, workspace, name:remote - bind = SUPER SHIFT, R, movetoworkspace, name:remote - windowrule = workspace name:remote,(Nxplayer.bin) - windowrule = float,(Nxplayer.bin) - windowrule = center,(Nxplayer.bin) - windowrule = maxsize 1700 900,(Nxplayer.bin) - windowrule = nofullscreenrequest,(Nxplayer.bin) - windowrule = nomaximizerequest,(Nxplayer.bin) - windowrule = workspace name:remote,(org.remmina.Remmina) + # Window rules + windowrule = float,(pavucontrol) + windowrule = size 800 600,(pavucontrol) + windowrule = move 100%-820 10%,(pavucontrol) + windowrule = float,(.blueman-manager-wrapped) + windowrule = size 800 600,(.blueman-manager-wrapped) + windowrule = move 100%-820 10%,(.blueman-manager-wrapped) + windowrule = float,(nm-connection-editor) + windowrule = size 800 600,(nm-connection-editor) + windowrule = move 100%-820 10%,(nm-connection-editor) windowrule = nofullscreenrequest,(org.remmina.Remmina) windowrule = nomaximizerequest,(org.remmina.Remmina) + windowrulev2 = float,title:(File|Picture-in-Picture),class:(firefox) + windowrulev2 = pin,title:(File|Picture-in-Picture),class:(firefox) + windowrulev2 = float,title:(Open),class:(soffice) windowrulev2 = float,class:(org.remmina.Remmina),title:^(Remmina Remote Desktop Client)$ + windowrulev2 = float,class:(steam),title:(Friends List) - # Numbered workspaces - bind = SUPER, 1, moveworkspacetomonitor, 1 current - bind = SUPER, 1, workspace, 1 - bind = SUPER SHIFT, 1, movetoworkspace, 1 - bind = SUPER, 2, moveworkspacetomonitor, 2 current - bind = SUPER, 2, workspace, 2 - bind = SUPER SHIFT, 2, movetoworkspace, 2 - bind = SUPER, 3, moveworkspacetomonitor, 3 current - bind = SUPER, 3, workspace, 3 - bind = SUPER SHIFT, 3, movetoworkspace, 3 - bind = SUPER, 4, moveworkspacetomonitor, 4 current - bind = SUPER, 4, workspace, 4 - bind = SUPER SHIFT, 4, movetoworkspace, 4 - bind = SUPER, 5, moveworkspacetomonitor, 5 current - bind = SUPER, 5, workspace, 5 - bind = SUPER SHIFT, 5, movetoworkspace, 5 - bind = SUPER, 6, moveworkspacetomonitor, 6 current - bind = SUPER, 6, workspace, 6 - bind = SUPER SHIFT, 6, movetoworkspace, 6 - bind = SUPER, 7, moveworkspacetomonitor, 7 current - bind = SUPER, 7, workspace, 7 - bind = SUPER SHIFT, 7, movetoworkspace, 7 - bind = SUPER, 8, moveworkspacetomonitor, 8 current - bind = SUPER, 8, workspace, 8 - bind = SUPER SHIFT, 8, movetoworkspace, 8 - bind = SUPER, 9, moveworkspacetomonitor, 9 current - bind = SUPER, 9, workspace, 9 - bind = SUPER SHIFT, 9, movetoworkspace, 9 + # Workspace definitions + # 1: [a]ny + bind = SUPER, A, moveworkspacetomonitor, 1 current + bind = SUPER, A, workspace, 1 + bind = SUPER SHIFT, A, movetoworkspace, 1 + + # 2: [b]rowser + bind = SUPER, W, moveworkspacetomonitor, 2 current + bind = SUPER, W, workspace, 2 + bind = SUPER SHIFT, W, movetoworkspace, 2 + windowrule = workspace 2,(firefox) + + # 3: [d]ev + bind = SUPER, D, moveworkspacetomonitor, 3 current + bind = SUPER, D, workspace, 3 + bind = SUPER SHIFT, D, movetoworkspace, 3 + windowrule = workspace 3,(emacs) + + # 4: [f]iles + bind = SUPER, F, moveworkspacetomonitor, 4 current + bind = SUPER, F, workspace, 4 + bind = SUPER SHIFT, F, movetoworkspace, 4 + windowrule = workspace 4,^(libreoffice).* + windowrule = workspace 4,(thunar) + windowrulev2 = workspace 4,title:(Open),class:(soffice) + + # 5: [s]potify (or mu[s]ic) + bind = SUPER, S, moveworkspacetomonitor, 5 current + bind = SUPER, S, workspace, 5 + bind = SUPER SHIFT, S, movetoworkspace, 5 + windowrulev2 = workspace 5,class:(Alacritty),title:(ncspot) + + # 6: [c]hat + bind = SUPER, C, moveworkspacetomonitor, 6 current + bind = SUPER, C, workspace, 6 + bind = SUPER SHIFT, C, movetoworkspace, 6 + windowrule = workspace 6,(Signal) + windowrule = workspace 6,(fractal) + windowrule = workspace 6,(discord) + + # 7: [v]ideo + bind = SUPER, V, moveworkspacetomonitor, 7 current + bind = SUPER, V, workspace, 7 + bind = SUPER SHIFT, V, movetoworkspace, 7 + + # 8: [r]emote + bind = SUPER, R, moveworkspacetomonitor, 8 current + bind = SUPER, R, workspace, 8 + bind = SUPER SHIFT, R, movetoworkspace, 8 + windowrule = workspace 8,(org.remmina.Remmina) + + # 9: [g]aming + bind = SUPER, G, moveworkspacetomonitor, 9 current + bind = SUPER, G, workspace, 9 + bind = SUPER SHIFT, G, movetoworkspace, 9 + windowrule = workspace 9,(steam) # Special workspaces + bind = SUPER, comma, workspace, -1 + bind = SUPER SHIFT, comma, movetoworkspace, -1 + bind = SUPER, period, workspace, +1 + bind = SUPER SHIFT, period, movetoworkspace, +1 bind = SUPER, N, workspace, empty bind = SUPER SHIFT, N, movetoworkspace, empty bind = SUPER, minus, togglespecialworkspace @@ -267,18 +231,6 @@ in '' bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - windowrule = float,(pavucontrol) - windowrule = size 800 600,(pavucontrol) - windowrule = move 100%-820 10%,(pavucontrol) - windowrule = float,(.blueman-manager-wrapped) - windowrule = size 800 600,(.blueman-manager-wrapped) - windowrule = move 100%-820 10%,(.blueman-manager-wrapped) - windowrule = float,(nm-connection-editor) - windowrule = size 800 600,(nm-connection-editor) - windowrule = move 100%-820 10%,(nm-connection-editor) - exec-once = ${pkgs.libsForQt5.polkit-kde-agent}/bin/polkit-kde-authentication-agent-1 exec-once = ${pkgs.waybar}/bin/waybar exec-once = ${pkgs.mako}/bin/mako diff --git a/home/hyprland/waybar/modules/wlr_workspaces.nix b/home/hyprland/waybar/modules/wlr_workspaces.nix index 12ed99d7..7b9575a5 100644 --- a/home/hyprland/waybar/modules/wlr_workspaces.nix +++ b/home/hyprland/waybar/modules/wlr_workspaces.nix @@ -4,26 +4,27 @@ all-outputs = false; format = "{icon}"; format-icons = { - "home" = "󰟀"; - "editor" = "󰳼"; - "browser" = "󰖟"; - "files" = "󰝰"; - "chat" = "󰭹"; - "library" = "󰮩"; - "music" = "󰲸"; - "gaming" = "󰓓"; - "vault" = "󰌾"; - "remote" = "󰢹"; - "1" = "󰎦"; - "2" = "󰎩"; - "3" = "󰎬"; - "4" = "󰎮"; - "5" = "󰎰"; - "6" = "󰎵"; - "7" = "󰎸"; - "8" = "󰎻"; - "9" = "󰎾"; + "1" = "󰟀"; # [a]ny + "2" = "󰈹"; # [b]rowser + "3" = "󰳼"; # [d]ev + "4" = "󰝰"; # [f]iles + "5" = "󰓇"; # [s]potify (or mu[s]ic) + "6" = "󰭹"; # [c]hat + "7" = "󰍫"; # [v]ideo + "8" = "󰢹"; # [r]emote + "9" = "󰓓"; # [g]aming urgent = "󱈸"; }; - sort-by-name = true; + "persistent_workspaces" = { + "1" = [ ]; + "2" = [ ]; + "3" = [ ]; + "4" = [ ]; + "5" = [ ]; + "6" = [ ]; + "7" = [ ]; + "8" = [ ]; + "9" = [ ]; + }; + sort-by-number = true; } diff --git a/hosts/Ronin/home.nix b/hosts/Ronin/home.nix index 8b3d7950..e9765ec2 100644 --- a/hosts/Ronin/home.nix +++ b/hosts/Ronin/home.nix @@ -224,6 +224,15 @@ in { monitor=desc:Dell Inc. DELL U2417H 5K9YD872FY1L,preferred,1920x0,1,transform,1 monitor=desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1 + windowrule = nofullscreenrequest,(Nxplayer.bin) + windowrule = nomaximizerequest,(Nxplayer.bin) + windowrulev2 = nofullscreenrequest,title:(Zoom|zoom) + windowrulev2 = nomaximizerequest,title:(Zoom|zoom) + + windowrule = workspace 6,(teams-for-linux) + windowrulev2 = workspace 7,title:(Zoom|zoom) + windowrule = workspace 8,(Nxplayer.bin) + exec-once=${pkgs.teams-for-linux}/bin/teams-for-linux ''; } diff --git a/hosts/Vanguard/home.nix b/hosts/Vanguard/home.nix index e0793686..3714aba6 100644 --- a/hosts/Vanguard/home.nix +++ b/hosts/Vanguard/home.nix @@ -12,6 +12,7 @@ in { misc { vrr = 2 } + monitor=desc:Acer Technologies ED270R TJMEE0043W01,highrr,0x0,1 ''; }