home/config/i3/config
2020-06-07 11:07:32 +02:00

284 lines
8.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

set $mod Mod4
font pango:DejaVu Sans Mono 10
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# -------------------------------------------------------------------------------------------------
# WINDOW FOCUS/SPLIT/MOVE
#
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym Mod1+Tab focus left
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
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 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+Mod1+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
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
# -------------------------------------------------------------------------------------------------
# WORKSPACES
#
set $wksp1 "1: Main"
set $wksp2 "2: Works"
set $wksp3 "3: Slack"
set $wksp4 "4: Spotify"
set $wksp5 "5: Graphics"
# switch to workspace
bindsym $mod+1 workspace $wksp1
bindsym $mod+2 workspace $wksp2
bindsym $mod+3 workspace $wksp3
bindsym $mod+4 workspace $wksp4
bindsym $mod+5 workspace $wksp5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# switch to previous/next workspace
bindsym Mod1+Control+a workspace prev_on_output
bindsym Mod1+Control+d workspace next_on_output
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $wksp1
bindsym $mod+Shift+2 move container to workspace $wksp2
bindsym $mod+Shift+3 move container to workspace $wksp3
bindsym $mod+Shift+4 move container to workspace $wksp4
bindsym $mod+Shift+5 move container to workspace $wksp5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# move focused container to previous/next workspace
bindsym Mod1+Shift+Control+a move container to workspace prev
bindsym Mod1+Shift+Control+d move container to workspace next
# -------------------------------------------------------------------------------------------------
# RELOAD / RESTART / EXIT
#
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t error -m 'Q' \
-b 'Exit' 'i3-msg exit' \
-b 'Suspend' 'sudo s2ram -f -a 1' \
-b 'Reboot' 'systemctl reboot' \
-b 'Halt' 'systemctl poweroff'"
# -------------------------------------------------------------------------------------------------
# RESIZE MODE
#
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
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"
# -------------------------------------------------------------------------------------------------
# I3STATUS
#
bar {
font pango:DejaVu Sans Mono, Icons 10
status_command py3status
colors {
background $nord0
statusline $nord8
focused_workspace $nord3 $nord8
active_workspace $nord3 $nord8
inactive_workspace $nord8 $nord3
urgent_workspace $nord3 $nord15
}
}
# -------------------------------------------------------------------------------------------------
# AUTOSTART
#
exec --no-startup-id i3-msg 'exec blueman-applet &'
exec --no-startup-id i3-msg 'exec pasystray &'
exec --no-startup-id i3-msg 'exec nm-applet &'
exec --no-startup-id i3-msg 'exec nextcloud &'
exec --no-startup-id i3-msg 'exec remmina -i &'
exec --no-startup-id xsettingsd &
exec --no-startup-id compton -b
exec --no-startup-id i3-msg 'exec /usr/bin/urxvt'
exec --no-startup-id i3-msg 'exec /usr/bin/firefox'
exec --no-startup-id i3-msg 'exec /usr/bin/spotify'
# -------------------------------------------------------------------------------------------------
# WALLPAPER
#
exec --no-startup-id feh --bg-fill ~/.config/i3/wallpaper.jpg
# -------------------------------------------------------------------------------------------------
# Default workspace layout
#
workspace_layout tabbed
# -------------------------------------------------------------------------------------------------
# BIND KEYS APPS
#
# kill focused window
bindsym $mod+Shift+q kill
bindsym Control+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run -fn 'Droid Sans Mono-10'
bindsym Mod1+space exec "rofi -show combi"
# start a terminal
bindsym $mod+Return exec urxvt
# Lock session
bindsym $mod+Mod1+l exec "~/Bin/lock.sh"
bindsym Mod1+Control+q exec "~/Bin/lock.sh"
# File browser
bindsym $mod+f exec "rofi -modi 'fb:~/.local/share/rofi/rofi-file-browser.sh' -show fb"
# Find file in user directory
bindsym $mod+x exec "rofi -modi 'find:~/.local/share/rofi/finder.sh' -show find"
# Show top
bindsym $mod+t exec "rofi -show top -modi top"
# Multimedia keys
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume `pactl info|grep Sink|cut -d: -f 2` +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume `pactl info|grep Sink|cut -d: -f 2` -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute `pactl info|grep Sink|cut -d: -f 2` toggle
# Screen brighness
bindsym XF86MonBrightnessDown exec --no-startup-id ~/Bin/brightness.sh down
bindsym XF86MonBrightnessUp exec --no-startup-id ~/Bin/brightness.sh up
# Spotify
bindsym XF86AudioPlay exec qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
bindsym XF86AudioPrev exec qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
bindsym XF86AudioNext exec qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
# Take Screenshot
bindsym Print exec ~/Bin/screenshooter.sh
bindsym $mod+Print exec ~/Bin/slip
# Switch screen layouts
bindsym XF86Display exec ~/Bin/screenlayout.sh
# -------------------------------------------------------------------------------------------------
# COLORS
#
set $nord0 #2E3440
set $nord1 #3B4252
set $nord2 #434C5E
set $nord3 #4C566A
set $nord4 #D8DEE9
set $nord5 #E5E9F0
set $nord6 #ECEFF4
set $nord7 #8FBCBB
set $nord8 #88C0D0
set $nord9 #81A1C1
set $nord10 #5E81AC
set $nord11 #BF616A
set $nord12 #D08770
set $nord13 #EBCB8B
set $nord14 #A3BE8C
set $nord15 #B48EAD
#colors border back text indicator child_border
client.focused $nord3 $nord8 $nord0 $nord15 $nord8
client.focused_inactive $nord8 $nord3 $nord5 $nord15 $nord8
client.unfocused $nord8 $nord3 $nord5 $nord15 $nord3
client.urgent $nord3 $nord15 $nord0 $nord15 $nord15
client.placeholder $nord8 $nord8 $nord8
client.background $nord0
# -------------------------------------------------------------------------------------------------
# APP DEFAULT POSITION/DECORATIONS
#
for_window [class="Spotify"], move container to workspace $wksp4
#for_window [class="Firefox"], move container to workspace $wksp1
#for_window [class="Ristretto"] fullscreen enable
# -------------------------------------------------------------------------------------------------
# OTHER STUFF
#
default_border pixel 2
# Power save mode and Auto lock screen
exec --no-startup-id xset s 60 30
exec --no-startup-id xset dpms 120
exec --no-startup-id xss-lock -n ~/Bin/lock.sh