Created
February 8, 2021 20:17
-
-
Save jensens/1144e74c58b829e8816f35fbf2994abd to your computer and use it in GitHub Desktop.
My Regolith 1.5 Configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################### | |
# i3-gaps config file for the Regolith Desktop Environment | |
# | |
# Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
# | |
############################################################################### | |
# | |
# In this config file many values are taken from Xresources with the directive | |
# set_from_resource: | |
# | |
# set_from_resource <i3 variable name> <Xresources key> <default value> | |
# | |
# This configuration file utilizes Xresource variables to change configuration | |
# without having to make a copy of this config file. | |
# The benefit to not copying this file is easier upgrades in the future. | |
# To update a value in this config without making a copy, update the Xresource | |
# value in the file ~/.config/regolith/Xresources. | |
# | |
# For example, to change the bar position to the top of the screen this is the | |
# i3 config entry in this file: | |
# set_from_resource $i3-wm.bar.position i3-wm.bar.position bottom | |
# | |
# So add this line to ~/.config/regolith/Xresources to change it's value: | |
# i3-wm.bar.position: top | |
# | |
# Reload i3 after making Xresource changes. Learn more at | |
# https://regolith-linux.org/docs/howto/override-xres/ | |
# | |
############################################################################### | |
# | |
# This file uses a machine-parsable format for comments. The schema is: | |
# ## <Category> // <Action> // <Keybinding> ## | |
# Learn more at https://github.com/regolith-linux/remontoire | |
# | |
############################################################################### | |
# CUSTOM | |
############################################################################### | |
# Screen Names | |
# These are the physical screens/outputs | |
############################################################################### | |
# Define Screens: | |
set $thinkpad eDP-1 | |
set $samsung DP-1 | |
set $hdmi1 HDMI-1 | |
set $hdmi2 HDMI-2 | |
set $dp1 DP-1 | |
set $dp2 DP-2 | |
# /CUSTOM | |
############################################################################### | |
# Key Mappings | |
############################################################################### | |
# Meta Key - Alt key is Mod1, and Windows key is Mod4 | |
set_from_resource $mod i3-wm.mod Mod4 | |
set_from_resource $alt i3-wm.alt Mod1 | |
set_from_resource $i3-wm.binding. i3-wm.binding. | |
############################################################################### | |
# Workspace Names | |
# These are the labels which define each i3 workspace. | |
############################################################################### | |
set_from_resource $ws1 i3-wm.workspace.01.name "1: term" | |
set_from_resource $ws2 i3-wm.workspace.02.name "2" | |
set_from_resource $ws3 i3-wm.workspace.03.name "3" | |
set_from_resource $ws4 i3-wm.workspace.04.name "4" | |
set_from_resource $ws5 i3-wm.workspace.05.name "5" | |
set_from_resource $ws6 i3-wm.workspace.06.name "6" | |
set_from_resource $ws7 i3-wm.workspace.07.name "7" | |
set_from_resource $ws8 i3-wm.workspace.08.name "8" | |
set_from_resource $ws9 i3-wm.workspace.09.name "9" | |
set_from_resource $ws10 i3-wm.workspace.10.name "10" | |
set_from_resource $ws11 i3-wm.workspace.11.name "11" | |
set_from_resource $ws12 i3-wm.workspace.12.name "12" | |
set_from_resource $ws13 i3-wm.workspace.13.name "13" | |
set_from_resource $ws14 i3-wm.workspace.14.name "14" | |
set_from_resource $ws15 i3-wm.workspace.15.name "15" | |
set_from_resource $ws16 i3-wm.workspace.16.name "16" | |
set_from_resource $ws17 i3-wm.workspace.17.name "17" | |
set_from_resource $ws18 i3-wm.workspace.18.name "18" | |
set_from_resource $ws19 i3-wm.workspace.19.name "19" | |
# CUSTOM | |
############################################################################### | |
# Workspace to Screen Assignmenst | |
# These are the physical screens the workspaces have to appear | |
############################################################################### | |
# assign screens to workspaces | |
workspace "$ws1" output $thinkpad | |
workspace "$ws2" output $samsung $thinkpad | |
workspace "$ws3" output $samsung $thinkpad | |
workspace "$ws4" output $samsung $thinkpad | |
workspace "$ws5" output $thinkpad | |
workspace "$ws6" output $samsung $thinkpad | |
workspace "$ws7" output $samsung $thinkpad | |
workspace "$ws8" output $thinkpad | |
workspace "$ws9" output $thinkpad | |
workspace "$ws10" output $hdmi2 $hdmi1 $dp2 $dp1 | |
# /CUSTOM | |
############################################################################### | |
# Workspace Keys | |
# These are the keys which will be used while binding workspace switching | |
############################################################################### | |
set_from_resource $ws1_key i3-wm.workspace.01.key 1 | |
set_from_resource $ws2_key i3-wm.workspace.02.key 2 | |
set_from_resource $ws3_key i3-wm.workspace.03.key 3 | |
set_from_resource $ws4_key i3-wm.workspace.04.key 4 | |
set_from_resource $ws5_key i3-wm.workspace.05.key 5 | |
set_from_resource $ws6_key i3-wm.workspace.06.key 6 | |
set_from_resource $ws7_key i3-wm.workspace.07.key 7 | |
set_from_resource $ws8_key i3-wm.workspace.08.key 8 | |
set_from_resource $ws9_key i3-wm.workspace.09.key 9 | |
set_from_resource $ws10_key i3-wm.workspace.10.key 0 | |
############################################################################### | |
# Launcher dialogs | |
############################################################################### | |
## Launch // Terminal // <> Enter ## | |
set_from_resource $i3-wm.binding.terminal i3-wm.binding.terminal Return | |
bindsym $mod+$i3-wm.binding.terminal exec /usr/bin/x-terminal-emulator | |
## Launch // Browser // <><Shift> Enter ## | |
set_from_resource $i3-wm.binding.browser i3-wm.binding.browser Shift+Return | |
bindsym $mod+$i3-wm.binding.browser exec gtk-launch $(xdg-settings get default-web-browser) | |
set_from_resource $rofiTheme rofi.theme /etc/regolith/styles/lascaille/rofi.rasi | |
## Launch // Application // <> Space ## | |
set_from_resource $i3-wm.binding.launcher.app i3-wm.binding.launcher.app space | |
set_from_resource $i3-wm.program.launcher.app i3-wm.program.launcher.app rofi -show drun -theme $rofiTheme | |
bindsym $mod+$i3-wm.binding.launcher.app exec $i3-wm.program.launcher.app | |
## Launch // Command // <><Shift> Space ## | |
set_from_resource $i3-wm.binding.launcher.cmd i3-wm.binding.launcher.cmd Shift+space | |
set_from_resource $i3-wm.program.launcher.cmd i3-wm.program.launcher.cmd rofi -show run -theme $rofiTheme | |
bindsym $mod+$i3-wm.binding.launcher.cmd exec $i3-wm.program.launcher.cmd | |
## Navigate // Window by Name // <><Ctrl> Space ## | |
set_from_resource $i3-wm.binding.launcher.window i3-wm.binding.launcher.window Ctrl+space | |
set_from_resource $i3-wm.program.launcher.window i3-wm.program.launcher.window rofi -show window -theme $rofiTheme | |
bindsym $mod+$i3-wm.binding.launcher.window exec $i3-wm.program.launcher.window | |
## Launch // This Dialog // <><Shift> ? ## | |
set_from_resource $i3-wm.binding.help i3-wm.binding.help Shift+question | |
set_from_resource $i3-wm.program.help i3-wm.program.help /usr/bin/remontoire-toggle | |
bindsym $mod+$i3-wm.binding.help exec --no-startup-id $i3-wm.program.help | |
## Launch // File Search // <><Alt> Space ## | |
set_from_resource $i3-wm.binding.file_search i3-wm.binding.file_search Mod1+space | |
set_from_resource $i3-wm.program.file_search i3-wm.program.file_search rofi -show find -modi find:/usr/share/rofi/modi/finder.sh | |
bindsym $mod+$i3-wm.binding.file_search exec $i3-wm.program.file_search | |
## Launch // Look Selector // <><Alt> l ## | |
set_from_resource $i3-wm.binding.look_selector i3-wm.binding.look_selector Mod1+l | |
set_from_resource $i3-wm.program.look_selector i3-wm.program.look_selector rofi -show look -modi look:/usr/share/rofi/modi/look-selector.sh | |
bindsym $mod+$i3-wm.binding.look_selector exec $i3-wm.program.look_selector | |
############################################################################### | |
# Window and Workspace Navigation | |
############################################################################### | |
## Navigate // Relative Parent // <> a ##/ | |
set_from_resource $i3-wm.binding.focus_parent i3-wm.binding.focus_parent a | |
bindsym $mod+$i3-wm.binding.focus_parent focus parent | |
## Navigate // Relative Child // <> z ##/ | |
set_from_resource $i3-wm.binding.focus_child i3-wm.binding.focus_child z | |
bindsym $mod+$i3-wm.binding.focus_child focus child | |
## Navigate // Relative Window // <> ↑ ↓ ← → ## | |
bindsym $mod+Left focus left | |
bindsym $mod+Down focus down | |
bindsym $mod+Up focus up | |
bindsym $mod+Right focus right | |
## Navigate // Relative Window // <> k j h l ## | |
set_from_resource $i3-wm.binding.left i3-wm.binding.left h | |
set_from_resource $i3-wm.binding.right i3-wm.binding.right l | |
set_from_resource $i3-wm.binding.up i3-wm.binding.up k | |
set_from_resource $i3-wm.binding.down i3-wm.binding.down j | |
bindsym $mod+$i3-wm.binding.left focus left | |
bindsym $mod+$i3-wm.binding.down focus down | |
bindsym $mod+$i3-wm.binding.up focus up | |
bindsym $mod+$i3-wm.binding.right focus right | |
## Navigate // Workspaces 1-10 // <> 0..9 ## | |
bindsym $mod+$ws1_key workspace number $ws1 | |
bindsym $mod+$ws2_key workspace number $ws2 | |
bindsym $mod+$ws3_key workspace number $ws3 | |
bindsym $mod+$ws4_key workspace number $ws4 | |
bindsym $mod+$ws5_key workspace number $ws5 | |
bindsym $mod+$ws6_key workspace number $ws6 | |
bindsym $mod+$ws7_key workspace number $ws7 | |
bindsym $mod+$ws8_key workspace number $ws8 | |
bindsym $mod+$ws9_key workspace number $ws9 | |
bindsym $mod+$ws10_key workspace number $ws10 | |
## Navigate // Workspace 11 - 19 // <><Ctrl> 1..9 ## | |
bindsym $mod+Ctrl+$ws1_key workspace number $ws11 | |
bindsym $mod+Ctrl+$ws2_key workspace number $ws12 | |
bindsym $mod+Ctrl+$ws3_key workspace number $ws13 | |
bindsym $mod+Ctrl+$ws4_key workspace number $ws14 | |
bindsym $mod+Ctrl+$ws5_key workspace number $ws15 | |
bindsym $mod+Ctrl+$ws6_key workspace number $ws16 | |
bindsym $mod+Ctrl+$ws7_key workspace number $ws17 | |
bindsym $mod+Ctrl+$ws8_key workspace number $ws18 | |
bindsym $mod+Ctrl+$ws9_key workspace number $ws19 | |
## Navigate // Next Workspace // <> Tab ## | |
set_from_resource $i3-wm.binding.ws_next i3-wm.binding.ws_next Tab | |
bindsym $mod+$i3-wm.binding.ws_next workspace next | |
## Navigate // Next Workspace // <><Alt> → ## | |
set_from_resource $i3-wm.binding.ws_next2 i3-wm.binding.ws_next2 Mod1+Right | |
bindsym $mod+$i3-wm.binding.ws_next2 workspace next | |
## Navigate // Next Workspace on Output // <><Ctrl> Tab ## | |
set_from_resource $i3-wm.binding.ws_next_on_output i3-wm.binding.ws_next_on_output Ctrl+Tab | |
bindsym $mod+$i3-wm.binding.ws_next_on_output workspace next_on_output | |
## Navigate // Next Workspace on Output // <><Ctrl> l ## | |
set_from_resource $i3-wm.binding.ws_next_on_output2 i3-wm.binding.ws_next_on_output2 Ctrl+l | |
bindsym $mod+$i3-wm.binding.ws_next_on_output2 workspace next_on_output | |
## Navigate // Previous Workspace // <><Shift> Tab ## | |
set_from_resource $i3-wm.binding.ws_prev i3-wm.binding.ws_prev Shift+Tab | |
bindsym $mod+$i3-wm.binding.ws_prev workspace prev | |
## Navigate // Previous Workspace // <><Alt> ← ## | |
set_from_resource $i3-wm.binding.ws_prev2 i3-wm.binding.ws_prev2 Mod1+Left | |
bindsym $mod+$i3-wm.binding.ws_prev2 workspace prev | |
## Navigate // Previous Workspace on Output // <><Ctrl><Shift> Tab ## | |
set_from_resource $i3-wm.binding.ws_prev_on_output i3-wm.binding.ws_prev_on_output Ctrl+Shift+Tab | |
bindsym $mod+$i3-wm.binding.ws_prev_on_output workspace prev_on_output | |
## Navigate // Previous Workspace on Output // <><Ctrl> h ## | |
set_from_resource $i3-wm.binding.ws_prev_on_output2 i3-wm.binding.ws_prev_on_output2 Ctrl+h | |
bindsym $mod+$i3-wm.binding.ws_prev_on_output2 workspace prev_on_output | |
## Navigate // Next Free Workspace // <> ` ## | |
set_from_resource $i3-wm.binding.next_free i3-wm.binding.next_free grave | |
bindsym $mod+$i3-wm.binding.next_free exec --no-startup-id /usr/bin/i3-next-workspace | |
## Navigate // Scratchpad // <><Ctrl> a ## | |
set_from_resource $i3-wm.binding.scratchpad i3-wm.binding.scratchpad Ctrl+a | |
bindsym $mod+$i3-wm.binding.scratchpad scratchpad show | |
############################################################################### | |
# Window and Workspace Configuration | |
############################################################################### | |
## Modify // Window Position // <><Shift> ↑ ↓ ← → ## | |
bindsym $mod+Shift+Left move left | |
bindsym $mod+Shift+Down move down | |
bindsym $mod+Shift+Up move up | |
bindsym $mod+Shift+Right move right | |
## Modify // Window Position // <><Shift> k j h l ## | |
set_from_resource $i3-wm.binding.move_left i3-wm.binding.move_left Shift+h | |
set_from_resource $i3-wm.binding.move_right i3-wm.binding.move_right Shift+l | |
set_from_resource $i3-wm.binding.move_up i3-wm.binding.move_up Shift+k | |
set_from_resource $i3-wm.binding.move_down i3-wm.binding.move_down Shift+j | |
bindsym $mod+$i3-wm.binding.move_left move left | |
bindsym $mod+$i3-wm.binding.move_down move down | |
bindsym $mod+$i3-wm.binding.move_up move up | |
bindsym $mod+$i3-wm.binding.move_right move right | |
## Modify // Containing Workspace // <><Ctrl><Shift> ↑ ↓ ← → ## | |
bindsym $mod+Ctrl+Shift+Left move workspace to output left | |
bindsym $mod+Ctrl+Shift+Down move workspace to output down | |
bindsym $mod+Ctrl+Shift+Up move workspace to output up | |
bindsym $mod+Ctrl+Shift+Right move workspace to output right | |
## Modify // Containing Workspace // <><Ctrl><Shift> k j h l ## | |
set_from_resource $i3-wm.binding.take_left i3-wm.binding.take_left Ctrl+Shift+h | |
set_from_resource $i3-wm.binding.take_right i3-wm.binding.take_right Ctrl+Shift+l | |
set_from_resource $i3-wm.binding.take_up i3-wm.binding.take_up Ctrl+Shift+k | |
set_from_resource $i3-wm.binding.take_down i3-wm.binding.take_down Ctrl+Shift+j | |
bindsym $mod+$i3-wm.binding.take_left move workspace to output left | |
bindsym $mod+$i3-wm.binding.take_down move workspace to output down | |
bindsym $mod+$i3-wm.binding.take_up move workspace to output up | |
bindsym $mod+$i3-wm.binding.take_right move workspace to output right | |
## Modify // Vertical Window Orientation // <> v ## | |
set_from_resource $i3-wm.binding.split_v i3-wm.binding.split_v v | |
bindsym $mod+$i3-wm.binding.split_v split vertical | |
## Modify // Horizontal Window Orientation // <> g ## | |
set_from_resource $i3-wm.binding.split_h i3-wm.binding.split_h g | |
bindsym $mod+$i3-wm.binding.split_h split horizontal | |
## Modify // Toggle Window Orientation // <> Backspace ## | |
set_from_resource $i3-wm.binding.orientation_toggle i3-wm.binding.orientation_toggle BackSpace | |
bindsym $mod+$i3-wm.binding.orientation_toggle split toggle | |
## Modify // Window Fullscreen Toggle // <> f ## | |
set_from_resource $i3-wm.binding.fullscreen_toggle i3-wm.binding.fullscreen_toggle f | |
bindsym $mod+$i3-wm.binding.fullscreen_toggle fullscreen toggle | |
## Modify // Window Floating Toggle // <><Shift> f ## | |
set_from_resource $i3-wm.binding.float_toggle i3-wm.binding.float_toggle Shift+f | |
bindsym $mod+Shift+$i3-wm.binding.float_toggle floating toggle | |
## Modify // Move to Scratchpad // <><Ctrl> m ## | |
set_from_resource $i3-wm.binding.move_scratchpad i3-wm.binding.move_scratchpad Ctrl+m | |
bindsym $mod+$i3-wm.binding.move_scratchpad move to scratchpad | |
## Modify // Tile/Float Focus Toggle // <><Shift> t ## | |
set_from_resource $i3-wm.binding.focus_toggle i3-wm.binding.focus_toggle Shift+t | |
bindsym $mod+$i3-wm.binding.focus_toggle focus mode_toggle | |
## Modify // Window Layout Mode // <> t ## | |
set_from_resource $i3-wm.binding.layout_mode i3-wm.binding.layout_mode t | |
bindsym $mod+$i3-wm.binding.layout_mode layout toggle tabbed splith splitv | |
## Modify // Move Window to Workspace 1 - 10 // <><Shift> 0..9 ## | |
bindsym $mod+Shift+$ws1_key move container to workspace number $ws1 | |
bindsym $mod+Shift+$ws2_key move container to workspace number $ws2 | |
bindsym $mod+Shift+$ws3_key move container to workspace number $ws3 | |
bindsym $mod+Shift+$ws4_key move container to workspace number $ws4 | |
bindsym $mod+Shift+$ws5_key move container to workspace number $ws5 | |
bindsym $mod+Shift+$ws6_key move container to workspace number $ws6 | |
bindsym $mod+Shift+$ws7_key move container to workspace number $ws7 | |
bindsym $mod+Shift+$ws8_key move container to workspace number $ws8 | |
bindsym $mod+Shift+$ws9_key move container to workspace number $ws9 | |
bindsym $mod+Shift+$ws10_key move container to workspace number $ws10 | |
## Modify // Move Window to Workspace 11 - 19// <><Ctrl><Shift> 1..9 ## | |
bindsym $mod+Shift+Ctrl+$ws1_key move container to workspace number $ws11 | |
bindsym $mod+Shift+Ctrl+$ws2_key move container to workspace number $ws12 | |
bindsym $mod+Shift+Ctrl+$ws3_key move container to workspace number $ws13 | |
bindsym $mod+Shift+Ctrl+$ws4_key move container to workspace number $ws14 | |
bindsym $mod+Shift+Ctrl+$ws5_key move container to workspace number $ws15 | |
bindsym $mod+Shift+Ctrl+$ws6_key move container to workspace number $ws16 | |
bindsym $mod+Shift+Ctrl+$ws7_key move container to workspace number $ws17 | |
bindsym $mod+Shift+Ctrl+$ws8_key move container to workspace number $ws18 | |
bindsym $mod+Shift+Ctrl+$ws9_key move container to workspace number $ws19 | |
## Modify // Move Window to Next Free Workspace // <><Shift> ` ## | |
set_from_resource $i3-wm.binding.move_next_free i3-wm.binding.move_next_free Shift+grave | |
bindsym $mod+$i3-wm.binding.move_next_free exec --no-startup-id /usr/bin/i3-next-workspace --move-window | |
# move focused container to workspace, move to workspace | |
## Modify // Carry Window to Workspace 1 - 10// <><Alt> 0..9 ## | |
bindsym $mod+$alt+$ws1_key move container to workspace number $ws1; workspace number $ws1 | |
bindsym $mod+$alt+$ws2_key move container to workspace number $ws2; workspace number $ws2 | |
bindsym $mod+$alt+$ws3_key move container to workspace number $ws3; workspace number $ws3 | |
bindsym $mod+$alt+$ws4_key move container to workspace number $ws4; workspace number $ws4 | |
bindsym $mod+$alt+$ws5_key move container to workspace number $ws5; workspace number $ws5 | |
bindsym $mod+$alt+$ws6_key move container to workspace number $ws6; workspace number $ws6 | |
bindsym $mod+$alt+$ws7_key move container to workspace number $ws7; workspace number $ws7 | |
bindsym $mod+$alt+$ws8_key move container to workspace number $ws8; workspace number $ws8 | |
bindsym $mod+$alt+$ws9_key move container to workspace number $ws9; workspace number $ws9 | |
bindsym $mod+$alt+$ws10_key move container to workspace number $ws10; workspace number $ws10 | |
## Modify // Carry Window to Workspace 11 - 19 // <><Alt><Ctrl> 1..9 ## | |
bindsym $mod+$alt+Ctrl+$ws1_key move container to workspace number $ws11; workspace number $ws11 | |
bindsym $mod+$alt+Ctrl+$ws2_key move container to workspace number $ws12; workspace number $ws12 | |
bindsym $mod+$alt+Ctrl+$ws3_key move container to workspace number $ws13; workspace number $ws13 | |
bindsym $mod+$alt+Ctrl+$ws4_key move container to workspace number $ws14; workspace number $ws14 | |
bindsym $mod+$alt+Ctrl+$ws5_key move container to workspace number $ws15; workspace number $ws15 | |
bindsym $mod+$alt+Ctrl+$ws6_key move container to workspace number $ws16; workspace number $ws16 | |
bindsym $mod+$alt+Ctrl+$ws7_key move container to workspace number $ws17; workspace number $ws17 | |
bindsym $mod+$alt+Ctrl+$ws8_key move container to workspace number $ws18; workspace number $ws18 | |
bindsym $mod+$alt+Ctrl+$ws9_key move container to workspace number $ws19; workspace number $ws19 | |
## Modify // Carry Window to Next Free Workspace // <><Alt> ` ## | |
set_from_resource $i3-wm.binding.take_next_free i3-wm.binding.take_next_free Mod1+grave | |
bindsym $mod+$i3-wm.binding.take_next_free exec --no-startup-id /usr/bin/i3-next-workspace --move-window-and-follow | |
# Use Mouse+$mod to drag floating windows to their wanted position | |
floating_modifier $mod | |
# Hiding borders adjacent to the screen edges. | |
# The "smart" setting hides borders on workspaces with only one window visible. | |
set_from_resource $i3-wm.hide.edge.borders i3-wm.hide.edge.borders smart | |
hide_edge_borders $i3-wm.hide.edge.borders | |
############################################################################### | |
# Session Management | |
############################################################################### | |
## Session // Exit App // <><Shift> q ## | |
set_from_resource $i3-wm.binding.exit_app i3-wm.binding.exit_app Shift+q | |
bindsym $mod+$i3-wm.binding.exit_app [con_id="__focused__"] kill | |
## Session // Terminate App // <><Alt> q ## | |
set_from_resource $i3-wm.binding.kill_app i3-wm.binding.kill_app Mod1+q | |
bindsym $mod+$i3-wm.binding.kill_app [con_id="__focused__"] exec --no-startup-id kill -9 $(xdotool getwindowfocus getwindowpid) | |
## Session // Reload i3 Config // <><Shift> c ## | |
set_from_resource $i3-wm.binding.reload i3-wm.binding.reload Shift+c | |
bindsym $mod+$i3-wm.binding.reload reload | |
## Session // Refresh Session // <><Shift> r ## | |
set_from_resource $i3-wm.binding.refresh i3-wm.binding.refresh Shift+r | |
set_from_resource $i3-wm.program.refresh_ui i3-wm.program.refresh_ui /usr/bin/regolith-look refresh | |
bindsym $mod+$i3-wm.binding.refresh exec --no-startup-id $i3-wm.program.refresh_ui | |
## Session // Restart i3 // <><Ctrl> r ## | |
set_from_resource $i3-wm.binding.restart i3-wm.binding.restart Ctrl+r | |
bindsym $mod+$i3-wm.binding.restart restart | |
## Session // Logout // <><Shift> e ## | |
set_from_resource $i3-wm.binding.logout i3-wm.binding.logout Shift+e | |
set_from_resource $i3-wm.program.logout i3-wm.program.logout /usr/bin/gnome-session-quit --logout | |
bindsym $mod+$i3-wm.binding.logout exec $i3-wm.program.logout | |
## Session // Reboot // <><Shift> b ## | |
set_from_resource $i3-wm.binding.reboot i3-wm.binding.reboot Shift+b | |
set_from_resource $i3-wm.program.reboot i3-wm.program.reboot /usr/bin/gnome-session-quit --reboot | |
bindsym $mod+$i3-wm.binding.reboot exec $i3-wm.program.reboot | |
## Session // Power Down // <><Shift> p ## | |
set_from_resource $i3-wm.binding.shutdown i3-wm.binding.shutdown Shift+p | |
set_from_resource $i3-wm.program.shutdown i3-wm.program.shutdown /usr/bin/gnome-session-quit --power-off | |
bindsym $mod+$i3-wm.binding.shutdown exec $i3-wm.program.shutdown | |
## Session // Lock Screen // <> Escape ## | |
set_from_resource $i3-wm.binding.lock i3-wm.binding.lock Escape | |
set_from_resource $i3-wm.program.lock i3-wm.program.lock dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock | |
bindsym $mod+$i3-wm.binding.lock exec $i3-wm.program.lock | |
## Session // Sleep // <><Shift> s ## | |
set_from_resource $i3-wm.binding.sleep i3-wm.binding.sleep Shift+s | |
set_from_resource $i3-wm.program.sleep i3-wm.program.sleep systemctl suspend | |
bindsym $mod+$i3-wm.binding.sleep exec $i3-wm.program.sleep | |
############################################################################### | |
# System Management | |
############################################################################### | |
## Modify // Settings // <> c ## | |
set_from_resource $i3-wm.binding.settings i3-wm.binding.settings c | |
set_from_resource $i3-wm.program.settings i3-wm.program.settings gnome-control-center --class=floating_window | |
bindsym $mod+$i3-wm.binding.settings exec $i3-wm.program.settings | |
## Modify // Display Settings // <> d ## | |
set_from_resource $i3-wm.binding.display i3-wm.binding.display d | |
set_from_resource $i3-wm.program.display i3-wm.program.display gnome-control-center --class=floating_window display | |
bindsym $mod+$i3-wm.binding.display exec $i3-wm.program.display | |
## Modify // Wifi Settings // <> w ## | |
set_from_resource $i3-wm.binding.wifi i3-wm.binding.wifi w | |
set_from_resource $i3-wm.program.wifi i3-wm.program.wifi gnome-control-center --class=floating_window wifi | |
bindsym $mod+$i3-wm.binding.wifi exec $i3-wm.program.wifi | |
## Modify // Bluetooth Settings // <> b ## | |
set_from_resource $i3-wm.binding.bluetooth i3-wm.binding.bluetooth b | |
set_from_resource $i3-wm.program.bluetooth i3-wm.program.bluetooth gnome-control-center --class=floating_window bluetooth | |
bindsym $mod+$i3-wm.binding.bluetooth exec $i3-wm.program.bluetooth | |
## Launch // File Browser // <><Shift> n ## | |
set_from_resource $i3-wm.binding.files i3-wm.binding.files Shift+n | |
set_from_resource $i3-wm.program.files i3-wm.program.files /usr/bin/nautilus --new-window | |
bindsym $mod+$i3-wm.binding.files exec $i3-wm.program.files | |
## Launch // Notification Viewer // <> n ## | |
set_from_resource $i3-wm.binding.notification_ui i3-wm.binding.notification_ui n | |
set_from_resource $i3-wm.program.notification_ui i3-wm.program.notification_ui /usr/bin/rofication-gui | |
bindsym $mod+$i3-wm.binding.notification_ui exec $i3-wm.program.notification_ui | |
############################################################################### | |
# Workspace Management | |
############################################################################### | |
# i3-snapshot for load/save current layout | |
## Modify // Save Window Layout // <> , ## | |
set_from_resource $i3-wm.binding.save_layout i3-wm.binding.save_layout comma | |
bindsym $mod+$i3-wm.binding.save_layout exec /usr/bin/i3-snapshot -o > /tmp/i3-snapshot | |
## Modify // Load Window Layout // <> . ## | |
set_from_resource $i3-wm.binding.load_layout i3-wm.binding.load_layout period | |
bindsym $mod+$i3-wm.binding.load_layout exec /usr/bin/i3-snapshot -c < /tmp/i3-snapshot | |
# Toggle bar visibility | |
## Modify // Toggle Bar // <> i ## | |
set_from_resource $i3-wm.binding.bar_toggle i3-wm.binding.bar_toggle i | |
bindsym $mod+$i3-wm.binding.bar_toggle bar mode toggle | |
# Cause Settings app to float above tiled windows | |
floating_maximum_size -1 x -1 | |
for_window [class="floating_window"] floating enable | |
set_from_resource $i3-wm.workspace.auto_back_and_forth i3-wm.workspace.auto_back_and_forth no | |
workspace_auto_back_and_forth $i3-wm.workspace.auto_back_and_forth | |
############################################################################### | |
# Window Resize and Gaps | |
############################################################################### | |
set_from_resource $i3-wm.binding.inc_gaps i3-wm.binding.inc_gaps plus | |
set_from_resource $i3-wm.binding.dec_gaps i3-wm.binding.dec_gaps minus | |
set_from_resource $i3-wm.binding.inc_gaps_big i3-wm.binding.inc_gaps_big Shift+plus | |
set_from_resource $i3-wm.binding.dec_gaps_big i3-wm.binding.dec_gaps_big Shift+minus | |
## Resize // Enter Resize Mode // <> r ## | |
mode "Resize Mode" { | |
# These bindings trigger as soon as you enter the resize mode | |
## Resize // Resize Window // ↑ ↓ ← → ## | |
bindsym Left resize shrink width 6 px or 6 ppt | |
bindsym Down resize grow height 6 px or 6 ppt | |
bindsym Up resize shrink height 6 px or 6 ppt | |
bindsym Right resize grow width 6 px or 6 ppt | |
bindsym Shift+Left resize shrink width 12 px or 12 ppt | |
bindsym Shift+Down resize grow height 12 px or 12 ppt | |
bindsym Shift+Up resize shrink height 12 px or 12 ppt | |
bindsym Shift+Right resize grow width 12 px or 12 ppt | |
## Resize // Resize Window // k j h l ## | |
bindsym $i3-wm.binding.left resize shrink width 6 px or 6 ppt | |
bindsym $i3-wm.binding.up resize grow height 6 px or 6 ppt | |
bindsym $i3-wm.binding.down resize shrink height 6 px or 6 ppt | |
bindsym $i3-wm.binding.right resize grow width 6 px or 6 ppt | |
bindsym $i3-wm.binding.move_left resize shrink width 12 px or 12 ppt | |
bindsym $i3-wm.binding.move_up resize grow height 12 px or 12 ppt | |
bindsym $i3-wm.binding.move_down resize shrink height 12 px or 12 ppt | |
bindsym $i3-wm.binding.move_right resize grow width 12 px or 12 ppt | |
## Resize // Window Gaps // + - ## | |
bindsym $i3-wm.binding.dec_gaps gaps inner current minus 6 | |
bindsym $i3-wm.binding.inc_gaps gaps inner current plus 6 | |
bindsym $i3-wm.binding.dec_gaps_big gaps inner current minus 12 | |
bindsym $i3-wm.binding.inc_gaps_big gaps inner current plus 12 | |
## Resize // Exit Resize Mode // Escape or Enter ## | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
bindsym $mod+r mode "default" | |
} | |
bindsym $mod+r mode "Resize Mode" | |
############################################################################### | |
# i3 Appearance and Behavior | |
############################################################################### | |
# Disable titlebar | |
set_from_resource $i3-wm.window.border.size i3-wm.window.border.size 1 | |
set_from_resource $i3-wm.floatingwindow.border.size i3-wm.floatingwindow.border.size 1 | |
default_border pixel $i3-wm.window.border.size | |
default_floating_border pixel $i3-wm.floatingwindow.border.size | |
# Specify the distance between windows in pixels. (i3-gaps) | |
set_from_resource $i3-wm.gaps.inner.size i3-wm.gaps.inner.size 5 | |
set_from_resource $i3-wm.gaps.outer.size i3-wm.gaps.outer.size 0 | |
gaps inner $i3-wm.gaps.inner.size | |
gaps outer $i3-wm.gaps.outer.size | |
# Only enable gaps on a workspace when there is at least one container | |
set_from_resource $i3-wm.gaps.smart i3-wm.gaps.smart on | |
smart_gaps $i3-wm.gaps.smart | |
# Enable popup during fullscreen | |
set_from_resource $i3-wm.gaps.popup_during_fullscreen i3-wm.gaps.popup_during_fullscreen smart | |
popup_during_fullscreen $i3-wm.gaps.popup_during_fullscreen | |
# window focus follows your mouse movements as the mouse crosses window borders | |
set_from_resource $i3-wm.gaps.focus_follows_mouse i3-wm.gaps.focus_follows_mouse no | |
focus_follows_mouse $i3-wm.gaps.focus_follows_mouse | |
############################################################################### | |
# i3 Colors and Fonts | |
############################################################################### | |
# Create variables from Xresources for i3's look. | |
set_from_resource $focused.color.border i3-wm.client.focused.color.border "#002b36" | |
set_from_resource $focused.color.background i3-wm.client.focused.color.background "#586e75" | |
set_from_resource $focused.color.text i3-wm.client.focused.color.text "#fdf6e3" | |
set_from_resource $focused.color.indicator i3-wm.client.focused.color.indicator "#268bd2" | |
set_from_resource $focused.color.child_border i3-wm.client.focused.color.child_border | |
set_from_resource $focused_inactive.color.border i3-wm.client.focused_inactive.color.border "#002b36" | |
set_from_resource $focused_inactive.color.background i3-wm.client.focused_inactive.color.background "#073642" | |
set_from_resource $focused_inactive.color.text i3-wm.client.focused_inactive.color.text "#839496" | |
set_from_resource $focused_inactive.color.indicator i3-wm.client.focused_inactive.color.indicator "#073642" | |
set_from_resource $focused_inactive.color.child_border i3-wm.client.focused_inactive.color.child_border | |
set_from_resource $unfocused.color.border i3-wm.client.unfocused.color.border "#002b36" | |
set_from_resource $unfocused.color.background i3-wm.client.unfocused.color.background "#073642" | |
set_from_resource $unfocused.color.text i3-wm.client.unfocused.color.text "#839496" | |
set_from_resource $unfocused.color.indicator i3-wm.client.unfocused.color.indicator "#073642" | |
set_from_resource $unfocused.color.child_border i3-wm.client.unfocused.color.child_border | |
set_from_resource $urgent.color.border i3-wm.client.urgent.color.border "#002b36" | |
set_from_resource $urgent.color.background i3-wm.client.urgent.color.background "#dc322f" | |
set_from_resource $urgent.color.text i3-wm.client.urgent.color.text "#fdf6e3" | |
set_from_resource $urgent.color.indicator i3-wm.client.urgent.color.indicator "#002b36" | |
set_from_resource $urgent.color.child_border i3-wm.client.urgent.color.child_border | |
# Window Border color | |
# class border background text indicator child_border | |
client.focused $focused.color.border $focused.color.background $focused.color.text $focused.color.indicator $focused.color.child_border | |
client.focused_inactive $focused_inactive.color.border $focused_inactive.color.background $focused_inactive.color.text $focused_inactive.color.indicator $focused_inactive.color.child_border | |
client.unfocused $unfocused.color.border $unfocused.color.background $unfocused.color.text $unfocused.color.indicator $unfocused.color.child_border | |
client.urgent $urgent.color.border $urgent.color.background $urgent.color.text $urgent.color.indicator $urgent.color.child_border | |
# Create variables from Xresources for i3bars's look. | |
set_from_resource $i3-wm.bar.background.color i3-wm.bar.background.color "#002b36" | |
set_from_resource $i3-wm.bar.statusline.color i3-wm.bar.statusline.color "#93a1a1" | |
set_from_resource $i3-wm.bar.separator.color i3-wm.bar.separator.color "#268bd2" | |
set_from_resource $i3-wm.bar.workspace.focused.border.color i3-wm.bar.workspace.focused.border.color "#073642" | |
set_from_resource $i3-wm.bar.workspace.focused.background.color i3-wm.bar.workspace.focused.background.color "#073642" | |
set_from_resource $i3-wm.bar.workspace.focused.text.color i3-wm.bar.workspace.focused.text.color "#eee8d5" | |
set_from_resource $i3-wm.bar.workspace.active.border.color i3-wm.bar.workspace.active.border.color "#073642" | |
set_from_resource $i3-wm.bar.workspace.active.background.color i3-wm.bar.workspace.active.background.color "#073642" | |
set_from_resource $i3-wm.bar.workspace.active.text.color i3-wm.bar.workspace.active.text.color "#586e75" | |
set_from_resource $i3-wm.bar.workspace.inactive.border.color i3-wm.bar.workspace.inactive.border.color "#002b36" | |
set_from_resource $i3-wm.bar.workspace.inactive.background.color i3-wm.bar.workspace.inactive.background.color "#002b36" | |
set_from_resource $i3-wm.bar.workspace.inactive.text.color i3-wm.bar.workspace.inactive.text.color "#586e75" | |
set_from_resource $i3-wm.bar.workspace.urgent.border.color i3-wm.bar.workspace.urgent.border.color "#dc322f" | |
set_from_resource $i3-wm.bar.workspace.urgent.background.color i3-wm.bar.workspace.urgent.background.color "#dc322f" | |
set_from_resource $i3-wm.bar.workspace.urgent.text.color i3-wm.bar.workspace.urgent.text.color "#fdf6e3" | |
# Sets i3 font for dialogs | |
set_from_resource $i3-wm.font i3-wm.font pango:Source Code Pro Medium 13 | |
font $i3-wm.font | |
############################################################################### | |
# i3 Bar | |
############################################################################### | |
set_from_resource $i3-wm.bar.position i3-wm.bar.position bottom | |
set_from_resource $i3-wm.bar.font i3-wm.bar.font pango:Source Code Pro Medium 13, Material Design Icons 13 | |
set_from_resource $i3-wm.bar.separator i3-wm.bar.separator " " | |
set_from_resource $i3-wm.bar.trayoutput i3-wm.bar.trayoutput primary | |
set_from_resource $i3-wm.bar.stripworkspacenumbers i3-wm.bar.stripworkspacenumbers yes | |
set_from_resource $i3-wm.bar.mode i3-wm.bar.mode dock | |
# i3xrocks config file. Override this for a custom status bar generator. | |
set_from_resource $i3-wm.bar.status_command i3-wm.bar.status_command i3xrocks -u ~/.config/regolith/i3xrocks/conf.d -d /etc/regolith/i3xrocks/conf.d | |
# The bar configuration | |
bar { | |
position $i3-wm.bar.position | |
mode $i3-wm.bar.mode | |
font $i3-wm.bar.font | |
separator_symbol $i3-wm.bar.separator | |
status_command $i3-wm.bar.status_command | |
tray_output $i3-wm.bar.trayoutput | |
strip_workspace_numbers $i3-wm.bar.stripworkspacenumbers | |
colors { | |
background $i3-wm.bar.background.color | |
statusline $i3-wm.bar.statusline.color | |
separator $i3-wm.bar.separator.color | |
# BORDER BACKGROUND TEXT | |
focused_workspace $i3-wm.bar.workspace.focused.border.color $i3-wm.bar.workspace.focused.background.color $i3-wm.bar.workspace.focused.text.color | |
active_workspace $i3-wm.bar.workspace.active.border.color $i3-wm.bar.workspace.active.background.color $i3-wm.bar.workspace.active.text.color | |
inactive_workspace $i3-wm.bar.workspace.inactive.border.color $i3-wm.bar.workspace.inactive.background.color $i3-wm.bar.workspace.inactive.text.color | |
urgent_workspace $i3-wm.bar.workspace.urgent.border.color $i3-wm.bar.workspace.urgent.background.color $i3-wm.bar.workspace.urgent.text.color | |
} | |
} | |
############################################################################### | |
# External programs launched with i3 | |
############################################################################### | |
# Start the installed regolith-compositor | |
set_from_resource $i3-wm.program.compositor i3-wm.program.compositor /usr/share/regolith-compositor/init | |
exec_always --no-startup-id $i3-wm.program.compositor | |
# Start Rofication for notifications | |
set_from_resource $i3-wm.program.notifications i3-wm.program.notifications /usr/bin/rofication-daemon | |
exec --no-startup-id $i3-wm.program.notifications | |
# Launch first time user experience script | |
set_from_resource $i3-wm.program.ftui i3-wm.program.ftui /usr/bin/regolith-ftue | |
exec --no-startup-id $i3-wm.program.ftui | |
# Hide the mouse pointer if unused for a duration | |
set_from_resource $i3-wm.program.unclutter i3-wm.program.unclutter /usr/bin/unclutter -b | |
exec --no-startup-id $i3-wm.program.unclutter | |
# Load nm-applet to provide auth dialogs for network access | |
set_from_resource $i3-wm.program.nm-applet i3-wm.program.nm-applet /usr/bin/nm-applet | |
exec --no-startup-id $i3-wm.program.nm-applet | |
# User programs from Xresources | |
# To use, define an Xresource key i3-wm.program.[1-3] with the value of the program to launch. | |
# See https://regolith-linux.org/docs/howto/override-xres/ for details. | |
set_from_resource $i3-wm.program.1 i3-wm.program.1 : | |
exec --no-startup-id $i3-wm.program.1 | |
set_from_resource $i3-wm.program.2 i3-wm.program.2 : | |
exec --no-startup-id $i3-wm.program.2 | |
set_from_resource $i3-wm.program.3 i3-wm.program.3 : | |
exec --no-startup-id $i3-wm.program.3 | |
# CUSTOM til end | |
############### | |
# assign specific windows to workspaces | |
# 1 TERM | |
assign [class="^Gnome-terminal$"] → $ws1 | |
assign [class="^Mate-terminal$"] → $ws1 | |
# 2 WEB | |
assign [class="^Firefox$"] → $ws2 | |
assign [class="^Google-chrome$"] → $ws2 | |
# 3 DEV | |
assign [class="^Sublime_text$"] → $ws3 | |
assign [class="^Code$"] → $ws3 | |
assign [class="^.*jetbrains-pycharm.*$"] → $ws3 | |
# 4 OFFICE | |
assign [class="^.*ibreoffice.*$"] → $ws4 | |
assign [class="^Gimp$"] → $ws4s | |
assign [class="^Inkscape$"] → $ws4 | |
# 5 FILE | |
assign [class="^*rg.gnome.Nautilus$"] → $ws5 | |
assign [class="^Nemo$"] → $ws5 | |
assign [class="^Krusader$"] → $ws5 | |
assign [class="^Caja$"] → $ws5 | |
assign [class="^Sparkle$"] → $ws5 | |
assign [class="^Nextcloud$"] → $ws5 | |
# 6 MAIL | |
assign [class="^Thunderbird$"] → $ws6 | |
# 7 CHAT | |
assign [class="^Gajim$"] → $ws7 | |
assign [class="^Skype$"] → $ws7 | |
assign [class="^Gitter$"] → $ws7 | |
assign [class="^discord$"] → $ws7 | |
assign [class="^Slack$"] → $ws7 | |
# 8 MEDIA | |
assign [class="^banshee$"] → $ws8 | |
assign [class="^Clementine$"] → $ws8 | |
assign [class="^Gnome-control-center\.real$"] → $ws8 | |
assign [class="^Kazam$"] → $ws8 | |
assign [class="^Pavucontrol$"] → $ws8 | |
assign [class="^*potify$"] → $ws8 | |
assign [class="^Zoom$"] → $ws8 | |
# 9 SEC | |
assign [class="keepassxc^$"] → $ws9 | |
###########e | |
# autostart | |
exec --no-startup-id i3-msg 'workspace $ws1; exec /usr/bin/gnome-terminal' | |
exec --no-startup-id i3-msg 'workspace $ws2; exec /usr/bin/firefox -new-instance -p default' | |
exec --no-startup-id i3-msg 'workspace $ws3; exec /usr/bin/code' | |
exec --no-startup-id i3-msg 'workspace $ws5; exec /usr/bin/nautilus' | |
exec --no-startup-id i3-msg 'workspace $ws7; exec /snap/bin/skype' | |
exec --no-startup-id i3-msg 'workspace $ws7; exec /snap/bin/slack' | |
exec --no-startup-id i3-msg 'workspace $ws7; exec /usr/bin/discord' | |
exec --no-startup-id i3-msg 'workspace $ws8; exec /usr/bin/pavucontrol' | |
exec --no-startup-id i3-msg 'workspace $ws9; exec /usr/bin/keepassxc' | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
i3-wm.gaps.focus_follows_mouse: yes | |
i3-wm.bar.trayoutput: eDP-1 | |
i3-wm.bar.stripworkspacenumbers: no | |
i3-wm.workspace.01.name: 1: term | |
i3-wm.workspace.02.name: 2: web | |
i3-wm.workspace.03.name: 3: dev | |
i3-wm.workspace.04.name: 4: apps | |
i3-wm.workspace.05.name: 5: files | |
i3-wm.workspace.06.name: 6: mail | |
i3-wm.workspace.07.name: 7: chat | |
i3-wm.workspace.08.name: 8: media | |
i3-wm.workspace.09.name: 9: sec | |
i3-wm.workspace.10.name: 0: ext |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment