Commit 60497141 authored by Jay Ta'ala's avatar Jay Ta'ala
Browse files

Merge branch 'reverse-layout' into development

parents b860856a d70fc158
swipe:
3:
up:
command: xdotool key alt+w
interval: 0.4
down:
command: xdotool key alt+s
interval: 0.4
4:
up:
command: exec i3 layout toggle tabbed stacked
down:
command: exec i3 layout splitv, layout fill_order default
#pinch:
# in:
# command: exec i3 layout toggle tabbed stacked
# out:
# command: exec i3 layout toggle tabbed stacked
threshold:
swipe: 0.4
pinch: 0.4
interval:
swipe: 0.8
pinch: 0.8
plugin:
inputs:
libinput_command_input:
enable-tap: true
verbose: true
......@@ -45,9 +45,9 @@ set $indicator #f81212
# set other colors
set $accent-txt #000000
set $inactive-bg #000000
set $inactive-bg #00000099
set $inactive-txt #bdbbbb
set $unfocused-bg #000000
set $unfocused-bg #00000099
set $unfocused-txt #939f9f
# class border backgr. text indic. child_border
......@@ -59,7 +59,7 @@ client.urgent #CB4B16 #FDF6E3 #CB4B16 $indicator
#client.background #2B2C2B
# set default desktop layout (default is tiling) <default|stacking|tabbed>
workspace_layout tabbed reverse
workspace_layout tabbed
# set my quick tabbed/stacked toggle
bindsym $mod+e layout toggle tabbed stacked
......@@ -83,7 +83,10 @@ for_window [class=".*"] title_window_icon padding 3px
focus_wrapping no
# parent focus switch (useful for master/stack switching) - has fallback for no focus_wrapping
# required xdotool
bindsym $mod+r exec --no-startup-id "WINDOW=$(xdotool getactivewindow); i3-msg \\"focus parent; focus left; focus child\\"; NEW_WINDOW=$(xdotool getactivewindow); if [ \\"$NEW_WINDOW\\" -eq \\"$WINDOW\\" ]; then i3-msg \\"focus parent; focus right\\"; fi"
#set $focusroot x=$(xdotool getwindowfocus getwindowname); while [ \\"$x\\" != \\"i3\\" ]; do i3-msg \\"focus parent\\"; x=$(xdotool getwindowfocus getwindowname); done
set $focusroot for _ in {1..4}; do i3-msg \\"focus parent\\"; done
set $unfocusroot for _ in {1..3}; do i3-msg \\"focus child\\"; done
bindsym $mod+r exec --no-startup-id "WINDOW=$(xdotool getwindowfocus); $focusroot; i3-msg \\"focus child, focus left\\"; $unfocusroot; x=$(xdotool getwindowfocus); if [ \\"$x\\" == \\"$WINDOW\\" ]; then $focusroot; i3-msg \\"focus child, focus right\\"; fi"
# Hide borders <none|vertical|horizontal|both|smart>
hide_edge_borders none
......@@ -98,7 +101,7 @@ bindsym $mod+Ctrl+b border none
# xrandr set to default res (needed if unplug monitor and can't see screen)
bindsym $mod+backslash exec --no-startup-id "xrandr --output eDP-1-1 --mode 2560x1440 --rate 240; xrandr --output eDP-1 --mode 2560x1440 --rate 240"
bindsym $mod+BackSpace exec --no-startup-id source ~/.xprofile
bindsym $mod+BackSpace exec --no-startup-id "source ~/.xprofile; xmodmap ~/.Xmodmap"
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
......@@ -111,7 +114,8 @@ floating_modifier $mod
# Autostart applications
#exec --no-startup-id alttab -pk h -nk l -fg "#d58681" -bg "#4a4a4a" -frame "#eb564d" -t 128x150 -i 127x64
# needs hsetroot installed
exec_always --no-startup-id hsetroot -solid "#000000"
#exec_always --no-startup-id hsetroot -solid "#000000"
exec_always --no-startup-id /usr/bin/nitrogen --restore
exec --no-startup-id "pkill -9 redshift; redshift -P -t 5000:4000"
exec --no-startup-id "xkbset exp =m; xkbset m"
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
......@@ -121,7 +125,7 @@ exec --no-startup-id fcitx -d
exec --no-startup-id nm-applet
exec --no-startup-id optimus-manager-qt
exec --no-startup-id xfce4-power-manager
exec_always --no-startup-id "pkill conky; sleep 0.5; conky -c ~/.config/conky; conky -c ~/.config/conky_shortcuts"
exec_always --no-startup-id pkill conky && sleep 0.5; conky -c ~/.config/conky; conky -c ~/.config/conky_shortcuts
set $picom_start "pkill picom; sleep 1; picom -b"
exec_always --no-startup-id $picom_start
#exec --no-startup-id yes | xsm --restore
......@@ -130,6 +134,18 @@ exec_always --no-startup-id $picom_start
bindsym $mod+t exec --no-startup-id $picom_start
bindsym $mod+ctrl+t exec --no-startup-id "killall picom"
# tint2 configuration (needs tint2 package)
exec_always --no-startup-id killall tint2 && sleep 0.5; tint2
for_window [class="(?i)^tint2conf$"] floating disable
# subscribe to urgent event and set _NET_WM_STATE_DEMANDS_ATTENTION (for tint2)
exec_always --no-startup-id i3-msg -t subscribe -m '[ "window" ]' | jq --unbuffered -Mrc '. | select(.change == "urgent" and .container.urgent == true and .container.focused == false) | .container.window' | xargs -I{} xprop -id {} -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_DEMANDS_ATTENTION
# subscribe to urgent event being selected and set _NET_WM_STATE_FOCUSED (for tint2)
exec_always --no-startup-id i3-msg -t subscribe -m '[ "window" ]' | jq --unbuffered -Mrc '. | select(.change == "urgent" and .container.focused == true) | .container.window' | xargs -I{} xprop -id {} -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_FOCUSED
# never steal focus
focus_on_window_activation urgent
bindsym $mod+period [urgent=latest] focus
# kill focused window
bindsym $mod+Shift+q kill
......@@ -188,8 +204,8 @@ bindsym $mod+d focus right
# convenience move
bindsym $mod+z move left
bindsym $mod+x move right
bindsym $mod+Ctrl+z move left; focus right
bindsym $mod+Ctrl+x move right; focus left
bindsym $mod+Shift+z move left; focus right
bindsym $mod+Shift+x move right; focus left
# move focused window
bindsym $mod+Shift+h move left 50px
......@@ -221,7 +237,7 @@ bindsym $mod+minus scratchpad show
#bindsym $mod+Tab exec --no-startup-id "$setwn i3-msg \\"[con_mark=\\"$wn\\"] focus, focus child\\""
#bindsym $mod+Shift+Tab exec --no-startup-id "$setwn mwn=$(echo \\"m$wn\\"); i3-msg \\"mark $mwn, [con_mark=\\"$mwn\\"] move window to mark $wn, unmark $mwn\\"
#bindsym $mod+Escape exec --no-startup-id "$setwn i3-msg \\"[workspace=__focused__] move window to mark $wn\\"
#bindsym $mod+$mod_next+Tab exec --no-startup-id "$setwn i3-msg \\"split h, layout stacking reverse, focus parent, mark --add --toggle $wn, focus child\\"
#bindsym $mod+$mod_next+Tab exec --no-startup-id "$setwn i3-msg \\"split h, layout stacking, focus parent, mark --add --toggle $wn, focus child\\"
## mark and focus
#bindsym $mod+Ctrl+1 mark --add --toggle 1
......@@ -250,8 +266,8 @@ bindsym $mod_next+e layout splitv
bindsym $mod_next+s layout stacking
# child container layout bindsyms (creates a child container from currently select window)
bindsym $mod+c split h, layout splitv
bindsym $mod+$mod_next+c split h, layout tabbed reverse
bindsym $mod+c split h, layout splitv, focus parent, $border_no_name, focus child
bindsym $mod+$mod_next+c split h, layout tabbed
bindsym $mod+$mod_next+z focus left; move right
bindsym $mod+$mod_next+x focus right; move left
......@@ -344,7 +360,7 @@ bindsym $mod_next+1 exec --no-startup-id i3-input -f $i3inputfont -P "Go to Work
bindsym $mod_next+2 exec --no-startup-id i3-input -f $i3inputfont -P "Go to Workspace (name): " -F 'workspace "%s"'
bindsym $mod_next+Shift+1 exec --no-startup-id i3-input -f $i3inputfont -P "Move to Workspace (number): " -l 2 -F 'move container to workspace number "%s"'
bindsym $mod_next+Shift+2 exec --no-startup-id i3-input -f $i3inputfont -P "Move to Workspace (name): " -F 'move container to workspace "%s"'
bindsym $mod_next+3 exec --no-startup-id i3-input -f $i3inputfont -P "Rename Workspace: " -F 'rename workspace to "%s"'
bindsym $mod_next+grave exec --no-startup-id i3-input -f $i3inputfont -P "Rename Workspace: " -F 'rename workspace to "%s"'
# iterative workspace operations
set $workspace_dynamic $(($(i3-msg -t get_workspaces | tr , '\n' | grep '\\"num\\":' | cut -d : -f 2 | sort -rn | head -1) + 1))
......@@ -385,7 +401,6 @@ for_window [class="(?i)^timeshift-gtk$"] floating disable
for_window [class="(?i)^gnome-calculator$"] floating disable
for_window [class="(?i)^workspacesclient$"] floating disable
for_window [class="(?i)^zoom$"] floating disable
for_window [class="(?i)bitwarden"] floating enable
for_window [class="(?i)nvidia-settings"] floating enable
# Application shortcuts
......@@ -409,9 +424,6 @@ bindsym $mod_next+Shift+d exec --no-startup-id smplayer -send-action forward1
bindsym $mod_next+Shift+h exec --no-startup-id smplayer -send-action rewind1
bindsym $mod_next+Shift+l exec --no-startup-id smplayer -send-action forward1
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
# reload the configuration file
bindsym $mod+Ctrl+Shift+c reload
......@@ -509,37 +521,46 @@ mode "$mode_redshift" {
bindsym Escape mode "default"
}
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
i3bar_command i3bar
status_command py3status -c ~/.i3status.conf
position bottom
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
# tray_output primary
# tray_output eDP1
bindsym button4 nop bindsym button5 nop
# font xft:URWGothic-Book 11
strip_workspace_numbers no
colors {
#background #4a4a4a
background #000000
#statusline #F9FAF9
statusline $accent-bg
#separator #454947
separator $accent-bg
# border backgr. text
focused_workspace $accent-txt $accent-bg $accent-txt
active_workspace #595B5B #353836 #FDF6E3
inactive_workspace #595B5B #283339 #EEE8D5
binding_mode $accent-bg #2C2C2C #F9FAF9
urgent_workspace $accent-bg #FDF6E3 #E5201D
}
position top
mode hide
modifier none
workspace_buttons no
tray_output none
}
## Start i3bar to display a workspace bar (plus the system information i3status if available)
#bar {
# i3bar_command i3bar
# status_command py3status -c ~/.i3status.conf
# position bottom
#
### please set your primary output first. Example: 'xrandr --output eDP1 --primary'
## tray_output primary
## tray_output eDP1
#
# bindsym button4 nop bindsym button5 nop
## font xft:URWGothic-Book 11
# strip_workspace_numbers no
#
# colors {
# #background #4a4a4a
# background #000000
# #statusline #F9FAF9
# statusline $accent-bg
# #separator #454947
# separator $accent-bg
#
## border backgr. text
# focused_workspace $accent-txt $accent-bg $accent-txt
# active_workspace #595B5B #353836 #FDF6E3
# inactive_workspace #595B5B #283339 #EEE8D5
# binding_mode $accent-bg #2C2C2C #F9FAF9
# urgent_workspace $accent-bg #FDF6E3 #E5201D
# }
#}
# hide/unhide i3status bar
bindsym $mod+Control+m bar mode toggle
......@@ -547,55 +568,135 @@ bindsym $mod+Control+m bar mode toggle
### settings for i3-gaps: ###
#############################
## Set inner/outer gaps
#gaps inner 6
#gaps outer -6
#
## Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
## gaps inner|outer current|all set|plus|minus <px>
## gaps inner all set 10
## gaps outer all plus 5
#
## Smart gaps (gaps used if only more than one container on the workspace)
##smart_gaps on
#
## Smart borders (draw borders around container only if it is not the only container on this workspace)
## on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
#smart_borders on
#
## Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
#set $mode_gaps Gaps: (o) outer, (i) inner
#set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
#set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
#bindsym $mod+Shift+g mode "$mode_gaps"
#
#mode "$mode_gaps" {
# bindsym o mode "$mode_gaps_outer"
# bindsym i mode "$mode_gaps_inner"
# bindsym Return mode "default"
# bindsym Escape mode "default"
#}
#mode "$mode_gaps_inner" {
# bindsym plus gaps inner current plus 5
# bindsym minus gaps inner current minus 5
# bindsym 0 gaps inner current set 0
#
# bindsym Shift+plus gaps inner all plus 5
# bindsym Shift+minus gaps inner all minus 5
# bindsym Shift+0 gaps inner all set 0
#
# bindsym Return mode "default"
# bindsym Escape mode "default"
#}
#mode "$mode_gaps_outer" {
# bindsym plus gaps outer current plus 5
# bindsym minus gaps outer current minus 5
# bindsym 0 gaps outer current set 0
#
# bindsym Shift+plus gaps outer all plus 5
# bindsym Shift+minus gaps outer all minus 5
# bindsym Shift+0 gaps outer all set 0
#
# bindsym Return mode "default"
# bindsym Escape mode "default"
#}
# Set inner/outer gaps
gaps outer 8
gaps inner 0
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps off
set $mode_gaps Gaps: (o)uter, (i)nner, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym h mode "$mode_gaps_horiz"
bindsym v mode "$mode_gaps_verti"
bindsym t mode "$mode_gaps_top"
bindsym r mode "$mode_gaps_right"
bindsym b mode "$mode_gaps_bottom"
bindsym l mode "$mode_gaps_left"
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_horiz" {
bindsym plus gaps horizontal current plus 5
bindsym minus gaps horizontal current minus 5
bindsym 0 gaps horizontal current set 0
bindsym Shift+plus gaps horizontal all plus 5
bindsym Shift+minus gaps horizontal all minus 5
bindsym Shift+0 gaps horizontal all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_verti" {
bindsym plus gaps vertical current plus 5
bindsym minus gaps vertical current minus 5
bindsym 0 gaps vertical current set 0
bindsym Shift+plus gaps vertical all plus 5
bindsym Shift+minus gaps vertical all minus 5
bindsym Shift+0 gaps vertical all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_top" {
bindsym plus gaps top current plus 5
bindsym minus gaps top current minus 5
bindsym 0 gaps top current set 0
bindsym Shift+plus gaps top all plus 5
bindsym Shift+minus gaps top all minus 5
bindsym Shift+0 gaps top all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_right" {
bindsym plus gaps right current plus 5
bindsym minus gaps right current minus 5
bindsym 0 gaps right current set 0
bindsym Shift+plus gaps right all plus 5
bindsym Shift+minus gaps right all minus 5
bindsym Shift+0 gaps right all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_bottom" {
bindsym plus gaps bottom current plus 5
bindsym minus gaps bottom current minus 5
bindsym 0 gaps bottom current set 0
bindsym Shift+plus gaps bottom all plus 5
bindsym Shift+minus gaps bottom all minus 5
bindsym Shift+0 gaps bottom all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_left" {
bindsym plus gaps left current plus 5
bindsym minus gaps left current minus 5
bindsym 0 gaps left current set 0
bindsym Shift+plus gaps left all plus 5
bindsym Shift+minus gaps left all minus 5
bindsym Shift+0 gaps left all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
......@@ -59,10 +59,11 @@ client.urgent #CB4B16 #FDF6E3 #CB4B16 $indicator
#client.background #2B2C2B
# set default desktop layout (default is tiling) <default|stacking|tabbed>
workspace_layout tabbed reverse
workspace_layout tabbed
# set my quick tabbed/stacked toggle
bindsym $mod+e layout toggle tabbed stacked
bindsym $mod+q layout fill_order toggle
# set default window title_align
title_align center
......@@ -83,7 +84,10 @@ for_window [class=".*"] title_window_icon padding 3px
focus_wrapping no
# parent focus switch (useful for master/stack switching) - has fallback for no focus_wrapping
# required xdotool
bindsym $mod+r exec --no-startup-id "WINDOW=$(xdotool getactivewindow); i3-msg \\"focus parent; focus left; focus child\\"; NEW_WINDOW=$(xdotool getactivewindow); if [ \\"$NEW_WINDOW\\" -eq \\"$WINDOW\\" ]; then i3-msg \\"focus parent; focus right\\"; fi"
#set $focusroot x=$(xdotool getwindowfocus getwindowname); while [ \\"$x\\" != \\"i3\\" ]; do i3-msg \\"focus parent\\"; x=$(xdotool getwindowfocus getwindowname); done
set $focusroot for _ in {1..4}; do i3-msg \\"focus parent\\"; done
set $unfocusroot for _ in {1..3}; do i3-msg \\"focus child\\"; done
bindsym $mod+r exec --no-startup-id "WINDOW=$(xdotool getwindowfocus); $focusroot; i3-msg \\"focus child, focus left\\"; $unfocusroot; x=$(xdotool getwindowfocus); if [ \\"$x\\" == \\"$WINDOW\\" ]; then $focusroot; i3-msg \\"focus child, focus right\\"; fi"
# Hide borders <none|vertical|horizontal|both|smart>
hide_edge_borders none
......@@ -112,9 +116,25 @@ exec_always --no-startup-id vmware-user-suid-wrapper
bindsym $mod+t exec --no-startup-id $picom_start
bindsym $mod+ctrl+t exec --no-startup-id "killall picom"
# tint2 configuration (needs tint2 package)
exec_always --no-startup-id killall tint2 && sleep 0.5; tint2
for_window [class="(?i)^tint2conf$"] floating disable
# subscribe to urgent event and set _NET_WM_STATE_DEMANDS_ATTENTION (for tint2)
exec_always --no-startup-id i3-msg -t subscribe -m '[ "window" ]' | jq --unbuffered -Mrc '. | select(.change == "urgent" and .container.urgent == true and .container.focused == false) | .container.window' | xargs -I{} xprop -id {} -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_DEMANDS_ATTENTION
# subscribe to urgent event being selected and set _NET_WM_STATE_FOCUSED (for tint2)
exec_always --no-startup-id i3-msg -t subscribe -m '[ "window" ]' | jq --unbuffered -Mrc '. | select(.change == "urgent" and .container.focused == true) | .container.window' | xargs -I{} xprop -id {} -f _NET_WM_STATE 32a -set _NET_WM_STATE _NET_WM_STATE_FOCUSED
# never steal focus
focus_on_window_activation urgent
bindsym $mod+period [urgent=latest] focus
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
#bindsym $mod+d exec --no-startup-id dmenu_recency
bindsym $mod_next+Tab exec --no-startup-id "rofi -show-icons -modi window,drun -show window -scroll-method 1 -kb-element-next \\"\\" -kb-element-next \\"\\" -kb-mode-next \\"Tab\\" -kb-row-up \\"Super+k\\" -kb-row-down \\"Super+j\\" -theme lb -theme-str '* { font: \\"DejaVu Sans Mono 16\\"; foreground: #ffffff; border-color: $accent-bg; separatorcolor: $accent-bg; selected-normal-background: $accent-bg; } window { height: 80%; }'"
################################################################################################
## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
################################################################################################
......@@ -130,8 +150,7 @@ bindsym $mod+$mod_next+v exec --no-startup-id "killall volumeicon; sleep 1; volu
# start dmenu (a program launcher)
#bindsym $mod_next+Tab exec --no-startup-id "rofi -show-icons -modi window,drun -show window -scroll-method 1 -kb-element-next \\"\\" -kb-element-next \\"\\" -kb-mode-next \\"Tab\\" -kb-row-up \\"Super+k\\" -kb-row-down \\"Super+j\\" -theme lb -theme-str '* { font: \\"DejaVu Sans Mono 16\\"; foreground: #ffffff; border-color: $accent-bg; separatorcolor: $accent-bg; selected-normal-background: $accent-bg; } window { height: 80%; }'"
bindsym $mod_next+d exec --no-startup-id dmenu_run -sb "$accent-bg"
bindsym $mod_next+Return exec --no-startup-id dmenu_run "$accent-bg"
bindsym $mod_next+Tab exec --no-startup-id dmenu_run -sb "$accent-bg"
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
......@@ -160,8 +179,8 @@ bindsym $mod+d focus right
# convenience move
bindsym $mod+z move left
bindsym $mod+x move right
bindsym $mod+Ctrl+z move left; focus right
bindsym $mod+Ctrl+x move right; focus left
bindsym $mod+Shift+z move left; focus right
bindsym $mod+Shift+x move right; focus left
# move focused window
bindsym $mod+Shift+h move left 50px
......@@ -193,7 +212,7 @@ bindsym $mod+minus scratchpad show
#bindsym $mod+Tab exec --no-startup-id "$setwn i3-msg \\"[con_mark=\\"$wn\\"] focus, focus child\\""
#bindsym $mod+Shift+Tab exec --no-startup-id "$setwn mwn=$(echo \\"m$wn\\"); i3-msg \\"mark $mwn, [con_mark=\\"$mwn\\"] move window to mark $wn, unmark $mwn\\"
#bindsym $mod+Escape exec --no-startup-id "$setwn i3-msg \\"[workspace=__focused__] move window to mark $wn\\"
#bindsym $mod+$mod_next+Tab exec --no-startup-id "$setwn i3-msg \\"split h, layout stacking reverse, focus parent, mark --add --toggle $wn, focus child\\"
#bindsym $mod+$mod_next+Tab exec --no-startup-id "$setwn i3-msg \\"split h, layout stacking, focus parent, mark --add --toggle $wn, focus child\\"
## mark and focus
#bindsym $mod+Ctrl+1 mark --add --toggle 1
......@@ -222,8 +241,8 @@ bindsym $mod_next+e layout splitv
bindsym $mod_next+s layout stacking
# child container layout bindsyms (creates a child container from currently select window)
bindsym $mod+c split h, layout splitv
bindsym $mod+$mod_next+c split h, layout tabbed reverse
bindsym $mod+c split h, layout splitv, focus parent, $border_no_name, focus child
bindsym $mod+$mod_next+c split h, layout tabbed
bindsym $mod+$mod_next+z focus left; move right
bindsym $mod+$mod_next+x focus right; move left
......@@ -316,7 +335,7 @@ bindsym $mod_next+1 exec --no-startup-id i3-input -f $i3inputfont -P "Go to Work
bindsym $mod_next+2 exec --no-startup-id i3-input -f $i3inputfont -P "Go to Workspace (name): " -F 'workspace "%s"'
bindsym $mod_next+Shift+1 exec --no-startup-id i3-input -f $i3inputfont -P "Move to Workspace (number): " -l 2 -F 'move container to workspace number "%s"'
bindsym $mod_next+Shift+2 exec --no-startup-id i3-input -f $i3inputfont -P "Move to Workspace (name): " -F 'move container to workspace "%s"'
bindsym $mod_next+3 exec --no-startup-id i3-input -f $i3inputfont -P "Rename Workspace: " -F 'rename workspace to "%s"'
bindsym $mod_next+grave exec --no-startup-id i3-input -f $i3inputfont -P "Rename Workspace: " -F 'rename workspace to "%s"'
# iterative workspace operations
set $workspace_dynamic $(($(i3-msg -t get_workspaces | tr , '\n' | grep '\\"num\\":' | cut -d : -f 2 | sort -rn | head -1) + 1))
......@@ -378,37 +397,182 @@ bindsym $mod+$mod_next+Shift+j resize grow height 100 px or 10 ppt
bindsym $mod+$mod_next+Shift+k resize shrink height 100 px or 10 ppt
bindsym $mod+$mod_next+Shift+l resize grow width 100 px or 10 ppt
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
i3bar_command i3bar
status_command i3status
position bottom
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
# tray_output primary
# tray_output eDP1
bindsym button4 nop bindsym button5 nop
# font xft:URWGothic-Book 11
strip_workspace_numbers no
colors {
#background #4a4a4a
background #000000
#statusline #F9FAF9
statusline $accent-bg
#separator #454947
separator $accent-bg
# border backgr. text
focused_workspace $accent-txt $accent-bg $accent-txt
active_workspace #595B5B #353836 #FDF6E3
inactive_workspace #595B5B #283339 #EEE8D5
binding_mode $accent-bg #2C2C2C #F9FAF9
urgent_workspace $accent-bg #FDF6E3 #E5201D
}
position top
mode hide
modifier none
workspace_buttons no
tray_output none
}
## Start i3bar to display a workspace bar (plus the system information i3status if available)
#bar {
# i3bar_command i3bar
# status_command py3status -c ~/.i3status.conf
# position bottom
#
### please set your primary output first. Example: 'xrandr --output eDP1 --primary'
## tray_output primary
## tray_output eDP1
#
# bindsym button4 nop bindsym button5 nop
## font xft:URWGothic-Book 11
# strip_workspace_numbers no
#
# colors {
# #background #4a4a4a
# background #000000
# #statusline #F9FAF9
# statusline $accent-bg
# #separator #454947
# separator $accent-bg
#
## border backgr. text
# focused_workspace $accent-txt $accent-bg $accent-txt
# active_workspace #595B5B #353836 #FDF6E3
# inactive_workspace #595B5B #283339 #EEE8D5
# binding_mode $accent-bg #2C2C2C #F9FAF9
# urgent_workspace $accent-bg #FDF6E3 #E5201D
# }
#}
# hide/unhide i3status bar
bindsym $mod+Control+m bar mode toggle
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps outer 8
gaps inner 0
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps off
set $mode_gaps Gaps: (o)uter, (i)nner, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym h mode "$mode_gaps_horiz"
bindsym v mode "$mode_gaps_verti"
bindsym t mode "$mode_gaps_top"
bindsym r mode "$mode_gaps_right"
bindsym b mode "$mode_gaps_bottom"
bindsym l mode "$mode_gaps_left"
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "$mode_gaps"
bindsym Escape mode "default"
}
mode "$mode_gaps_horiz" {
bindsym plus gaps horizontal current plus 5
bindsym minus gaps horizontal current minus 5
bindsym 0 gaps horizontal current set 0
bindsym Shift+plus gaps horizontal all plus 5
bindsym Shift+minus gaps horizontal all minus 5
bindsym Shift+0 gaps horizontal all set 0