From 4719c9633d22b96f3654110da849de57672560fa Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 28 Sep 2019 02:08:42 -0400 Subject: [PATCH] Organize i3 config for easier reading --- i3/.config/i3/config | 540 +++++++++++++++++++++++-------------------- 1 file changed, 294 insertions(+), 246 deletions(-) diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 62a3aef..1f629d0 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -4,124 +4,27 @@ # Set mod key (Mod1=, Mod4=) set $mod Mod4 +# Mouse hover takes focus on window +focus_follows_mouse yes +# Use Mouse+$mod to drag floating windows +floating_modifier $mod + # set default desktop layout (default is tiling) # workspace_layout tabbed # Configure border style default_border pixel 2 default_floating_border normal - # Hide borders hide_edge_borders none -# change borders -bindsym $mod+u border none -bindsym $mod+y border pixel 1 -bindsym $mod+n border normal - # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font xft:URWGothic-Book 11 -# Use Mouse+$mod to drag floating windows -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start program launcher -bindsym $mod+d exec --no-startup-id dmenu_recency - -# launch categorized menu -bindsym $mod+z exec --no-startup-id morc_menu - -################################################################################################ -## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## -################################################################################################ - -exec --no-startup-id volumeicon -bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' -#exec --no-startup-id pulseaudio -#exec --no-startup-id pa-applet -#bindsym $mod+Ctrl+m exec pavucontrol - -################################################################################################ - -# Screen brightness controls -# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" -# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" - -# Kapper -focus_follows_mouse no - -# 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 - -# 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 - -# workspace back and forth (with/without active container) -workspace_auto_back_and_forth yes -bindsym $mod+b workspace back_and_forth -bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth - -# split orientation -bindsym $mod+h split h;exec notify-send 'tile horizontally' -bindsym $mod+v split v;exec notify-send 'tile vertically' -bindsym $mod+q split toggle - -# toggle fullscreen mode for the focused container -bindsym $mod+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 - -# toggle sticky -bindsym $mod+Shift+s sticky toggle - -# focus the parent container -bindsym $mod+a focus parent - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show - -#navigate workspaces next / previous -bindsym $mod+Ctrl+Right workspace next -bindsym $mod+Ctrl+Left workspace prev +################################################################ +### Workspace Settings ###################################### +################################################################ # Workspace names # to display names or symbols instead of plain workspace numbers you can use @@ -136,53 +39,9 @@ set $ws6 6 set $ws7 7 set $ws8 8 -# switch to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 - -# Move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 - -bindsym $mod+Ctrl+8 move container to workspace $ws8 - -# Move to workspace with focused container -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 - -# Kapper -# Bind to swap to previous / last workspace -bindsym $mod+Tab workspace back_and_forth - -# Bind Mod+C to restart polybars -bindsym $mod+c exec /home/kapper/.config/polybar/start-polybar.sh - -# Bind Mod+P kill polybars -bindsym $mod+p exec pkill -f polybar - -# Mod+Shift+C Reload i3 config -# reload the configuration file -bindsym $mod+Shift+c reload - -# Mod+R Restart i3 + polybar -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart +# Set workspace monitor startup location +workspace 2 output HDMI-1 +workspace 3 output DP-2 # Open applications on specific workspaces assign [class="Bitwarden"] 1 @@ -190,22 +49,9 @@ assign [class="Signal"] 1 assign [class="Firefox"] 3 # assign [class="Skype"] $ws5 -# Start Applications -bindsym $mod+Ctrl+b exec terminal -e 'bmenu' -bindsym $mod+F2 exec firefox -bindsym $mod+F3 exec signal-desktop -bindsym $mod+F4 exec bitwarden -# bindsym $mod+F3 exec ranger -bindsym $mod+Shift+F3 exec pcmanfm_pkexec -bindsym $mod+F5 exec terminal -e 'mocp' -bindsym $mod+t exec --no-startup-id pkill compton -bindsym $mod+Ctrl+t exec --no-startup-id compton -b -bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" -bindsym Print exec --no-startup-id i3-scrot -bindsym $mod+Print --release exec --no-startup-id i3-scrot -w -bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s -bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf -bindsym $mod+Ctrl+x --release exec --no-startup-id xkill +################################################################ +### Window / App Settings ###################################### +################################################################ # Open specific applications in floating mode for_window [title="alsamixer"] floating enable border pixel 1 @@ -239,69 +85,38 @@ for_window [class="Xfburn"] floating enable # switch to workspace with urgent window automatically for_window [urgent=latest] focus -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e 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'" +################################################################ +### Startup applications ###################################### +################################################################ -# Set shut down, restart and locking features -bindsym $mod+0 mode "$mode_system" -set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown -mode "$mode_system" { - bindsym l exec --no-startup-id i3exit lock, mode "default" - bindsym s exec --no-startup-id i3exit suspend, mode "default" - bindsym u exec --no-startup-id i3exit switch_user, mode "default" - bindsym e exec --no-startup-id i3exit logout, mode "default" - bindsym h exec --no-startup-id i3exit hibernate, mode "default" - bindsym r exec --no-startup-id i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" - - # exit system mode: "Enter" or "Escape" - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { -# These bindings trigger as soon as you enter the resize mode -# Pressing left will shrink the window’s width. -# Pressing right will grow the window’s width. -# Pressing up will shrink the window’s height. -# Pressing down will grow the window’s height. -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 semicolon resize grow width 5 px or 5 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 - -# exit resize mode: Enter or Escape -bindsym Return mode "default" -bindsym Escape mode "default" -} - -# Lock screen -bindsym $mod+9 exec --no-startup-id blurlock - -# Kapper -# Autostart applications +# Start on boot +exec --no-startup-id autorandr.sh --change --default ~/.autorandr/kapp/config +exec --no-startup-id signal-desktop +exec --no-startup-id bitwarden +exec --no-startup-id firefox exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id nitrogen --restore; sleep 1; compton -b -#exec --no-startup-id manjaro-hello exec --no-startup-id nm-applet exec --no-startup-id xfce4-power-manager exec --no-startup-id pamac-tray exec --no-startup-id clipit -# exec --no-startup-id blueman-applet -# exec_always --no-startup-id sbxkb exec --no-startup-id start_conky_maia -# exec --no-startup-id start_conky_green exec --no-startup-id xautolock -time 10 -locker blurlock +# exec --no-startup-id blueman-applet +# exec --no-startup-id manjaro-hello +# exec --no-startup-id start_conky_green + +# Startup apps every i3 reload / restart +exec_always --no-startup-id $HOME/.config/polybar/start-polybar.sh +#exec_always --no-startup-id "export TERMINAL='urxvt -e tmux'" +#exec_always --no-startup-id exec --no-startup-id bash -c "TERMINAL=/home/your_user_name/bin/myterminal.sh i3-sensible-terminal" exec_always --no-startup-id ff-theme-util exec_always --no-startup-id fix_xcursor +# exec_always --no-startup-id sbxkb + +################################################################# +### color settings for i3 ####################################### +################################################################# # Color palette used for the terminal ( ~/.Xresources file ) # Colors are gathered based on the documentation: @@ -334,21 +149,23 @@ set_from_resource $term_color13 color13 set_from_resource $term_color14 color14 set_from_resource $term_color15 color15 -# Kapper -# Custom startup apps every reload / restart -exec_always --no-startup-id $HOME/.config/polybar/start-polybar.sh -#exec_always --no-startup-id "export TERMINAL='urxvt -e tmux'" -#exec_always --no-startup-id exec --no-startup-id bash -c "TERMINAL=/home/your_user_name/bin/myterminal.sh i3-sensible-terminal" +# Theme colors +# class border backgr. text indic. child_border + client.focused #01e110 #000000 #80FFF9 #01e110 + client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 + client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 + client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 + client.placeholder #000000 #0c0c0c #ffffff #000000 -# Custom startup apps every reboot -workspace 2 output HDMI-1 -workspace 3 output DP-2 -exec --no-startup-id autorandr.sh --change --default ~/.autorandr/kapp/config -exec --no-startup-id signal-desktop -exec --no-startup-id bitwarden -exec --no-startup-id firefox + client.background #000000 +################################################################# +### Status bar settings ######################################### +################################################################# +# This section is unused, and left for reference. +# Polybar exec_always i3 Startup Application runs script to start custom polybars +# # Start i3bar to display a workspace bar (plus the system information i3status if available) #bar { # i3bar_command i3bar @@ -378,24 +195,15 @@ exec --no-startup-id firefox # } #} +# Since we don't use i3status, this does nothing # hide/unhide i3status bar bindsym $mod+m bar mode toggle -# Theme colors -# class border backgr. text indic. child_border - client.focused #01e110 #000000 #80FFF9 #01e110 - client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 - client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 - client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 - client.placeholder #000000 #0c0c0c #ffffff #000000 +################################################################# +### Settings for i3-gaps ####################################### +################################################################# - client.background #000000 - -############################# -### settings for i3-gaps: ### -############################# - -# Set inner/outer gaps +# Set inner/outer gaps default values gaps inner 14 gaps outer -2 @@ -448,3 +256,243 @@ mode "$mode_gaps_outer" { bindsym Escape mode "default" } +################################################################# +### Keybinds for i3 ####################################### +################################################################# + + +# Application keybinds +########################################### + +# start a terminal +# Uses $TERMINAL environment setting +bindsym $mod+Return exec terminal + +# Firefox +bindsym $mod+F2 exec firefox +# Signal +bindsym $mod+F3 exec signal-desktop +# Bitwarden +bindsym $mod+F4 exec bitwarden +# bindsym $mod+F3 exec ranger +# Start PCManfm filemanager +bindsym $mod+Shift+F3 exec pcmanfm_pkexec +# Start mocp music player +bindsym $mod+F5 exec terminal -e 'mocp' + +# Screenshot keybinds +########################################### +# Screenshot all displays +bindsym Print exec --no-startup-id i3-scrot +# Screenshot active window +bindsym $mod+Print --release exec --no-startup-id i3-scrot -w +# Screenshot marquee tool +bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s + +# Restart, reload, kill keybinds +########################################### + +# Bind Mod+C to restart polybars +bindsym $mod+c exec /home/kapper/.config/polybar/start-polybar.sh +# Bind Mod+P kill polybars +bindsym $mod+p exec pkill -f polybar + +# Reload the i3 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 + +# Kill Compton window compositor +bindsym $mod+t exec --no-startup-id pkill compton +# Start Compton window compositor +bindsym $mod+Ctrl+t exec --no-startup-id compton -b +# Kill, restart dunst +bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" +# Display cursor to select X window to kill +# Misclicks can be dangerous +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill +# kill focused window +bindsym $mod+Shift+q kill + +# i3 system / menus keybinds +########################################### + +# System config tool for i3 +bindsym $mod+Ctrl+b exec terminal -e 'bmenu' +# start program launcher +bindsym $mod+d exec --no-startup-id dmenu_recency +# launch categorized menu +bindsym $mod+z exec --no-startup-id morc_menu +# Help menu for i3 +bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf +# Exit i3 (logs you out of your X session) +bindsym $mod+Shift+e 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'" + +# Workspace keybinds +########################################### + +# Modify window borders +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 + +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +# Bind to swap to previous / last workspace +bindsym $mod+Tab workspace back_and_forth +#bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + +# Window keybinds +########################################### + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# Change window 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 + +# Move focused window workspace +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 + +# Resize keybinds +########################################### + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { +# These bindings trigger as soon as you enter the resize mode +# Pressing left will shrink the window’s width. +# Pressing right will grow the window’s width. +# Pressing up will shrink the window’s height. +# Pressing down will grow the window’s height. +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 semicolon resize grow width 5 px or 5 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 + +# exit resize mode: Enter or Escape +bindsym Return mode "default" +bindsym Escape mode "default" +} + +# Layout keybinds +########################################### + +# Split orientation toggles +bindsym $mod+h split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split 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 + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show +# To remove a window from scratchpad, toggle floating + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle +# toggle sticky +bindsym $mod+Shift+s sticky toggle +# focus the parent container +bindsym $mod+a focus parent + +# System keybinds +########################################### + +# Set shut down, restart and locking features +bindsym $mod+0 mode "$mode_system" +set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +mode "$mode_system" { + bindsym l exec --no-startup-id i3exit lock, mode "default" + bindsym s exec --no-startup-id i3exit suspend, mode "default" + bindsym u exec --no-startup-id i3exit switch_user, mode "default" + bindsym e exec --no-startup-id i3exit logout, mode "default" + bindsym h exec --no-startup-id i3exit hibernate, mode "default" + bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Lock screen +bindsym $mod+9 exec --no-startup-id blurlock +# Screen brightness controls +# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'" +# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +exec --no-startup-id volumeicon +bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet +#bindsym $mod+Ctrl+m exec pavucontrol + +################################################################################################ +