]> src.twobees.de Git - dotfiles.git/blob - stow/i3/.config/i3/config
../..
[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
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 /usr/bin/i3-sensible-terminal
60 # start a terminal
61 # use default 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 j resize shrink width 10 px or 10 ppt
184         bindsym k resize grow height 10 px or 10 ppt
185         bindsym l resize shrink height 10 px or 10 ppt
186         bindsym semicolon 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