dotfiles/i3/config

181 lines
6.2 KiB
Plaintext
Raw Normal View History

2020-03-08 16:46:00 +11:00
# set modifier
set $super Mod4
set $alt Mod1
# set font
font pango: Noto Sans 8
# Use Mouse+$super to drag floating windows to their wanted position
floating_modifier $super
#autostart
2020-03-13 00:29:47 +11:00
exec_always --no-startup-id hsetroot -cover ~/Pictures/wallpaper/wallhaven-39gogv.jpg
2020-03-08 16:46:00 +11:00
exec --no-startup-id xsettingsd &
exec --no-startup-id compton -b
2020-03-09 23:59:22 +11:00
exec --no-startup-id ibus-daemon &
2020-03-13 00:29:47 +11:00
exec --no-startup-id spotify
2020-03-08 16:46:00 +11:00
# start a terminal
bindsym $super+Return exec i3-sensible-terminal
# start dmenu (a program launcher)
bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'"
bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8'
# common apps keybinds
bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f'
bindsym $super+l exec i3lock -i ~/.wallpaper.png
bindsym $super+Shift+w exec firefox
bindsym $super+Shift+f exec thunar;workspace 3;focus
#bindsym $super+Shift+g exec geany
#change volume
# bindsym XF86AudioRaiseVolume exec amixer -q set Master
# bindsym XF86AudioLowerVolume exec amixer -q set Master 5%-
# bindsym XF86AudioMute exec amixer set Master toggle
2020-03-09 23:59:22 +11:00
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 1 +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 1 -5%
bindsym XF86AudioMute exec pactl set-sink-mute 1 toggle
2020-03-08 16:46:00 +11:00
# music control
#bindsym XF86AudioNext exec mpc next
#bindsym XF86AudioPrev exec mpc prev
#bindsym XF86AudioPlay exec mpc toggle
#bindsym XF86AudioStop exec mpc stop
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86AudioPlay exec playerctl play-pause
2020-03-09 23:59:22 +11:00
mode "media" {
bindsym Up exec pactl set-sink-volume 1 +5%
bindsym Down exec pactl set-sink-volume 1 -5%
bindsym Right exec playerctl next
bindsym Left exec playerctl previous
bindsym space exec playerctl play-pause
bindsym Return mode "default"
}
bindsym $super+m mode "media"
2020-03-08 16:46:00 +11:00
# brightness control
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
# kill focused window
bindsym $super+c kill
# bindsym $alt+F4 kill
# change focus
bindsym $super+Left focus left
bindsym $super+Down focus down
bindsym $super+Up focus up
bindsym $super+Right focus right
# move focused window
bindsym $super+Shift+Left move left
bindsym $super+Shift+Down move down
bindsym $super+Shift+Up move up
bindsym $super+Shift+Right move right
# split in horizontal orientation
bindsym $super+h split h
# split in vertical orientation
bindsym $super+v split v
# enter fullscreen mode for the focused container
bindsym $super+f fullscreen toggle
# change container layout split
bindsym $super+s layout toggle split
# toggle tiling / floating
bindsym $super+space floating toggle
# change focus between tiling / floating windows
bindsym $super+Shift+space focus mode_toggle
# switch to workspace
bindsym $alt+Control+Right workspace next
bindsym $alt+Control+Left workspace prev
2020-03-13 00:29:47 +11:00
set $workspace1 "1: Terminal"
set $workspace2 "2: "
set $workspace3 "3: "
set $workspace4 "4: Editor"
set $workspace9 "9: Music"
bindsym $super+1 workspace $workspace1
bindsym $super+2 workspace $workspace2
bindsym $super+3 workspace $workspace3
bindsym $super+4 workspace $workspace4
2020-03-08 16:46:00 +11:00
bindsym $super+5 workspace 5
bindsym $super+6 workspace 6
2020-03-13 00:29:47 +11:00
bindsym $super+7 workspace 7
bindsym $super+8 workspace 8
bindsym $super+9 workspace $workspace9
2020-03-08 16:46:00 +11:00
# move focused container to workspace
2020-03-13 00:29:47 +11:00
bindsym $super+Shift+1 move container to workspace $workspace1
bindsym $super+Shift+2 move container to workspace $workspace2
bindsym $super+Shift+3 move container to workspace $workspace3
bindsym $super+Shift+4 move container to workspace $workspace4
bindsym $super+Shift+5 move container to workspace 5
2020-03-08 16:46:00 +11:00
bindsym $super+Shift+6 move container to workspace 6
2020-03-13 00:29:47 +11:00
bindsym $super+Shift+7 move container to workspace 7
bindsym $super+Shift+8 move container to workspace 8
bindsym $super+Shift+9 move container to workspace $workspace9
2020-03-08 16:46:00 +11:00
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $super+Shift+r restart
# exit i3
bindsym $super+q exec "i3-nagbar -t warning -m 'Really, exit?' -b 'Yes' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym Left 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 Right resize grow width 5 px or 5 ppt
bindsym Return mode "default"
}
bindsym $super+r mode "resize"
# panel
bar {
colors {
background #2f343f
statusline #2f343f
separator #4b5262
# colour of border, background, and text
focused_workspace #2f343f #bf616a #d8dee8
active_workspace #2f343f #2f343f #d8dee8
inactive_workspace #2f343f #2f343f #d8dee8
urgent_workspacei #2f343f #ebcb8b #2f343f
}
status_command i3status
}
# window rules, you can find the window class using xprop
for_window [class=".*"] border pixel 4
2020-03-13 00:29:47 +11:00
assign [class=URxvt] $workspace1
assign [class=Firefox|Transmission-gtk] $workspace2
assign [class=Thunar|File-roller] $workspace3
assign [class=Code|Geany|Evince|Gucharmap|Soffice|libreoffice*] $workspace4
2020-03-08 16:46:00 +11:00
assign [class=Audacity|Vlc|mpv|Ghb|Xfburn|Gimp*|Inkscape] 5
assign [class=Lxappearance|System-config-printer.py|Lxtask|GParted|Pavucontrol|Exo-helper*|Lxrandr|Arandr] 6
2020-03-13 00:29:47 +11:00
assign [class=Spotify] $workspace9
2020-03-08 16:46:00 +11:00
for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol] floating enable
for_window [class=URxvt|Firefox|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity] focus
for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|Arandr] focus
# colour of border, background, text, indicator, and child_border
client.focused #bf616a #2f343f #d8dee8 #bf616a #d8dee8
client.focused_inactive #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.unfocused #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background #2f343f