vincentbernat.i3wm-configur.../config

161 lines
6 KiB
Text
Raw Normal View History

# i3 config file (v4)
set $mod Mod4
set $up l
set $down k
set $left j
set $right semicolon
set $term vbeterm
2021-07-04 18:25:28 +02:00
set $mediaplayer spotify
font pango:Iosevka Aile 9
# style and colors
default_border pixel 3
default_floating_border pixel 3
# class border backgr. text indicator child_border
client.focused #ffaf00 #cc5c00 #ffffff #ffdf11 #cc5c00
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-10-31 22:21:31 +01:00
# gaps
2021-11-01 14:18:48 +01:00
gaps inner 12
2021-10-31 22:21:31 +01:00
smart_gaps on
# audio
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
bindsym $mod+s exec --no-startup-id exec ~/.config/i3/bin/rofi-mediaplayer $mediaplayer
# brightness
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
# use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
floating_minimum_size 55 x 30
# start a terminal
bindsym $mod+Return exec exec $term
# kill focused window
bindsym $mod+x kill
# execute command
2021-08-17 23:36:02 +02:00
set $rofi exec rofi -modi drun -show drun -show-icons -drun-match-fields name
bindsym $mod+r exec --no-startup-id $rofi
bindsym XF86LaunchA exec --no-startup-id $rofi
# 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
bindsym $mod+$right focus right
2021-10-31 07:27:11 +01:00
focus_follows_mouse no
# 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
bindsym $mod+Shift+$right move right
bindsym $mod+o move container to output next
# resize focused window
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
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f fullscreen toggle global
2021-07-05 16:05:34 +02:00
# change container layout (tabbed, toggle split)
bindsym $mod+w layout toggle splitv splith tabbed
bindsym $mod+v split toggle
# 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
# default workspace layout: tabbed
workspace_layout tabbed
# switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
bindsym $mod+Tab nop "previous-workspace"
bindsym $mod+Ctrl+o focus output next
bindsym $mod+n nop "new-workspace"
focus_wrapping no
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
bindsym $mod+Shift+o move workspace to output next
bindsym $mod+Shift+n nop "move-to-new-workspace"
# lock screen
bindsym XF86ScreenSaver exec --no-startup-id exec xset s activate
bindsym $mod+Delete exec --no-startup-id exec xset s activate
# print screen
bindsym Print exec --no-startup-id exec ~/.config/i3/bin/screenshot window
bindsym XF86Display exec --no-startup-id exec ~/.config/i3/bin/screenshot window
bindsym $mod+Print exec --no-startup-id exec ~/.config/i3/bin/screenshot desktop
bindsym $mod+XF86Display exec --no-startup-id exec ~/.config/i3/bin/screenshot desktop
2021-07-05 17:35:46 +02:00
# Quake window
bindsym $mod+grave nop "quake-console:$term:QuakeConsoleNeedsUniqueName:0.3"
# get info about container/workspace
bindsym $mod+i nop "container-info"
bindsym $mod+Shift+i nop "workspace-info"
# random rules
2021-07-07 12:30:36 +02:00
no_focus [window_type="splash"]
for_window [tiling] border pixel 3
2021-08-23 17:41:19 +02:00
for_window [class="Nm-connection-editor"] floating enable
2021-07-05 17:35:46 +02:00
for_window [class="Shadow"] fullscreen enable
for_window [window_role="PictureInPicture"] floating enable
for_window [title="Firefox — Sharing Indicator"] border pixel 1, sticky enable, move position 20 ppt -5 px
2021-09-08 11:00:15 +02:00
for_window [class="Pavucontrol"] floating enable
no_focus [title="Firefox — Sharing Indicator"]
2021-07-05 17:35:46 +02:00
# start stuff
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; \
workspace number 2; exec nm-online -q -t 5 && exec firefox; \
workspace number 1"