]> src.twobees.de Git - dotfiles.git/blob - stow/i3/.config/i3/config
fix keyboard layout toggle
[dotfiles.git] / stow / i3 / .config / i3 / config
1 # This file has been auto-generated by i3-config-wizard(1).
2 # It will not be overwritten, so edit it as you like.
3 #
4 # Should you change your keyboard layout some time, delete
5 # this file and re-run i3-config-wizard(1).
6 #
7
8 # i3 config file (v4)
9 #
10 # Please see https://i3wm.org/docs/userguide.html for a complete reference!
11
12 set $mod Mod4
13
14 # Font for window titles. Will also be used by the bar unless a different font
15 # is used in the bar {} block below.
16 font pango:monospace 8
17
18 # This font is widely installed, provides lots of unicode glyphs, right-to-left
19 # text rendering and scalability on retina/hidpi displays (thanks to pango).
20 #font pango:DejaVu Sans Mono 8
21
22 # The combination of xss-lock, nm-applet and pactl is a popular choice, so
23 # they are included here as an example. Modify as you see fit.
24
25 # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
26 # screen before suspend. Use loginctl lock-session to lock your screen.
27 exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
28 bindsym $mod+Control+l exec --no-startup-id i3lock
29
30 # NetworkManager is the most popular way to manage wireless networks on Linux,
31 # and nm-applet is a desktop environment-independent system tray GUI for it.
32 exec dunst
33 exec --no-startup-id nm-applet
34 exec --no-startup-id /usr/bin/pasystray
35 exec --no-startup-id ~/.bin/touchpad.sh
36 exec --no-startup-id /usr/bin/xfce4-power-manager
37 exec --no-startup-id /usr/bin/firefox
38 # exec --no-startup-id /usr/bin/x2goclient
39 exec --no-startup-id "sleep 10; /usr/bin/nextcloud"
40 exec --no-startup-id "sleep 12; /usr/bin/pass git pull"
41 exec --no-startup-id nitrogen --set-zoom-fill --random ~/.walls/
42 exec --no-startup-id "/usr/bin/setxkbmap -option grp:alt_shift_toggle us,de"
43
44 default_border pixel 4 
45 default_floating_border pixel 2 
46
47
48
49 # Use pactl to adjust volume in PulseAudio.
50 set $refresh_i3status killall -SIGUSR1 /usr/bin/i3status
51 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
52 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
53 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
54 bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
55
56 # Use Mouse+$mod to drag floating windows to their wanted position
57 floating_modifier $mod
58
59 bindsym $mod+Return exec ~/.bin/sensible-terminal.sh
60 # start a terminal
61 # use hefault and hope for the best. ... # bindsym $mod+Return exec /usr/bin/gnome-terminal
62
63 # kill focused window
64 bindsym $mod+Shift+q kill
65
66 # start dmenu (a program launcher)
67 # bindsym $mod+d exec --no-startup-id dmenu_run
68 # A more modern dmenu replacement is rofi:
69 # bindcode $mod+40 exec rofi -modi drun,run -show drun
70 # There also is i3-dmenu-desktop which only displays applications shipping a
71 # .desktop file. It is a wrapper around dmenu, so you need that installed.
72 bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
73
74 # change focus
75 bindsym $mod+h focus left
76 bindsym $mod+j focus down
77 bindsym $mod+k focus up
78 bindsym $mod+l focus right
79 bindsym Control+space focus right
80 bindsym Control+Shift+space focus left
81 bindsym Mod1+Tab focus right
82 bindsym Mod1+Shift+Tab focus left
83
84 # alternatively, you can use the cursor keys:
85 bindsym $mod+Left focus left
86 bindsym $mod+Down focus down
87 bindsym $mod+Up focus up
88 bindsym $mod+Right focus right
89
90 # move focused window
91 bindsym $mod+Shift+h move left
92 bindsym $mod+Shift+j move down
93 bindsym $mod+Shift+k move up
94 bindsym $mod+Shift+l move right
95
96 # alternatively, you can use the cursor keys:
97 bindsym $mod+Shift+Left move left
98 bindsym $mod+Shift+Down move down
99 bindsym $mod+Shift+Up move up
100 bindsym $mod+Shift+Right move right
101
102 # split in horizontal orientation
103 bindsym $mod+b split h
104
105 # split in vertical orientation
106 bindsym $mod+v split v
107
108 # enter fullscreen mode for the focused container
109 bindsym $mod+f fullscreen toggle
110
111 # change container layout (stacked, tabbed, toggle split)
112 bindsym $mod+s layout stacking
113 bindsym $mod+w layout tabbed
114 bindsym $mod+e layout toggle split
115
116 # toggle tiling / floating
117 bindsym $mod+Shift+space floating toggle
118
119 # change focus between tiling / floating windows
120 bindsym $mod+space focus mode_toggle
121
122 # focus the parent container
123 bindsym $mod+a focus parent
124
125 # focus the child container
126 #bindsym $mod+d focus child
127
128 # Define names for default workspaces for which we configure key bindings later on.
129 # We use variables to avoid repeating the names in multiple places.
130 workspace_layout tabbed
131 set $ws1 "1"
132 set $ws2 "2"
133 set $ws3 "3"
134 set $ws4 "4"
135 set $ws5 "5"
136 set $ws6 "6"
137 set $ws7 "7"
138 set $ws8 "8"
139 set $ws9 "9"
140 set $ws10 "10"
141
142 # switch to workspace
143 bindsym $mod+1 workspace number $ws1
144 bindsym $mod+2 workspace number $ws2
145 bindsym $mod+3 workspace number $ws3
146 bindsym $mod+4 workspace number $ws4
147 bindsym $mod+5 workspace number $ws5
148 bindsym $mod+6 workspace number $ws6
149 bindsym $mod+7 workspace number $ws7
150 bindsym $mod+8 workspace number $ws8
151 bindsym $mod+9 workspace number $ws9
152 bindsym $mod+0 workspace number $ws10
153
154 # move focused container to workspace
155 bindsym $mod+Shift+1 move container to workspace number $ws1
156 bindsym $mod+Shift+2 move container to workspace number $ws2
157 bindsym $mod+Shift+3 move container to workspace number $ws3
158 bindsym $mod+Shift+4 move container to workspace number $ws4
159 bindsym $mod+Shift+5 move container to workspace number $ws5
160 bindsym $mod+Shift+6 move container to workspace number $ws6
161 bindsym $mod+Shift+7 move container to workspace number $ws7
162 bindsym $mod+Shift+8 move container to workspace number $ws8
163 bindsym $mod+Shift+9 move container to workspace number $ws9
164 bindsym $mod+Shift+0 move container to workspace number $ws10
165
166 # reload the configuration file
167 bindsym $mod+Shift+c reload
168 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
169 bindsym $mod+Shift+r restart
170 # exit i3 (logs you out of your X session)
171 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'"
172 bindsym $mod+Shift+Control+e exec "shutdown -h now"
173
174
175
176 mode "resize" {
177         # These bindings trigger as soon as you enter the resize mode
178
179         # Pressing left will shrink the window’s width.
180         # Pressing right will grow the window’s width.
181         # Pressing up will shrink the window’s height.
182         # Pressing down will grow the window’s height.
183         bindsym h resize shrink width 10 px or 10 ppt
184         bindsym j resize grow height 10 px or 10 ppt
185         bindsym k resize shrink height 10 px or 10 ppt
186         bindsym l resize grow width 10 px or 10 ppt
187
188         # same bindings, but for the arrow keys
189         bindsym Left resize shrink width 10 px or 10 ppt
190         bindsym Down resize grow height 10 px or 10 ppt
191         bindsym Up resize shrink height 10 px or 10 ppt
192         bindsym Right resize grow width 10 px or 10 ppt
193
194         # back to normal: Enter or Escape or $mod+r
195         bindsym Return mode "default"
196         bindsym Escape mode "default"
197         bindsym $mod+r mode "default"
198 }
199
200 bindsym $mod+r mode "resize"
201
202 # Start i3bar to display a workspace bar (plus the system information i3status
203 # finds out, if available)
204 bar {
205         status_command ~/.bin/i3status.sh
206 #        status_command i3status
207 }
208
209 set $transp       #00000000
210
211 # NOTE: The secondary rgb color in the lines below is the fallback if
212 # i3 fails to get colors from Xresources.
213 set_from_resource $colorf  i3wm.foreground #f8f8f2
214 set_from_resource $colorb  i3wm.background #181a26
215 set_from_resource $color0  i3wm.color0  #282936
216 set_from_resource $color8  i3wm.color8  #4d4f68
217 set_from_resource $color1  i3wm.color1  #f087bd
218 set_from_resource $color9  i3wm.color9  #bd6a95
219 set_from_resource $color2  i3wm.color2  #a5fb8f
220 set_from_resource $color10 i3wm.color10 #83c771
221 set_from_resource $color3  i3wm.color3  #fae3b0
222 set_from_resource $color11 i3wm.color11 #c7b58c
223 set_from_resource $color4  i3wm.color4  #96cdfb
224 set_from_resource $color12 i3wm.color12 #77a2c7
225 set_from_resource $color5  i3wm.color5  #9183f7
226 set_from_resource $color13 i3wm.color13 #7368c4
227 set_from_resource $color6  i3wm.color6  #89dceb
228 set_from_resource $color14 i3wm.color14 #6bacb8
229 set_from_resource $color7  i3wm.color7  #e9e9f4
230 set_from_resource $color15 i3wm.color15 #f7f7fb
231
232 # class                 border   backgr.  text     indicator  child_border
233 client.focused          $color13 $color13 $color2  $color1    $color8
234 client.focused_inactive $color13 $color8  $color1  $color1    $transp
235 client.unfocused        $color8  $color8  $color7  $color1    $transp
236 client.urgent           $color5  $color1  $color0  $color1    $transp
237 client.background       $transp