aboutsummaryrefslogtreecommitdiffstats
path: root/sway/conf.d/20-binds.conf
blob: 02f032e12c8d54298823d81b0160397d50ae7b86 (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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
bindsym $mod+Return exec $term
bindsym $mod+Shift+Return exec $term --class="termfloat"
bindsym $mod+d exec pgrep -x wofi >/dev/null 2>&1 && killall wofi || $menu
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec ~/bin/exit-menu-sway.sh

# Politely quit
bindsym $mod+q kill
# Rudely kill
bindsym $mod+Shift+q exec swaymsg -t get_tree | \
          jq '.. | select(.type?) | select(.focused==true).pid' | \
          xargs -L 1 kill -9

floating_modifier $mod normal

# Move around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# Move the focused window 
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# Move to workspaces
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10

# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10

# Move workspaces
bindsym $mod+Control+Right move workspace to output right
bindsym $mod+Control+Left move workspace to output left
bindsym $mod+Control+Down move workspace to output down
bindsym $mod+Control+Up move workspace to output up
bindsym $mod+Control+l move workspace to output right
bindsym $mod+Control+h move workspace to output left
bindsym $mod+Control+j move workspace to output down
bindsym $mod+Control+k move workspace to output up

# Layout
bindsym $mod+b splith
bindsym $mod+v splitv

# Layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

# Fullscreen
bindsym $mod+f fullscreen

# Toggle to floating windows
bindsym $mod+space focus mode_toggle

# Toggle current window as floating
bindsym $mod+Shift+space floating toggle

# Move focus to the parent container
bindsym $mod+a focus parent

# Scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show

# Screenshot
bindsym Print exec $screenshot_area
bindsym Print+Alt exec $screenshot_area_clipboard
bindsym Print+Shift exec $screenshot_screen
bindsym Print+Shift+Alt exec $screenshot_screen_clipboard

# Audio
# bindsym $mod+bracketleft exec pactl set-sink-volume @DEFAULT_SINK@ -5%
# bindsym $mod+bracketright exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $sink_volume_mute > $wob_socket
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && $sink_volume > $wob_socket
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume > $wob_socket

# Playback
# bindsym XF86AudioPrev exec playerctl --player=spotify,%any previous
# bindsym XF86AudioNext exec playerctl --player=spotify,%any next
# bindsym XF86AudioPlay exec playerctl --player=spotify,%any play-pause
# gross workaround
bindsym XF86AudioPrev exec notify-send "$(playerctl --player=spotify,%any previous)"
bindsym XF86AudioNext exec notify-send "$(playerctl --player=spotify,%any next)"
bindsym XF86AudioPlay exec notify-send "$(playerctl --player=spotify,%any play-pause)"

# Brightness
bindsym XF86MonBrightnessDown exec brightnessctl set 5- && $brightness > $wob_socket
bindsym XF86MonBrightnessUp exec brightnessctl set +5 && $brightness > $wob_socket

mode "resize" {
    bindsym $left  resize shrink width 10px
    bindsym $down  resize grow height 10px
    bindsym $up    resize shrink height 10px
    bindsym $right resize grow width 10px

    bindsym Left  resize shrink width 10px
    bindsym Down  resize grow height 10px
    bindsym Up    resize shrink height 10px
    bindsym Right resize grow width 10px

    bindsym Return mode "default"
    bindsym Escape mode "default"
    bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"

mode "present" {
    # command starts mirroring
    bindsym m mode "default"; exec wl-present mirror
    # these commands modify an already running mirroring window
    bindsym o mode "default"; exec wl-present set-output
    bindsym r mode "default"; exec wl-present set-region
    bindsym Shift+r mode "default"; exec wl-present unset-region
    bindsym s mode "default"; exec wl-present set-scaling
    bindsym f mode "default"; exec wl-present toggle-freeze
    bindsym c mode "default"; exec wl-present custom

    # return to default mode
    bindsym Return mode "default"
    bindsym Escape mode "default"
}
bindsym $mod+p mode "present"