]> src.twobees.de Git - dotfiles.git/blob - stow/i3/.config/i3/config
sway
[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 waybar
33 exec dunst
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 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
43 default_border pixel 6 
44 default_floating_border pixel 6 
45
46
47
48 # Use pactl to adjust volume in PulseAudio.
49 set $refresh_i3status killall -SIGUSR1 /usr/bin/i3status
50 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
51 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
52 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
53 bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
54
55 # Use Mouse+$mod to drag floating windows to their wanted position
56 floating_modifier $mod
57
58 bindsym $mod+Return exec ~/.bin/sensible-terminal.sh
59 bindsym $mod+Shift+d exec /usr/bin/dolphin
60 bindsym $mod+Shift+f exec firefox
61 #bindsym $mod+space exec "DISPLAY=:0 setxkbmap -query | grep 'layout:.*us' && setxkbmap de || setxkbmap us"
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 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 alt+Shift 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
171 # exit i3 (logs you out of your X session)
172 bindsym $mod+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your X session.' -B 'Yes, exit sway' '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
239
240 ## # class                 border   backgr.  text     indicator  child_border
241 #class                         border    backgr.    text     indicator
242 client.focused              #333333   #363636   #f1f1f1   #3F48CD
243 client.unfocused            #1b1b1b   #2a2a2a   #999999   #9FA0FF
244 client.focused_inactive     #1b1b1b   #353535   #f0f0f0   #9FA0FF
245 Client.urgent               #d64937   #444444   #000000   #d64937
246 client.background           #1b1b1b   #353535   #f0f0f0   #9FA0FF
247
248
249
250 for_window [window_role="About"] floating enable
251 for_window [class="vlc"] floating enable
252
253 input type:keyboard {
254     xkb_layout us,de
255     xkb_options grp:win_space_toggle
256 }