2017-12-06 18:30:31 +01:00
|
|
|
# This file has been auto-generated by i3-config-wizard(1).
|
|
|
|
# It will not be overwritten, so edit it as you like.
|
|
|
|
#
|
2017-09-20 17:23:24 +02:00
|
|
|
# i3 config file (v4)
|
|
|
|
#
|
|
|
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
|
|
|
|
|
|
|
# Set the mod key to the "Windows key" and the floating modifier to the mod key.
|
|
|
|
set $mod Mod4
|
|
|
|
floating_modifier $mod
|
|
|
|
|
|
|
|
############################################
|
|
|
|
# Constants #
|
|
|
|
############################################
|
|
|
|
|
2022-05-22 14:23:50 +02:00
|
|
|
set $urgentTextBackgroundColour #a6a6a6
|
2018-12-27 08:27:03 +01:00
|
|
|
set $primaryBackgroundColour #1e1e1e
|
|
|
|
set $secondaryBackgroundColour #252526
|
|
|
|
set $tertiaryBackgroundColour #333333
|
|
|
|
|
|
|
|
set $textColour #848484
|
|
|
|
set $focusedTextColour #f6f6f7
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
set $statusLineColour #d1d4e0
|
2019-12-16 11:04:08 +01:00
|
|
|
set $urgentTextColour #ef5350
|
2017-09-20 17:23:24 +02:00
|
|
|
set $indicatorColour #fcc09e
|
|
|
|
|
2023-02-01 23:35:09 +01:00
|
|
|
set $workspace1 "1: "
|
2017-09-20 17:23:24 +02:00
|
|
|
set $workspace2 "2: "
|
|
|
|
set $workspace3 "3: "
|
2023-02-01 23:35:09 +01:00
|
|
|
set $workspace4 "4: "
|
|
|
|
set $workspace5 "5: "
|
|
|
|
set $workspace6 "6: "
|
|
|
|
set $workspace7 "7: "
|
2017-09-20 17:23:24 +02:00
|
|
|
set $workspace8 "8: "
|
|
|
|
set $workspace9 "9: "
|
2021-01-21 09:03:11 +01:00
|
|
|
set $workspace10 "10: "
|
2023-02-01 23:35:09 +01:00
|
|
|
set $workspace11 "11: "
|
2022-08-16 12:42:50 +02:00
|
|
|
set $workspace12 "12: "
|
|
|
|
set $workspace13 "13: "
|
2017-09-20 17:23:24 +02:00
|
|
|
|
2019-02-20 08:51:56 +01:00
|
|
|
# scripts
|
2019-10-30 23:37:49 +01:00
|
|
|
set $tidal ~/.config/i3/scripts/tidal-cli.sh
|
2019-07-03 23:10:57 +02:00
|
|
|
set $vpnmanager ~/.config/i3/scripts/vpn-manager.sh
|
2019-02-20 08:51:56 +01:00
|
|
|
|
2017-09-20 17:23:24 +02:00
|
|
|
############################################
|
|
|
|
# i3 management keys #
|
|
|
|
############################################
|
|
|
|
# kill focused window
|
|
|
|
bindsym $mod+Shift+q kill
|
|
|
|
|
|
|
|
# change focus
|
|
|
|
bindsym $mod+Left focus left
|
|
|
|
bindsym $mod+Down focus down
|
|
|
|
bindsym $mod+Up focus up
|
|
|
|
bindsym $mod+Right focus right
|
|
|
|
|
|
|
|
# move focused window
|
|
|
|
bindsym $mod+Shift+Left move left
|
|
|
|
bindsym $mod+Shift+Down move down
|
|
|
|
bindsym $mod+Shift+Up move up
|
|
|
|
bindsym $mod+Shift+Right move right
|
|
|
|
|
2024-03-04 11:34:18 +01:00
|
|
|
# move focused workspace
|
|
|
|
|
|
|
|
bindsym $mod+Ctrl+Right move workspace to output right
|
|
|
|
bindsym $mod+Ctrl+Left move workspace to output left
|
|
|
|
|
2017-09-20 17:23:24 +02:00
|
|
|
# split in horizontal orientation
|
|
|
|
bindsym $mod+h split h
|
|
|
|
|
|
|
|
# split in vertical orientation
|
|
|
|
bindsym $mod+v split v
|
|
|
|
|
|
|
|
# enter fullscreen mode for the focused container
|
|
|
|
bindsym $mod+f fullscreen toggle
|
|
|
|
|
|
|
|
# change container layout (stacked, tabbed, toggle split)
|
|
|
|
bindsym $mod+shift+s layout stacking
|
2018-07-02 22:16:18 +02:00
|
|
|
bindsym $mod+shift+t layout tabbed
|
2017-09-20 17:23:24 +02:00
|
|
|
bindsym $mod+shift+e layout toggle split
|
|
|
|
|
|
|
|
# toggle tiling / floating
|
|
|
|
bindsym $mod+Shift+space floating toggle
|
|
|
|
|
|
|
|
# change focus between tiling / floating windows
|
|
|
|
bindsym $mod+space focus mode_toggle
|
|
|
|
|
|
|
|
# reload the configuration file
|
|
|
|
bindsym $mod+Shift+c reload
|
|
|
|
|
|
|
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
|
|
bindsym $mod+Shift+r restart
|
|
|
|
|
|
|
|
# exit i3 (logs you out of your X session)
|
2023-02-05 13:50:06 +01:00
|
|
|
set $mode_power "Exit (L)ogout, (R)eboot, (S)hutdown"
|
|
|
|
|
|
|
|
mode $mode_power {
|
|
|
|
bindsym $mod+r exec systemctl reboot
|
|
|
|
bindsym $mod+l exit
|
|
|
|
bindsym $mod+s exec systemctl poweroff
|
|
|
|
|
|
|
|
# back to normal: Enter or Escape
|
|
|
|
bindsym Return mode "default"
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
}
|
|
|
|
|
|
|
|
bindsym $mod+Shift+Delete mode $mode_power
|
|
|
|
bindsym $mod+Shift+Escape mode $mode_power
|
|
|
|
bindsym $mod+Shift+Backspace mode $mode_power
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
# focus on the parent window
|
2018-07-02 22:16:18 +02:00
|
|
|
bindsym $mod+shift+alt+p focus parent
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
# resize window (you can also use the mouse for that)
|
|
|
|
mode "resize" {
|
2022-05-03 18:11:25 +02:00
|
|
|
# These bindings trigger as soon as you enter the resize mode
|
|
|
|
bindsym Left resize shrink width 10 px or 10 ppt
|
|
|
|
bindsym Down resize grow height 10 px or 10 ppt
|
|
|
|
bindsym Up resize shrink height 10 px or 10 ppt
|
|
|
|
bindsym Right resize grow width 10 px or 10 ppt
|
|
|
|
|
|
|
|
# back to normal: Enter or Escape
|
|
|
|
bindsym Return mode "default"
|
|
|
|
bindsym Escape mode "default"
|
2017-09-20 17:23:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
bindsym $mod+r mode "resize"
|
|
|
|
|
|
|
|
# Lock the computer
|
2023-12-10 00:02:08 +01:00
|
|
|
bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/lock.sh
|
2017-09-20 17:23:24 +02:00
|
|
|
|
2022-03-07 14:00:00 +01:00
|
|
|
# Suspend the computer
|
2018-07-02 22:42:48 +02:00
|
|
|
bindsym $mod+shift+l exec /bin/bash ~/.config/i3/scripts/suspend.sh
|
|
|
|
|
2017-09-20 17:23:24 +02:00
|
|
|
############################################
|
|
|
|
# Application Keys #
|
|
|
|
############################################
|
2022-12-28 22:48:06 +01:00
|
|
|
bindsym $mod+Return exec xfce4-terminal # terminal
|
2023-12-10 00:02:08 +01:00
|
|
|
bindsym $mod+shift+Return exec xfce4-terminal --drop-down # terminal
|
|
|
|
bindsym $mod+e exec thunar # File manager
|
2019-02-20 08:51:56 +01:00
|
|
|
bindsym Print exec flameshot screen -d 0 -p ~/Pictures/Screenshots # Fullscreen screenshot
|
2023-12-10 00:02:08 +01:00
|
|
|
bindsym $mod+Print exec flameshot gui # Show screenshot window
|
|
|
|
bindsym $mod+shift+Print exec flameshot launcher # Show settings window (delay) then show screenshot window
|
|
|
|
bindsym $mod+shift+b exec /bin/bash ~/.config/i3/scripts/brightness.sh # set brightness
|
|
|
|
bindsym control+shift+Escape exec sysmontask # system monitor
|
|
|
|
bindsym $mod+BackSpace exec autorandr --change undocked # reset to laptop view
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
# Rofi
|
2023-03-09 10:21:15 +01:00
|
|
|
bindsym $mod+d exec "rofi -show run -show-icons"
|
2019-07-04 22:41:21 +02:00
|
|
|
bindsym $mod+Tab exec "rofi -show"
|
2019-07-05 22:03:57 +02:00
|
|
|
bindsym $mod+s exec "rofi -show ssh"
|
2019-07-03 23:10:57 +02:00
|
|
|
bindsym $mod+n exec $vpnmanager
|
2022-08-03 21:41:07 +02:00
|
|
|
bindsym $mod+shift+v exec "rofi -modi 'clipboard:greenclip print' -show clipboard -run-command '{cmd}'"
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
############################################
|
|
|
|
# Media keys #
|
|
|
|
############################################
|
|
|
|
# Pulse Audio controls
|
|
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
|
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
|
|
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
|
|
|
|
|
|
|
# Sreen brightness controls
|
|
|
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
|
|
|
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
|
|
|
|
|
|
|
|
# Media player controls
|
|
|
|
bindsym XF86AudioPlay exec playerctl play
|
|
|
|
bindsym XF86AudioPause exec playerctl pause
|
|
|
|
bindsym XF86AudioNext exec playerctl next
|
|
|
|
bindsym XF86AudioPrev exec playerctl previous
|
2019-10-30 23:37:49 +01:00
|
|
|
bindsym $mod+Next exec $tidal next
|
|
|
|
bindsym $mod+End exec $tidal previous
|
|
|
|
bindsym $mod+Delete exec $tidal playpause
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
############################################
|
|
|
|
# Workspaces #
|
|
|
|
############################################
|
|
|
|
# switch to workspace
|
|
|
|
bindsym $mod+1 workspace $workspace1
|
|
|
|
bindsym $mod+2 workspace $workspace2
|
|
|
|
bindsym $mod+3 workspace $workspace3
|
|
|
|
bindsym $mod+4 workspace $workspace4
|
|
|
|
bindsym $mod+5 workspace $workspace5
|
|
|
|
bindsym $mod+6 workspace $workspace6
|
|
|
|
bindsym $mod+7 workspace $workspace7
|
|
|
|
bindsym $mod+8 workspace $workspace8
|
|
|
|
bindsym $mod+9 workspace $workspace9
|
|
|
|
bindsym $mod+0 workspace $workspace10
|
2018-07-02 22:16:18 +02:00
|
|
|
bindsym $mod+w workspace $workspace11
|
|
|
|
bindsym $mod+p workspace $workspace12
|
2022-08-16 12:42:50 +02:00
|
|
|
bindsym $mod+g workspace $workspace13
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
# move focused container to workspace
|
|
|
|
bindsym $mod+Shift+1 move container to workspace $workspace1
|
|
|
|
bindsym $mod+Shift+2 move container to workspace $workspace2
|
|
|
|
bindsym $mod+Shift+3 move container to workspace $workspace3
|
|
|
|
bindsym $mod+Shift+4 move container to workspace $workspace4
|
|
|
|
bindsym $mod+Shift+5 move container to workspace $workspace5
|
|
|
|
bindsym $mod+Shift+6 move container to workspace $workspace6
|
|
|
|
bindsym $mod+Shift+7 move container to workspace $workspace7
|
|
|
|
bindsym $mod+Shift+8 move container to workspace $workspace8
|
|
|
|
bindsym $mod+Shift+9 move container to workspace $workspace9
|
|
|
|
bindsym $mod+Shift+0 move container to workspace $workspace10
|
2018-07-02 22:16:18 +02:00
|
|
|
bindsym $mod+Shift+w move container to workspace $workspace11
|
|
|
|
bindsym $mod+Shift+p move container to workspace $workspace12
|
2022-08-16 12:42:50 +02:00
|
|
|
bindsym $mod+Shift+g move container to workspace $workspace13
|
2018-07-02 22:16:18 +02:00
|
|
|
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
############################################
|
|
|
|
# Appearance settings #
|
|
|
|
############################################
|
|
|
|
# Set the default font
|
2022-11-05 20:27:14 +01:00
|
|
|
font pango:Ubuntu regular 12
|
2017-09-20 17:23:24 +02:00
|
|
|
new_window 1pixel
|
|
|
|
hide_edge_borders both
|
|
|
|
|
2018-12-27 08:27:03 +01:00
|
|
|
# Window Colours
|
2017-09-20 17:23:24 +02:00
|
|
|
# border background text indicator
|
|
|
|
client.focused $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour $indicatorColour
|
|
|
|
client.focused_inactive $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
|
|
|
|
client.unfocused $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
|
2019-12-16 11:04:08 +01:00
|
|
|
client.urgent $secondaryBackgroundColour $urgentTextBackgroundColour $urgentTextColour $indicatorColour
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
# Floating windows
|
|
|
|
for_window [class="Pavucontrol"] floating enable
|
|
|
|
for_window [class="Lxappearance"] floating enable
|
|
|
|
for_window [class="Arandr"] floating enable
|
|
|
|
for_window [class="Eog"] floating enable
|
2019-12-01 16:51:23 +01:00
|
|
|
for_window [title="Tidal-hifi - settings"] floating enable
|
2021-06-08 12:21:24 +02:00
|
|
|
for_window [class="Sysmontask"] floating enable
|
|
|
|
for_window [class="Sysmontask"] resize set 930 665
|
2024-06-04 13:48:07 +02:00
|
|
|
for_window [instance="Godot_Engine"] floating enable
|
2017-09-20 17:23:24 +02:00
|
|
|
|
|
|
|
############################################
|
|
|
|
# Workspace specific tools #
|
|
|
|
# Use xprop to determine class #
|
|
|
|
############################################
|
2023-04-27 17:42:31 +02:00
|
|
|
assign [class="Bitwarden"] $workspace12 # moves all windows... including the browser popup
|
2018-07-02 22:16:18 +02:00
|
|
|
assign [class="VirtualBox Machine"] $workspace11
|
2017-09-20 17:23:24 +02:00
|
|
|
|
2017-09-26 09:55:23 +02:00
|
|
|
# database stuff
|
|
|
|
assign [class="MongoDB Compass"] $workspace8
|
|
|
|
assign [class="robo3t"] $workspace8
|
2024-03-04 11:34:18 +01:00
|
|
|
assign [class="Brave-browser"] $workspace9
|
2023-12-10 00:02:08 +01:00
|
|
|
assign [class="obsidian"] $workspace7
|
2017-09-26 09:55:23 +02:00
|
|
|
assign [class="Mysql-workbench-bin"] $workspace8
|
2022-05-03 18:11:25 +02:00
|
|
|
assign [class="azuredatastudio"] $workspace8
|
|
|
|
assign [class="beekeeper"] $workspace8
|
2017-09-20 17:23:24 +02:00
|
|
|
|
2018-02-13 20:38:48 +01:00
|
|
|
############################################
|
|
|
|
# i3-gaps #
|
|
|
|
############################################
|
|
|
|
# Disable window titlebars entirely
|
2024-06-04 13:48:07 +02:00
|
|
|
for_window [class="^.*"] border pixel 0
|
2018-02-13 20:38:48 +01:00
|
|
|
|
|
|
|
# Set inner/outer gaps
|
|
|
|
gaps inner 10
|
|
|
|
# gaps outer 0
|
|
|
|
|
|
|
|
bindsym $mod+Shift+plus gaps inner all plus 5
|
|
|
|
bindsym $mod+Shift+minus gaps inner all minus 5
|
|
|
|
bindsym $mod+Shift+Home gaps inner all set 10
|
2022-05-03 18:11:25 +02:00
|
|
|
bindsym $mod+Shift+a border normal
|
2018-02-13 20:38:48 +01:00
|
|
|
|
2022-05-03 18:11:25 +02:00
|
|
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
2018-02-13 20:38:48 +01:00
|
|
|
smart_borders on
|
|
|
|
|
|
|
|
# Smart gaps (gaps used if only more than one container on the workspace)
|
|
|
|
smart_gaps on
|
|
|
|
|
2022-05-03 18:11:25 +02:00
|
|
|
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps.
|
|
|
|
# Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace).
|
2018-02-13 20:38:48 +01:00
|
|
|
# If you also press Shift with these keys, the change will be global for all workspaces.
|
|
|
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
|
|
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
|
|
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
2022-08-16 12:42:50 +02:00
|
|
|
bindsym $mod+Shift+End mode "$mode_gaps"
|
2018-02-13 20:38:48 +01:00
|
|
|
|
|
|
|
mode "$mode_gaps" {
|
2022-05-03 18:11:25 +02:00
|
|
|
bindsym o mode "$mode_gaps_outer"
|
|
|
|
bindsym i mode "$mode_gaps_inner"
|
|
|
|
bindsym Return mode "default"
|
|
|
|
bindsym Escape mode "default"
|
2018-02-13 20:38:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
mode "$mode_gaps_inner" {
|
2022-05-03 18:11:25 +02:00
|
|
|
bindsym plus gaps inner current plus 5
|
|
|
|
bindsym minus gaps inner current minus 5
|
|
|
|
bindsym 0 gaps inner current set 0
|
|
|
|
|
|
|
|
bindsym Shift+plus gaps inner all plus 5
|
|
|
|
bindsym Shift+minus gaps inner all minus 5
|
|
|
|
bindsym Shift+0 gaps inner all set 0
|
|
|
|
|
|
|
|
bindsym Return mode "default"
|
|
|
|
bindsym Escape mode "default"
|
2018-02-13 20:38:48 +01:00
|
|
|
}
|
|
|
|
mode "$mode_gaps_outer" {
|
2022-05-03 18:11:25 +02:00
|
|
|
bindsym plus gaps outer current plus 5
|
|
|
|
bindsym minus gaps outer current minus 5
|
|
|
|
bindsym 0 gaps outer current set 0
|
|
|
|
|
|
|
|
bindsym Shift+plus gaps outer all plus 5
|
|
|
|
bindsym Shift+minus gaps outer all minus 5
|
|
|
|
bindsym Shift+0 gaps outer all set 0
|
|
|
|
|
|
|
|
bindsym Return mode "default"
|
|
|
|
bindsym Escape mode "default"
|
2018-02-13 20:38:48 +01:00
|
|
|
}
|
|
|
|
|
2017-09-20 17:23:24 +02:00
|
|
|
############################################
|
|
|
|
# Autorun #
|
|
|
|
############################################
|
2022-11-05 20:27:14 +01:00
|
|
|
# exec_always --no-startup-id picom -b
|
2023-03-09 10:21:15 +01:00
|
|
|
exec_always feh --bg-scale $(find ~/Pictures/wallpapers/ -type f -name "*" | shuf -n 1)
|
|
|
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
2022-12-28 22:48:06 +01:00
|
|
|
exec --no-startup-id i3-msg 'workspace $workspace2; exec xfce4-terminal' && i3-msg 'workspace $workspace1'
|
2023-04-27 17:42:31 +02:00
|
|
|
exec --no-startup-id i3-msg 'workspace $workspace12; exec bitwarden-desktop'
|
2022-05-03 18:11:25 +02:00
|
|
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
2017-09-20 17:23:24 +02:00
|
|
|
exec --no-startup-id nm-applet
|
|
|
|
exec /usr/bin/compton
|
|
|
|
exec /bin/bash ~/.config/i3/scripts/startup.sh
|
2022-08-03 21:41:07 +02:00
|
|
|
exec --no-startup-id greenclip daemon
|
2023-12-10 00:02:08 +01:00
|
|
|
exec --no-startup-id seafile-applet
|
|
|
|
exec --no-startup-id obsidian
|