]> src.twobees.de Git - dotfiles.git/blob - stow/i3/.config/i3/config
93ebd0eb8740f4744060f134065d522c83ea823e
[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 6 
45 default_floating_border pixel 6 
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 bindsym $mod+Shift+d exec /usr/bin/dolphin
61 bindsym $mod+Shift+f exec firefox
62 # start a terminal
63 # use hefault and hope for the best. ... # bindsym $mod+Return exec /usr/bin/gnome-terminal
64
65 # kill focused window
66 bindsym $mod+Shift+q kill
67
68 # start dmenu (a program launcher)
69 # bindsym $mod+d exec --no-startup-id dmenu_run
70 # A more modern dmenu replacement is rofi:
71 # bindcode $mod+40 exec rofi -modi drun,run -show drun
72 # There also is i3-dmenu-desktop which only displays applications shipping a
73 # .desktop file. It is a wrapper around dmenu, so you need that installed.
74 bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
75
76 # change focus
77 bindsym $mod+h focus left
78 bindsym $mod+j focus down
79 bindsym $mod+k focus up
80 bindsym $mod+l focus right
81 bindsym Control+space focus right
82 bindsym Control+Shift+space focus left
83 bindsym Mod1+Tab focus right
84 bindsym Mod1+Shift+Tab focus left
85
86 # alternatively, you can use the cursor keys:
87 bindsym $mod+Left focus left
88 bindsym $mod+Down focus down
89 bindsym $mod+Up focus up
90 bindsym $mod+Right focus right
91
92 # move focused window
93 bindsym $mod+Shift+h move left
94 bindsym $mod+Shift+j move down
95 bindsym $mod+Shift+k move up
96 bindsym $mod+Shift+l move right
97
98 # alternatively, you can use the cursor keys:
99 bindsym $mod+Shift+Left move left
100 bindsym $mod+Shift+Down move down
101 bindsym $mod+Shift+Up move up
102 bindsym $mod+Shift+Right move right
103
104 # split in horizontal orientation
105 bindsym $mod+b split h
106
107 # split in vertical orientation
108 bindsym $mod+v split v
109
110 # enter fullscreen mode for the focused container
111 bindsym $mod+f fullscreen toggle
112
113 # change container layout (stacked, tabbed, toggle split)
114 bindsym $mod+s layout stacking
115 bindsym $mod+w layout tabbed
116 bindsym $mod+e layout toggle split
117
118 # toggle tiling / floating
119 bindsym $mod+Shift+space floating toggle
120
121 # change focus between tiling / floating windows
122 bindsym $mod+space focus mode_toggle
123
124 # focus the parent container
125 bindsym $mod+a focus parent
126
127 # focus the child container
128 #bindsym $mod+d focus child
129
130 # Define names for default workspaces for which we configure key bindings later on.
131 # We use variables to avoid repeating the names in multiple places.
132 workspace_layout tabbed
133 set $ws1 "1"
134 set $ws2 "2"
135 set $ws3 "3"
136 set $ws4 "4"
137 set $ws5 "5"
138 set $ws6 "6"
139 set $ws7 "7"
140 set $ws8 "8"
141 set $ws9 "9"
142 set $ws10 "10"
143
144 # switch to workspace
145 bindsym $mod+1 workspace number $ws1
146 bindsym $mod+2 workspace number $ws2
147 bindsym $mod+3 workspace number $ws3
148 bindsym $mod+4 workspace number $ws4
149 bindsym $mod+5 workspace number $ws5
150 bindsym $mod+6 workspace number $ws6
151 bindsym $mod+7 workspace number $ws7
152 bindsym $mod+8 workspace number $ws8
153 bindsym $mod+9 workspace number $ws9
154 bindsym $mod+0 workspace number $ws10
155
156 # move focused container to workspace
157 bindsym $mod+Shift+1 move container to workspace number $ws1
158 bindsym $mod+Shift+2 move container to workspace number $ws2
159 bindsym $mod+Shift+3 move container to workspace number $ws3
160 bindsym $mod+Shift+4 move container to workspace number $ws4
161 bindsym $mod+Shift+5 move container to workspace number $ws5
162 bindsym $mod+Shift+6 move container to workspace number $ws6
163 bindsym $mod+Shift+7 move container to workspace number $ws7
164 bindsym $mod+Shift+8 move container to workspace number $ws8
165 bindsym $mod+Shift+9 move container to workspace number $ws9
166 bindsym $mod+Shift+0 move container to workspace number $ws10
167
168 # reload the configuration file
169 bindsym $mod+Shift+c reload
170 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
171 bindsym $mod+Shift+r restart
172 # exit i3 (logs you out of your X session)
173 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'"
174 bindsym $mod+Shift+Control+e exec "shutdown -h now"
175
176
177
178 mode "resize" {
179         # These bindings trigger as soon as you enter the resize mode
180
181         # Pressing left will shrink the window’s width.
182         # Pressing right will grow the window’s width.
183         # Pressing up will shrink the window’s height.
184         # Pressing down will grow the window’s height.
185         bindsym h resize shrink width 10 px or 10 ppt
186         bindsym j resize grow height 10 px or 10 ppt
187         bindsym k resize shrink height 10 px or 10 ppt
188         bindsym l resize grow width 10 px or 10 ppt
189
190         # same bindings, but for the arrow keys
191         bindsym Left resize shrink width 10 px or 10 ppt
192         bindsym Down resize grow height 10 px or 10 ppt
193         bindsym Up resize shrink height 10 px or 10 ppt
194         bindsym Right resize grow width 10 px or 10 ppt
195
196         # back to normal: Enter or Escape or $mod+r
197         bindsym Return mode "default"
198         bindsym Escape mode "default"
199         bindsym $mod+r mode "default"
200 }
201
202 bindsym $mod+r mode "resize"
203
204 # Start i3bar to display a workspace bar (plus the system information i3status
205 # finds out, if available)
206 bar {
207         status_command ~/.bin/i3status.sh
208 #        status_command i3status
209 }
210
211 set $transp       #00000000
212
213 ## # NOTE: The secondary rgb color in the lines below is the fallback if
214 ## # i3 fails to get colors from Xresources.
215 ## set_from_resource $colorf  i3wm.foreground #f8f8f2
216 ## set_from_resource $colorb  i3wm.background #181a26
217 ## set_from_resource $color0  i3wm.color0  #282936
218 ## set_from_resource $color8  i3wm.color8  #4d4f68
219 ## set_from_resource $color1  i3wm.color1  #f087bd
220 ## set_from_resource $color9  i3wm.color9  #bd6a95
221 ## set_from_resource $color2  i3wm.color2  #a5fb8f
222 ## set_from_resource $color10 i3wm.color10 #83c771
223 ## set_from_resource $color3  i3wm.color3  #fae3b0
224 ## set_from_resource $color11 i3wm.color11 #c7b58c
225 ## set_from_resource $color4  i3wm.color4  #96cdfb
226 ## set_from_resource $color12 i3wm.color12 #77a2c7
227 ## set_from_resource $color5  i3wm.color5  #9183f7
228 ## set_from_resource $color13 i3wm.color13 #7368c4
229 ## set_from_resource $color6  i3wm.color6  #89dceb
230 ## set_from_resource $color14 i3wm.color14 #6bacb8
231 ## set_from_resource $color7  i3wm.color7  #e9e9f4
232 ## set_from_resource $color15 i3wm.color15 #f7f7fb
233 ## 
234 ## # class                 border   backgr.  text     indicator  child_border
235 ## client.focused          $color13 $color13 $color2  $color1    $color8
236 ## client.focused_inactive $color13 $color8  $color1  $color1    $transp
237 ## client.unfocused        $color8  $color8  $color7  $color1    $transp
238 ## client.urgent           $color5  $color1  $color0  $color1    $transp
239 ## client.background       $transp
240
241 ## # class                 border   backgr.  text     indicator  child_border
242 #class                         border    backgr.    text     indicator
243 client.focused              #333333   #363636   #f1f1f1   #3F48CD
244 client.unfocused            #1b1b1b   #2a2a2a   #999999   #9FA0FF
245 client.focused_inactive     #1b1b1b   #353535   #f0f0f0   #9FA0FF
246 Client.urgent               #d64937   #444444   #000000   #d64937
247 client.background           #1b1b1b   #353535   #f0f0f0   #9FA0FF