Make sway work on the same principles (no more waybar manual restarts ;D)

This commit is contained in:
Natsu Kagami 2025-01-17 11:18:11 +01:00
parent 26df6113e7
commit 379f9e6027
Signed by: nki
GPG key ID: 55A032EB38B49ADB
3 changed files with 34 additions and 10 deletions

View file

@ -70,6 +70,8 @@ in
systemd.user.services.swaync.Install.WantedBy = [ "niri.service" ]; systemd.user.services.swaync.Install.WantedBy = [ "niri.service" ];
systemd.user.services.swaync.Unit.After = [ "niri.service" ]; systemd.user.services.swaync.Unit.After = [ "niri.service" ];
systemd.user.targets.tray.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" ]; systemd.user.targets.xwayland.Unit.After = [ "niri.service" ];
# xwayland-satellite # 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 # Kitty dimming
{ {
matches = [{ app-id = "kitty"; }]; matches = [{ app-id = "kitty"; }];

View file

@ -92,7 +92,9 @@ in
}; };
config.systemd.user.targets.sway-session = mkIf cfg.enable { 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 # Enable waybar
@ -113,10 +115,10 @@ in
] ++ lib.optionals osConfig.services.desktopManager.plasma6.enable [ ] ++ lib.optionals osConfig.services.desktopManager.plasma6.enable [
"XDG_MENU_PREFIX" "XDG_MENU_PREFIX"
]; ];
systemd.extraCommands = options.wayland.windowManager.sway.systemd.extraCommands.default # systemd.extraCommands = options.wayland.windowManager.sway.systemd.extraCommands.default
++ [ # ++ [
"systemctl --user restart xdg-desktop-portal.service" # "systemctl --user restart xdg-desktop-portal.service"
]; # ];
checkConfig = false; # Not working atm checkConfig = false; # Not working atm
config = { config = {
@ -145,10 +147,10 @@ in
menu = "${pkgs.dmenu}/bin/dmenu_path | ${pkgs.bemenu}/bin/bemenu | ${pkgs.findutils}/bin/xargs swaymsg exec --"; menu = "${pkgs.dmenu}/bin/dmenu_path | ${pkgs.bemenu}/bin/bemenu | ${pkgs.findutils}/bin/xargs swaymsg exec --";
# Startup # Startup
startup = [ startup = [
# Dex for autostart # # Dex for autostart
{ command = "${pkgs.dex}/bin/dex -ae sway"; } # { command = "${pkgs.dex}/bin/dex -ae sway"; }
# Waybar # # Waybar
{ command = "systemctl --user restart waybar"; always = true; } # { command = "systemctl --user restart waybar"; always = true; }
# IME # IME
{ command = "fcitx5"; } { command = "fcitx5"; }
]; ];

View file

@ -42,6 +42,9 @@ in
default = ""; default = "";
}; };
}; };
config.systemd.user.services.waybar = lib.mkIf cfg.enable {
Unit.Before = [ "tray.target" ];
};
config.programs.waybar = config.programs.waybar =
let let
barWith = { showMedia ? true, showConnectivity ? true, extraSettings ? { }, ... }: lib.mkMerge ([{ barWith = { showMedia ? true, showConnectivity ? true, extraSettings ? { }, ... }: lib.mkMerge ([{
@ -256,7 +259,7 @@ in
lib.mkIf cfg.enable { lib.mkIf cfg.enable {
enable = true; enable = true;
systemd.enable = true; systemd.enable = true;
systemd.target = "tray.target"; systemd.target = "sway-session.target";
settings = cfg.makeBars barWith; settings = cfg.makeBars barWith;
style = '' style = ''
* { * {