dotfiles/system/.config/i3/config
Severin Kaderli 1792013f37
Add screenshot menu and update prompt
Signed-off-by: Severin Kaderli <severin@kaderli.dev>
2019-03-12 21:26:24 +01:00

267 lines
No EOL
8.5 KiB
Text

# SCRIPT NAME:
# .config/i3/config
#
# AUTHOR:
# Severin Kaderli <severin@kaderli.dev>
#
# DESCRIPTION:
# This file contains my i3 configuration.
#
# USAGE:
# This file is automatically used by i3.
# Disable window titlebars and borders
for_window [class="^.*"] border pixel 0
# Gaps
gaps inner 25
#gaps outer -10
new_window none
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Noto Sans, Font Awesome 5 Free 15px
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
###############################################################################
# Modifiers #
###############################################################################
set $mod Mod4
set $alt Mod1
###############################################################################
# Outputs #
###############################################################################
set $output1 HDMI-1
set $output2 eDP-1
###############################################################################
# Workspaces #
###############################################################################
# Define workspaces
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: "
# Assign workspaces to outputs
workspace $workspace1 output $output1
workspace $workspace2 output $output2
workspace $workspace3 output $output2
workspace $workspace4 output $output2
workspace $workspace5 output $output1
workspace $workspace6 output $output2
workspace $workspace7 output $output2
workspace $workspace8 output $output1
workspace $workspace9 output $output2
workspace $workspace10 output $output2
# Assign applications to workspaces
assign [class="Google-chrome-beta"] $workspace1
assign [instance="cmus"] $workspace10
assign [class="Code"] $workspace3
assign [class="Nemo"] $workspace4
assign [class="discord"] $workspace5
assign [class="Steam"] $workspace6
assign [class="keepassxc"] $workspace8
assign [class="vlc"] $workspace9
assign [class="mpv"] $workspace9
assign [class="Notable"] $workspace7
###############################################################################
# Keybindings #
###############################################################################
# Start a terminal
bindsym $mod+Return exec termite -c ~/.config/termite/config
# Kill focused window
bindsym $mod+Shift+q kill
# Open run menu
bindsym $mod+R exec rofi -show run -lines 5
# Open game menu
bindsym $mod+G exec games
# Open power menu
bindsym $mod+F4 exec power
# Open screenshot menu
bindsym Print exec screenshot
# Change focus
bindsym $mod+Left focus left
bindsym $mod+H focus left
bindsym $mod+Down focus down
bindsym $mod+J focus down
bindsym $mod+Up focus up
bindsym $mod+K focus up
bindsym $mod+Right focus right
bindsym $mod+L focus right
# Move focused window
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+H move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+J move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+K move up
bindsym $mod+Shift+Right move right
bindsym $mod+Shift+L move right
# Moving workspaces to other displays
bindsym $mod+$alt+Left move workspace to output left
bindsym $mod+$alt+H move workspace to output left
bindsym $mod+$alt+Right move workspace to output right
bindsym $mod+$alt+L move workspace to output right
# Toggle split orientation
bindsym $mod+T split toggle
# Fullscreen toggle
bindsym $mod+F11 fullscreen toggle
# toggle tiling / floating
bindsym $mod+Shift+Space floating toggle
# Workspace switching
bindsym $mod+1 workspace $workspace1
bindsym $mod+KP_1 workspace $workspace1
bindsym $mod+2 workspace $workspace2
bindsym $mod+KP_2 workspace $workspace2
bindsym $mod+3 workspace $workspace3
bindsym $mod+KP_3 workspace $workspace3
bindsym $mod+4 workspace $workspace4
bindsym $mod+KP_4 workspace $workspace4
bindsym $mod+5 workspace $workspace5
bindsym $mod+KP_5 workspace $workspace5
bindsym $mod+6 workspace $workspace6
bindsym $mod+KP_6 workspace $workspace6
bindsym $mod+7 workspace $workspace7
bindsym $mod+KP_7 workspace $workspace7
bindsym $mod+8 workspace $workspace8
bindsym $mod+KP_8 workspace $workspace8
bindsym $mod+9 workspace $workspace9
bindsym $mod+KP_9 workspace $workspace9
bindsym $mod+0 workspace $workspace10
bindsym $mod+KP_0 workspace $workspace10
# Moving container to workspace
bindsym $mod+Shift+1 move container to workspace $workspace1
bindsym $mod+Shift+KP_1 move container to workspace $workspace1
bindsym $mod+Shift+2 move container to workspace $workspace2
bindsym $mod+Shift+KP_2 move container to workspace $workspace2
bindsym $mod+Shift+3 move container to workspace $workspace3
bindsym $mod+Shift+KP_3 move container to workspace $workspace3
bindsym $mod+Shift+4 move container to workspace $workspace4
bindsym $mod+Shift+KP_4 move container to workspace $workspace4
bindsym $mod+Shift+5 move container to workspace $workspace5
bindsym $mod+Shift+KP_5 move container to workspace $workspace5
bindsym $mod+Shift+6 move container to workspace $workspace6
bindsym $mod+Shift+KP_6 move container to workspace $workspace6
bindsym $mod+Shift+7 move container to workspace $workspace7
bindsym $mod+Shift+KP_7 move container to workspace $workspace7
bindsym $mod+Shift+8 move container to workspace $workspace8
bindsym $mod+Shift+KP_8 move container to workspace $workspace8
bindsym $mod+Shift+9 move container to workspace $workspace9
bindsym $mod+Shift+KP_9 move container to workspace $workspace9
bindsym $mod+Shift+0 move container to workspace $workspace10
bindsym $mod+Shift+KP_0 move container to workspace $workspace10
# Restart i3
bindsym $mod+Shift+r restart
# 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+x mode "resize"
# Screen lock controls
bindsym XF86Sleep exec --no-startup-id screenlock
# Volume controls
bindsym XF86AudioMute exec --no-startup-id pamixer -t
bindsym $mod+m exec --no-startup-id pamixer -t
bindsym XF86AudioRaiseVolume exec --no-startup-id increase-volume
bindsym $mod+KP_Add exec --no-startup-id increase-volume
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5 --allow-boost
bindsym $mod+KP_Subtract exec --no-startup-id pamixer -d 5 --allow-boost
# Brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id light -A 5
bindsym XF86MonBrightnessDown exec --no-startup-id light -U 5
# Music controls
bindsym XF86AudioStop exec --no-startup-id cmus-remote -s
bindsym XF86AudioPlay exec --no-startup-id cmus-remote -u
bindsym $mod+KP_Enter exec --no-startup-id cmus-remote -u
bindsym XF86AudioNext exec --no-startup-id cmus-remote -n
bindsym $mod+Control+Right exec --no-startup-id cmus-remote -n
bindsym XF86AudioPrev exec --no-startup-id cmus-remote -r
bindsym $mod+Control+Left exec --no-startup-id cmus-remote -r
exec --no-startup-id "i3-msg 'workspace 10: ; append_layout
/home/severin/.config/i3/workspace-10.json'"
exec --no-startup-id "i3-msg 'workspace 2: ; append_layout
/home/severin/.config/i3/workspace-2.json'"
exec --no-startup-id "i3-msg 'workspace 1: "
###############################################################################
# Startup applications #
###############################################################################
# Start compton
exec --no-startup-id compton -b
# Start polybar
exec_always --no-startup-id $XDG_CONFIG_HOME/polybar/launch
# Start dunst
exec --no-startup-id dunst
# Set resolution
exec_always --no-startup-id resolution
# Set wallpaper
exec_always --no-startup-id wallpaper
# Other applications
exec autokey-gtk
exec google-chrome-beta
exec termite
exec termite
exec termite
exec termite
exec discord
exec nemo
exec nemo
exec keepassxc
exec notable
exec termite -e cmus --name cmus
exec termite -e cava --name cava
exec sxiv -b -s f $HOME/.local/share/cmus/.cover