mirror of
https://github.com/Mastermindzh/dotfiles.git
synced 2024-12-22 13:09:14 +01:00
325 lines
12 KiB
Plaintext
325 lines
12 KiB
Plaintext
# This file has been auto-generated by i3-config-wizard(1).
|
|
# It will not be overwritten, so edit it as you like.
|
|
#
|
|
# 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 #
|
|
############################################
|
|
|
|
set $workspace1 "1: "
|
|
set $workspace2 "2: "
|
|
set $workspace3 "3: "
|
|
set $workspace4 "4: "
|
|
set $workspace5 "5: "
|
|
set $workspace6 "6: "
|
|
set $workspace7 "7: "
|
|
set $workspace8 "8: "
|
|
set $workspace9 "9: "
|
|
set $workspace10 "10: "
|
|
set $workspace11 "11: "
|
|
set $workspace12 "12: "
|
|
set $workspace13 "13: "
|
|
|
|
# scripts
|
|
set $tidal ~/.config/i3/scripts/tidal-cli.sh
|
|
set $vpnmanager ~/.config/i3/scripts/vpn-manager.sh
|
|
|
|
############################################
|
|
# 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
|
|
|
|
# move focused workspace
|
|
bindsym $mod+Ctrl+Right move workspace to output right
|
|
bindsym $mod+Ctrl+Left move workspace to output left
|
|
|
|
# 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
|
|
bindsym $mod+shift+t layout tabbed
|
|
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)
|
|
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
|
|
|
|
# focus on the parent window
|
|
bindsym $mod+shift+alt+p focus parent
|
|
|
|
# resize window (you can also use the mouse for that)
|
|
mode "resize" {
|
|
# 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"
|
|
}
|
|
|
|
bindsym $mod+r mode "resize"
|
|
|
|
# Lock the computer
|
|
bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/lock.sh
|
|
|
|
# Suspend the computer
|
|
bindsym $mod+shift+l exec /bin/bash ~/.config/i3/scripts/suspend.sh
|
|
|
|
############################################
|
|
# Application Keys #
|
|
############################################
|
|
bindsym $mod+Return exec xfce4-terminal # terminal
|
|
bindsym $mod+shift+Return exec xfce4-terminal --drop-down # terminal
|
|
bindsym $mod+e exec thunar # File manager
|
|
bindsym Print exec flameshot screen -d 0 -p ~/Pictures/Screenshots # Fullscreen screenshot
|
|
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
|
|
|
|
# Rofi
|
|
bindsym $mod+d exec "rofi -show drun"
|
|
bindsym $mod+Tab exec "rofi -show window"
|
|
bindsym $mod+s exec "rofi -show ssh"
|
|
bindsym $mod+c exec "rofi -show calc"
|
|
bindsym $mod+n exec $vpnmanager
|
|
bindsym $mod+colon exec "rofi -show emoji"
|
|
bindsym $mod+shift+v exec "rofi -modi 'clipboard:greenclip print' -show clipboard -run-command '{cmd}'"
|
|
|
|
############################################
|
|
# 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
|
|
bindsym $mod+Next exec $tidal next
|
|
bindsym $mod+End exec $tidal previous
|
|
bindsym $mod+Delete exec $tidal playpause
|
|
|
|
############################################
|
|
# 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
|
|
bindsym $mod+w workspace $workspace11
|
|
bindsym $mod+p workspace $workspace12
|
|
bindsym $mod+g workspace $workspace13
|
|
|
|
# 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
|
|
bindsym $mod+Shift+w move container to workspace $workspace11
|
|
bindsym $mod+Shift+p move container to workspace $workspace12
|
|
bindsym $mod+Shift+g move container to workspace $workspace13
|
|
|
|
############################################
|
|
# Appearance settings #
|
|
############################################
|
|
# Set the default font
|
|
font pango:Ubuntu regular 12
|
|
#new_window 1pixel
|
|
hide_edge_borders both
|
|
|
|
# Window Colours
|
|
# class border bground text indicator child_border
|
|
# dark
|
|
# client.focused #1e1e1e #1e1e1e #f6f6f7 #fcc09e
|
|
# client.focused_inactive #252526 #252526 #848484 #fcc09e
|
|
# client.unfocused #252526 #252526 #848484 #fcc09e
|
|
# client.urgent #252526 #a6a6a6 #ef5350 #fcc09e
|
|
# dracula
|
|
client.focused #BD93F9 #BD93F9 #F8F8F2 #BD93F9 #BD93F9
|
|
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
|
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
|
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
|
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
|
|
|
# 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
|
|
for_window [title="Tidal-hifi - settings"] floating enable
|
|
for_window [class="Sysmontask"] floating enable
|
|
for_window [class="Sysmontask"] resize set 930 665
|
|
for_window [instance="Godot_Engine"] floating enable
|
|
for_window [class="Alert"] floating enable
|
|
|
|
############################################
|
|
# Workspace specific tools #
|
|
# Use xprop to determine class #
|
|
############################################
|
|
assign [class="Bitwarden"] $workspace12 # moves all windows... including the browser popup
|
|
assign [class="VirtualBox Machine"] $workspace11
|
|
assign [class="MongoDB Compass"] $workspace8
|
|
assign [class="robo3t"] $workspace8
|
|
assign [class="Brave-browser"] $workspace9
|
|
assign [class="obsidian"] $workspace7
|
|
assign [class="Mysql-workbench-bin"] $workspace8
|
|
assign [class="azuredatastudio"] $workspace8
|
|
assign [class="beekeeper"] $workspace8
|
|
|
|
############################################
|
|
# i3-gaps #
|
|
############################################
|
|
# Disable window titlebars entirely
|
|
for_window [class="^.*"] border pixel 0
|
|
|
|
# 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
|
|
bindsym $mod+Shift+a border normal
|
|
|
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
|
smart_borders on
|
|
|
|
# Smart gaps (gaps used if only more than one container on the workspace)
|
|
smart_gaps on
|
|
|
|
# Press $mod+Shift+end 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).
|
|
# 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)
|
|
bindsym $mod+Shift+End mode "$mode_gaps"
|
|
|
|
mode "$mode_gaps" {
|
|
bindsym o mode "$mode_gaps_outer"
|
|
bindsym i mode "$mode_gaps_inner"
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
mode "$mode_gaps_inner" {
|
|
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"
|
|
}
|
|
mode "$mode_gaps_outer" {
|
|
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"
|
|
}
|
|
|
|
############################################
|
|
# Autorun #
|
|
############################################
|
|
# exec_always --no-startup-id picom -b
|
|
exec_always feh --bg-scale $(find ~/Pictures/wallpapers/ -type f -name "*" | shuf -n 1)
|
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
|
exec --no-startup-id i3-msg 'workspace $workspace2; exec xfce4-terminal' && i3-msg 'workspace $workspace1'
|
|
exec --no-startup-id i3-msg 'workspace $workspace12; exec bitwarden-desktop'
|
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
exec --no-startup-id nm-applet
|
|
exec --no-startup-id greenclip daemon
|
|
exec --no-startup-id seafile-applet
|
|
exec --no-startup-id obsidian
|
|
exec /usr/bin/compton
|
|
exec /bin/bash ~/.config/i3/scripts/startup.sh
|
|
|
|
# don't blank the screen please :)
|
|
exec --no-startup-id xset s off && xset -dpms && xset s noblank
|