From b7f803e06af7eeff10658ff2cf86695556672e60 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 10 May 2024 20:53:22 -0500 Subject: [PATCH] Updated system, updated hyprland + added plugins --- flake.lock | 328 ++++++++++++++++++++++++++++++---- flake.nix | 6 + system/wm/hyprland.nix | 3 +- user/wm/hyprland/hyprland.nix | 116 ++++++------ 4 files changed, 355 insertions(+), 98 deletions(-) diff --git a/flake.lock b/flake.lock index 32bb41e..3fc5168 100644 --- a/flake.lock +++ b/flake.lock @@ -357,7 +357,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1694529238, @@ -375,7 +375,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1705309234, @@ -427,16 +427,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1698794309, - "narHash": "sha256-/TIkZ8y5Wv3QHLFp79Poao9fINurKs5pa4z0CRe+F8s=", + "lastModified": 1713702291, + "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "a7c169c6c29cf02a4c392fa0acbbc5f5072823e7", + "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", "type": "github" }, "original": { "owner": "GNOME", - "ref": "45.1", + "ref": "46.1", "repo": "gnome-shell", "type": "github" } @@ -449,11 +449,11 @@ ] }, "locked": { - "lastModified": 1711915616, - "narHash": "sha256-co6LoFA+j6BZEeJNSR8nZ4oOort5qYPskjrDHBaJgmo=", + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "owner": "nix-community", "repo": "home-manager", - "rev": "820be197ccf3adaad9a8856ef255c13b6cc561a6", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "type": "github" }, "original": { @@ -490,11 +490,11 @@ ] }, "locked": { - "lastModified": 1714679908, - "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", + "lastModified": 1715337997, + "narHash": "sha256-ve562FlHVa7xhLfkFc1ihg1kuuq55IMfkxAgBQcFUY0=", "owner": "nix-community", "repo": "home-manager", - "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", + "rev": "4855bfb6ce20225a1b0e2aae2379da909ab38350", "type": "github" }, "original": { @@ -504,6 +504,182 @@ "type": "github" } }, + "hycov": { + "inputs": { + "hyprland": [ + "hyprland" + ] + }, + "locked": { + "lastModified": 1714910346, + "narHash": "sha256-Up5ZFLfAu7BtASVc/Pr7Ay+5QehQ/L9vwF2Q26DRunk=", + "owner": "DreamMaoMao", + "repo": "hycov", + "rev": "115cba558d439cc25d62ce38b7c62cde83f50ef5", + "type": "github" + }, + "original": { + "owner": "DreamMaoMao", + "repo": "hycov", + "rev": "115cba558d439cc25d62ce38b7c62cde83f50ef5", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1713612213, + "narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "hyprcursor": "hyprcursor", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "systems": "systems", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1714837352, + "narHash": "sha256-QzzJTb+0CBqgAT0wKZsOt1rky5+u2zMUlNxbZcGj2VM=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "cba1ade848feac44b2eda677503900639581c3f4", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "cba1ade848feac44b2eda677503900639581c3f4", + "type": "github" + } + }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1715172513, + "narHash": "sha256-TjQ74AGpEgNx/+sM0VKnPAOlYEG22FUJ9+RwDDP/hoA=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "dcbdc9a08d1df753d6799bab823486f1fff5b8e6", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1714869498, + "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1713121246, + "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1714755542, + "narHash": "sha256-D0pg+ZRwrt4lavZ97Ca8clsgbPA3duLj8iEM7riaIFY=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "1270ebaa539e56d61b708c24b072b09cbbd3a828", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "kdenlive-pin-nixpkgs": { "locked": { "lastModified": 1709012981, @@ -600,26 +776,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714635257, - "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "NixOS", "ref": "nixos-unstable", - "type": "indirect" + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1714685007, - "narHash": "sha256-Q4ddhb5eC5pwci0QhAapFwnsc8X8H9ZMQiWpsofBsDc=", + "lastModified": 1715218190, + "narHash": "sha256-R98WOBHkk8wIi103JUVQF3ei3oui4HvoZcz9tYOAwlk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "383ffe076d9b633a2e97b6e4dd97fc15fcf30159", + "rev": "9a9960b98418f8c385f52de3b09a63f9c561427a", "type": "github" }, "original": { @@ -629,6 +806,21 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1715266358, + "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f1010e0469db743d14519a1efd37e23f8513d714", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -644,13 +836,13 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1713596654, - "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", + "lastModified": 1714912032, + "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be", + "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", "type": "github" }, "original": { @@ -908,11 +1100,14 @@ "emacs-pin-nixpkgs": "emacs-pin-nixpkgs", "home-manager-stable": "home-manager-stable", "home-manager-unstable": "home-manager-unstable", + "hycov": "hycov", + "hyprland": "hyprland", + "hyprland-plugins": "hyprland-plugins", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", "mini-frame": "mini-frame", "nix-doom-emacs": "nix-doom-emacs", "nix-straight": "nix-straight", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable", "org-krita": "org-krita", "org-nursery": "org-nursery", @@ -945,14 +1140,14 @@ "rust-overlay": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1714788771, - "narHash": "sha256-UxFPoIskGHp1lFetK55jsuCvagqLXVE9pD+IjWQUWiY=", + "lastModified": 1715307487, + "narHash": "sha256-yuDAys3JuJmhQUQGMMsl3BDQNZUYZDw0eA71OVh9FeY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "b37d96b614c38922674fd8d81ebc2fe807667a5b", + "rev": "ec7a7caf50877bc32988c82653d6b3e6952a8c3f", "type": "github" }, "original": { @@ -989,14 +1184,14 @@ "flake-compat": "flake-compat_2", "gnome-shell": "gnome-shell", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1714555012, - "narHash": "sha256-WVUrm3TGVj6c8g5aG20OjJRHMvUtAZjpHQgukDhyOT8=", + "lastModified": 1715258460, + "narHash": "sha256-zIrOcHX5iMc4/Z5TSOzSSdRlE4JzFAIlUGPO6f+ck1M=", "owner": "danth", "repo": "stylix", - "rev": "43d23b1609b87f6a4100db2a09bd118c52c78766", + "rev": "197526923a2929b223bab3e36d3aa240f5f84870", "type": "github" }, "original": { @@ -1006,6 +1201,21 @@ } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1020,7 +1230,7 @@ "type": "github" } }, - "systems_2": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1051,6 +1261,23 @@ "type": "github" } }, + "wlroots": { + "flake": false, + "locked": { + "lastModified": 1713731601, + "narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=", + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "wlroots-hyprland", + "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", + "type": "github" + } + }, "ws-butler": { "flake": false, "locked": { @@ -1066,6 +1293,39 @@ "repo": "ws-butler", "type": "github" } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1714060055, + "narHash": "sha256-j43TS9wv9luaAlpxcxw0sjxkbcc2mGANVR2RYgo3RCw=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "0fe840441e43da12cd7865ed9aa8cdc35a8da85a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f38c963..19d62aa 100644 --- a/flake.nix +++ b/flake.nix @@ -182,6 +182,12 @@ home-manager-stable.url = "github:nix-community/home-manager/release-23.11"; home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable"; + hyprland.url = "github:hyprwm/Hyprland/cba1ade848feac44b2eda677503900639581c3f4?submodules=1"; + hyprland-plugins.url = "github:hyprwm/hyprland-plugins"; + hyprland-plugins.inputs.hyprland.follows = "hyprland"; + hycov.url = "github:DreamMaoMao/hycov/115cba558d439cc25d62ce38b7c62cde83f50ef5"; + hycov.inputs.hyprland.follows = "hyprland"; + nix-doom-emacs.url = "github:nix-community/nix-doom-emacs"; nix-doom-emacs.inputs.nixpkgs.follows = "emacs-pin-nixpkgs"; diff --git a/system/wm/hyprland.nix b/system/wm/hyprland.nix index f2e3b79..fe5ac65 100644 --- a/system/wm/hyprland.nix +++ b/system/wm/hyprland.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { # Import wayland config @@ -23,6 +23,7 @@ programs = { hyprland = { enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland = { enable = true; }; diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 54db011..e3b21a1 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, userSettings, systemSettings, ... }: +{ inputs, config, lib, pkgs, userSettings, systemSettings, ... }: { imports = [ @@ -23,7 +23,11 @@ wayland.windowManager.hyprland = { enable = true; - plugins = [ ]; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + plugins = [ + inputs.hyprland-plugins.packages.${pkgs.system}.hyprtrails + inputs.hycov.packages.${pkgs.system}.hycov + ]; settings = { }; extraConfig = '' exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY @@ -61,26 +65,34 @@ gaps_out = 7 } - #plugin { - # hyprbars { - # bar_height = 0 - # bar_color = 0xee''+ config.lib.stylix.colors.base00 + '' + plugin { + hyprtrails { + color = rgba(''+config.lib.stylix.colors.base08+''55) + } + hycov { + overview_gappo = 60 # gaps width from screen edge + overview_gappi = 24 # gaps width from clients + enable_hotarea = 0 # enable mouse cursor hotarea, when cursor enter hotarea, it will toggle overview + enable_click_action = 1 # enable mouse left button jump and right button kill in overview mode + hotarea_monitor = all # monitor name which hotarea is in, default is all + hotarea_pos = 1 # position of hotarea (1: bottom left, 2: bottom right, 3: top left, 4: top right) + hotarea_size = 10 # hotarea size, 10x10 + swipe_fingers = 3 # finger number of gesture,move any directory + move_focus_distance = 100 # distance for movefocus,only can use 3 finger to move + enable_gesture = 1 # enable gesture + auto_exit = 1 # enable auto exit when no client in overview + auto_fullscreen = 0 # auto make active window maximize after exit overview + only_active_workspace = 0 # only overview the active workspace + only_active_monitor = 0 # only overview the active monitor + enable_alt_release_exit = 0 # alt swith mode arg,see readme for detail + alt_replace_key = Super_L # alt swith mode arg,see readme for detail + alt_toggle_auto_next = 0 # auto focus next window when toggle overview in alt swith mode + click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window. + hight_of_titlebar = 0 # height deviation of title bar height + show_special = 0 # show windwos in special workspace in overview. - # col.text = 0xff''+ config.lib.stylix.colors.base05 + '' - - # bar_text_font = '' + userSettings.font + '' - - # bar_text_size = 12 - - # buttons { - # button_size = 0 - # col.maximize = 0xff''+ config.lib.stylix.colors.base0A +'' - - # col.close = 0xff''+ config.lib.stylix.colors.base08 +'' - - # } - # } - #} + } + } bind=SUPER,SPACE,fullscreen,1 bind=SUPERSHIFT,F,fullscreen,0 @@ -89,7 +101,11 @@ bind=ALT,TAB,bringactivetotop bind=ALTSHIFT,TAB,cyclenext,prev bind=ALTSHIFT,TAB,bringactivetotop - bind=SUPER,TAB,exec,pypr expose + bind=SUPER,TAB,hycov:toggleoverview + bind=SUPER,left,hycov:movefocus,leftcross + bind=SUPER,right,hycov:movefocus,rightcross + bind=SUPER,up,hycov:movefocus,upcross + bind=SUPER,down,hycov:movefocus,downcross bind=SUPER,V,exec,wl-copy $(wl-paste | tr '\n' ' ') bind=SUPERSHIFT,T,exec,screenshot-ocr bind=CTRLALT,Delete,exec,hyprctl kill @@ -116,7 +132,7 @@ bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:273,resizewindow bind=SUPER,T,togglefloating - bind=SUPER,G,exec,hyprworkspace 9; pegasus-fe; + bind=SUPER,G,exec,hyprctl dispatch focusworkspaceoncurrentmonitor 9; pegasus-fe; bind=,code:148,exec,''+ userSettings.term + " "+''-e numbat bind=,code:107,exec,grim -g "$(slurp)" @@ -153,15 +169,15 @@ bind=SUPERSHIFT,K,movewindow,u bind=SUPERSHIFT,L,movewindow,r - bind=SUPER,1,exec,hyprworkspace 1 - bind=SUPER,2,exec,hyprworkspace 2 - bind=SUPER,3,exec,hyprworkspace 3 - bind=SUPER,4,exec,hyprworkspace 4 - bind=SUPER,5,exec,hyprworkspace 5 - bind=SUPER,6,exec,hyprworkspace 6 - bind=SUPER,7,exec,hyprworkspace 7 - bind=SUPER,8,exec,hyprworkspace 8 - bind=SUPER,9,exec,hyprworkspace 9 + bind=SUPER,1,focusworkspaceoncurrentmonitor,1 + bind=SUPER,2,focusworkspaceoncurrentmonitor,2 + bind=SUPER,3,focusworkspaceoncurrentmonitor,3 + bind=SUPER,4,focusworkspaceoncurrentmonitor,4 + bind=SUPER,5,focusworkspaceoncurrentmonitor,5 + bind=SUPER,6,focusworkspaceoncurrentmonitor,6 + bind=SUPER,7,focusworkspaceoncurrentmonitor,7 + bind=SUPER,8,focusworkspaceoncurrentmonitor,8 + bind=SUPER,9,focusworkspaceoncurrentmonitor,9 bind=SUPERCTRL,right,exec,hyprnome bind=SUPERCTRL,left,exec,hyprnome --previous @@ -282,6 +298,7 @@ ignore_opacity = true contrast = 1.17 brightness = 0.8 + xray = true } } @@ -302,8 +319,8 @@ src = fetchFromGitHub { owner = "hyprland-community"; repo = "pyprland"; - rev = "refs/tags/2.2.12"; - hash = "sha256-SVly20/+67d0Rr2SuM1n/JfT1SlyKdKRBLDx2okCZRY="; + rev = "refs/tags/2.2.17"; + hash = "sha256-S1bIIazrBWyjF8tOcIk0AwwWq9gbpTKNsjr9iYA5lKk="; }; })) gnome.zenity @@ -374,33 +391,6 @@ if pgrep -x nixos-rebuild > /dev/null || pgrep -x home-manager > /dev/null || pgrep -x kdenlive > /dev/null || pgrep -x FL64.exe > /dev/null || pgrep -x blender > /dev/null || pgrep -x flatpak > /dev/null; then echo "Shouldn't suspend"; sleep 10; else echo "Should suspend"; systemctl suspend; fi '') - (pkgs.writeScriptBin "hyprworkspace" '' - #!/bin/sh - # from https://github.com/taylor85345/hyprland-dotfiles/blob/master/hypr/scripts/workspace - monitors=/tmp/hypr/monitors_temp - hyprctl monitors > $monitors - - if [[ -z $1 ]]; then - workspace=$(grep -B 5 "focused: no" "$monitors" | awk 'NR==1 {print $3}') - else - workspace=$1 - fi - - activemonitor=$(grep -B 11 "focused: yes" "$monitors" | awk 'NR==1 {print $2}') - passivemonitor=$(grep -B 6 "($workspace)" "$monitors" | awk 'NR==1 {print $2}') - #activews=$(grep -A 2 "$activemonitor" "$monitors" | awk 'NR==3 {print $1}' RS='(' FS=')') - passivews=$(grep -A 6 "Monitor $passivemonitor" "$monitors" | awk 'NR==3 {print $1}' RS='(' FS=')') - - if [[ $workspace -eq $passivews ]] && [[ $activemonitor != "$passivemonitor" ]]; then - hyprctl dispatch workspace "$workspace" && hyprctl dispatch swapactiveworkspaces "$activemonitor" "$passivemonitor" && hyprctl dispatch workspace "$workspace" - echo $activemonitor $passivemonitor - else - hyprctl dispatch moveworkspacetomonitor "$workspace $activemonitor" && hyprctl dispatch workspace "$workspace" - fi - - exit 0 - - '') ]; home.file.".config/hypr/hypridle.conf".text = '' general { @@ -540,8 +530,8 @@ package = pkgs.waybar.overrideAttrs (oldAttrs: { postPatch = '' # use hyprctl to switch workspaces - sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprworkspace " + name_;\n\tsystem(command.c_str());/g' src/modules/wlr/workspace_manager.cpp - sed -i 's/gIPC->getSocket1Reply("dispatch workspace " + std::to_string(id()));/const std::string command = "hyprworkspace " + std::to_string(id());\n\tsystem(command.c_str());/g' src/modules/hyprland/workspaces.cpp + sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch focusworkspaceoncurrentmonitor " + name_;\n\tsystem(command.c_str());/g' src/modules/wlr/workspace_manager.cpp + sed -i 's/gIPC->getSocket1Reply("dispatch workspace " + std::to_string(id()));/const std::string command = "hyprctl dispatch focusworkspaceoncurrentmonitor" + std::to_string(id());\n\tsystem(command.c_str());/g' src/modules/hyprland/workspaces.cpp ''; }); settings = {