i3/config: Added names for moving windows to workspaces, because I keep losing them if I don't do that.
- Author
- Maarten 'Vngngdn' Vangeneugden
- Date
- Dec. 3, 2016, 2:02 a.m.
- Hash
- 28aede38cdc0b87a791b1fe8b4308692c8fd0ee0
- Parent
- 52467b6d8f8a12921ca95e3e1d0b47cf974779e2
- Modified file
- i3/config
i3/config ¶
6 additions and 6 deletions.
View changes Hide changes
1 |
1 |
# |
2 |
2 |
# Copy this to ~/.config/sway/config and edit it to your liking. |
3 |
3 |
# |
4 |
4 |
# Read `man 5 sway` for a complete reference. |
5 |
5 |
|
6 |
6 |
### Variables |
7 |
7 |
# |
8 |
8 |
# Logo key. Use Mod1 for Alt. |
9 |
9 |
set $mod Mod4 |
10 |
10 |
# Home row direction keys, like vim |
11 |
11 |
set $left h |
12 |
12 |
set $down j |
13 |
13 |
set $up k |
14 |
14 |
set $right l |
15 |
15 |
# Your preferred terminal emulator |
16 |
16 |
set $term termite |
17 |
17 |
# Your preferred application launcher |
18 |
18 |
set $menu rofi -show run |
19 |
19 |
|
20 |
20 |
|
21 |
21 |
### Output configuration |
22 |
22 |
# |
23 |
23 |
# Default wallpaper (more resolutions are available in /usr/share/sway/) |
24 |
24 |
#output * bg ~/.wallpapers/Abstract\ with\ lime\ green\ and\ blue\ accents.jpg fill |
25 |
25 |
# |
26 |
26 |
# Example configuration: |
27 |
27 |
# |
28 |
28 |
# output HDMI-A-1 resolution 1920x1080 position 1920,0 |
29 |
29 |
# |
30 |
30 |
# You can get the names of your outputs by running: swaymsg -t get_outputs |
31 |
31 |
|
32 |
32 |
### Input configuration |
33 |
33 |
# |
34 |
34 |
# Example configuration: |
35 |
35 |
# |
36 |
36 |
# input "2:14:SynPS/2_Synaptics_TouchPad" { |
37 |
37 |
# dwt enabled |
38 |
38 |
# tap enabled |
39 |
39 |
# natural_scroll enabled |
40 |
40 |
# middle_emulation enabled |
41 |
41 |
# } |
42 |
42 |
# |
43 |
43 |
# You can get the names of your inputs by running: swaymsg -t get_inputs |
44 |
44 |
# The escape symbol "\" has to be removed. |
45 |
45 |
# Read `man 5 sway-input` for more information about this section. |
46 |
46 |
|
47 |
47 |
### Key bindings |
48 |
48 |
# |
49 |
49 |
# Basics: |
50 |
50 |
# |
51 |
51 |
# start a terminal |
52 |
52 |
bindsym $mod+Return exec $term |
53 |
53 |
|
54 |
54 |
# kill focused window |
55 |
55 |
bindsym $mod+Shift+q kill |
56 |
56 |
|
57 |
57 |
# start your launcher |
58 |
58 |
bindsym $mod+d exec $menu |
59 |
59 |
|
60 |
60 |
# Mouse+$mod to drag floating windows |
61 |
61 |
floating_modifier $mod |
62 |
62 |
|
63 |
63 |
# reload the configuration file |
64 |
64 |
bindsym $mod+Shift+c reload |
65 |
65 |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) |
66 |
66 |
bindsym $mod+Shift+r restart |
67 |
67 |
# exit i3 (logs you out of your X session) |
68 |
68 |
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" |
69 |
69 |
# |
70 |
70 |
# Moving around: |
71 |
71 |
# |
72 |
72 |
# Move your focus around |
73 |
73 |
bindsym $mod+$left focus left |
74 |
74 |
bindsym $mod+$down focus down |
75 |
75 |
bindsym $mod+$up focus up |
76 |
76 |
bindsym $mod+$right focus right |
77 |
77 |
# or use $mod+[up|down|left|right] |
78 |
78 |
bindsym $mod+Left focus left |
79 |
79 |
bindsym $mod+Down focus down |
80 |
80 |
bindsym $mod+Up focus up |
81 |
81 |
bindsym $mod+Right focus right |
82 |
82 |
|
83 |
83 |
# _move_ the focused window with the same, but add Shift |
84 |
84 |
bindsym $mod+Shift+$left move left |
85 |
85 |
bindsym $mod+Shift+$down move down |
86 |
86 |
bindsym $mod+Shift+$up move up |
87 |
87 |
bindsym $mod+Shift+$right move right |
88 |
88 |
# ditto, with arrow keys |
89 |
89 |
bindsym $mod+Shift+Left move left |
90 |
90 |
bindsym $mod+Shift+Down move down |
91 |
91 |
bindsym $mod+Shift+Up move up |
92 |
92 |
bindsym $mod+Shift+Right move right |
93 |
93 |
# |
94 |
94 |
# Workspaces: |
95 |
95 |
# |
96 |
96 |
# switch to workspace |
97 |
97 |
bindsym $mod+1 workspace 1: COMPN |
98 |
98 |
bindsym $mod+2 workspace 2: Philosophy |
99 |
99 |
bindsym $mod+3 workspace 3: Physics |
100 |
100 |
bindsym $mod+4 workspace 4: OOP |
101 |
101 |
bindsym $mod+5 workspace 5: Math |
102 |
102 |
bindsym $mod+6 workspace 6: Leisure |
103 |
103 |
bindsym $mod+7 workspace 7 |
104 |
104 |
bindsym $mod+8 workspace 8 |
105 |
105 |
bindsym $mod+9 workspace 9 |
106 |
106 |
bindsym $mod+0 workspace 10 |
107 |
107 |
# move focused container to workspace |
108 |
108 |
bindsym $mod+Shift+1 move container to workspace 1 |
109 |
- | bindsym $mod+Shift+2 move container to workspace 2 |
110 |
- | bindsym $mod+Shift+3 move container to workspace 3 |
111 |
- | bindsym $mod+Shift+4 move container to workspace 4 |
112 |
- | bindsym $mod+Shift+5 move container to workspace 5 |
113 |
- | bindsym $mod+Shift+6 move container to workspace 6 |
114 |
- | bindsym $mod+Shift+7 move container to workspace 7 |
+ |
109 |
bindsym $mod+Shift+2 move container to workspace 2: Philosophy |
+ |
110 |
bindsym $mod+Shift+3 move container to workspace 3: Physics |
+ |
111 |
bindsym $mod+Shift+4 move container to workspace 4: OOP |
+ |
112 |
bindsym $mod+Shift+5 move container to workspace 5: Math |
+ |
113 |
bindsym $mod+Shift+6 move container to workspace 6: Leisure |
+ |
114 |
bindsym $mod+Shift+7 move container to workspace 7 |
115 |
115 |
bindsym $mod+Shift+8 move container to workspace 8 |
116 |
116 |
bindsym $mod+Shift+9 move container to workspace 9 |
117 |
117 |
bindsym $mod+Shift+0 move container to workspace 10 |
118 |
118 |
# Note: workspaces can have any name you want, not just numbers. |
119 |
119 |
# We just use 1-10 as the default. |
120 |
120 |
# |
121 |
121 |
# Layout stuff: |
122 |
122 |
# |
123 |
123 |
# You can "split" the current object of your focus with |
124 |
124 |
# $mod+b or $mod+v, for horizontal and vertical splits |
125 |
125 |
# respectively. |
126 |
126 |
bindsym $mod+b split h |
127 |
127 |
bindsym $mod+v split v |
128 |
128 |
|
129 |
129 |
# Switch the current container between different layout styles |
130 |
130 |
bindsym $mod+s layout stacking |
131 |
131 |
bindsym $mod+w layout tabbed |
132 |
132 |
bindsym $mod+e layout toggle split |
133 |
133 |
|
134 |
134 |
# Make the current focus fullscreen |
135 |
135 |
bindsym $mod+f fullscreen toggle |
136 |
136 |
|
137 |
137 |
# Toggle the current focus between tiling and floating mode |
138 |
138 |
bindsym $mod+Shift+space floating toggle |
139 |
139 |
|
140 |
140 |
# Swap focus between the tiling area and the floating area |
141 |
141 |
bindsym $mod+space focus mode_toggle |
142 |
142 |
|
143 |
143 |
# move focus to the parent container |
144 |
144 |
bindsym $mod+a focus parent |
145 |
145 |
# |
146 |
146 |
# Scratchpad: |
147 |
147 |
# |
148 |
148 |
# Sway has a "scratchpad", which is a bag of holding for windows. |
149 |
149 |
# You can send windows there and get them back later. |
150 |
150 |
|
151 |
151 |
# Move the currently focused window to the scratchpad |
152 |
152 |
bindsym $mod+Shift+minus move scratchpad |
153 |
153 |
|
154 |
154 |
# Show the next scratchpad window or hide the focused scratchpad window. |
155 |
155 |
# If there are multiple scratchpad windows, this command cycles through them. |
156 |
156 |
bindsym $mod+minus scratchpad show |
157 |
157 |
# |
158 |
158 |
# Resizing containers: |
159 |
159 |
# |
160 |
160 |
mode "resize" { |
161 |
161 |
# left will shrink the containers width |
162 |
162 |
# right will grow the containers width |
163 |
163 |
# up will shrink the containers height |
164 |
164 |
# down will grow the containers height |
165 |
165 |
bindsym $left resize shrink width 10 px or 10 ppt |
166 |
166 |
bindsym $down resize grow height 10 px or 10 ppt |
167 |
167 |
bindsym $up resize shrink height 10 px or 10 ppt |
168 |
168 |
bindsym $right resize grow width 10 px or 10 ppt |
169 |
169 |
|
170 |
170 |
# ditto, with arrow keys |
171 |
171 |
bindsym Left resize shrink width 10 px or 10 ppt |
172 |
172 |
bindsym Down resize grow height 10 px or 10 ppt |
173 |
173 |
bindsym Up resize shrink height 10 px or 10 ppt |
174 |
174 |
bindsym Right resize grow width 10 px or 10 ppt |
175 |
175 |
|
176 |
176 |
# return to default mode |
177 |
177 |
bindsym Return mode "default" |
178 |
178 |
bindsym Escape mode "default" |
179 |
179 |
} |
180 |
180 |
bindsym $mod+r mode "resize" |
181 |
181 |
|
182 |
182 |
exec_always feh --bg-scale feh --bg-scale ~/.wallpapers/Abstract\ with\ lime\ green\ and\ blue\ accents.jpg # Background using Feh |
183 |
183 |
|
184 |
184 |
bar { |
185 |
185 |
status_command i3blocks |
186 |
186 |
} |
187 |
187 |
|
188 |
188 |
# Makes my FN buttons work properly. |
189 |
189 |
bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+ unmute |
190 |
190 |
bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- unmute |
191 |
191 |
bindsym XF86AudioToggle exec pactl set-sink-mute $(pacmd list-sinks |awk '/* index:/{print $3}') toggle |
192 |
192 |
|
193 |
193 |
bindsym XF86MonBrightnessDown exec light -U 5 |
194 |
194 |
bindsym XF86MonBrightnessUp exec light -A 5 |
195 |
195 |
bindsym Print exec scrot # Printscreen button |
196 |
196 |
bindsym $mod+Print exec scrot -s # scrot, but click for window, or drag for rectangle screenshot. |