From 379f9e602758496636e40cb3f325c46dcc2c3689 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Fri, 17 Jan 2025 11:18:11 +0100 Subject: [PATCH] Make sway work on the same principles (no more waybar manual restarts ;D) --- home/modules/programs/my-niri.nix | 19 +++++++++++++++++++ home/modules/programs/my-sway/default.nix | 20 +++++++++++--------- home/modules/programs/my-waybar.nix | 5 ++++- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/home/modules/programs/my-niri.nix b/home/modules/programs/my-niri.nix index c5dbc48..f08b43e 100644 --- a/home/modules/programs/my-niri.nix +++ b/home/modules/programs/my-niri.nix @@ -70,6 +70,8 @@ in systemd.user.services.swaync.Install.WantedBy = [ "niri.service" ]; systemd.user.services.swaync.Unit.After = [ "niri.service" ]; systemd.user.targets.tray.Unit.After = [ "niri.service" ]; + systemd.user.services.waybar.Unit.After = [ "niri.service" ]; + systemd.user.services.waybar.Install.WantedBy = [ "niri.service" ]; systemd.user.targets.xwayland.Unit.After = [ "niri.service" ]; # xwayland-satellite @@ -214,6 +216,23 @@ in ]; } + # xwaylandvideobridge + { + matches = [{ app-id = "^xwaylandvideobridge$"; }]; + open-floating = true; + focus-ring.enable = false; + opacity = 0.0; + default-floating-position = { + x = 0; + y = 0; + relative-to = "bottom-right"; + }; + min-width = 1; + max-width = 1; + min-height = 1; + max-height = 1; + } + # Kitty dimming { matches = [{ app-id = "kitty"; }]; diff --git a/home/modules/programs/my-sway/default.nix b/home/modules/programs/my-sway/default.nix index 8117d87..e073abf 100644 --- a/home/modules/programs/my-sway/default.nix +++ b/home/modules/programs/my-sway/default.nix @@ -92,7 +92,9 @@ in }; config.systemd.user.targets.sway-session = mkIf cfg.enable { - Unit.Before = [ "tray.target" "xwayland.target" ]; + Unit.Before = [ "tray.target" "xwayland.target" "xdg-desktop-portal.service" "xdg-desktop-autostart.target" ]; + Unit.Upholds = [ "waybar.service" ]; + Unit.Wants = [ "xdg-desktop-autostart.target" ]; }; # Enable waybar @@ -113,10 +115,10 @@ in ] ++ lib.optionals osConfig.services.desktopManager.plasma6.enable [ "XDG_MENU_PREFIX" ]; - systemd.extraCommands = options.wayland.windowManager.sway.systemd.extraCommands.default - ++ [ - "systemctl --user restart xdg-desktop-portal.service" - ]; + # systemd.extraCommands = options.wayland.windowManager.sway.systemd.extraCommands.default + # ++ [ + # "systemctl --user restart xdg-desktop-portal.service" + # ]; checkConfig = false; # Not working atm config = { @@ -145,10 +147,10 @@ in menu = "${pkgs.dmenu}/bin/dmenu_path | ${pkgs.bemenu}/bin/bemenu | ${pkgs.findutils}/bin/xargs swaymsg exec --"; # Startup startup = [ - # Dex for autostart - { command = "${pkgs.dex}/bin/dex -ae sway"; } - # Waybar - { command = "systemctl --user restart waybar"; always = true; } + # # Dex for autostart + # { command = "${pkgs.dex}/bin/dex -ae sway"; } + # # Waybar + # { command = "systemctl --user restart waybar"; always = true; } # IME { command = "fcitx5"; } ]; diff --git a/home/modules/programs/my-waybar.nix b/home/modules/programs/my-waybar.nix index 84ec57a..f8282f5 100644 --- a/home/modules/programs/my-waybar.nix +++ b/home/modules/programs/my-waybar.nix @@ -42,6 +42,9 @@ in default = ""; }; }; + config.systemd.user.services.waybar = lib.mkIf cfg.enable { + Unit.Before = [ "tray.target" ]; + }; config.programs.waybar = let barWith = { showMedia ? true, showConnectivity ? true, extraSettings ? { }, ... }: lib.mkMerge ([{ @@ -256,7 +259,7 @@ in lib.mkIf cfg.enable { enable = true; systemd.enable = true; - systemd.target = "tray.target"; + systemd.target = "sway-session.target"; settings = cfg.makeBars barWith; style = '' * {