Skip to content

Instantly share code, notes, and snippets.

@jensens
Last active March 1, 2021 09:53
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jensens/eabd5416e884b43591976fca34c4e2df to your computer and use it in GitHub Desktop.
Save jensens/eabd5416e884b43591976fca34c4e2df to your computer and use it in GitHub Desktop.
config
i3-wm.bar.trayoutput: eDP-1
i3-wm.gaps.focus_follows_mouse: yes
i3-wm.program.files: /usr/bin/nemo
i3-wm.workspace.01.name: 1:<span font_desc='JetBrains Mono Medium 10'> 1 terminal </span>
i3-wm.workspace.02.name: 2:<span font_desc='JetBrains Mono Medium 10'> 2 web </span>
i3-wm.workspace.03.name: 3:<span font_desc='JetBrains Mono Medium 10'> 3 dev </span>
i3-wm.workspace.04.name: 4:<span font_desc='JetBrains Mono Medium 10'> 4 mail </span>
i3-wm.workspace.05.name: 5:<span font_desc='JetBrains Mono Medium 10'> 5 chat </span>
i3-wm.workspace.06.name: 6:<span font_desc='JetBrains Mono Medium 10'> 6 file </span>
i3-wm.workspace.07.name: 7:<span font_desc='JetBrains Mono Medium 10'> 7 office </span>
i3-wm.workspace.08.name: 8:<span font_desc='JetBrains Mono Medium 10'> 8 media </span>
i3-wm.workspace.09.name: 9:<span font_desc='JetBrains Mono Medium 10'> 9 security </span>
###############################################################################
# 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, may 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 enable users to
# change the configuration without having to make a copy of this config file.
# The benefit to not copying this file is easier upgrading 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:
# 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:
# ## <Category> // <Action> // <Keybinding> ##
# Learn more at https://github.com/regolith-linux/remontoire
#
# section=top
###############################################################################
#INCLUDE prepend
###############################################################################
# CUSTOM: Display specific
# keep at TOP
###############################################################################
# switch numlock on
# needs apt install numlockx
exec /usr/bin/numlockx on
# start the networkmanager applet
exec /usr/bin/dbus-launch nm-applet
# bind key for office mode
## Display // Single Screen // <><Ctrl> i ##
bindsym $mod+Ctrl+i exec /home/jensens/.screenlayout/single.sh
## Display // Dual Screen Office // <><Ctrl> o ##
bindsym $mod+Ctrl+o exec /home/jensens/.screenlayout/office.sh
# Define Screens:
set $thinkpad eDP-1
set $hdmi1 HDMI-1
set $hdmi2 HDMI-2
set $dp1 DP-1
set $dp2 DP-2
set $samsung DP-1
###############################################################################
# Meta Key Mappings
# Alt key is Mod1, and Windows key is Mod4
# section=meta_key_mappings
###############################################################################
set_from_resource $mod i3-wm.mod Mod4
set_from_resource $alt i3-wm.alt Mod1
###############################################################################
# Workspace Names
# These are the labels which define each i3 workspace.
# section=workspace_names
###############################################################################
set_from_resource $ws1 i3-wm.workspace.01.name "1"
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"
###############################################################################
# Launcher dialogs
# section=launcher_dialogs
###############################################################################
## Launch // Terminal // <> Enter ##
bindsym $mod+Return exec /usr/bin/x-terminal-emulator
## Launch // Browser // <><Shift> Enter ##
bindsym $mod+Shift+Return exec gtk-launch $(xdg-settings get default-web-browser)
set_from_resource $rofiTheme rofi.theme /etc/regolith/styles/cahuella/rofi.rasi
## Launch // Application // <> Space ##
set_from_resource $i3-wm.program.launcher.app i3-wm.program.launcher.app rofi -show drun -theme $rofiTheme
bindsym $mod+space exec $i3-wm.program.launcher.app
## Launch // Command // <><Shift> Space ##
set_from_resource $i3-wm.program.launcher.cmd i3-wm.program.launcher.cmd rofi -show run -theme $rofiTheme
bindsym $mod+Shift+space exec $i3-wm.program.launcher.cmd
## Navigate // Window by Name // <><Ctrl> Space ##
set_from_resource $i3-wm.program.launcher.window i3-wm.program.launcher.window rofi -show window -theme $rofiTheme
bindsym $mod+Ctrl+space exec $i3-wm.program.launcher.window
## Launch // This Dialog // <><Shift> ? ##
set_from_resource $i3-wm.program.help i3-wm.program.help /usr/bin/remontoire-toggle
bindsym $mod+Shift+question exec --no-startup-id $i3-wm.program.help
## Launch // File Search // <><Alt> 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+$alt+space exec $i3-wm.program.file_search
###############################################################################
# Window and Workspace Navigation
# section=window_and_workspace_navigation
###############################################################################
## 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 ##
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
## Navigate // Workspaces 1-10 // <> 0..9 ##
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
## Navigate // Workspace 11 - 19 // <><Ctrl> 0..9 ##
bindsym $mod+Ctrl+1 workspace number $ws11
bindsym $mod+Ctrl+2 workspace number $ws12
bindsym $mod+Ctrl+3 workspace number $ws13
bindsym $mod+Ctrl+4 workspace number $ws14
bindsym $mod+Ctrl+5 workspace number $ws15
bindsym $mod+Ctrl+6 workspace number $ws16
bindsym $mod+Ctrl+7 workspace number $ws17
bindsym $mod+Ctrl+8 workspace number $ws18
bindsym $mod+Ctrl+9 workspace number $ws19
## Navigate // Next Workspace // <> Tab ##
bindsym $mod+Tab workspace next
## Navigate // Next Workspace // <><Alt> → ##
bindsym $mod+$alt+Right workspace next
## Navigate // Previous Workspace // <><Shift> Tab ##
bindsym $mod+Shift+Tab workspace prev
## Navigate // Previous Workspace // <><Alt> ← ##
bindsym $mod+$alt+Left workspace prev
## Navigate // Scratchpad // <><Ctrl> a ##
bindsym $mod+Ctrl+a 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 ##
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l 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 // Next Window Orientation // <> Backspace ##
bindsym $mod+BackSpace split toggle
## Modify // Window Fullscreen Toggle // <> f ##
bindsym $mod+f fullscreen toggle
## Modify // Window Floating Toggle // <><Shift> f ##
bindsym $mod+Shift+f floating toggle
## Modify // Move to Scratchpad // <><Ctrl> m ##
bindsym $mod+Ctrl+m move to scratchpad
## Modify // Tile/Float Focus Toggle // <><Shift> t ##
bindsym $mod+Shift+t focus mode_toggle
## Modify // Window Layout Mode // <> t ##
bindsym $mod+t layout toggle tabbed splith splitv
## Modify // Move Window to Workspace 1 - 10 // <><Shift> 0..9 ##
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
## Modify // Move Window to Workspace 11 - 19// <><Ctrl><Shift> 0..9 ##
bindsym $mod+Shift+Ctrl+1 move container to workspace number $ws11
bindsym $mod+Shift+Ctrl+2 move container to workspace number $ws12
bindsym $mod+Shift+Ctrl+3 move container to workspace number $ws13
bindsym $mod+Shift+Ctrl+4 move container to workspace number $ws14
bindsym $mod+Shift+Ctrl+5 move container to workspace number $ws15
bindsym $mod+Shift+Ctrl+6 move container to workspace number $ws16
bindsym $mod+Shift+Ctrl+7 move container to workspace number $ws17
bindsym $mod+Shift+Ctrl+8 move container to workspace number $ws18
bindsym $mod+Shift+Ctrl+9 move container to workspace number $ws19
# move focused container to workspace, move to workspace
## Modify // Carry Window to Workspace 1 - 10// <><Alt> 0..9 ##
bindsym $mod+$alt+1 move container to workspace number $ws1; workspace number $ws1
bindsym $mod+$alt+2 move container to workspace number $ws2; workspace number $ws2
bindsym $mod+$alt+3 move container to workspace number $ws3; workspace number $ws3
bindsym $mod+$alt+4 move container to workspace number $ws4; workspace number $ws4
bindsym $mod+$alt+5 move container to workspace number $ws5; workspace number $ws5
bindsym $mod+$alt+6 move container to workspace number $ws6; workspace number $ws6
bindsym $mod+$alt+7 move container to workspace number $ws7; workspace number $ws7
bindsym $mod+$alt+8 move container to workspace number $ws8; workspace number $ws8
bindsym $mod+$alt+9 move container to workspace number $ws9; workspace number $ws9
bindsym $mod+$alt+0 move container to workspace number $ws10; workspace number $ws10
## Modify // Carry Window to Workspace 11 - 19 // <><Alt><Ctrl> 0..9 ##
bindsym $mod+$alt+Ctrl+1 move container to workspace number $ws11; workspace number $ws11
bindsym $mod+$alt+Ctrl+2 move container to workspace number $ws12; workspace number $ws12
bindsym $mod+$alt+Ctrl+3 move container to workspace number $ws13; workspace number $ws13
bindsym $mod+$alt+Ctrl+4 move container to workspace number $ws14; workspace number $ws14
bindsym $mod+$alt+Ctrl+5 move container to workspace number $ws15; workspace number $ws15
bindsym $mod+$alt+Ctrl+6 move container to workspace number $ws16; workspace number $ws16
bindsym $mod+$alt+Ctrl+7 move container to workspace number $ws17; workspace number $ws17
bindsym $mod+$alt+Ctrl+8 move container to workspace number $ws18; workspace number $ws18
bindsym $mod+$alt+Ctrl+9 move container to workspace number $ws19; workspace number $ws19
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
hide_edge_borders smart
###############################################################################
# Session Management
###############################################################################
## Session // Exit App // <><Shift> q ##
bindsym $mod+Shift+q [con_id="__focused__"] kill
## Session // Terminate App // <><Alt> q ##
bindsym $mod+$alt+q [con_id="__focused__"] exec --no-startup-id kill -9 $(xdotool getwindowfocus getwindowpid)
## Session // Reload i3 Config // <><Shift> c ##
bindsym $mod+Shift+c reload
## Session // Refresh Session // <><Shift> r ##
set_from_resource $i3-wm.program.refresh_ui i3-wm.program.refresh_ui /usr/bin/regolith-look refresh
bindsym $mod+Shift+r exec --no-startup-id $i3-wm.program.refresh_ui
## Session // Restart i3 // <><Ctrl> r ##
bindsym $mod+Ctrl+r restart
## Session // Logout // <><Shift> e ##
set_from_resource $i3-wm.program.logout i3-wm.program.logout /usr/bin/gnome-session-quit --logout
bindsym $mod+Shift+e exec $i3-wm.program.logout
## Session // Reboot // <><Shift> b ##
set_from_resource $i3-wm.program.reboot i3-wm.program.reboot /usr/bin/gnome-session-quit --reboot
bindsym $mod+Shift+b exec $i3-wm.program.reboot
## Session // Power Down // <><Shift> p ##
set_from_resource $i3-wm.program.shutdown i3-wm.program.shutdown /usr/bin/gnome-session-quit --power-off
bindsym $mod+Shift+p exec $i3-wm.program.shutdown
## Session // Lock Screen // <> 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+Escape exec $i3-wm.program.lock
## Session // Sleep // <><Shift> s ##
set_from_resource $i3-wm.program.sleep i3-wm.program.sleep systemctl suspend
bindsym $mod+Shift+s exec $i3-wm.program.sleep
###############################################################################
# System Management
###############################################################################
## Modify // Settings // <> c ##
set_from_resource $i3-wm.program.settings i3-wm.program.settings gnome-control-center
bindsym $mod+c exec $i3-wm.program.settings
## Modify // Display Settings // <> d ##
set_from_resource $i3-wm.program.display i3-wm.program.display gnome-control-center display
bindsym $mod+d exec $i3-wm.program.display
## Modify // Wifi Settings // <> w ##
set_from_resource $i3-wm.program.wifi i3-wm.program.wifi gnome-control-center wifi
bindsym $mod+w exec $i3-wm.program.wifi
## Modify // Bluetooth Settings // <> b ##
set_from_resource $i3-wm.program.bluetooth i3-wm.program.bluetooth gnome-control-center bluetooth
bindsym $mod+b exec $i3-wm.program.bluetooth
## Launch // File Browser // <><Shift> n ##
set_from_resource $i3-wm.program.files i3-wm.program.files /usr/bin/nautilus --new-window
bindsym $mod+Shift+n exec $i3-wm.program.files
## Launch // Notification Viewer // <> n ##
set_from_resource $i3-wm.program.notification_ui i3-wm.program.notification_ui /usr/bin/rofication-gui
bindsym $mod+n exec $i3-wm.program.notification_ui
# CUSTOM
## Modify // Keyboard Backlight Increase // <Fn> <Ctrl> <Lamp+> ##
bindsym Ctrl+XF86MonBrightnessUp exec "sudo /usr/bin/brightnessctl -d tpacpi::kbd_backlight s +1"
## Modify // Keyboard Backlight Decrease // <Fn> <Ctrl> <Lamp-> ##
bindsym Ctrl+XF86MonBrightnessDown exec "sudo /usr/bin/brightnessctl -d tpacpi::kbd_backlight s 1-"
# /CUSTOM
###############################################################################
# Workspace Management
###############################################################################
# i3-snapshot for load/save current layout
## Modify // Save Window Layout // <> , ##
bindsym $mod+comma exec /usr/bin/i3-snapshot -o > /tmp/i3-snapshot
## Modify // Load Window Layout // <> . ##
bindsym $mod+period exec /usr/bin/i3-snapshot -c < /tmp/i3-snapshot
# Toggle bar visibility
## Modify // Toggle Bar // <> i ##
bindsym $mod+i bar mode toggle
# Cause Settings app to float above tiled windows
floating_maximum_size -1 x -1
for_window [class="Gnome-control-center"] floating enable
###############################################################################
# Window Resize and Gaps
###############################################################################
## 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 h resize shrink width 6 px or 6 ppt
bindsym k resize grow height 6 px or 6 ppt
bindsym j resize shrink height 6 px or 6 ppt
bindsym l resize grow width 6 px or 6 ppt
bindsym Shift+h resize shrink width 12 px or 12 ppt
bindsym Shift+k resize grow height 12 px or 12 ppt
bindsym Shift+j resize shrink height 12 px or 12 ppt
bindsym Shift+l resize grow width 12 px or 12 ppt
## Resize // Window Gaps // + - ##
bindsym minus gaps inner current minus 6
bindsym plus gaps inner current plus 6
bindsym Shift+minus gaps inner current minus 12
bindsym Shift+plus 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 no
###############################################################################
# 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 none
set_from_resource $i3-wm.bar.stripworkspacenumbers i3-wm.bar.stripworkspacenumbers yes
# i3xrocks config file. Override this for custom status indicators on the bar.
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
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 --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/regolith-ftue /usr/bin/unclutter -b
exec --no-startup-id $i3-wm.program.unclutter
# 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
# These are the labels which define each i3 workspace.
set_from_resource $wsterm i3-wm.workspace.01.name
set_from_resource $wsweb i3-wm.workspace.02.name
set_from_resource $wsdev i3-wm.workspace.03.name
set_from_resource $wsmail i3-wm.workspace.04.name
set_from_resource $wschat i3-wm.workspace.05.name
set_from_resource $wsfile i3-wm.workspace.06.name
set_from_resource $wsoffice i3-wm.workspace.07.name
set_from_resource $wsmedia i3-wm.workspace.08.name
set_from_resource $wssec i3-wm.workspace.09.name
set_from_resource $ws10 i3-wm.workspace.10.name
set_from_resource $ws11 i3-wm.workspace.11.name
set_from_resource $ws12 i3-wm.workspace.12.name
set_from_resource $ws13 i3-wm.workspace.13.name
set_from_resource $ws14 i3-wm.workspace.14.name
set_from_resource $ws15 i3-wm.workspace.15.name
set_from_resource $ws16 i3-wm.workspace.16.name
set_from_resource $ws17 i3-wm.workspace.17.name
set_from_resource $ws18 i3-wm.workspace.18.name
set_from_resource $ws19 i3-wm.workspace.19.name
# start dev workspace always tabbed
# assign screens to workspaces
workspace "$wsterm" output $thinkpad
workspace "$wsweb" output $samsung $thinkpad
workspace "$wsdev" output $samsung $thinkpad
workspace "$wsmail" output $samsung $thinkpad
workspace "$wschat" output $samsung $thinkpad
workspace "$wsfile" output $thinkpad
workspace "$wsoffice" output $samsung $thinkpad
workspace "$wsmedia" output $thinkpad
workspace "$wssec" output $thinkpad
# assign specific windows to workspaces
# WEB
# hint: instance is the first part of class
assign [instance="^Firefox.*$"] → $wsweb
assign [class="^Navigator$"] → $wsweb
assign [class="^Google-chrome$"] → $wsweb
assign [window_role="^browser$"] → $wsweb
# DEV
assign [class="^Sublime_text$"] → $wsdev
assign [class="^Code$"] → $wsdev
assign [class="^.*jetbrains-pycharm.*$"] → $wsdev
# MAIL
assign [class="^Thunderbird$"] → $wsmail
# TERM
assign [class="^Gnome-terminal$"] → $wsterm
# CHAT
assign [class="^Gajim$"] → $wschat
assign [class="^Skype$"] → $wschat
assign [class="^Gitter$"] → $wschat
assign [class="^discord$"] → $wschat
# FILE
assign [class="^Nautilus$"] → $wsfile
assign [class="^Org.gnome.Nautilus$"] → $wsfile
assign [class="^Nemo$"] → $wsfile
assign [class="^Krusader$"] → $wsfile
assign [class="^Caja$"] → $wsfile
assign [class="^Sparkle$"] → $wsfile
# MEDIA
assign [class="^banshee$"] → $wsmedia
assign [class="^Clementine$"] → $wsmedia
assign [class="^Gnome-control-center\.real$"] → $wsmedia
assign [class="^Kazam$"] → $wsmedia
assign [class="^Pavucontrol$"] → $wsmedia
assign [instance="^.*potify.*$"] → $wsmedia
# OTHER
assign [class="^.*eepassx.*$"] → $wssec
assign [class="^.*ibreoffice.*$"] → $wsoffice
# startup Applications
# exec --no-startup-id i3-msg 'workspace $wsterm; exec /usr/bin/
exec --no-startup-id i3-msg 'exec /usr/bin/firefox -p default'
exec --no-startup-id i3-msg 'workspace $wsdev; exec /usr/bin/code'
exec --no-startup-id i3-msg 'workspace $wsmail; exec /usr/bin/thunderbird'
# exec --no-startup-id i3-msg 'workspace $wsfile; exec $i3-wm.program.files'
# exec --no-startup-id i3-msg 'workspace $wsfile; exec /usr/bin/sparkleshare'
exec --no-startup-id i3-msg 'workspace $wssec; exec /usr/bin/keepassxc /home/jensens/Downloads/jensens.kdbx'
exec --no-startup-id i3-msg 'workspace $wsmedia; exec /usr/bin/pavucontrol'
# exec --no-startup-id i3-msg 'workspace "$wschat"; append_layout /home/jensens/.dotfiles/ws5chat.json'
exec --no-startup-id i3-msg 'workspace $wschat; exec /snap/bin/skype'
# exec --no-startup-id i3-msg 'workspace $wschat; exec /usr/bin/hexchat'
exec --no-startup-id i3-msg 'workspace $wschat; exec /snap/bin/discord'
# Initial Screenlayout: Custom DPI
# exec /home/jensens/.screenlayout/init.sh
# /CUSTOM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment