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