2021-07-03 14:13:56 +02:00
|
|
|
# i3 config file (v4)
|
|
|
|
|
|
|
|
set $mod Mod4
|
2021-07-07 21:50:49 +02:00
|
|
|
set $up l
|
|
|
|
set $down k
|
|
|
|
set $left j
|
|
|
|
set $right semicolon
|
2021-07-03 14:13:56 +02:00
|
|
|
set $term vbeterm
|
2021-07-04 18:25:28 +02:00
|
|
|
set $mediaplayer spotify
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-28 18:47:25 +02:00
|
|
|
font pango:Iosevka Aile 9
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-04 14:54:07 +02:00
|
|
|
# Style and colors
|
2021-07-03 14:13:56 +02:00
|
|
|
default_border pixel 3
|
|
|
|
default_floating_border pixel 3
|
2021-07-04 14:54:07 +02:00
|
|
|
# class border backgr. text indicator child_border
|
2021-07-05 15:11:46 +02:00
|
|
|
client.focused #ffaf00 #cc5c00 #ffffff #ffdf11 #cc5c00
|
2021-07-04 14:54:07 +02:00
|
|
|
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
|
|
|
|
client.unfocused #333333 #222222 #888888 #292d2e #222222
|
|
|
|
client.urgent #2f343a #d00000 #ffffff #d00000 #d00000
|
|
|
|
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
|
|
|
|
client.background #ffffff
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-04 18:25:28 +02:00
|
|
|
# Audio
|
2021-07-08 22:34:45 +02:00
|
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
|
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
|
|
|
bindsym XF86AudioMute exec --no-startup-id exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
|
|
bindsym XF86AudioMicMute exec --no-startup-id exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
|
|
|
bindsym XF86AudioPlay exec --no-startup-id exec playerctl -p $mediaplayer play-pause
|
|
|
|
bindsym XF86AudioPause exec --no-startup-id exec playerctl -p $mediaplayer pause
|
|
|
|
bindsym XF86AudioStop exec --no-startup-id exec playerctl -p $mediaplayer stop
|
|
|
|
bindsym XF86AudioNext exec --no-startup-id exec playerctl -p $mediaplayer next
|
|
|
|
bindsym XF86AudioPrev exec --no-startup-id exec playerctl -p $mediaplayer previous
|
2021-07-20 23:48:41 +02:00
|
|
|
bindsym $mod+s exec --no-startup-id exec ~/.config/i3/bin/rofi-mediaplayer $mediaplayer
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-05 08:28:06 +02:00
|
|
|
# Brightness
|
2021-07-08 22:34:45 +02:00
|
|
|
bindsym XF86MonBrightnessUp exec --no-startup-id exec brightnessctl set +5%
|
|
|
|
bindsym XF86MonBrightnessDown exec --no-startup-id exec brightnessctl set 5%-
|
2021-07-05 08:28:06 +02:00
|
|
|
|
2021-07-03 14:13:56 +02:00
|
|
|
# use Mouse+$mod to drag floating windows to their wanted position
|
|
|
|
floating_modifier $mod
|
|
|
|
|
|
|
|
# start a terminal
|
2021-07-08 22:34:45 +02:00
|
|
|
bindsym $mod+Return exec exec $term
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# kill focused window
|
|
|
|
bindsym $mod+x kill
|
|
|
|
|
|
|
|
# execute command
|
2021-07-17 22:32:34 +02:00
|
|
|
bindsym $mod+r exec --no-startup-id exec rofi -modi drun -show drun -show-icons -drun-match-fields name
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# change focus
|
2021-07-04 18:25:28 +02:00
|
|
|
bindsym $mod+$left focus left
|
|
|
|
bindsym $mod+$down focus down
|
|
|
|
bindsym $mod+$up focus up
|
2021-07-03 14:13:56 +02:00
|
|
|
bindsym $mod+$right focus right
|
|
|
|
|
|
|
|
# move focused window
|
2021-07-04 18:25:28 +02:00
|
|
|
bindsym $mod+Shift+$left move left
|
|
|
|
bindsym $mod+Shift+$down move down
|
|
|
|
bindsym $mod+Shift+$up move up
|
2021-07-03 14:13:56 +02:00
|
|
|
bindsym $mod+Shift+$right move right
|
2021-07-04 23:50:48 +02:00
|
|
|
bindsym $mod+o move container to output right
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# resize focused window
|
2021-07-05 20:23:23 +02:00
|
|
|
bindsym $mod+Ctrl+$left resize shrink width 10 px or 4 ppt
|
|
|
|
bindsym $mod+Ctrl+$down resize grow height 10 px or 4 ppt
|
|
|
|
bindsym $mod+Ctrl+$up resize shrink height 10 px or 4 ppt
|
|
|
|
bindsym $mod+Ctrl+$right resize grow width 10 px or 4 ppt
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# enter fullscreen mode for the focused container
|
|
|
|
bindsym $mod+f fullscreen toggle
|
2021-07-04 23:50:48 +02:00
|
|
|
bindsym $mod+Shift+f fullscreen toggle global
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-05 16:05:34 +02:00
|
|
|
# change container layout (tabbed, toggle split)
|
2021-08-03 16:00:28 +02:00
|
|
|
bindsym $mod+w layout toggle splitv splith tabbed
|
|
|
|
bindsym $mod+v split toggle
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# toggle tiling / floating
|
|
|
|
bindsym $mod+Shift+space floating toggle
|
|
|
|
|
|
|
|
# change focus between tiling / floating windows
|
|
|
|
bindsym $mod+space focus mode_toggle
|
|
|
|
|
|
|
|
# focus the parent container
|
|
|
|
bindsym $mod+a focus parent
|
|
|
|
|
|
|
|
# Define names for default workspaces for which we configure key bindings later on.
|
|
|
|
# We use variables to avoid repeating the names in multiple places.
|
|
|
|
set $ws1 "1"
|
|
|
|
set $ws2 "2"
|
|
|
|
set $ws3 "3"
|
|
|
|
set $ws4 "4"
|
|
|
|
set $ws5 "5"
|
|
|
|
set $ws6 "6"
|
|
|
|
set $ws7 "7"
|
|
|
|
set $ws8 "8"
|
|
|
|
set $ws9 "9"
|
|
|
|
set $ws10 "10"
|
|
|
|
|
2021-07-09 20:19:35 +02:00
|
|
|
# default workspace layout: tabbed
|
|
|
|
workspace_layout tabbed
|
|
|
|
|
2021-07-03 14:13:56 +02:00
|
|
|
# switch to workspace
|
|
|
|
bindsym $mod+1 workspace number $ws1
|
|
|
|
bindsym $mod+2 workspace number $ws2
|
|
|
|
bindsym $mod+3 workspace number $ws3
|
|
|
|
bindsym $mod+4 workspace number $ws4
|
|
|
|
bindsym $mod+5 workspace number $ws5
|
|
|
|
bindsym $mod+6 workspace number $ws6
|
|
|
|
bindsym $mod+7 workspace number $ws7
|
|
|
|
bindsym $mod+8 workspace number $ws8
|
|
|
|
bindsym $mod+9 workspace number $ws9
|
|
|
|
bindsym $mod+0 workspace number $ws10
|
|
|
|
bindsym $mod+Tab workspace back_and_forth
|
2021-07-05 22:24:08 +02:00
|
|
|
bindsym $mod+Ctrl+o focus output right
|
2021-07-08 11:58:29 +02:00
|
|
|
bindsym $mod+n nop "new-workspace"
|
2021-07-10 00:26:43 +02:00
|
|
|
focus_wrapping no
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# move focused container to workspace
|
|
|
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
|
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
|
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
|
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
|
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
|
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
|
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
|
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
|
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
|
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
2021-07-04 23:50:48 +02:00
|
|
|
bindsym $mod+Shift+o move workspace to output right
|
2021-07-08 11:58:29 +02:00
|
|
|
bindsym $mod+Shift+n nop "move-to-new-workspace"
|
2021-07-03 14:13:56 +02:00
|
|
|
|
|
|
|
# reload/restart
|
2021-07-10 21:45:02 +02:00
|
|
|
bindsym $mod+Shift+c exec --no-startup-id exec systemctl --user reload --no-block i3.service
|
2021-07-03 14:13:56 +02:00
|
|
|
bindsym $mod+Shift+r restart
|
|
|
|
|
2021-07-04 23:50:48 +02:00
|
|
|
# Lock screen and print screen
|
2021-07-08 22:34:45 +02:00
|
|
|
bindsym XF86ScreenSaver exec --no-startup-id exec xset s activate
|
|
|
|
bindsym $mod+Delete exec --no-startup-id exec xset s activate
|
2021-07-23 11:31:55 +02:00
|
|
|
bindsym Print exec --no-startup-id flameshot gui
|
2021-07-04 23:50:48 +02:00
|
|
|
|
2021-07-05 17:35:46 +02:00
|
|
|
# Quake window
|
2021-07-19 09:52:48 +02:00
|
|
|
bindsym $mod+grave nop "quake-console:$term:QuakeConsoleNeedsUniqueName:0.3"
|
2021-07-03 14:13:56 +02:00
|
|
|
|
2021-07-09 16:12:00 +02:00
|
|
|
# Get info about container/workspace
|
|
|
|
bindsym $mod+i nop "container-info"
|
|
|
|
bindsym $mod+Shift+i nop "workspace-info"
|
2021-07-07 12:30:14 +02:00
|
|
|
|
2021-07-05 17:35:46 +02:00
|
|
|
# Random rules
|
2021-07-07 12:30:36 +02:00
|
|
|
no_focus [window_type="splash"]
|
2021-07-28 09:02:48 +02:00
|
|
|
for_window [tiling] border pixel 3
|
2021-07-05 17:35:46 +02:00
|
|
|
for_window [class="Shadow"] fullscreen enable
|
|
|
|
for_window [window_role="PictureInPicture"] floating enable
|
2021-08-02 10:42:20 +02:00
|
|
|
for_window [title="Firefox — Sharing Indicator"] border pixel 1, sticky enable, move position 20 ppt -5 px
|
2021-08-02 10:36:47 +02:00
|
|
|
no_focus [title="Firefox — Sharing Indicator"]
|
2021-07-05 17:35:46 +02:00
|
|
|
|
2021-07-05 21:35:40 +02:00
|
|
|
# Start stuff
|
2021-07-08 22:34:45 +02:00
|
|
|
exec_always --no-startup-id exec systemctl --user start --no-block i3-session.target
|
|
|
|
exec --no-startup-id exec i3-msg "\
|
|
|
|
workspace number 1; append_layout ~/.config/i3/ws-emacs.json; exec exec emacs; exec exec $term; exec exec $term; \
|
2021-07-21 11:12:11 +02:00
|
|
|
workspace number 2; exec nm-online -q -t 5 && exec firefox; \
|
2021-07-05 21:35:40 +02:00
|
|
|
workspace number 1"
|