flake: update lock file

This commit is contained in:
Guanran Wang 2024-03-06 16:53:17 +08:00
parent 0e45e8e390
commit 935372bb41
Signed by: nyancat
SSH key fingerprint: SHA256:8oWGKciPALWut/6WA27oFKofX+6Wtc0gQnsefXLQx/8
9 changed files with 1884 additions and 178 deletions

View file

@ -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": {

View file

@ -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;
}

View file

@ -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;"
];
})
];
}

View file

@ -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 = [];
};
}

File diff suppressed because it is too large Load diff

View 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
];
}

View file

@ -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
];
});
}

View file

@ -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

View 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=";
};
};
};
}