]>
Commit | Line | Data |
---|---|---|
9252e5c9 RBR |
1 | # Default config for sway |
2 | # | |
3 | # Copy this to ~/.config/sway/config and edit it to your liking. | |
4 | # | |
5 | # Read `man 5 sway` for a complete reference. | |
6 | ||
7 | ### Variables | |
8 | # | |
9 | # Logo key. Use Mod1 for Alt. | |
10 | set $mod Mod4 | |
11 | # Home row direction keys, like vim | |
12 | set $left h | |
13 | set $down j | |
14 | set $up k | |
15 | set $right l | |
16 | # Your preferred terminal emulator | |
17 | set $term kitty | |
18 | ||
19 | # Theme Variables | |
20 | set $font "Input Mono Light 12" | |
21 | set $highlight #00FFFF | |
22 | set $prompt #00FF00 | |
23 | ||
24 | # Font | |
25 | font pango:Input Mono Light 12 | |
26 | ||
27 | # class / border / bg / fg / indicator / child_border | |
28 | client.focused #00FFFF #000000 #FFFFFF #00FF00 #00FFFF | |
29 | client.focused_inactive #00FFFF #000000 #666666 #00FF00 #00FFFF | |
30 | client.unfocused #666666 #000000 #888888 #666666 #666666 | |
31 | client.urgent #FF00FF #000000 #FFFFFF #00FF00 #FF00FF | |
32 | ||
33 | # Your preferred application launcher | |
34 | # Note: pass the final command to swaymsg so that the resulting window can be opened | |
35 | # on the original workspace that the command was run on. | |
36 | set $menu bemenu-run --fn $font -b -p "$" --tf "$prompt" --hf "$highlight" --sf "$highlight" --scf "$highlight" | xargs swaymsg exec | |
37 | ||
38 | ### Output configuration | |
39 | # | |
40 | # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) | |
41 | output * bg ~/Pictures/lisa-congdon/BrightSpots_800x800.webp tile #000000 | |
42 | # output HDMI-A-1 resolution 1920x1080 position 1920,0 | |
43 | # | |
44 | # You can get the names of your outputs by running: swaymsg -t get_outputs | |
45 | ||
46 | ### Idle configuration | |
47 | # | |
48 | # Example configuration: | |
49 | # | |
50 | # exec swayidle -w \ | |
51 | # timeout 300 'swaylock -f -c 000000' \ | |
52 | # timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ | |
53 | # before-sleep 'swaylock -f -c 000000' | |
54 | # | |
55 | # This will lock your screen after 300 seconds of inactivity, then turn off | |
56 | # your displays after another 300 seconds, and turn your screens back on when | |
57 | # resumed. It will also lock your screen before your computer goes to sleep. | |
58 | ||
59 | ### Input configuration | |
60 | # | |
61 | # Example configuration: | |
62 | # | |
63 | # input "2:14:SynPS/2_Synaptics_TouchPad" { | |
64 | # dwt enabled | |
65 | # tap enabled | |
66 | # natural_scroll enabled | |
67 | # middle_emulation enabled | |
68 | # } | |
69 | # | |
70 | # You can get the names of your inputs by running: swaymsg -t get_inputs | |
71 | # Read `man 5 sway-input` for more information about this section. | |
72 | ||
73 | input * { | |
74 | xkb_options ctrl:nocaps | |
75 | } | |
76 | ||
77 | ### Key bindings | |
78 | # | |
79 | # Basics: | |
80 | # | |
81 | # Start a terminal | |
82 | bindsym $mod+Return exec $term | |
83 | ||
84 | # Kill focused window | |
85 | bindsym $mod+Shift+q kill | |
86 | ||
87 | # Start your launcher | |
88 | bindsym $mod+d exec $menu | |
89 | ||
90 | # Drag floating windows by holding down $mod and left mouse button. | |
91 | # Resize them with right mouse button + $mod. | |
92 | # Despite the name, also works for non-floating windows. | |
93 | # Change normal to inverse to use left mouse button for resizing and right | |
94 | # mouse button for dragging. | |
95 | floating_modifier $mod normal | |
96 | ||
97 | # Reload the configuration file | |
98 | bindsym $mod+Shift+c reload | |
99 | ||
100 | # Exit sway (logs you out of your Wayland session) | |
101 | 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' | |
102 | # | |
103 | # Moving around: | |
104 | # | |
105 | # Move your focus around | |
106 | bindsym $mod+$left focus left | |
107 | bindsym $mod+$down focus down | |
108 | bindsym $mod+$up focus up | |
109 | bindsym $mod+$right focus right | |
110 | # Or use $mod+[up|down|left|right] | |
111 | bindsym $mod+Left focus left | |
112 | bindsym $mod+Down focus down | |
113 | bindsym $mod+Up focus up | |
114 | bindsym $mod+Right focus right | |
115 | ||
116 | # Move the focused window with the same, but add Shift | |
117 | bindsym $mod+Shift+$left move left | |
118 | bindsym $mod+Shift+$down move down | |
119 | bindsym $mod+Shift+$up move up | |
120 | bindsym $mod+Shift+$right move right | |
121 | # Ditto, with arrow keys | |
122 | bindsym $mod+Shift+Left move left | |
123 | bindsym $mod+Shift+Down move down | |
124 | bindsym $mod+Shift+Up move up | |
125 | bindsym $mod+Shift+Right move right | |
126 | # | |
127 | # Workspaces: | |
128 | # | |
129 | # Switch to workspace | |
130 | bindsym $mod+1 workspace number 1 | |
131 | bindsym $mod+2 workspace number 2 | |
132 | bindsym $mod+3 workspace number 3 | |
133 | bindsym $mod+4 workspace number 4 | |
134 | bindsym $mod+5 workspace number 5 | |
135 | bindsym $mod+6 workspace number 6 | |
136 | bindsym $mod+7 workspace number 7 | |
137 | bindsym $mod+8 workspace number 8 | |
138 | bindsym $mod+9 workspace number 9 | |
139 | bindsym $mod+0 workspace number 10 | |
140 | # Move focused container to workspace | |
141 | bindsym $mod+Shift+1 move container to workspace number 1 | |
142 | bindsym $mod+Shift+2 move container to workspace number 2 | |
143 | bindsym $mod+Shift+3 move container to workspace number 3 | |
144 | bindsym $mod+Shift+4 move container to workspace number 4 | |
145 | bindsym $mod+Shift+5 move container to workspace number 5 | |
146 | bindsym $mod+Shift+6 move container to workspace number 6 | |
147 | bindsym $mod+Shift+7 move container to workspace number 7 | |
148 | bindsym $mod+Shift+8 move container to workspace number 8 | |
149 | bindsym $mod+Shift+9 move container to workspace number 9 | |
150 | bindsym $mod+Shift+0 move container to workspace number 10 | |
151 | # Note: workspaces can have any name you want, not just numbers. | |
152 | # We just use 1-10 as the default. | |
153 | # | |
154 | # Layout stuff: | |
155 | # | |
156 | # You can "split" the current object of your focus with | |
157 | # $mod+b or $mod+v, for horizontal and vertical splits | |
158 | # respectively. | |
159 | bindsym $mod+b splith | |
160 | bindsym $mod+v splitv | |
161 | ||
162 | # Switch the current container between different layout styles | |
163 | bindsym $mod+s layout stacking | |
164 | bindsym $mod+w layout tabbed | |
165 | bindsym $mod+e layout toggle split | |
166 | ||
167 | # Make the current focus fullscreen | |
168 | bindsym $mod+f fullscreen | |
169 | ||
170 | # Toggle the current focus between tiling and floating mode | |
171 | bindsym $mod+Shift+space floating toggle | |
172 | ||
173 | # Swap focus between the tiling area and the floating area | |
174 | bindsym $mod+space focus mode_toggle | |
175 | ||
176 | # Move focus to the parent container | |
177 | bindsym $mod+a focus parent | |
178 | # | |
179 | # Scratchpad: | |
180 | # | |
181 | # Sway has a "scratchpad", which is a bag of holding for windows. | |
182 | # You can send windows there and get them back later. | |
183 | ||
184 | # Move the currently focused window to the scratchpad | |
185 | bindsym $mod+Shift+minus move scratchpad | |
186 | ||
187 | # Show the next scratchpad window or hide the focused scratchpad window. | |
188 | # If there are multiple scratchpad windows, this command cycles through them. | |
189 | bindsym $mod+minus scratchpad show | |
190 | # | |
191 | # Resizing containers: | |
192 | # | |
193 | mode "resize" { | |
194 | # left will shrink the containers width | |
195 | # right will grow the containers width | |
196 | # up will shrink the containers height | |
197 | # down will grow the containers height | |
198 | bindsym $left resize shrink width 10px | |
199 | bindsym $down resize grow height 10px | |
200 | bindsym $up resize shrink height 10px | |
201 | bindsym $right resize grow width 10px | |
202 | ||
203 | # Ditto, with arrow keys | |
204 | bindsym Left resize shrink width 10px | |
205 | bindsym Down resize grow height 10px | |
206 | bindsym Up resize shrink height 10px | |
207 | bindsym Right resize grow width 10px | |
208 | ||
209 | # Return to default mode | |
210 | bindsym Return mode "default" | |
211 | bindsym Escape mode "default" | |
212 | } | |
213 | bindsym $mod+r mode "resize" | |
214 | ||
215 | # | |
216 | # Status Bar: | |
217 | # | |
218 | # Read `man 5 sway-bar` for more information about this section. | |
219 | bar { | |
220 | position top | |
221 | ||
222 | # When the status_command prints a new line to stdout, swaybar updates. | |
223 | # The default just shows the current date and time. | |
224 | status_command while ~/.config/sway/status.sh; do sleep 1; done | |
225 | ||
226 | colors { | |
227 | statusline #ffffff | |
228 | background #000000 | |
229 | # class / border / bg / fg | |
230 | focused_workspace #00FFFF #00FFFF #000000 | |
231 | inactive_workspace #666666 #000000 #666666 | |
232 | active_workspace #00FF00 #000000 #00FF00 | |
233 | urgent_workspace #FF00FF #FF00FF #000000 | |
234 | } | |
235 | } | |
236 | ||
237 | include /etc/sway/config.d/* |