summaryrefslogtreecommitdiff
path: root/modules/desktops/sway/binds.nix
blob: 812d446bad155e72593d437f67909382f7a8faf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
{config, ...}: let
  mod = "Mod4";
in {
  home-manager.users.${config.user} = {
    wayland.windowManager.sway = {
      config = {
        keybindings = {
          # apps
          "${mod}+Return" = "exec ${config.default.terminal}";
          "${mod}+l" = "exec ${config.default.lockScreen}";
          "${mod}+d" = "exec ${config.default.appLauncher}";
          "${mod}+w" = "exec ${config.default.browser}";

          # exit
          "${mod}+Shift+l" = "exit";
          # kill focused window
          "${mod}+Shift+q" = "kill";
          # reload sway
          "${mod}+F5" = "reload";

          # audio
          "XF86AudioRaiseVolume" = "exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+";
          "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
          "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
          "XF86AudioMicMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";

          # media
          "XF86AudioPlay" = "exec playerctl play-pause";
          "XF86AudioNext" = "exec playerctl next";
          "XF86AudioPrev" = "exec playerctl previous";

          # backlight
          "XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
          "XF86MonBrightnessUp" = "exec brightnessctl set 5%+";

          # screenshot
          "Print" = "exec grimblast copy area";

          # move focus
          "${mod}+Left" = "focus left";
          "${mod}+Down" = "focus down";
          "${mod}+Up" = "focus up";
          "${mod}+Right" = "focus right";

          # move focused window
          "${mod}+Shift+Left" = "move left";
          "${mod}+Shift+Down" = "move down";
          "${mod}+Shift+Up" = "move up";
          "${mod}+Shift+Right" = "move right";

          # switch workspace
          "${mod}+1" = "workspace number 1";
          "${mod}+2" = "workspace number 2";
          "${mod}+3" = "workspace number 3";
          "${mod}+4" = "workspace number 4";
          "${mod}+5" = "workspace number 5";
          "${mod}+6" = "workspace number 6";
          "${mod}+7" = "workspace number 7";
          "${mod}+8" = "workspace number 8";
          "${mod}+9" = "workspace number 9";

          # move focused container to workspace
          "${mod}+Shift+1" = "move container to workspace number 1";
          "${mod}+Shift+2" = "move container to workspace number 2";
          "${mod}+Shift+3" = "move container to workspace number 3";
          "${mod}+Shift+4" = "move container to workspace number 4";
          "${mod}+Shift+5" = "move container to workspace number 5";
          "${mod}+Shift+6" = "move container to workspace number 6";
          "${mod}+Shift+7" = "move container to workspace number 7";
          "${mod}+Shift+8" = "move container to workspace number 8";
          "${mod}+Shift+9" = "move container to workspace number 9";

          # layout
          "${mod}+Shift+d" = "layout default";
          "${mod}+Shift+b" = "layout splith";
          "${mod}+Shift+v" = "layout splitv";
          "${mod}+Shift+c" = "layout tabbed";

          # fullscreen
          "${mod}+f" = "fullscreen";
          # float
          "${mod}+Shift+space" = "floating toggle";
          # focus
          "${mod}+space" = "focus mode_toggle";
          # parent
          "${mod}+a" = "focus parent";
        };
      };
    };
  };
}