292 lines
9.4 KiB
Plaintext
292 lines
9.4 KiB
Plaintext
# _ _____
|
|
# (_)___ /
|
|
# | | |_ \
|
|
# | |___) |
|
|
# |_|____/
|
|
#
|
|
# my conf. based on i3-config-generator
|
|
set $mod Mod4
|
|
set $base00 #2C3E50
|
|
set $base01 #34495E
|
|
set $base02 #7F8C8D
|
|
set $base03 #95A5A6
|
|
set $base04 #BDC3C7
|
|
set $base05 #e0e0e0
|
|
set $base06 #f5f5f5
|
|
set $base07 #ECF0F1
|
|
set $base08 #E74C3C
|
|
set $base09 #E67E22
|
|
set $base0A #F1C40F
|
|
set $base0B #2ECC71
|
|
set $base0C #1ABC9C
|
|
set $base0D #c065db
|
|
set $base0E #9B59B6
|
|
set $base0F #be643c
|
|
set $baseXX #a81c07
|
|
|
|
# Gaps!
|
|
# gaps outer 10
|
|
# gaps inner 10
|
|
smart_borders on
|
|
smart_gaps on
|
|
|
|
font pango:Iosevka Nerd Font 10
|
|
|
|
floating_modifier $mod
|
|
|
|
exec --no-startup-id /usr/bin/feh --bg-fill ~/Pictures/Wallpapers/mountains-valley.jpg
|
|
|
|
#exec --no-startup-id /usr/libexec/gnome-settings-daemon
|
|
exec --no-startup-id alacritty --name quake
|
|
exec --no-startup-id volumeicon
|
|
exec --no-startup-id nextcloud
|
|
exec --no-startup-id nm-applet
|
|
exec --no-startup-id greenclip daemon
|
|
exec --no-startup-id dunst
|
|
exec --no-startup-id compton --config ~/.config/i3/compton.conf
|
|
exec --no-startup-id xautolock -time 6 -locker "i3-blur-lock --dpms"
|
|
exec --no-startup-id i3-polybar
|
|
exec --no-startup-id redshift -l 48.15:11.64
|
|
exec --no-startup-id bash -c "sleep 2 && i3-autostart"
|
|
|
|
# lock
|
|
bindsym Control+Mod1+l exec i3-blur-lock
|
|
|
|
# start a terminal
|
|
bindsym $mod+Return exec --no-startup-id alacritty
|
|
bindsym Print exec --no-startup-id "i3-screenshot"
|
|
bindsym Shift+Print exec --no-startup-id "i3-screenshot -s"
|
|
bindsym Control+Shift+Print exec --no-startup-id "i3-dropshot"
|
|
|
|
# Rofi Launchers
|
|
|
|
bindsym Control+Shift+Mod1+f exec rofi-clipboard
|
|
bindsym Control+$mod+w exec firefox
|
|
bindsym Control+$mod+e exec emacs
|
|
bindsym Control+$mod+f exec pcmanfm
|
|
bindsym Control+Shift+Mod1+p exec rofi-pass
|
|
bindsym --release Control+Shift+mod1+j exec rofi-marks &
|
|
bindsym $mod+d exec "i3-rofi"
|
|
|
|
# kill focused window
|
|
bindsym $mod+q kill
|
|
|
|
# change focus
|
|
bindsym $mod+j focus left
|
|
bindsym $mod+k focus down
|
|
bindsym $mod+i focus up
|
|
bindsym $mod+l focus right
|
|
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+j move left
|
|
bindsym $mod+Shift+k move down
|
|
bindsym $mod+Shift+i move up
|
|
bindsym $mod+Shift+l move right
|
|
bindsym $mod+Shift+Left move left
|
|
bindsym $mod+Shift+Down move down
|
|
bindsym $mod+Shift+Up move up
|
|
bindsym $mod+Shift+Right move right
|
|
|
|
# split
|
|
bindsym $mod+h split h
|
|
bindsym $mod+v split v
|
|
|
|
# fullscreen mode
|
|
bindsym $mod+f fullscreen
|
|
|
|
# sticky!!
|
|
bindsym $mod+Shift+s sticky toggle
|
|
|
|
# container layout
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+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
|
|
|
|
# focus the parent container
|
|
bindsym $mod+a focus parent
|
|
|
|
# Jump to urgent windows
|
|
bindsym $mod+x [urgent=latest] focus
|
|
|
|
# customize workspace names
|
|
set $WS1 1
|
|
set $WS2 2
|
|
set $WS3 3
|
|
set $WS4 4
|
|
set $WS5 5
|
|
set $WS6 6
|
|
set $WS7 7
|
|
set $WS8 8
|
|
|
|
|
|
# switch to workspace
|
|
bindsym Mod4+1 workspace $WS1
|
|
bindsym Mod4+2 workspace $WS2
|
|
bindsym Mod4+3 workspace $WS3
|
|
bindsym Mod4+4 workspace $WS4
|
|
bindsym Mod4+5 workspace $WS5
|
|
bindsym Mod4+6 workspace $WS6
|
|
bindsym Mod4+7 workspace $WS7
|
|
bindsym Mod4+8 workspace $WS8
|
|
|
|
# Move window to "other" monitor
|
|
bindsym $mod+o move workspace to output right
|
|
|
|
# move focused container to workspace
|
|
bindsym Mod4+Shift+1 move container to workspace $WS1
|
|
bindsym Mod4+Shift+2 move container to workspace $WS2
|
|
bindsym Mod4+Shift+3 move container to workspace $WS3
|
|
bindsym Mod4+Shift+4 move container to workspace $WS4
|
|
bindsym Mod4+Shift+5 move container to workspace $WS5
|
|
bindsym Mod4+Shift+6 move container to workspace $WS6
|
|
bindsym Mod4+Shift+7 move container to workspace $WS7
|
|
bindsym Mod4+Shift+8 move container to workspace $WS8
|
|
|
|
# Scratchpad
|
|
bindsym $mod+Shift+minus move scratchpad
|
|
bindsym $mod+minus scratchpad show
|
|
|
|
assign [class="alfaview.exe"] $WS8
|
|
assign [class="Slack"] $WS3
|
|
assign [class="Vlc"] $WS5
|
|
assign [class="Evince"] $WS4
|
|
assign [class="Gimp"] $WS6
|
|
|
|
# border / titlebar
|
|
new_window normal 2 px
|
|
bindsym Control+Shift+x [class="^.*"] border toggle
|
|
for_window [class="^.*"] border pixel 3
|
|
for_window [class="Pavucontrol"] floating enable
|
|
for_window [class="Nautilus"] border pixel 0
|
|
for_window [class="Nautilus"] floating enable
|
|
for_window [title="Google Hangouts is sharing your screen with hangouts.google.com."] floating enable
|
|
for_window [title="Jitsi Desktop Streamer is sharing your screen with meet.jit.si."] floating enable
|
|
for_window [title="Google Hangouts is sharing your screen with hangouts.google.com."] border pixel 0
|
|
for_window [title="Jitsi Desktop Streamer is sharing your screen with meet.jit.si."] border pixel 0
|
|
|
|
# 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)
|
|
bindsym $mod+Shift+e exec i3-msg exit
|
|
|
|
# resize window (you can also use the mouse for that)
|
|
bindsym $mod+r mode "resize"
|
|
|
|
mode "resize" {
|
|
bindsym j resize shrink width 5 px or 5 ppt
|
|
bindsym k resize grow height 5 px or 5 ppt
|
|
bindsym l resize shrink height 5 px or 5 ppt
|
|
bindsym k resize grow width 5 px or 5 ppt
|
|
bindsym Right resize shrink width 5 px or 5 ppt
|
|
bindsym Down resize grow height 5 px or 5 ppt
|
|
bindsym Up resize shrink height 5 px or 5 ppt
|
|
bindsym Left resize grow width 5 px or 5 ppt
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
# class border backgr. text indicator
|
|
client.focused $base0C $base0C $base07 $base08
|
|
client.focused_inactive $base02 $base02 $base06 $base03
|
|
client.unfocused $base04 $base04 $base01 $base06
|
|
client.urgent $base08 $base08 $base07 $baseXX
|
|
|
|
# switching between workspace
|
|
bindsym $mod+period workspace next
|
|
bindsym $mod+comma workspace prev
|
|
bindsym $mod+Escape workspace back_and_forth
|
|
|
|
# change focused container
|
|
bindsym $mod+Tab focus parent; focus right; focus child
|
|
bindsym $mod+Shift+Tab focus parent; focus left; focus child
|
|
|
|
bindsym XF86AudioMute exec amixer -c 0 -q set Master toggle
|
|
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set -M Master 2%+ #-c 0
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set -M Master 2%- #-c 0
|
|
|
|
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id amixer -c 0 set Master 15%+
|
|
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id amixer -c 0 set Master 15%-
|
|
|
|
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
|
|
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
|
|
|
|
bindsym Control+Mod1+Shift+t exec tdrop -ma -w -4 -y "30" -h 70% -s dropdown termite
|
|
bindsym Control+Mod1+Shift+e exec tdrop -ma -w 50% -h 50% -y 25% -x 25% -s dropdown emacs
|
|
bindsym Control+Mod1+Shift+o exec tdrop -ma -w 800 -h 400 -y -500 -x -900 nautilus
|
|
|
|
# Toggle Gaps https://github.com/Airblader/i3#gaps
|
|
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+g 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"
|
|
}
|
|
|
|
exec --no-startup-id alacritty --name quake
|
|
for_window [instance="quake"] floating enable;
|
|
for_window [instance="quake"] move scratchpad; [instance="quake"] scratchpad show; resize grow height 600px; resize grow width 800px; move position center; move scratchpad;
|
|
bindsym $mod+t [instance="quake"] scratchpad show
|
|
|
|
# Plasma Integration
|
|
for_window [class="yakuake"] floating enable;
|
|
## Plasma Integration
|
|
# Try to kill the wallpaper set by Plasma (it takes up the entire workspace and hides everythiing)
|
|
exec --no-startup-id wmctrl -c Plasma
|
|
for_window [title="Desktop — Plasma"] kill; floating enable; border none
|
|
|
|
## Avoid tiling popups, dropdown windows from plasma
|
|
# for the first time, manually resize them, i3 will remember the setting for floating windows
|
|
for_window [class="plasmashell"] floating enable;
|
|
for_window [class="Plasma"] floating enable; border none
|
|
for_window [title="plasma-desktop"] floating enable; border none
|
|
for_window [title="win7"] floating enable; border none
|
|
for_window [class="krunner"] floating enable; border none
|
|
for_window [class="Kmix"] floating enable; border none
|
|
for_window [class="Klipper"] floating enable; border none
|
|
for_window [class="Plasmoidviewer"] floating enable; border none
|