feat: clone-term with hyprland support
chore: hyprland/swaync/waybar improvements
This commit is contained in:
parent
a432370277
commit
77e9d0eaf3
|
@ -20,7 +20,7 @@ in {
|
||||||
state = config.programs.streamdeck-ui.settings;
|
state = config.programs.streamdeck-ui.settings;
|
||||||
};
|
};
|
||||||
preStart = pkgs.writeShellScript "streamdeck-setup-config" ''
|
preStart = pkgs.writeShellScript "streamdeck-setup-config" ''
|
||||||
cp "${cfg}" "$XDG_RUNTIME_DIR/streamdeck/config.json"
|
${pkgs.coreutils}/bin/cp "${cfg}" "$XDG_RUNTIME_DIR/streamdeck/config.json"
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
options.programs.streamdeck-ui = {
|
options.programs.streamdeck-ui = {
|
||||||
|
|
|
@ -12,6 +12,8 @@ writeShellApplication {
|
||||||
|
|
||||||
if [[ ''${XDG_CURRENT_DESKTOP-} == sway ]]; then
|
if [[ ''${XDG_CURRENT_DESKTOP-} == sway ]]; then
|
||||||
PAREN=$(swaymsg -t get_tree | jq '.. | select(.type?) | select(.focused==true).pid')
|
PAREN=$(swaymsg -t get_tree | jq '.. | select(.type?) | select(.focused==true).pid')
|
||||||
|
elif [[ ''${XDG_CURRENT_DESKTOP-} == Hyprland ]]; then
|
||||||
|
PAREN=$(hyprctl activewindow -j | jq '.pid')
|
||||||
else
|
else
|
||||||
PAREN=$(xdotool getwindowfocus getwindowpid)
|
PAREN=$(xdotool getwindowfocus getwindowpid)
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -41,7 +41,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
gaps_in = 1;
|
gaps_in = 0;
|
||||||
gaps_out = 0;
|
gaps_out = 0;
|
||||||
allow_tearing = true;
|
allow_tearing = true;
|
||||||
};
|
};
|
||||||
|
@ -52,10 +52,10 @@ in {
|
||||||
"3" = "u";
|
"3" = "u";
|
||||||
"4" = "a";
|
"4" = "a";
|
||||||
"5" = "x";
|
"5" = "x";
|
||||||
"6" = "c";
|
"6" = "F1";
|
||||||
"7" = "t";
|
"7" = "F2";
|
||||||
"8" = "i";
|
"8" = "F3";
|
||||||
"9" = "e";
|
"9" = "F4";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
|
@ -63,9 +63,10 @@ in {
|
||||||
"SUPER,return,fullscreen,"
|
"SUPER,return,fullscreen,"
|
||||||
"SUPER + SHIFT,return,fakefullscreen,"
|
"SUPER + SHIFT,return,fakefullscreen,"
|
||||||
"SUPER,f,togglefloating"
|
"SUPER,f,togglefloating"
|
||||||
|
"SUPER,g,togglegroup"
|
||||||
"SUPER,tab,cyclenext,"
|
"SUPER,tab,cyclenext,"
|
||||||
"ALT,tab,cyclenext,"
|
"ALT,tab,cyclenext,"
|
||||||
"SUPER+SHIFT,r,submap,resize"
|
"SUPER+CTRL,r,submap,resize"
|
||||||
|
|
||||||
"SUPER,left,movefocus,l"
|
"SUPER,left,movefocus,l"
|
||||||
"SUPER,right,movefocus,r"
|
"SUPER,right,movefocus,r"
|
||||||
|
@ -77,22 +78,33 @@ in {
|
||||||
"SUPER,l,movefocus,u"
|
"SUPER,l,movefocus,u"
|
||||||
"SUPER,r,movefocus,d"
|
"SUPER,r,movefocus,d"
|
||||||
|
|
||||||
"SUPER + SHIFT,left,movewindow,l"
|
"SUPER,h,changegroupactive,b"
|
||||||
"SUPER + SHIFT,right,movewindow,r"
|
"SUPER,m,changegroupactive,f"
|
||||||
"SUPER + SHIFT,up,movewindow,u"
|
|
||||||
"SUPER + SHIFT,down,movewindow,d"
|
|
||||||
|
|
||||||
"SUPER + SHIFT,n,movewindow,l"
|
"SUPER + SHIFT,left,movewindoworgroup,l"
|
||||||
"SUPER + SHIFT,s,movewindow,r"
|
"SUPER + SHIFT,right,movewindoworgroup,r"
|
||||||
"SUPER + SHIFT,l,movewindow,u"
|
"SUPER + SHIFT,up,movewindoworgroup,u"
|
||||||
"SUPER + SHIFT,r,movewindow,d"
|
"SUPER + SHIFT,down,movewindoworgroup,d"
|
||||||
|
|
||||||
|
"SUPER + SHIFT,n,movewindoworgroup,l"
|
||||||
|
"SUPER + SHIFT,s,movewindoworgroup,r"
|
||||||
|
"SUPER + SHIFT,l,movewindoworgroup,u"
|
||||||
|
"SUPER + SHIFT,r,movewindoworgroup,d"
|
||||||
|
|
||||||
"SUPER,comma,workspace,-1"
|
"SUPER,comma,workspace,-1"
|
||||||
"SUPER,period,workspace,+1"
|
"SUPER,period,workspace,+1"
|
||||||
|
"SUPER + SHIFT,comma,movetoworkspace,-1"
|
||||||
|
"SUPER + SHIFT,period,movetoworkspace,+1"
|
||||||
|
|
||||||
"SUPER,b,exec,firefox"
|
"SUPER,b,exec,firefox"
|
||||||
|
"SUPER,m,exec,thunderbird"
|
||||||
"SUPER,t,exec,kitty"
|
"SUPER,t,exec,kitty"
|
||||||
",Menu,exec,fuzzel"
|
",Menu,exec,fuzzel"
|
||||||
|
"SUPER,,exec,${lib.getExe pkgs.scripts.clone-term}"
|
||||||
|
|
||||||
|
"CTRL,F7,sendshortcut,SHIFT+CTRL,m,WebCord"
|
||||||
|
"CTRL,F8,sendshortcut,CTRL+SHIFT,d,WebCord"
|
||||||
|
"CTRL,F9,exec,systemctl --user start swww-update-wallpaper"
|
||||||
|
|
||||||
"SUPER + SHIFT,q,exit"
|
"SUPER + SHIFT,q,exit"
|
||||||
]
|
]
|
||||||
|
@ -154,6 +166,10 @@ in {
|
||||||
disable_hyprland_logo = true;
|
disable_hyprland_logo = true;
|
||||||
mouse_move_focuses_monitor = false;
|
mouse_move_focuses_monitor = false;
|
||||||
};
|
};
|
||||||
|
windowrulev2 = [
|
||||||
|
"immediate, class:^(cs2)$"
|
||||||
|
"float,class:(firefox),title:^(.*)(Bitwarden)(.*)$"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
(mkIf (nixosConfig.node.name == "desktopnix") {
|
(mkIf (nixosConfig.node.name == "desktopnix") {
|
||||||
monitor = [
|
monitor = [
|
||||||
|
@ -167,13 +183,14 @@ in {
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"workspace 2,class:^(firefox)$"
|
"workspace 2,class:^(firefox)$"
|
||||||
|
"workspace 3,class:^(thunderbird)$"
|
||||||
"workspace 4,class:^(bottles)$"
|
"workspace 4,class:^(bottles)$"
|
||||||
"workspace 4,class:^(steam)$"
|
"workspace 4,class:^(steam)$"
|
||||||
"workspace 4,class:^(prismlauncher)$"
|
"workspace 4,class:^(prismlauncher)$"
|
||||||
"workspace 8,class:^(discord)$"
|
"workspace 6,class:^(discord)$"
|
||||||
"workspace 8,class:^(WebCord)$"
|
"workspace 6,class:^(WebCord)$"
|
||||||
"workspace 9,class:^(Signal)$"
|
"workspace 7,class:^(Signal)$"
|
||||||
"workspace 9,class:^(TelegramDesktop)$"
|
"workspace 7,class:^(TelegramDesktop)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
workspace = [
|
workspace = [
|
||||||
|
@ -209,7 +226,6 @@ in {
|
||||||
bind=,escape,submap,reset
|
bind=,escape,submap,reset
|
||||||
submap=reset
|
submap=reset
|
||||||
|
|
||||||
windowrulev2 = immediate, class:^(cs2)$
|
|
||||||
exec-once = ${pkgs.xorg.xprop}/bin/xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
|
exec-once = ${pkgs.xorg.xprop}/bin/xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
|
||||||
env = XCURSOR_SIZE,48
|
env = XCURSOR_SIZE,48
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
control-center-margin-right = 0;
|
control-center-margin-right = 0;
|
||||||
control-center-margin-left = 0;
|
control-center-margin-left = 0;
|
||||||
|
|
||||||
notification-window-width = 800;
|
notification-window-width = 500;
|
||||||
notification-2fa-action = true;
|
notification-2fa-action = true;
|
||||||
notification-inline-replies = false;
|
notification-inline-replies = false;
|
||||||
notification-icon-size = 64;
|
notification-icon-size = 64;
|
||||||
|
|
|
@ -131,7 +131,7 @@
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
|
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
|
||||||
/* Notification summary/title */
|
/* Notification summary/title */
|
||||||
font-size: 1.75rem;
|
font-size: 1rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
|
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
|
||||||
/* Notification time-ago */
|
/* Notification time-ago */
|
||||||
font-size: 1.5rem;
|
font-size: 1rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: @text-color-muted;
|
color: @text-color-muted;
|
||||||
|
@ -151,7 +151,7 @@
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
|
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
|
||||||
/* Notification body */
|
/* Notification body */
|
||||||
font-size: 1.5rem;
|
font-size: 1rem;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
@ -184,7 +184,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
|
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
|
||||||
font-size: 1.5rem;
|
font-size: 1rem;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
background: @noti-bg;
|
background: @noti-bg;
|
||||||
border: 1px solid @noti-border-color;
|
border: 1px solid @noti-border-color;
|
||||||
|
@ -205,7 +205,7 @@
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-action {
|
.notification-row .notification-background .notification .notification-action {
|
||||||
/* The alternative actions below the default action */
|
/* The alternative actions below the default action */
|
||||||
font-size: 1.25rem;
|
font-size: 1rem;
|
||||||
border-top: 1px solid @noti-border-color;
|
border-top: 1px solid @noti-border-color;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
border-right: 1px solid @noti-border-color;
|
border-right: 1px solid @noti-border-color;
|
||||||
|
@ -254,7 +254,7 @@
|
||||||
|
|
||||||
.notification-group .notification-group-headers .notification-group-header {
|
.notification-group .notification-group-headers .notification-group-header {
|
||||||
color: @text-color;
|
color: @text-color;
|
||||||
font-size: 2rem;
|
font-size: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-group .notification-group-buttons {
|
.notification-group .notification-group-buttons {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
"backlight"
|
"backlight"
|
||||||
"battery"
|
"battery"
|
||||||
"clock"
|
"clock"
|
||||||
"custom/notifications"
|
"custom/notification"
|
||||||
"tray"
|
"tray"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -69,6 +69,7 @@
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
on-click-middle = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float;pin;move 80% 50%;size 20% 50%;noborder]\" ${lib.getExe pkgs.pwvucontrol}";
|
on-click-middle = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float;pin;move 80% 50%;size 20% 50%;noborder]\" ${lib.getExe pkgs.pwvucontrol}";
|
||||||
|
on-click-right = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float]\" ${lib.getExe pkgs.helvum}";
|
||||||
on-scroll-up = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+";
|
on-scroll-up = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+";
|
||||||
on-scroll-down = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-";
|
on-scroll-down = "${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-";
|
||||||
format-muted = "";
|
format-muted = "";
|
||||||
|
@ -80,6 +81,11 @@
|
||||||
format-icons.urgent = "";
|
format-icons.urgent = "";
|
||||||
all-outputs = false;
|
all-outputs = false;
|
||||||
sort-by = "id";
|
sort-by = "id";
|
||||||
|
persistent-workspaces = {
|
||||||
|
"DP-3" = [1 2 3 4 5];
|
||||||
|
"DVI-D-1" = [6 7];
|
||||||
|
"HDMI-A-1" = [8 9];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"hyprland/window" = {
|
"hyprland/window" = {
|
||||||
|
|
|
@ -23,7 +23,6 @@ button {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
#clock:hover,
|
|
||||||
#custom-notification:hover,
|
#custom-notification:hover,
|
||||||
#custom-pick_color:hover,
|
#custom-pick_color:hover,
|
||||||
#custom-scan_qr:hover,
|
#custom-scan_qr:hover,
|
||||||
|
|
Loading…
Reference in a new issue