Skip to content

Instantly share code, notes, and snippets.

@zheltikov
Created August 5, 2022 18:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zheltikov/ccddc7c0333295448a80597599f5fa19 to your computer and use it in GitHub Desktop.
Save zheltikov/ccddc7c0333295448a80597599f5fa19 to your computer and use it in GitHub Desktop.
i3wm config
###############################################################################
# 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
#
###############################################################################
###############################################################################
# Meta Key Mappings
# Alt key is Mod1, and Windows key is Mod4
###############################################################################
set $mod Mod4
set $alt Mod1
###############################################################################
# Workspace Names
# These are the labels which define each i3 workspace.
###############################################################################
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $ws11 "11"
set $ws12 "12"
set $ws13 "13"
set $ws14 "14"
set $ws15 "15"
set $ws16 "16"
set $ws17 "17"
set $ws18 "18"
set $ws19 "19"
set $ws20 "20"
###############################################################################
# Launcher dialogs
###############################################################################
## Launch // Terminal // <> Enter ##
bindsym $mod+Return exec /usr/bin/x-terminal-emulator
bindsym $mod+KP_Enter exec /usr/bin/x-terminal-emulator
## Launch // Browser // <><Shift> Enter ##
bindsym $mod+Shift+Return exec gtk-launch $(xdg-settings get default-web-browser)
bindsym $mod+Shift+KP_Enter 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.program.launcher.app i3-wm.program.launcher.app rofi -show drun -theme $rofiTheme
bindsym $mod+d 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
###############################################################################
## 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
bindsym $mod+Ctrl+0 workspace number $ws20
## 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
#bindsym $mod+w layout tabbed
#bindsym $mod+e layout toggle split
#bindsym $mod+a focus parent
#############
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter 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
# focus the parent container
bindsym $mod+a focus parent
#############
## 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
bindsym $mod+Shift+Ctrl+0 move container to workspace number $ws20
# 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
bindsym $mod+$alt+Ctrl+0 move container to workspace number $ws20; workspace number $ws20
# 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
bindsym $mod+Shift+m exec "~/scripts/power_menu.sh"
###############################################################################
# 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_reisource $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
exec --no-startup-id "~/scripts/dunst.sh"
###############################################################################
# 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"
bindsym $mod+b mode "Move Mode" focus floating
mode "Move Mode" {
bindsym $mod+Tab focus right
bindsym Left move left
bindsym Down move down
bindsym Up move up
bindsym Right move right
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+b mode "default"
}
###############################################################################
# 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 normal 4
default_floating_border normal 4
# 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 0
gaps outer 0
# 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
set $fontSize 10
font pango:monospace $fontSize
font pango:DejaVu Sans Mono $fontSize
font pango:Code New Roman $fontSize
font pango:Monaco $fontSize
#font pango:Fira Code $fontSize
###############################################################################
# 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
# 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 {
#bindsym button3 exec --no-startup-id $i3-wm.program.launcher.app
#i3bar_command i3bar --transparency
# colors {
# background #00000080
# }
#position $i3-wm.bar.position
position top
#font $i3-wm.bar.font
#separator_symbol $i3-wm.bar.separator
#set $fontSize 10
#font pango:monospace $fontSize
#font pango:DejaVu Sans Mono $fontSize
#font pango:Code New Roman $fontSize
#font pango:Monaco $fontSize
#font pango:Fira Code $fontSize
#font pango:monospace, DejaVu Sans Mono, Code New Roman, Monaco, FontAwesome 10
font pango:monospace, Monaco, FontAwesome 10
# status_command i3status | ~/scripts/i3status_tws.py "5C:56:A4:1F:05:77" "15:2B:DF:5D:E3:B1" | ~/i3spotifystatus/pystatus.py
status_command "~/.cargo/bin/i3status-rs"
# output primary
tray_output primary
tray_padding 0
strip_workspace_numbers yes
# Disable scrolling on the bar
# So annoying!!
bindsym button4 nop
bindsym button5 nop
bindsym button6 nop
bindsym button7 nop
#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
exec --no-startup-id "~/scripts/compton.sh &"
#exec --no-startup-id "dbus-launch /opt/matebook-applet/matebook-applet &"
exec --no-startup-id "dbus-launch blueman-applet &"
exec --no-startup-id "dbus-launch nm-applet &"
exec --no-startup-id "fbxkb &"
exec --no-startup-id "xfce4-clipman &"
# exec --no-startup-id "dbus-launch volumeicon &"
exec --no-startup-id "numlockx &"
#exec --no-startup-id "indicator-keylock &"
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
# exec --no-startup-id "dex --autostart --environment i3 &"
# 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 "unclutter -idle 1 -root"
#exec --no-startup-id "killall unclutter"
#exec --no-startup-id "oneko -bsd_daemon -idle 1 -time 100000 -speed 20"
# 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
workspace_auto_back_and_forth yes
# Hide borders adjacent to the screen edges
hide_edge_borders both
title_align center
focus_wrapping no
for_window [title="win0"] floating enable
for_window [title="splash"] floating enable
for_window [title="florence"] floating enable
for_window [title="About Tor Browser"] floating enable
for_window [title="About Mozilla Firefox"] floating enable
for_window [title="^Android Emulator.*$"] floating enable
# Disable scrolling on the title bars
# So annoying!!
bindsym button4 nop
bindsym button5 nop
bindsym button6 nop
bindsym button7 nop
# Lock the screen
bindsym --release $mod+Delete exec --no-startup-id "~/scripts/lock.sh"
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus scratchpad show
# Sticky floating windows
# i.e., have it stay on screen even if you switch to another workspace
bindsym $mod+Shift+s sticky toggle
# Check for Kernel Releases
bindsym $mod+k exec --no-startup-id "x-terminal-emulator -e $HOME'/scripts/kernel_wrapper.sh'"
# Rename current workspace
bindsym $mod+Ctrl+n exec --no-startup-id "~/scripts/rename_workspace.php"
# Check for Updates
bindsym $mod+u exec --no-startup-id "x-terminal-emulator -e bash -c 'updater ; read -sn 1'"
# Show mouse cursor position
bindsym $mod+q exec --no-startup-id "dbus-launch ~/scripts/find_cursor.sh"
bindsym --release XF86AudioPrev exec --no-startup-id "xdotool key --clearmodifiers Home"
bindsym --release XF86AudioNext exec --no-startup-id "xdotool key --clearmodifiers End"
#bindsym $mod+comma exec --no-startup-id "i3-snapshot -o > /tmp/i3-snapshot.txt"
#bindsym $mod+period exec --no-startup-id "i3-snapshot -c < /tmp/i3-snapshot.txt"
#for_window [class="[.]*"] floating enable
# Mouse Tweaks
exec --no-startup-id "~/scripts/mouse.sh"
# Albert
exec --no-startup-id "albert &"
# alttab https://github.com/sagb/alttab
exec --no-startup-id "alttab -w 1 -d 2 &"
# enable window icons for all windows
# for_window [class="[.]*"] title_window_icon padding 2px
for_window [class="xonotic-linux64-sdl"] floating disable
#for_window [class="zoom" title=""] floating enable
for_window [class="(.*join\?action\=join.*|.*zoom.*)"] floating enable
for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom - Licensed Account"] floating disable
for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom - Free Account"] floating disable
for_window [class="(.*join\?action\=join.*|.*zoom.*)" title="Zoom Meeting"] floating disable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment