diff --git a/flake.lock b/flake.lock index 3fc5168..32bb41e 100644 --- a/flake.lock +++ b/flake.lock @@ -357,7 +357,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1694529238, @@ -375,7 +375,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1705309234, @@ -427,16 +427,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1713702291, - "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", + "lastModified": 1698794309, + "narHash": "sha256-/TIkZ8y5Wv3QHLFp79Poao9fINurKs5pa4z0CRe+F8s=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", + "rev": "a7c169c6c29cf02a4c392fa0acbbc5f5072823e7", "type": "github" }, "original": { "owner": "GNOME", - "ref": "46.1", + "ref": "45.1", "repo": "gnome-shell", "type": "github" } @@ -449,11 +449,11 @@ ] }, "locked": { - "lastModified": 1714981474, - "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "lastModified": 1711915616, + "narHash": "sha256-co6LoFA+j6BZEeJNSR8nZ4oOort5qYPskjrDHBaJgmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "rev": "820be197ccf3adaad9a8856ef255c13b6cc561a6", "type": "github" }, "original": { @@ -490,11 +490,11 @@ ] }, "locked": { - "lastModified": 1715337997, - "narHash": "sha256-ve562FlHVa7xhLfkFc1ihg1kuuq55IMfkxAgBQcFUY0=", + "lastModified": 1714679908, + "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", "owner": "nix-community", "repo": "home-manager", - "rev": "4855bfb6ce20225a1b0e2aae2379da909ab38350", + "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", "type": "github" }, "original": { @@ -504,182 +504,6 @@ "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, @@ -776,27 +600,26 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1714635257, + "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", "type": "github" }, "original": { - "owner": "NixOS", + "id": "nixpkgs", "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "indirect" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1715218190, - "narHash": "sha256-R98WOBHkk8wIi103JUVQF3ei3oui4HvoZcz9tYOAwlk=", + "lastModified": 1714685007, + "narHash": "sha256-Q4ddhb5eC5pwci0QhAapFwnsc8X8H9ZMQiWpsofBsDc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a9960b98418f8c385f52de3b09a63f9c561427a", + "rev": "383ffe076d9b633a2e97b6e4dd97fc15fcf30159", "type": "github" }, "original": { @@ -806,21 +629,6 @@ } }, "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=", @@ -836,13 +644,13 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { - "lastModified": 1714912032, - "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", + "lastModified": 1713596654, + "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", + "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be", "type": "github" }, "original": { @@ -1100,14 +908,11 @@ "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_2", + "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "org-krita": "org-krita", "org-nursery": "org-nursery", @@ -1140,14 +945,14 @@ "rust-overlay": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1715307487, - "narHash": "sha256-yuDAys3JuJmhQUQGMMsl3BDQNZUYZDw0eA71OVh9FeY=", + "lastModified": 1714788771, + "narHash": "sha256-UxFPoIskGHp1lFetK55jsuCvagqLXVE9pD+IjWQUWiY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "ec7a7caf50877bc32988c82653d6b3e6952a8c3f", + "rev": "b37d96b614c38922674fd8d81ebc2fe807667a5b", "type": "github" }, "original": { @@ -1184,14 +989,14 @@ "flake-compat": "flake-compat_2", "gnome-shell": "gnome-shell", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1715258460, - "narHash": "sha256-zIrOcHX5iMc4/Z5TSOzSSdRlE4JzFAIlUGPO6f+ck1M=", + "lastModified": 1714555012, + "narHash": "sha256-WVUrm3TGVj6c8g5aG20OjJRHMvUtAZjpHQgukDhyOT8=", "owner": "danth", "repo": "stylix", - "rev": "197526923a2929b223bab3e36d3aa240f5f84870", + "rev": "43d23b1609b87f6a4100db2a09bd118c52c78766", "type": "github" }, "original": { @@ -1201,21 +1006,6 @@ } }, "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=", @@ -1230,7 +1020,7 @@ "type": "github" } }, - "systems_3": { + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1261,23 +1051,6 @@ "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": { @@ -1293,39 +1066,6 @@ "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 19d62aa..f38c963 100644 --- a/flake.nix +++ b/flake.nix @@ -182,12 +182,6 @@ 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 fe5ac65..f2e3b79 100644 --- a/system/wm/hyprland.nix +++ b/system/wm/hyprland.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { # Import wayland config @@ -23,7 +23,6 @@ programs = { hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland = { enable = true; }; diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 913818e..bedb509 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -495,6 +495,12 @@ If the path from LINK does not exist, nil is returned." :desc "Copy link/file at point into system clipbord (C-g to escape if copying a file)" "y y" 'org-copy-link-to-clipboard-at-point)) +(add-load-path! "~/.emacs.d/org-sliced-images") +(require 'org-sliced-images) +(defalias 'org-remove-inline-images #'org-sliced-images-remove-inline-images) +(defalias 'org-toggle-inline-images #'org-sliced-images-toggle-inline-images) +(defalias 'org-display-inline-images #'org-sliced-images-display-inline-images) + ;; Online images inside of org mode is pretty cool ;; This snippit is from Tobias on Stack Exchange ;; https://emacs.stackexchange.com/questions/42281/org-mode-is-it-possible-to-display-online-images diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index bb328a3..afe88e7 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -602,8 +602,7 @@ fi exit #+END_SRC *** Org Sliced Images -#+begin_src emacs-lisp -;; this is kinda buggy +#+begin_src emacs-lisp :tangle config.el (add-load-path! "~/.emacs.d/org-sliced-images") (require 'org-sliced-images) (defalias 'org-remove-inline-images #'org-sliced-images-remove-inline-images) diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 8067cc6..54db011 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -1,4 +1,4 @@ -{ inputs, config, lib, pkgs, userSettings, systemSettings, ... }: +{ config, lib, pkgs, userSettings, systemSettings, ... }: { imports = [ @@ -23,11 +23,7 @@ wayland.windowManager.hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; - plugins = [ - inputs.hyprland-plugins.packages.${pkgs.system}.hyprtrails - inputs.hycov.packages.${pkgs.system}.hycov - ]; + plugins = [ ]; settings = { }; extraConfig = '' exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY @@ -65,34 +61,26 @@ gaps_out = 7 } - 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. + #plugin { + # hyprbars { + # bar_height = 0 + # bar_color = 0xee''+ config.lib.stylix.colors.base00 + '' - } - } + # 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 @@ -101,11 +89,7 @@ bind=ALT,TAB,bringactivetotop bind=ALTSHIFT,TAB,cyclenext,prev bind=ALTSHIFT,TAB,bringactivetotop - 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,TAB,exec,pypr expose bind=SUPER,V,exec,wl-copy $(wl-paste | tr '\n' ' ') bind=SUPERSHIFT,T,exec,screenshot-ocr bind=CTRLALT,Delete,exec,hyprctl kill @@ -132,7 +116,7 @@ bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:273,resizewindow bind=SUPER,T,togglefloating - bind=SUPER,G,exec,hyprctl dispatch focusworkspaceoncurrentmonitor 9; pegasus-fe; + bind=SUPER,G,exec,hyprworkspace 9; pegasus-fe; bind=,code:148,exec,''+ userSettings.term + " "+''-e numbat bind=,code:107,exec,grim -g "$(slurp)" @@ -169,15 +153,15 @@ bind=SUPERSHIFT,K,movewindow,u bind=SUPERSHIFT,L,movewindow,r - 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=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=SUPERCTRL,right,exec,hyprnome bind=SUPERCTRL,left,exec,hyprnome --previous @@ -298,7 +282,6 @@ ignore_opacity = true contrast = 1.17 brightness = 0.8 - xray = true } } @@ -319,8 +302,8 @@ src = fetchFromGitHub { owner = "hyprland-community"; repo = "pyprland"; - rev = "refs/tags/2.2.17"; - hash = "sha256-S1bIIazrBWyjF8tOcIk0AwwWq9gbpTKNsjr9iYA5lKk="; + rev = "refs/tags/2.2.12"; + hash = "sha256-SVly20/+67d0Rr2SuM1n/JfT1SlyKdKRBLDx2okCZRY="; }; })) gnome.zenity @@ -391,6 +374,33 @@ 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 { @@ -530,8 +540,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 = "hyprctl dispatch focusworkspaceoncurrentmonitor " + std::to_string(id());\n\tsystem(command.c_str());/g' src/modules/wlr/workspace_manager.cpp - sed -i 's/gIPC->getSocket1Reply("dispatch workspace " + std::to_string(id()));/gIPC->getSocket1Reply("dispatch focusworkspaceoncurrentmonitor " + std::to_string(id()));/g' src/modules/hyprland/workspaces.cpp + 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 ''; }); settings = {