flake: update lock file
This commit is contained in:
parent
0e45e8e390
commit
935372bb41
9 changed files with 1884 additions and 178 deletions
96
flake.lock
96
flake.lock
|
@ -10,11 +10,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708539149,
|
||||
"narHash": "sha256-LgkOe+y8Lk7LjB6MzKZ6enM8NPahdM7Gdg1es4Zi3IU=",
|
||||
"lastModified": 1709561402,
|
||||
"narHash": "sha256-rPGuqkPmaeLz+pHxoPkUw/nANLB9uX3OgYoP60aRJxM=",
|
||||
"owner": "berberman",
|
||||
"repo": "flakes",
|
||||
"rev": "7220e84f72ac182cf71cb9f4f66c927c48fc4cf6",
|
||||
"rev": "a56b8e19a8a1b8487aa0a52f42ab4dfbb2b78ca6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -30,11 +30,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708794349,
|
||||
"narHash": "sha256-jX+B1VGHT0ruHHL5RwS8L21R6miBn4B6s9iVyUJsJJY=",
|
||||
"lastModified": 1709610799,
|
||||
"narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "2c94ff9a6fbeb9f3ea0107f28688edbe9c81deaa",
|
||||
"rev": "81c393c776d5379c030607866afef6406ca1be57",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -50,11 +50,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708910350,
|
||||
"narHash": "sha256-cTuJVlOm05aQFIgGuYikgkrI61P2vTO2OfXwIRWEzUg=",
|
||||
"lastModified": 1709682352,
|
||||
"narHash": "sha256-71S/64RbyADT6FUVJq4WLiNbmcxFvgMsSihf/C2Hgno=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "a13f36255cf4ce99cc4236a34251c2e7106e101d",
|
||||
"rev": "ad5e8bd14df2e6bdb836582577dc163318617738",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -85,11 +85,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706830856,
|
||||
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||
"lastModified": 1709336216,
|
||||
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -145,11 +145,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709204054,
|
||||
"narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=",
|
||||
"lastModified": 1709710941,
|
||||
"narHash": "sha256-4FjuX5kGQhvrxkwuB3tAcA7cqNgNW10eZ7qzePfl+kM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f3367769a93b226c467551315e9e270c3f78b15",
|
||||
"rev": "3c7bacf1d42e533299c5e3baf74556a0e0ac3d0e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -198,11 +198,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709051793,
|
||||
"narHash": "sha256-4FXFBq5mN1IwN18Fd2OEF1iCZV5PC40gP2L64oyq3xQ=",
|
||||
"lastModified": 1709641033,
|
||||
"narHash": "sha256-Eegyvq56NiXgrDrZ6FgE1lNCD2Mi6aLY/HFOeVG8ZtI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "e761c7ee47b64debc687d8bff7599d702c893dcc",
|
||||
"rev": "3881267e84cc966ded48601390e88fc13d960319",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -221,11 +221,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709015655,
|
||||
"narHash": "sha256-7HWzg9JzheM03akV9Bj1hhsXv6v1YRtSkPa16XuZ11w=",
|
||||
"lastModified": 1709718332,
|
||||
"narHash": "sha256-xBfSV65VVEHMjthvEij1Bjka5OFR1/YhYE8kcnDyJUo=",
|
||||
"owner": "Guanran928",
|
||||
"repo": "nvim",
|
||||
"rev": "ce9dffb2865405740026bb26259e78863083acd7",
|
||||
"rev": "79fa35d0009a10a871914131a9cc7c8ee8300c34",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -241,11 +241,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709112925,
|
||||
"narHash": "sha256-5y8Dhw1HYdc+BWv+qQjJUIwc+ByoudtoGaHEcrXYlXw=",
|
||||
"lastModified": 1709554374,
|
||||
"narHash": "sha256-1yYgwxBzia+QrOaQaZ6YKqGFfiQcSBwYLzd9XRsRLQY=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "283d59778e6b8c41cac4bdeac5b2512d6de51150",
|
||||
"rev": "daa03606dfb5296a22e842acb02b46c1c4e9f5e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -264,11 +264,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709168939,
|
||||
"narHash": "sha256-btWt7NRsA8Hysgin5su77nIdmZZbxsKW5qqyj/bBlF0=",
|
||||
"lastModified": 1709428394,
|
||||
"narHash": "sha256-WIDKofwDWFLHtk14MdBiRiM8Lxn+OByHYtybjSU/18Q=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "22586cc4910284c9c7306f19dcd63ac0adbcbcc9",
|
||||
"rev": "1f3fa3b398051c815e8500d4c4fe794ecfdee328",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -284,11 +284,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709156363,
|
||||
"narHash": "sha256-syrzpHREwzhdlt88mL/gjNcbbHuYD470e0fjFyhZ0ho=",
|
||||
"lastModified": 1709674747,
|
||||
"narHash": "sha256-itIAFkMPQ6o7SBc5WGp71DABLkgSSHcaObG8Zg1SppA=",
|
||||
"owner": "jacekszymanski",
|
||||
"repo": "nixcasks",
|
||||
"rev": "012549dd04474182308b18991538840455ad62aa",
|
||||
"rev": "954a0d92b13435a186693671b569ac1fff3ba0e6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -299,11 +299,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1709147990,
|
||||
"narHash": "sha256-vpXMWoaCtMYJ7lisJedCRhQG9BSsInEyZnnG5GfY9tQ=",
|
||||
"lastModified": 1709410583,
|
||||
"narHash": "sha256-esOSUoQ7mblwcsSea0K17McZuwAIjoS6dq/4b83+lvw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "33a97b5814d36ddd65ad678ad07ce43b1a67f159",
|
||||
"rev": "59e37017b9ed31dee303dbbd4531c594df95cfbc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -314,11 +314,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1709200309,
|
||||
"narHash": "sha256-lKdtMbhnBNU1lr978T+wEYet3sfIXXgyiDZNEgx8CV8=",
|
||||
"lastModified": 1709641832,
|
||||
"narHash": "sha256-bzzRc3DiV8Cm/67HDa39pyBymqF45ISgUbXqjrMk2UE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ebe6e807793e7c9cc59cf81225fdee1a03413811",
|
||||
"rev": "bfa8b30043892dc2b660d403faa159bab7b65898",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -330,11 +330,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1709128929,
|
||||
"narHash": "sha256-GWrv9a+AgGhG4/eI/CyVVIIygia7cEy68Huv3P8oyaw=",
|
||||
"lastModified": 1709569716,
|
||||
"narHash": "sha256-iOR44RU4jQ+YPGrn+uQeYAp7Xo7Z/+gT+wXJoGxxLTY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c8e74c2f83fe12b4e5a8bd1abbc090575b0f7611",
|
||||
"rev": "617579a787259b9a6419492eaac670a5f7663917",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -346,11 +346,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1709225079,
|
||||
"narHash": "sha256-2bmOKg/aIgmguPZz3OwjG5lCAGaLwM9ubBkXjcp7edU=",
|
||||
"lastModified": 1709714153,
|
||||
"narHash": "sha256-2QrzVuItf+IXwVwYNfOA/XB37c6IgPg5cZLLnUJE28I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "c52cf9478c981de340151638d76c3c2371eb9ebe",
|
||||
"rev": "466d739cfde240577a1e201889e489f55bbda6c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -455,11 +455,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709172595,
|
||||
"narHash": "sha256-0oYeE5VkhnPA7YBl+0Utq2cYoHcfsEhSGwraCa27Vs8=",
|
||||
"lastModified": 1709691047,
|
||||
"narHash": "sha256-2Vwx1FLufoMEcOS8KAwP8H83IP3Hw6ZPrIDHkSXrFCY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "72fa0217f76020ad3aeb2dd9dd72490905b23b6f",
|
||||
"rev": "d55139f3061cdf2c8f5f7bc8d49e884826e6a4ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -478,11 +478,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708987867,
|
||||
"narHash": "sha256-k2lDaDWNTU5sBVHanYzjDKVDmk29RHIgdbbXu5sdzBA=",
|
||||
"lastModified": 1709711091,
|
||||
"narHash": "sha256-L0rSIU9IguTG4YqSj4B/02SyTEz55ACq5t8gXpzteYc=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "a1c8de14f60924fafe13aea66b46157f0150f4cf",
|
||||
"rev": "25dd60fdd08fcacee2567a26ba6b91fe098941dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -6,5 +6,5 @@ let
|
|||
in {
|
||||
nautilus = import ./nautilus.nix {inherit addPatches;};
|
||||
prismlauncher = import ./prismlauncher.nix {inherit addPatches;};
|
||||
sway = import ./sway;
|
||||
sway = import ./sway/git;
|
||||
}
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
{addPatches, ...}: _final: prev: {
|
||||
sway-unwrapped = addPatches prev.sway-unwrapped [
|
||||
# text_input: Implement input-method popups
|
||||
# https://github.com/swaywm/sway/pull/7226
|
||||
(prev.fetchpatch {
|
||||
url = "https://github.com/swaywm/sway/commit/d1c6e44886d1047b3aa6ff6aaac383eadd72f36a.patch";
|
||||
hash = "sha256-LsCoK60FKp3d8qopGtrbCFXofxHT+kOv1e1PiLSyvsA=";
|
||||
})
|
||||
|
||||
# Tray D-Bus Menu
|
||||
# https://github.com/swaywm/sway/pull/6249
|
||||
(prev.substitute {
|
||||
src = prev.fetchpatch {
|
||||
url = "https://github.com/swaywm/sway/commit/2f304ef0532a45d00b2ec2c7fc63adef0aec7607.patch";
|
||||
hash = "sha256-nd+Z6A7GE5Go7QxXOI+hiLWQiXegsQatcNfxEsXgamI=";
|
||||
};
|
||||
substitutions = [
|
||||
"--replace-warn"
|
||||
"int surface_x, surface_y, surface_width, surface_height;"
|
||||
"int surface_x, surface_y, surface_width, surface_height = 0;"
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
_final: prev: {
|
||||
sway-unwrapped = prev.sway-unwrapped.overrideAttrs rec {
|
||||
version = "1.9";
|
||||
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "sway";
|
||||
rev = version;
|
||||
hash = "sha256-/6+iDkQfdLcL/pTJaqNc6QdP4SRVOYLjfOItEu/bZtg";
|
||||
};
|
||||
|
||||
buildInputs = with prev; [
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
json_c
|
||||
libGL
|
||||
libdrm
|
||||
libevdev
|
||||
libinput
|
||||
librsvg
|
||||
libxkbcommon
|
||||
pango
|
||||
pcre2
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlroots_0_17
|
||||
xorg.xcbutilwm
|
||||
];
|
||||
|
||||
patches = [];
|
||||
};
|
||||
}
|
1754
overlays/sway/_1.9/0001-Tray-Implement-dbusmenu.patch
Normal file
1754
overlays/sway/_1.9/0001-Tray-Implement-dbusmenu.patch
Normal file
File diff suppressed because it is too large
Load diff
25
overlays/sway/_1.9/default.nix
Normal file
25
overlays/sway/_1.9/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{addPatches, ...}: _final: prev: {
|
||||
sway-unwrapped = addPatches prev.sway-unwrapped [
|
||||
# text_input: Implement input-method popups
|
||||
# https://github.com/swaywm/sway/pull/7226
|
||||
(prev.fetchpatch rec {
|
||||
name = "0001-text_input-Implement-input-method-popups.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
|
||||
hash = "sha256-A+rBaWMWs616WllVoo21AJaf9lxg/oCG0b9tHLfuJII=";
|
||||
})
|
||||
(prev.fetchpatch rec {
|
||||
name = "0002-chore-fractal-scale-handle.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
|
||||
hash = "sha256-YOFm0A4uuRSuiwnvF9xbp8Wl7oGicFGnq61vLegqJ0E=";
|
||||
})
|
||||
(prev.fetchpatch rec {
|
||||
name = "0003-chore-left_pt-on-method-popup.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
|
||||
hash = "sha256-PzhQBRpyB1WhErn05UBtBfaDW5bxnQLRKWu8jy7dEiM=";
|
||||
})
|
||||
|
||||
# (rebased) Tray D-Bus Menu
|
||||
# https://github.com/swaywm/sway/pull/6249
|
||||
./0001-Tray-Implement-dbusmenu.patch
|
||||
];
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
_final: prev: {
|
||||
sway-unwrapped = prev.sway-unwrapped.overrideAttrs (old: {
|
||||
version = "1.10-unstable-2024-02-23";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "sway";
|
||||
rev = "fc640d5f6c82883c35e90a64f0098486e6091293";
|
||||
hash = "sha256-n0U1RoSv3fuOkey2gXPX+O4mRA2PCASpkRrIE5069BI";
|
||||
};
|
||||
|
||||
buildInputs = with prev; [
|
||||
(wlroots.overrideAttrs {
|
||||
version = "1.18.0-unstable-2024-02-23";
|
||||
src = prev.fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "wlroots";
|
||||
repo = "wlroots";
|
||||
rev = "54e1fefd2e29cb00dff7c02801913d793ceab7d6";
|
||||
hash = "sha256-VX2AAzcYl255yF43+uetcOS+uYzAVfk7WccWONpjmYU=";
|
||||
};
|
||||
})
|
||||
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
json_c
|
||||
libGL
|
||||
libdrm
|
||||
libevdev
|
||||
libinput
|
||||
librsvg
|
||||
libxkbcommon
|
||||
pango
|
||||
pcre2
|
||||
wayland
|
||||
wayland-protocols
|
||||
xorg.xcbutilwm
|
||||
];
|
||||
|
||||
patches = let
|
||||
removePatches = ["LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM.patch"];
|
||||
in
|
||||
builtins.filter (patch: !builtins.elem (patch.name or null) removePatches) (old.patches or [])
|
||||
++ [
|
||||
# rebased version of https://github.com/swaywm/sway/pull/6249
|
||||
# using sed at this point is just stupid (see ./_1.8.nix)
|
||||
./0001-Tray-Implement-dbusmenu.patch
|
||||
];
|
||||
});
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
From c0389b28a6ea0c1917212fb60d19f1d401bdc943 Mon Sep 17 00:00:00 2001
|
||||
From 9f051dc1e77a516abebf1422d41deba6403f2850 Mon Sep 17 00:00:00 2001
|
||||
From: Felix Weilbach <felix.weilbach@t-online.de>
|
||||
Date: Sun, 30 May 2021 20:45:01 +0200
|
||||
Subject: [PATCH] Tray: Implement dbusmenu
|
||||
|
@ -323,7 +323,7 @@ index 879a4e42..eea6b35d 100644
|
|||
return HOTSPOT_PROCESS;
|
||||
diff --git a/swaybar/tray/dbusmenu.c b/swaybar/tray/dbusmenu.c
|
||||
new file mode 100644
|
||||
index 00000000..77b5d3f5
|
||||
index 00000000..45531af5
|
||||
--- /dev/null
|
||||
+++ b/swaybar/tray/dbusmenu.c
|
||||
@@ -0,0 +1,1367 @@
|
||||
|
@ -469,7 +469,7 @@ index 00000000..77b5d3f5
|
|||
+}
|
||||
+
|
||||
+static struct swaybar_dbusmenu_surface *swaybar_dbusmenu_surface_create() {
|
||||
+ struct swaybar_dbusmenu_surface *dbusmenu = calloc(1,
|
||||
+ struct swaybar_dbusmenu_surface *dbusmenu = calloc(1,
|
||||
+ sizeof(struct swaybar_dbusmenu_surface));
|
||||
+ if (!dbusmenu) {
|
||||
+ sway_log(SWAY_DEBUG, "Could not allocate dbusmenu");
|
||||
|
@ -606,7 +606,7 @@ index 00000000..77b5d3f5
|
|||
+ return item;
|
||||
+ }
|
||||
+ if (item->submenu && item->submenu->item_id != 0) {
|
||||
+ struct swaybar_dbusmenu_menu_item *found_item =
|
||||
+ struct swaybar_dbusmenu_menu_item *found_item =
|
||||
+ find_item_under_menu(item->submenu, item_id);
|
||||
+ if (found_item) {
|
||||
+ return found_item;
|
||||
|
@ -627,7 +627,7 @@ index 00000000..77b5d3f5
|
|||
+}
|
||||
+
|
||||
+static struct swaybar_dbusmenu_menu *
|
||||
+find_parent_menu_under_menu(struct swaybar_dbusmenu_menu *menu,
|
||||
+find_parent_menu_under_menu(struct swaybar_dbusmenu_menu *menu,
|
||||
+ struct swaybar_dbusmenu_menu *child_menu) {
|
||||
+ if (!menu->items) {
|
||||
+ return NULL;
|
||||
|
@ -911,7 +911,7 @@ index 00000000..77b5d3f5
|
|||
+ }
|
||||
+ }
|
||||
+
|
||||
+ cairo_surface_t *recorder =
|
||||
+ cairo_surface_t *recorder =
|
||||
+ cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA, NULL);
|
||||
+ if (!recorder) {
|
||||
+ return;
|
||||
|
@ -1077,7 +1077,7 @@ index 00000000..77b5d3f5
|
|||
+ swaybar_dbusmenu_draw(sni->tray->menu, menu_id);
|
||||
+
|
||||
+ sd_bus_call_method_async(sni->tray->bus, NULL, sni->service, sni->menu,
|
||||
+ menu_interface, "Event", NULL, NULL, "isvu", menu_id, "opened", "y", 0,
|
||||
+ menu_interface, "Event", NULL, NULL, "isvu", menu_id, "opened", "y", 0,
|
||||
+ time(NULL));
|
||||
+
|
||||
+ sway_log(SWAY_DEBUG, "%s%s opened id %d", sni->service, sni->menu, menu_id);
|
||||
|
@ -1098,7 +1098,7 @@ index 00000000..77b5d3f5
|
|||
+ slot->menu_id = menu_id;
|
||||
+
|
||||
+ int ret = sd_bus_call_method_async(sni->tray->bus, &slot->slot, sni->service,
|
||||
+ sni->menu, menu_interface, "AboutToShow", about_to_show_callback, slot, "i",
|
||||
+ sni->menu, menu_interface, "AboutToShow", about_to_show_callback, slot, "i",
|
||||
+ menu_id);
|
||||
+
|
||||
+ if (ret >= 0) {
|
||||
|
@ -1171,7 +1171,7 @@ index 00000000..77b5d3f5
|
|||
+ log_value = toggle_type;
|
||||
+ } else if (strcmp(key, "toggle-state") == 0) {
|
||||
+ sd_bus_message_read(msg, "v", "i", &item->toggle_state);
|
||||
+ log_value = item->toggle_state == 0 ?
|
||||
+ log_value = item->toggle_state == 0 ?
|
||||
+ "off" : item->toggle_state == 1 ? "on" : "indeterminate";
|
||||
+ } else if (strcmp(key, "children-display") == 0) {
|
||||
+ char *children_display;
|
||||
|
@ -1204,7 +1204,7 @@ index 00000000..77b5d3f5
|
|||
+ return sd_bus_message_exit_container(msg);
|
||||
+}
|
||||
+
|
||||
+static int get_layout_callback(sd_bus_message *msg, void *data,
|
||||
+static int get_layout_callback(sd_bus_message *msg, void *data,
|
||||
+ sd_bus_error *error) {
|
||||
+ struct swaybar_sni_slot *slot = data;
|
||||
+ struct swaybar_sni *sni = slot->sni;
|
||||
|
@ -1258,7 +1258,7 @@ index 00000000..77b5d3f5
|
|||
+ while (!sd_bus_message_at_end(msg, 1)) {
|
||||
+ sd_bus_message_enter_container(msg, 'r', "ia{sv}av");
|
||||
+
|
||||
+ struct swaybar_dbusmenu_menu_item *item
|
||||
+ struct swaybar_dbusmenu_menu_item *item
|
||||
+ = calloc(1, sizeof(struct swaybar_dbusmenu_menu_item));
|
||||
+ if (!item) {
|
||||
+ ret = -ENOMEM;
|
||||
|
@ -1318,7 +1318,7 @@ index 00000000..77b5d3f5
|
|||
+
|
||||
+static void swaybar_dbusmenu_subscribe_signal(struct swaybar_dbusmenu *menu,
|
||||
+ const char *signal_name, sd_bus_message_handler_t callback) {
|
||||
+ int ret = sd_bus_match_signal_async( menu->sni->tray->bus, NULL,
|
||||
+ int ret = sd_bus_match_signal_async( menu->sni->tray->bus, NULL,
|
||||
+ menu->sni->service, menu->sni->menu, menu_interface, signal_name, callback,
|
||||
+ NULL, menu->sni);
|
||||
+
|
||||
|
@ -1395,7 +1395,7 @@ index 00000000..77b5d3f5
|
|||
+static void swaybar_dbusmenu_setup(struct swaybar_dbusmenu *menu) {
|
||||
+ struct swaybar_sni_slot *slot = calloc(1, sizeof(struct swaybar_sni_slot));
|
||||
+ slot->sni = menu->sni;
|
||||
+ int ret = sd_bus_call_method_async( menu->sni->tray->bus, &slot->slot,
|
||||
+ int ret = sd_bus_call_method_async( menu->sni->tray->bus, &slot->slot,
|
||||
+ menu->sni->service, menu->sni->path, "org.freedesktop.DBus.Properties",
|
||||
+ "Get", get_icon_theme_path_callback, slot, "ss", menu->sni->interface,
|
||||
+ "IconThemePath");
|
||||
|
@ -1412,7 +1412,7 @@ index 00000000..77b5d3f5
|
|||
+}
|
||||
+
|
||||
+void swaybar_dbusmenu_open(struct swaybar_sni *sni,
|
||||
+ struct swaybar_output *output, struct swaybar_seat *seat, uint32_t serial,
|
||||
+ struct swaybar_output *output, struct swaybar_seat *seat, uint32_t serial,
|
||||
+ int x, int y) {
|
||||
+ struct swaybar_dbusmenu *dbusmenu = sni->tray->menu;
|
||||
+ if (!dbusmenu) {
|
||||
|
@ -1464,14 +1464,14 @@ index 00000000..77b5d3f5
|
|||
+ struct swaybar_tray *tray = focused_menu->dbusmenu->sni->tray;
|
||||
+ struct swaybar_sni *sni = tray->menu->sni;
|
||||
+ if (focused_menu->last_hovered_item != item) {
|
||||
+ sd_bus_call_method_async(tray->bus, NULL, sni->service, sni->menu,
|
||||
+ sd_bus_call_method_async(tray->bus, NULL, sni->service, sni->menu,
|
||||
+ menu_interface, "Event", NULL, NULL, "isvu", item->id, "hovered",
|
||||
+ "y", 0, time(NULL));
|
||||
+
|
||||
+ sway_log(SWAY_DEBUG, "%s%s hovered id %d", sni->service, sni->menu,
|
||||
+ item->id);
|
||||
+
|
||||
+ // open child menu if current item has a child menu and close other
|
||||
+ // open child menu if current item has a child menu and close other
|
||||
+ // potential open child menus. Only one child menu can be open at a time
|
||||
+ close_child_menus_except(focused_menu, item->id);
|
||||
+ open_menu_id(focused_menu->dbusmenu, item->id);
|
||||
|
@ -1484,7 +1484,7 @@ index 00000000..77b5d3f5
|
|||
+ }
|
||||
+}
|
||||
+
|
||||
+bool dbusmenu_pointer_motion(struct swaybar_seat *seat,
|
||||
+bool dbusmenu_pointer_motion(struct swaybar_seat *seat,
|
||||
+ struct wl_pointer *wl_pointer, uint32_t time_, wl_fixed_t surface_x,
|
||||
+ wl_fixed_t surface_y) {
|
||||
+ struct swaybar_tray *tray = seat->bar->tray;
|
||||
|
@ -1513,7 +1513,7 @@ index 00000000..77b5d3f5
|
|||
+ for (int i = 0; i < menu->items->length; ++i) {
|
||||
+ struct swaybar_dbusmenu_menu_item *item = menu->items->items[i];
|
||||
+ struct swaybar_dbusmenu_menu *child_menu = item->submenu;
|
||||
+ if (child_menu && child_menu->surface
|
||||
+ if (child_menu && child_menu->surface
|
||||
+ && child_menu->surface->surface == surface) {
|
||||
+ return child_menu;
|
||||
+ }
|
||||
|
@ -1553,14 +1553,14 @@ index 00000000..77b5d3f5
|
|||
+ int scale = menu->dbusmenu->output->scale;
|
||||
+ int x = seat->pointer.x * scale;
|
||||
+ int y = seat->pointer.y * scale;
|
||||
+ if (item->submenu && item->submenu->item_id != 0
|
||||
+ if (item->submenu && item->submenu->item_id != 0
|
||||
+ && !is_in_hotspot(&item->hotspot, x, y)) {
|
||||
+ close_menus_by_id(menu, item->id);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+bool dbusmenu_pointer_frame(struct swaybar_seat *data,
|
||||
+bool dbusmenu_pointer_frame(struct swaybar_seat *data,
|
||||
+ struct wl_pointer *wl_pointer) {
|
||||
+ struct swaybar_tray *tray = data->bar->tray;
|
||||
+ if (!(tray && tray->menu && tray->menu_pointer_focus)) {
|
||||
|
@ -1639,13 +1639,13 @@ index 00000000..77b5d3f5
|
|||
+ item->id);
|
||||
+
|
||||
+ sd_bus_call_method_async(tray->bus, NULL, sni->service, sni->menu,
|
||||
+ menu_interface, "Event", NULL, NULL, "isvu", item->id, "clicked", "y", 0,
|
||||
+ menu_interface, "Event", NULL, NULL, "isvu", item->id, "clicked", "y", 0,
|
||||
+ time(NULL));
|
||||
+
|
||||
+ if (item->submenu) {
|
||||
+ open_menu_id(dbusmenu, item->id);
|
||||
+ } else {
|
||||
+ // The user clicked an menu item other than a submenu. That means
|
||||
+ // The user clicked an menu item other than a submenu. That means
|
||||
+ // the user made it's choise. Close the tray menu.
|
||||
+ swaybar_dbusmenu_destroy(tray->menu);
|
||||
+ }
|
||||
|
@ -1657,7 +1657,7 @@ index 00000000..77b5d3f5
|
|||
+
|
||||
+static bool dbusmenu_pointer_button_left(struct swaybar_dbusmenu *dbusmenu,
|
||||
+ struct swaybar_seat *seat) {
|
||||
+ struct swaybar_dbusmenu_menu *focused_menu
|
||||
+ struct swaybar_dbusmenu_menu *focused_menu
|
||||
+ = dbusmenu->sni->tray->menu_pointer_focus;
|
||||
+
|
||||
+ if (!focused_menu) {
|
||||
|
@ -1750,5 +1750,5 @@ index ca6c03ad..29bc8436 100644
|
|||
} else {
|
||||
sway_log(SWAY_DEBUG, "but it doesn't exist");
|
||||
--
|
||||
2.43.0
|
||||
2.43.1
|
||||
|
32
overlays/sway/git/default.nix
Normal file
32
overlays/sway/git/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
_final: prev: {
|
||||
sway-unwrapped =
|
||||
(prev.sway-unwrapped.overrideAttrs (old: {
|
||||
version = "1.10-unstable-2024-03-01";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "sway";
|
||||
rev = "5e18ed3cf03eee9e83909fede46dd98dff652647";
|
||||
hash = "sha256-O0Kh+pnB1Hxc0TBZuAMVLkCYY6BBsSesvvYD923zDvo=";
|
||||
};
|
||||
|
||||
patches =
|
||||
old.patches
|
||||
++ [
|
||||
# (rebased) Tray D-Bus Menu
|
||||
# https://github.com/swaywm/sway/pull/6249
|
||||
./0001-Tray-Implement-dbusmenu.patch
|
||||
];
|
||||
}))
|
||||
.override {
|
||||
wlroots = prev.wlroots.overrideAttrs {
|
||||
version = "1.18.0-unstable-2024-03-05";
|
||||
src = prev.fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "wlroots";
|
||||
repo = "wlroots";
|
||||
rev = "31c842e5ece93145604c65be1b14c2f8cee24832";
|
||||
hash = "sha256-otjJDgWBgn1Wk1e46Y3wr/eEvOsQPTP9jjaX9dlFcjA=";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue