home-manager/tests/modules/services/window-managers/sway/sway-bindkeys-to-code-and-extra-config.conf
Emily 4c0357ff87
sway: fix workspace 10 missing from default config (#4636)
workspace 10 is part of upstream's default config, but was missing in home-manager.

The initial "sway: add module" PR (02d6040003) went through multiple iterations and had workspace 10 included for a brief moment.
Until the author removed it in a force-push commenting

> Have removed the last change which added bound ${modifer}+0 to workspace number 10 as this messed up workspace numbering in sway.

The reason might have been, that sway used to sort the workspaces in the order they appeared in the config.

Attribute sets in nix are sorted, but not "naturally sorted", meaning `bindsym Mod1+0 workspace number 10` comes before `bindsym Mod1+0 workspace number 1`.

It's unclear if that's what really happened. A workaround would have been to use `lib.lists.naturalSort` in `keybindingsStr`.

But I cannot reproduce this anymore in any way.
I assume this has been fixed many years ago by now.

upstream config: 020a572ed6/config.in (L113-L134)
2024-02-10 19:59:52 +01:00

111 lines
4.5 KiB
Text

import $HOME/.cache/wal/colors-sway
font pango:monospace 8.000000
floating_modifier Mod1
default_border pixel 2
default_floating_border pixel 2
hide_edge_borders none
focus_wrapping no
focus_follows_mouse yes
focus_on_window_activation smart
mouse_warping output
workspace_layout default
workspace_auto_back_and_forth no
client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
bindsym --to-code Mod1+0 workspace number 10
bindsym --to-code Mod1+1 workspace number 1
bindsym --to-code Mod1+2 workspace number 2
bindsym --to-code Mod1+3 workspace number 3
bindsym --to-code Mod1+4 workspace number 4
bindsym --to-code Mod1+5 workspace number 5
bindsym --to-code Mod1+6 workspace number 6
bindsym --to-code Mod1+7 workspace number 7
bindsym --to-code Mod1+8 workspace number 8
bindsym --to-code Mod1+9 workspace number 9
bindsym --to-code Mod1+Down focus down
bindsym --to-code Mod1+Left focus left
bindsym --to-code Mod1+Return exec @foot@/bin/foot
bindsym --to-code Mod1+Right focus right
bindsym --to-code Mod1+Shift+0 move container to workspace number 10
bindsym --to-code Mod1+Shift+1 move container to workspace number 1
bindsym --to-code Mod1+Shift+2 move container to workspace number 2
bindsym --to-code Mod1+Shift+3 move container to workspace number 3
bindsym --to-code Mod1+Shift+4 move container to workspace number 4
bindsym --to-code Mod1+Shift+5 move container to workspace number 5
bindsym --to-code Mod1+Shift+6 move container to workspace number 6
bindsym --to-code Mod1+Shift+7 move container to workspace number 7
bindsym --to-code Mod1+Shift+8 move container to workspace number 8
bindsym --to-code Mod1+Shift+9 move container to workspace number 9
bindsym --to-code Mod1+Shift+Down move down
bindsym --to-code Mod1+Shift+Left move left
bindsym --to-code Mod1+Shift+Right move right
bindsym --to-code Mod1+Shift+Up move up
bindsym --to-code Mod1+Shift+c reload
bindsym --to-code Mod1+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
bindsym --to-code Mod1+Shift+h move left
bindsym --to-code Mod1+Shift+j move down
bindsym --to-code Mod1+Shift+k move up
bindsym --to-code Mod1+Shift+l move right
bindsym --to-code Mod1+Shift+minus move scratchpad
bindsym --to-code Mod1+Shift+q kill
bindsym --to-code Mod1+Shift+space floating toggle
bindsym --to-code Mod1+Up focus up
bindsym --to-code Mod1+a focus parent
bindsym --to-code Mod1+b splith
bindsym --to-code Mod1+d exec @dmenu@/bin/dmenu_run
bindsym --to-code Mod1+e layout toggle split
bindsym --to-code Mod1+f fullscreen toggle
bindsym --to-code Mod1+h focus left
bindsym --to-code Mod1+j focus down
bindsym --to-code Mod1+k focus up
bindsym --to-code Mod1+l focus right
bindsym --to-code Mod1+minus scratchpad show
bindsym --to-code Mod1+r mode resize
bindsym --to-code Mod1+s layout stacking
bindsym --to-code Mod1+space focus mode_toggle
bindsym --to-code Mod1+v splitv
bindsym --to-code Mod1+w layout tabbed
mode "resize" {
bindsym --to-code Down resize grow height 10 px
bindsym --to-code Escape mode default
bindsym --to-code Left resize shrink width 10 px
bindsym --to-code Return mode default
bindsym --to-code Right resize grow width 10 px
bindsym --to-code Up resize shrink height 10 px
bindsym --to-code h resize shrink width 10 px
bindsym --to-code j resize grow height 10 px
bindsym --to-code k resize shrink height 10 px
bindsym --to-code l resize grow width 10 px
}
bar {
font pango:monospace 8.000000
mode dock
hidden_state hide
position bottom
status_command @i3status@/bin/i3status
swaybar_command @sway@/bin/swaybar
workspace_buttons yes
strip_workspace_numbers no
tray_output *
colors {
background #000000
statusline #ffffff
separator #666666
focused_workspace #4c7899 #285577 #ffffff
active_workspace #333333 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888
urgent_workspace #2f343a #900000 #ffffff
binding_mode #2f343a #900000 #ffffff
}
}
exec "/nix/store/00000000000000000000000000000000-dbus/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE; systemctl --user start sway-session.target"
exec_always pkill flashfocus; flasfocus &