302 lines
9.2 KiB
Plaintext
302 lines
9.2 KiB
Plaintext
|
# =====GENERAL=====
|
|||
|
# Main modifier; Mod1 is alt
|
|||
|
set $mod Mod1
|
|||
|
|
|||
|
# Modifier for floating-related operations
|
|||
|
floating_modifier $mod
|
|||
|
|
|||
|
# Layout for new workspaces; default means tiling
|
|||
|
workspace_layout default
|
|||
|
|
|||
|
#do not show titlebar on windows:
|
|||
|
default_border pixel
|
|||
|
|
|||
|
# thin borders
|
|||
|
hide_edge_borders both
|
|||
|
|
|||
|
# Font for window titles & bar, unless specified otherwise
|
|||
|
font pango:Noto Sans Regular 8
|
|||
|
|
|||
|
|
|||
|
# =====WINDOW MANAGEMENT=====
|
|||
|
# change focus
|
|||
|
bindsym $mod+h focus left
|
|||
|
bindsym $mod+j focus down
|
|||
|
bindsym $mod+k focus up
|
|||
|
bindsym $mod+l focus right
|
|||
|
|
|||
|
# move focused window
|
|||
|
bindsym $mod+Shift+h move left
|
|||
|
bindsym $mod+Shift+j move down
|
|||
|
bindsym $mod+Shift+k move up
|
|||
|
bindsym $mod+Shift+l move right
|
|||
|
|
|||
|
# enter fullscreen mode for the focused container
|
|||
|
bindsym $mod+f fullscreen toggle
|
|||
|
|
|||
|
# kill focused window
|
|||
|
bindsym $mod+x kill
|
|||
|
|
|||
|
# toggle tiling / floating
|
|||
|
bindsym $mod+Shift+space floating toggle
|
|||
|
|
|||
|
# change focus between tiling / floating windows
|
|||
|
bindsym $mod+space focus mode_toggle
|
|||
|
|
|||
|
# Resize focused window
|
|||
|
mode "resize" {
|
|||
|
bindsym h resize shrink width 10 px or 10 ppt
|
|||
|
bindsym j resize shrink height 10 px or 10 ppt
|
|||
|
bindsym k resize grow height 10 px or 10 ppt
|
|||
|
bindsym l resize grow width 10 px or 10 ppt
|
|||
|
|
|||
|
bindsym Escape mode "default"
|
|||
|
}
|
|||
|
|
|||
|
bindsym $mod+r mode "resize"
|
|||
|
|
|||
|
#resize floating windows with mouse scroll:
|
|||
|
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
|
|||
|
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
|
|||
|
bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
|
|||
|
bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
|
|||
|
|
|||
|
|
|||
|
# =====WORKSPACES=====
|
|||
|
set $ws01 ""
|
|||
|
set $ws02 ""
|
|||
|
set $ws03 ""
|
|||
|
set $ws04 ""
|
|||
|
set $ws05 ""
|
|||
|
set $ws11 "α"
|
|||
|
set $ws12 "β"
|
|||
|
set $ws13 "γ"
|
|||
|
set $ws14 "δ"
|
|||
|
set $ws15 "ε"
|
|||
|
set $ws21 "2:1"
|
|||
|
set $ws22 "2:2"
|
|||
|
set $ws23 "2:3"
|
|||
|
set $ws24 "2:4"
|
|||
|
set $ws25 "2:5"
|
|||
|
|
|||
|
workspace $ws01 output primary
|
|||
|
workspace $ws02 output primary
|
|||
|
workspace $ws03 output primary
|
|||
|
workspace $ws04 output primary
|
|||
|
workspace $ws05 output primary
|
|||
|
workspace $ws11 output eDP-1-1
|
|||
|
workspace $ws12 output eDP-1-1
|
|||
|
workspace $ws13 output eDP-1-1
|
|||
|
workspace $ws14 output eDP-1-1
|
|||
|
workspace $ws15 output eDP-1-1
|
|||
|
workspace $ws21 output HDMI-0
|
|||
|
workspace $ws22 output HDMI-0
|
|||
|
workspace $ws23 output HDMI-0
|
|||
|
workspace $ws24 output HDMI-0
|
|||
|
workspace $ws25 output HDMI-0
|
|||
|
|
|||
|
# switch to main workspaces
|
|||
|
bindsym $mod+y workspace $ws01
|
|||
|
bindsym $mod+u workspace $ws02
|
|||
|
bindsym $mod+i workspace $ws03
|
|||
|
bindsym $mod+o workspace $ws04
|
|||
|
bindsym $mod+p workspace $ws05
|
|||
|
|
|||
|
# move focused container to main workspace
|
|||
|
bindsym $mod+Shift+y move container to workspace $ws01
|
|||
|
bindsym $mod+Shift+u move container to workspace $ws02
|
|||
|
bindsym $mod+Shift+i move container to workspace $ws03
|
|||
|
bindsym $mod+Shift+o move container to workspace $ws04
|
|||
|
bindsym $mod+Shift+p move container to workspace $ws05
|
|||
|
|
|||
|
# Manage other workspaces
|
|||
|
mode "eDP-1-1" {
|
|||
|
# switch to workspace
|
|||
|
bindsym y workspace $ws11
|
|||
|
bindsym u workspace $ws12
|
|||
|
bindsym i workspace $ws13
|
|||
|
bindsym o workspace $ws14
|
|||
|
bindsym p workspace $ws15
|
|||
|
|
|||
|
# move focused container to workspace
|
|||
|
bindsym Shift+y move container to workspace $ws11
|
|||
|
bindsym Shift+u move container to workspace $ws12
|
|||
|
bindsym Shift+i move container to workspace $ws13
|
|||
|
bindsym Shift+o move container to workspace $ws14
|
|||
|
bindsym Shift+p move container to workspace $ws15
|
|||
|
|
|||
|
# Go to HDMI-0 mode
|
|||
|
bindsym e mode "HDMI-0"
|
|||
|
|
|||
|
# Go back to normal mode
|
|||
|
bindsym Escape mode "default"
|
|||
|
}
|
|||
|
|
|||
|
mode "HDMI-0" {
|
|||
|
# switch to workspace
|
|||
|
bindsym y workspace $ws21
|
|||
|
bindsym u workspace $ws22
|
|||
|
bindsym i workspace $ws23
|
|||
|
bindsym o workspace $ws24
|
|||
|
bindsym p workspace $ws25
|
|||
|
|
|||
|
# move focused container to workspace
|
|||
|
bindsym Shift+y move container to workspace $ws21
|
|||
|
bindsym Shift+u move container to workspace $ws22
|
|||
|
bindsym Shift+i move container to workspace $ws23
|
|||
|
bindsym Shift+o move container to workspace $ws24
|
|||
|
bindsym Shift+p move container to workspace $ws25
|
|||
|
|
|||
|
# Go to eDP-1-1 mode
|
|||
|
bindsym e mode "eDP-1-1"
|
|||
|
|
|||
|
# Go back to normal mode
|
|||
|
bindsym Escape mode "default"
|
|||
|
}
|
|||
|
|
|||
|
bindsym $mod+e mode "eDP-1-1"
|
|||
|
|
|||
|
# Configuration mode
|
|||
|
mode "config" {
|
|||
|
# Switch split mode
|
|||
|
bindsym j split vertical; mode "default"
|
|||
|
bindsym h split horizontal; mode "default"
|
|||
|
bindsym k split vertical; mode "default"
|
|||
|
bindsym l split horizontal; mode "default"
|
|||
|
|
|||
|
# Switch layout
|
|||
|
bindsym y layout stacking; mode "default"
|
|||
|
bindsym u layout tabbed; mode "default"
|
|||
|
bindsym i layout toggle split; mode "default"
|
|||
|
|
|||
|
# Go back to normal mode
|
|||
|
bindsym Escape mode "default"
|
|||
|
}
|
|||
|
|
|||
|
bindsym $mod+s mode "config"
|
|||
|
|
|||
|
# Assign certain programs to workspaces
|
|||
|
# for_window [class=Xfce4-terminal] focus
|
|||
|
# assign [class="(?i)firefox"] $ws02
|
|||
|
# for_window [class=(?i)firefox] focus
|
|||
|
# assign [class="Thunar"] $ws03
|
|||
|
# for_window [class=Thunar] focus
|
|||
|
# assign [class="Thunderbird"] $ws04
|
|||
|
# for_window [class=Thunderbird] focus
|
|||
|
# assign [class="TelegramDesktop"] $ws05
|
|||
|
# for_window [class=TelegramDesktop] focus
|
|||
|
|
|||
|
|
|||
|
# =====OTHER KEYBINDINGS=====
|
|||
|
# reload the configuration file
|
|||
|
bindsym $mod+Shift+c reload
|
|||
|
|
|||
|
# Restart i3 in-place
|
|||
|
bindsym $mod+Shift+r restart
|
|||
|
|
|||
|
# exit i3 (logs you out of your X session)
|
|||
|
bindsym $mod+Shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
|||
|
|
|||
|
# Volume
|
|||
|
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
|
|||
|
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
|
|||
|
bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks
|
|||
|
bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks
|
|||
|
bindsym XF86AudioMute exec amixer -D pulse set Master toggle
|
|||
|
|
|||
|
# Foobar2000 controls
|
|||
|
bindsym F8 exec --no-startup-id wine ~/.wine/drive_c/users/jjr/Desktop/foobar2000/foobar2000.exe /playpause
|
|||
|
|
|||
|
# Backlight
|
|||
|
bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set +10%
|
|||
|
bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 10%-
|
|||
|
|
|||
|
# Keyboard brightness
|
|||
|
bindsym XF86KbdBrightnessUp exec brightnessctl --device='smc::kbd_backlight' set +10%
|
|||
|
bindsym XF86KbdBrightnessDown exec brightnessctl --device='smc::kbd_backlight' set 10%-
|
|||
|
|
|||
|
# Screenshot
|
|||
|
bindsym Print exec "scrot ~/%Y-%m-%d-%T-screenshot.png"
|
|||
|
|
|||
|
# Show shutdown menu
|
|||
|
bindsym $mod+Escape exec ~/.config/i3/scripts/shutdown_menu -p rofi -c
|
|||
|
|
|||
|
|
|||
|
# =====APPLICATIONS=====
|
|||
|
# Launch applications
|
|||
|
# start a terminal
|
|||
|
bindsym $mod+Return exec --no-startup-id st
|
|||
|
# Launch output device configuration
|
|||
|
bindsym $mod+m exec --no-startup-id pavucontrol -t 3
|
|||
|
# Open dmenu
|
|||
|
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
|||
|
# Open Galculator
|
|||
|
bindsym XF86Calculator exec --no-startup-id galculator
|
|||
|
|
|||
|
|
|||
|
# =====AUTOSTART APPLICATIONS=====
|
|||
|
#get auth work with polkit-gnome
|
|||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|||
|
# Run setup script
|
|||
|
exec --no-startup-id ~/.config/i3/startup.sh
|
|||
|
# Bluetooth applet
|
|||
|
exec --no-startup-id blueman-tray
|
|||
|
# Nextcloud sync
|
|||
|
exec --no-startup-id nextcloud
|
|||
|
# Compositor
|
|||
|
exec --no-startup-id picom --config ~/.config/picom.conf --experimental-backends
|
|||
|
# Network Manager applet
|
|||
|
exec --no-startup-id nm-applet
|
|||
|
#set powersavings for display
|
|||
|
exec --no-startup-id xset s 480 dpms 600 600 600
|
|||
|
# Desktop notifications
|
|||
|
exec --no-startup-id /usr/bin/dunst
|
|||
|
# Mail notifications
|
|||
|
# exec --no-startup-id thunderbird
|
|||
|
# Joplin sync
|
|||
|
exec --no-startup-id joplin-desktop
|
|||
|
|
|||
|
|
|||
|
# =====FLOAT RULES=====
|
|||
|
for_window [class="Yad" instance="yad"] floating enable
|
|||
|
for_window [class="Galculator" instance="galculator"] floating enable
|
|||
|
for_window [class="Xsane" instance="xsane"] floating enable
|
|||
|
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
|
|||
|
for_window [class="qt5ct" instance="qt5ct"] floating enable
|
|||
|
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
|
|||
|
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
|
|||
|
for_window [class="Gufw.py" instance="gufw.py"] floating enable
|
|||
|
|
|||
|
|
|||
|
# =====COLORS=====
|
|||
|
set $bg-color #2f343f
|
|||
|
set $inactive-bg-color #2f343f
|
|||
|
set $text-color #f3f4f5
|
|||
|
set $inactive-text-color #676e7d
|
|||
|
set $urgent-bg-color #e53935
|
|||
|
set $indicator-color #a0a0a0
|
|||
|
|
|||
|
# set window colors
|
|||
|
# border background text indicator
|
|||
|
client.focused $bg-color $bg-color $text-color $indicator-color
|
|||
|
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
|
|||
|
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
|
|||
|
client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color
|
|||
|
|
|||
|
|
|||
|
# =====STATUS BAR=====
|
|||
|
bar {
|
|||
|
status_command i3blocks -c ~/.config/i3/i3blocks.conf
|
|||
|
position bottom
|
|||
|
tray_output primary
|
|||
|
colors {
|
|||
|
separator #666666
|
|||
|
background #222222
|
|||
|
statusline #dddddd
|
|||
|
focused_workspace #0088CC #0088CC #ffffff
|
|||
|
active_workspace #333333 #333333 #ffffff
|
|||
|
inactive_workspace #333333 #333333 #888888
|
|||
|
urgent_workspace #2f343a #900000 #ffffff
|
|||
|
}
|
|||
|
}
|