vincentbernat.i3wm-configur.../config

178 lines
7.1 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
set $mediaplayer spotify
2021-12-10 19:11:26 +01:00
set $borderpx 3
font pango:Iosevka Aile 9
# style and colors
2021-12-10 19:11:26 +01:00
default_border pixel $borderpx
default_floating_border pixel $borderpx
# class border backgr. text indicator child_border
client.focused #cc5c00 #cc5c00 #ffffff #ee9c31 #cc5c00
client.focused_inactive #5f676a #5f676a #ffffff #484e50 #5f676a
client.unfocused #222222 #222222 #888888 #292d2e #222222
client.urgent #d00000 #d00000 #ffffff #d00000 #d00000
client.placeholder #0c0c0c #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
2021-10-31 22:21:31 +01:00
# gaps
2022-11-06 22:18:01 +01:00
gaps inner 10
2021-11-01 22:10:12 +01:00
# smart_gaps on
2021-10-31 22:21:31 +01:00
# audio
bindsym XF86AudioRaiseVolume exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym $mod+Up 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 $mod+Down exec --no-startup-id exec pactl set-sink-volume @DEFAULT_SINK@ -5%
2022-09-20 08:08:10 +02:00
bindsym XF86AudioMute exec --no-startup-id exec ~/.config/i3/bin/toggle-mute sink
bindsym XF86AudioMicMute exec --no-startup-id exec ~/.config/i3/bin/toggle-mute source
bindsym XF86AudioPlay exec --no-startup-id exec playerctl -p $mediaplayer play-pause
bindsym $mod+Left 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 $mod+Right 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 -q set +5%
bindsym XF86MonBrightnessDown exec --no-startup-id exec brightnessctl -q 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
set $rofi exec rofi -modi drun -show drun -show-icons -drun-match-fields name
2021-08-17 23:36:02 +02:00
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 ; focus 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
2023-02-19 14:01:33 +01:00
# toggle sticky
bindsym $mod+period sticky 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 ; focus tiling
bindsym $mod+2 workspace number 2 ; focus tiling
bindsym $mod+3 workspace number 3 ; focus tiling
bindsym $mod+4 workspace number 4 ; focus tiling
bindsym $mod+5 workspace number 5 ; focus tiling
bindsym $mod+6 workspace number 6 ; focus tiling
bindsym $mod+7 workspace number 7 ; focus tiling
bindsym $mod+8 workspace number 8 ; focus tiling
bindsym $mod+9 workspace number 9 ; focus tiling
bindsym $mod+0 workspace number 10 ; focus tiling
bindsym $mod+Tab nop "previous-workspace"
bindsym $mod+Ctrl+o focus output next ; focus tiling
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+Ctrl+Shift+o nop "move-all-workspaces-to-next-output"
bindsym $mod+Shift+n nop "move-to-new-workspace"
# lock screen
bindsym XF86ScreenSaver exec --no-startup-id exec loginctl lock-session
bindsym $mod+Delete exec --no-startup-id exec loginctl lock-session
# print screen
bindsym Print exec --no-startup-id exec ~/.config/i3/bin/screenshot window
bindsym $mod+Print exec --no-startup-id exec ~/.config/i3/bin/screenshot desktop
2022-10-04 21:01:17 +02:00
bindsym $mod+F12 exec --no-startup-id exec ~/.config/i3/bin/screenshot window
2021-07-05 17:35:46 +02:00
# Quake window
bindsym $mod+grave nop "quake-console:$term:QuakeConsole:0.3"
# get info about container/workspace
bindsym $mod+i nop "container-info"
bindsym $mod+Shift+i nop "workspace-info"
# random rules
focus_on_window_activation smart
2021-12-10 15:09:41 +01:00
no_focus [window_type="splash"]
2021-12-10 19:11:26 +01:00
for_window [tiling] border pixel $borderpx
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, resize set 1280 720
2024-08-07 10:40:34 +02:00
for_window [class="pavucontrol"] floating enable
# Firefox sharing indicator
for_window [floating title="Firefox — Sharing Indicator"] border none, sticky enable, move position 15 ppt -5 px
# Chromium sharing indicator
for_window [floating title=" is sharing your screen.$"] border none, sticky enable, move position 15 ppt -5 px
# Jitsi sharing indicator
for_window [floating title="Screen Sharing Tracker" instance="jitsi meet"] border none, sticky enable, move position 15 ppt -5 px
# Zoom (😱?)
for_window [class="^zoom$" title="^Zoom($|\s)"] floating disable, border pixel $borderpx
for_window [class="^zoom$" title="^zoom"] floating enable, border none
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; \
2022-11-02 19:57:40 +01:00
workspace number 3; exec test -d ~/.thunderbird && exec thunderbird; \
workspace number 1"