aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config
blob: eb80318d869d00cab122a62077de35fc7eae6030 (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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
#############
# Varaibles #
#############

set $mod Mod4
set $left  h
set $down  j
set $up    k
set $right l
set $term alacritty
set $menu wofi | xargs swaymsg exec

# Colours
set $cl_high #434e59
set $cl_indi #d9d8d8
set $cl_back #22282e
set $cl_fore #ffffff
set $cl_urge #ee2e24

#############
#  Display  #
#############

font pango:Iosevka Nerd Font 11

gaps inner 15

client.focused          $cl_high $cl_high $cl_fore $cl_indi $cl_high
client.focused_inactive $cl_back $cl_back $cl_fore $cl_back $cl_back
client.unfocused        $cl_back $cl_back $cl_fore $cl_back $cl_back
client.urgent           $cl_urge $cl_urge $cl_fore $cl_urge $cl_urge

output * background ~/.config/sway/wallpaper.jpg fill

include output.cfg

############
#  Inputs  #
############

include input.cfg

##############
# Workspaces #
##############

# Bind to specific outputs
workspace 1 output $monitor1 # terminal
workspace 2 output $monitor1 # firefox
workspace 3 output $monitor2 # discord
workspace 4 output $monitor2 # spotify
workspace 5 output $monitor1 # thunderbird

#############
#  Windows  #
#############

for_window [app_id="termfloat"] floating enable
for_window [app_id="termfloat"] resize set height 500
for_window [app_id="termfloat"] resize set width 900

##############
#  Keybinds  #
##############

bindsym $mod+Return exec $term
bindsym $mod+Shift+Return exec $term --class="termfloat"
bindsym $mod+d exec $menu
bindsym $mod+Shift+c reload
bindsym $mod+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'

# 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

# 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 /usr/share/sway/scripts/grimshot copy area
bindsym Print+Control exec /usr/share/sway/scripts/grimshot --notify save area
bindsym $mod+Shift+equal exec /usr/share/sway/scripts/grimshot --notify copy area
bindsym $mod+Control+equal exec /usr/share/sway/scripts/grimshot --notify save area

bindsym $mod+bracketleft exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym $mod+bracketright exec pactl set-sink-volume @DEFAULT_SINK@ +5%

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"

# Start notification daemon
exec mako

# Make sure env vars are imported into D-Bus
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway

# Swayidle
exec swayidle -w \
    before-sleep "swaylock"

exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

# Chromium hotkey fix
for_window [app_id="^chrome-.*-.*$"] shortcuts_inhibitor disable

############
#  Waybar  #
############

bar { 
     swaybar_command waybar
}

include @sysconfdir@/sway/config.d/*