From 48689e8254aac58407bb35b3ced0c48977bb47ca Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Thu, 31 Aug 2023 13:52:15 +0200 Subject: [PATCH 01/11] added picom for laptop --- .config/picom.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/picom.conf b/.config/picom.conf index ede6123..f727a64 120000 --- a/.config/picom.conf +++ b/.config/picom.conf @@ -1 +1 @@ -picom.conf##class.arch_desktop \ No newline at end of file +picom.conf##class.arch_laptop \ No newline at end of file From 632910d1c9d2ba01365a328830aed2002791335b Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Fri, 1 Sep 2023 17:08:31 +0200 Subject: [PATCH 02/11] added sudo alias to zshrc --- .zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.zshrc b/.zshrc index 7cd95b8..2527895 100644 --- a/.zshrc +++ b/.zshrc @@ -150,6 +150,7 @@ bindkey '^[[3~' delete-char powerline-config tmux setup alias vim=nvim +alias sudo='sudo ' # add the custom functions from the .custom_functions file custom_func_dir=$HOME/.scripts From ea1dfc1fa1482636e2138ea721d0a7e235313171 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Fri, 1 Sep 2023 17:10:24 +0200 Subject: [PATCH 03/11] added picom for desktop --- .config/picom.conf | 1 + 1 file changed, 1 insertion(+) create mode 120000 .config/picom.conf diff --git a/.config/picom.conf b/.config/picom.conf new file mode 120000 index 0000000..ede6123 --- /dev/null +++ b/.config/picom.conf @@ -0,0 +1 @@ +picom.conf##class.arch_desktop \ No newline at end of file From af2baf9dfc86a846d93f23f3e05f96a970933f18 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 25 Sep 2023 20:41:34 +0200 Subject: [PATCH 04/11] added home server connection to scripts --- .scripts/server_connections.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.scripts/server_connections.sh b/.scripts/server_connections.sh index 0c15e06..c357262 100644 --- a/.scripts/server_connections.sh +++ b/.scripts/server_connections.sh @@ -9,3 +9,7 @@ function conWorkServer () { function conPi() { ssh alex@192.168.172.96 } + +function conHomeServer() { + ssh alex@192.168.178.100 +} From 0a467597cc1dd815a707376c039973fe7dcc2333 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 9 Oct 2023 14:39:12 +0200 Subject: [PATCH 05/11] added mullvad reconnect on dns failure script --- .config/nvim/init.vim | 4 ++++ .scripts/network_utilities.sh | 33 +++++++++++++++++++++++++++++++++ .scripts/updating.sh | 19 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 .scripts/network_utilities.sh create mode 100644 .scripts/updating.sh diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index cbf5f14..d6b551d 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -15,3 +15,7 @@ Plug 'preservim/nerdtree' Plug 'github/copilot.vim' call plug#end() + + +" set tab to 4 spaces for neovim +set tabstop=4 diff --git a/.scripts/network_utilities.sh b/.scripts/network_utilities.sh new file mode 100644 index 0000000..e976ecd --- /dev/null +++ b/.scripts/network_utilities.sh @@ -0,0 +1,33 @@ +# network utility functions + +# get the ip address of the host +function get_local_ip() { + echo -e "The interfaces and IPs are:\n$(ip -o -4 addr show | awk '/inet 192.168|inet 10.|inet 172.16/ {split($4, a, "/"); print $2 ": " a[1] "\n"}')" +} + +function get_public_ip() { + public_ip=$(curl -s canhazip.com) + echo -e "The public IP is: $public_ip" +} + +function is_dns_working() { + dns_working=$(ping -c 1 google.com | grep "1 received" | wc -l) + if [ $dns_working -eq 1 ]; then + return 0 + else + return 1 + fi + +} + + +function reconnect_vpn_on_dns_failure() { + # reconnect vpn if dns is not working + if ! is_dns_working; then + echo "DNS is not working, reconnecting VPN" + mullvad reconnect + else + echo "DNS is working, no need to reconnect VPN" + fi +} + diff --git a/.scripts/updating.sh b/.scripts/updating.sh new file mode 100644 index 0000000..70c57cd --- /dev/null +++ b/.scripts/updating.sh @@ -0,0 +1,19 @@ +# script for updating all packages but excluding a list of packages + +# set path to list of packages to exclude +exclude_list_file=~/.setup/packages/exclude_from_updating.list + +# load list of packages to exclude +exclude_list=$(cat $exclude_list_file) + +# define function that calls yay update and excludes packages from exclude_list + +function update_system { + yay -Syu --noconfirm --needed --noprovides --ignore $exclude_list +} + +# also define function that only updates packages from pacman +function update_pacman_packages { + sudo pacman -Syu --noconfirm --needed --noprovides --ignore $exclude_list +} + From 025bbaa62fe8793d534d0da8927a6c51fbb8f8de Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Fri, 13 Oct 2023 11:21:12 +0200 Subject: [PATCH 06/11] set editor for cron in zshrc --- .config/picom.conf | 2 +- .zshrc | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.config/picom.conf b/.config/picom.conf index ede6123..f727a64 120000 --- a/.config/picom.conf +++ b/.config/picom.conf @@ -1 +1 @@ -picom.conf##class.arch_desktop \ No newline at end of file +picom.conf##class.arch_laptop \ No newline at end of file diff --git a/.zshrc b/.zshrc index 2527895..3388aaf 100644 --- a/.zshrc +++ b/.zshrc @@ -152,6 +152,10 @@ powerline-config tmux setup alias vim=nvim alias sudo='sudo ' +# set default editor to neovim +export EDITOR=nvim +export VISUAL=nvim + # add the custom functions from the .custom_functions file custom_func_dir=$HOME/.scripts for f in $custom_func_dir/*; do source $f; done From 086b6306baacf219c2e25a03a1a7b1c6b95f0547 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 30 Oct 2023 10:44:43 +0100 Subject: [PATCH 07/11] changed to unofficial SpeedTest in network utilities functions --- .config/picom.conf | 1 - .scripts/network_utilities.sh | 29 ++++++++++++++++++++++++++--- .zshrc | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) delete mode 120000 .config/picom.conf diff --git a/.config/picom.conf b/.config/picom.conf deleted file mode 120000 index ede6123..0000000 --- a/.config/picom.conf +++ /dev/null @@ -1 +0,0 @@ -picom.conf##class.arch_desktop \ No newline at end of file diff --git a/.scripts/network_utilities.sh b/.scripts/network_utilities.sh index e976ecd..279a201 100644 --- a/.scripts/network_utilities.sh +++ b/.scripts/network_utilities.sh @@ -1,8 +1,7 @@ # network utility functions # get the ip address of the host -function get_local_ip() { - echo -e "The interfaces and IPs are:\n$(ip -o -4 addr show | awk '/inet 192.168|inet 10.|inet 172.16/ {split($4, a, "/"); print $2 ": " a[1] "\n"}')" +function get_local_ip() { echo -e "The interfaces and IPs are:\n$(ip -o -4 addr show | awk '/inet 192.168|inet 10.|inet 172.16/ {split($4, a, "/"); print $2 ": " a[1] "\n"}')" } function get_public_ip() { @@ -11,7 +10,7 @@ function get_public_ip() { } function is_dns_working() { - dns_working=$(ping -c 1 google.com | grep "1 received" | wc -l) + dns_working=$(ping -4 -c 1 google.com | grep "1 received" | wc -l) if [ $dns_working -eq 1 ]; then return 0 else @@ -26,8 +25,32 @@ function reconnect_vpn_on_dns_failure() { if ! is_dns_working; then echo "DNS is not working, reconnecting VPN" mullvad reconnect + echo $(mullvad status) + else echo "DNS is working, no need to reconnect VPN" fi } +function check_internet_speed() { + # check if user has permissions to /var/log + if [ ! -w /var/log ]; then + echo "Permissions to /var/log are not available" + echo "Resorting to home directory for log file" + logfile=~/speedtest.log + else + echo "Permissions to /var/log are available" + logfile=/var/log/speedtest.log + fi + + # make sure dns is working properly + reconnect_vpn_on_dns_failure + + # add time and date to logfile + echo -e "\n\n$(date)" >> $logfile + + echo "Running speedtest" + SpeedTest | tee -a $logfile + echo "Speedtest complete" +} + diff --git a/.zshrc b/.zshrc index 2527895..a644abc 100644 --- a/.zshrc +++ b/.zshrc @@ -147,7 +147,7 @@ bindkey '5D' backward-word bindkey '5C' forward-word bindkey '^[[3~' delete-char -powerline-config tmux setup +#powerline-config tmux setup alias vim=nvim alias sudo='sudo ' From 70fcf417f18d0a3aa686ca8d41593a4dcbb934f1 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Sun, 5 Nov 2023 14:39:10 +0100 Subject: [PATCH 08/11] removed unflagged picom config --- .config/picom.conf | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .config/picom.conf diff --git a/.config/picom.conf b/.config/picom.conf deleted file mode 120000 index f727a64..0000000 --- a/.config/picom.conf +++ /dev/null @@ -1 +0,0 @@ -picom.conf##class.arch_laptop \ No newline at end of file From 3f08ed6167efb053032501fc0bb232524006bc2f Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 22 Jan 2024 13:37:07 +0100 Subject: [PATCH 09/11] added i3status bar --- .config/i3/config | 23 +++++- .config/i3status-rust/config.toml | 113 ++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 .config/i3status-rust/config.toml diff --git a/.config/i3/config b/.config/i3/config index dd6084e..78859e0 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -83,7 +83,7 @@ bindsym $mod+Ctrl+KP_Page_Up exec $myTerm -e wopr report.xml bindsym $mod+Home exec "autorandr -c" # toggle polybar -bindsym $mod+Shift+f exec "polybar-msg cmd toggle" +# bindsym $mod+Shift+f exec "polybar-msg cmd toggle" # make screenshot bindsym $mod+Print exec "flameshot full -c" @@ -311,7 +311,7 @@ bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l # Set shut down, restart and locking features bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate -bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend +bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend-then-hibernate #bindsym $mod+0 mode "$mode_system" #set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown @@ -353,7 +353,7 @@ mode "resize" { } # Autostart applications -exec_always --no-startup-id $HOME/.config/polybar/launch.sh +#exec_always --no-startup-id $HOME/.config/polybar/launch.sh exec --no-startup-id nextcloud exec --no-startup-id mullvad-vpn exec --no-startup-id redshift ~/.config/redshift/redshift.conf @@ -472,3 +472,20 @@ mode "$mode_gaps_outer" { bindsym Escape mode "default" } +bar { + font pango:MesloLGS NF 11 + position top + status_command /usr/bin/i3status-rs $HOME/.config/i3status-rust/config.toml + tray_output primary + colors { + separator #ffffff + background #424242 + statusline #424242 + } +} + +# config for i3block +#bar { +# status_command i3blocks +# +#} diff --git a/.config/i3status-rust/config.toml b/.config/i3status-rust/config.toml new file mode 100644 index 0000000..43e507d --- /dev/null +++ b/.config/i3status-rust/config.toml @@ -0,0 +1,113 @@ +icons_format = "{icon}" + +[theme] +theme = "slick" +#[theme.overrides] +#idle_bg = "#222222" +#separator_bg = "#222222" + +[icons] +icons = "material-nf" + +[[block]] +block = "focused_window" +[[bloack.format]] +full = " $title.str(max_w:15) " +short = " $title.str(max_w:10) " + + +[[block]] +block = "cpu" +interval = 1 +format = " $icon $utilization" +format_alt = " $icon $frequency $boost" + +[[block]] +block = "temperature" +interval = 1 +format = " $icon $max" + + +[[block]] +block = "memory" +format = " $icon $mem_total_used_percents.eng(w:4)" +format_alt = " $icon $mem_total_used_percents.eng(w:2) S:$swap_used_percents.eng(w:2) " + +[[block]] +block = "disk_space" +path = "/" +info_type = "available" +alert_unit = "GB" +interval = 60 +warning = 20.0 +alert = 10.0 +format = " / $available.eng(w:2) " + +[[block]] +block = "custom" +command = '''echo iGPU: `sudo intel_gpu_top -l | head -n4 | tail -n1 | awk '{print $9 "%"}'`''' +interval = 5 + +[[block]] +block = "nvidia_gpu" +interval = 1 +format = "dGPU:$utilization $temperature $clocks" + + +[[block]] +block = "sound" +driver = "pulseaudio" +device_kind = "sink" +format = " $icon { $volume|} " +[[block.click]] +button = "left" +cmd = "pavucontrol" + +[[block]] +block = "sound" +driver = "pulseaudio" +device_kind = "source" +format= " $icon " + +[[block.click]] +button = "left" +cmd = "pactl set-source-mute @DEFAULT_SOURCE@ toggle" + + +[[block]] +block = "net" +format = " $icon {$signal_strength $ssid |Wired connection} ^icon_net_up$speed_up ^icon_net_down$speed_down " + +[[block]] +block = "vpn" +driver = "mullvad" +interval = 10 +format_connected = "VPN: $icon " +format_disconnected = "VPN: $icon " +state_connected = "good" +state_disconnected = "critical" + +[[block]] +block = "external_ip" +format = " $city.str(max_w:3):$country_code" +interval = 60 + +[[block]] +block = "battery" +device = "BAT0" +interval = 1 +format = " $icon $percentage {$power:$time|}" +full_format = " $icon $percentage" +charging_format = " $icon $percentage {$power:$time}" +missing_format = "" +good= 100 +warning= 40 +critical= 20 + + +[[block]] +block = "time" +interval = 1 +format = " $timestamp.datetime(f:'%a %d/%m %R:%S') " + + From 9659f9ec511d0f013d4d9b20c6cfbe04d2f8215e Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Tue, 9 Apr 2024 11:53:52 +0200 Subject: [PATCH 10/11] moved some xprofile config to i3 config --- .../i3/{config => config##class.arch_desktop} | 22 ++++++++++++++++++- .xprofile##class.arch_desktop | 10 --------- .zshrc | 2 +- 3 files changed, 22 insertions(+), 12 deletions(-) rename .config/i3/{config => config##class.arch_desktop} (95%) diff --git a/.config/i3/config b/.config/i3/config##class.arch_desktop similarity index 95% rename from .config/i3/config rename to .config/i3/config##class.arch_desktop index dd6084e..528efc1 100644 --- a/.config/i3/config +++ b/.config/i3/config##class.arch_desktop @@ -114,6 +114,7 @@ bindsym XF86AudioPrev exec playerctl previous # misc keyboard keys bindsym XF86Calculator exec --no-startup-id qalculate-gtk + # Start Applications bindsym $mod+Ctrl+b exec $myTerm -e 'bmenu' bindsym $mod+F1 exec brave @@ -129,6 +130,7 @@ bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s bindsym $mod+Ctrl+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + # focus_follows_mouse no # change focus @@ -309,10 +311,13 @@ bindsym $mod+Shift+r restart # Lock screen bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l -# Set shut down, restart and locking features +# Set shut down, restart bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend +# set lock combination for i3lock +bindsym $mod+Ctrl+l exec --no-startup-id i3lock -c 000000 + #bindsym $mod+0 mode "$mode_system" #set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown #mode "$mode_system" { @@ -351,6 +356,16 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } +# machine specific startup commands +exec --no-startup-id xset s 300 0 +exec --no-startup-id xset s noblank +exec --no-startup-id xset -dpms +exec --no-startup-id xsetroot -solid black +exec --no-startup-id [[ -f $HOME/.Xmodmap ]] && xmodmap $HOME/.Xmodmap +exec --no-startup-id systemd-run --user --on-calendar=minutely --unit=polybar_auto_hide /usr/bin/polybar-msg cmd hide +exec --no-startup-id numlockx on + + # Autostart applications exec_always --no-startup-id $HOME/.config/polybar/launch.sh @@ -361,6 +376,11 @@ exec --no-startup-id blueman-applet exec --no-startup-id picom -b exec --no-startup-id flameshot +# locking specific startup applications +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +#exec --no-startup-id xautolock -time 1 -locker "i3lock" -detectsleep +exec --no-startup-id xautolock -time 30 -locker "systemctl suspend" -detectsleep + # sys config tools exec --no-startup-id xbindkeys diff --git a/.xprofile##class.arch_desktop b/.xprofile##class.arch_desktop index f695cd7..6a34ab8 100644 --- a/.xprofile##class.arch_desktop +++ b/.xprofile##class.arch_desktop @@ -3,13 +3,3 @@ export LUTRIS_RUNTIME=0 xrandr --dpi 110 & xrdb -merge ~/.Xresources & - -xset s 300 0 & -xset s noblank & -xset -dpms & -xsetroot -solid black & - -numlockx on & - -[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap & -systemd-run --user --on-calendar=minutely --unit=polybar_auto_hide /usr/bin/polybar-msg cmd hide & diff --git a/.zshrc b/.zshrc index d9f2c24..3388aaf 100644 --- a/.zshrc +++ b/.zshrc @@ -147,7 +147,7 @@ bindkey '5D' backward-word bindkey '5C' forward-word bindkey '^[[3~' delete-char -#powerline-config tmux setup +powerline-config tmux setup alias vim=nvim alias sudo='sudo ' From 896323950a23d398e6711f0672d875474ebc2407 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Tue, 9 Apr 2024 14:33:39 +0200 Subject: [PATCH 11/11] added i3 configs for other machines --- .config/i3/config##class.arch_laptop | 482 ++++++++++++++++++++ .config/i3/config_backup | 482 ++++++++++++++++++++ .config/i3/config_backup##arch.work_desktop | 482 ++++++++++++++++++++ 3 files changed, 1446 insertions(+) create mode 100644 .config/i3/config##class.arch_laptop create mode 100644 .config/i3/config_backup create mode 100644 .config/i3/config_backup##arch.work_desktop diff --git a/.config/i3/config##class.arch_laptop b/.config/i3/config##class.arch_laptop new file mode 100644 index 0000000..479a24b --- /dev/null +++ b/.config/i3/config##class.arch_laptop @@ -0,0 +1,482 @@ +# Set mod key (Mod1=, Mod4=) +set $mod Mod4 +set $alt Mod1 + +# set default desktop layout (default is tiling) +# workspace_layout tabbed + +# Configure border style +new_window pixel 2 +new_float normal + +# Hide borders +hide_edge_borders none + +# change borders +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font xft:MesloLGS NF 11 + +# Use Mouse+$mod to drag floating windows +floating_modifier $mod + +# start a $myTerm +set $myTerm alacritty +bindsym $mod+Return exec $myTerm --command tmux +bindsym $mod+Ctrl+Return exec $myTerm + +# kill focused window +bindsym $mod+Shift+c kill + +# start program launcher +bindsym $mod+Shift+Return exec --no-startup-id rofi -show run + + +# Apps Launched with + +bindsym $mod+KP_End exec $myTerm -e lynx -cfg=~/.lynx.cfg -lss=~/.lynx.lss http://www.distrowatch.com +bindsym $mod+KP_Down exec $myTerm -e sh ./scripts/googler-script.sh +bindsym $mod+KP_Page_Down exec $myTerm -e newsboat +bindsym $mod+KP_Left exec $myTerm -e rtv +bindsym $mod+KP_Begin exec $myTerm -e neomutt +bindsym $mod+KP_Right exec $myTerm -e twitch-curses +bindsym $mod+KP_Home exec $myTerm -e sh ./scripts/haxor-news.sh +bindsym $mod+KP_Up exec $myTerm -e toot curses +bindsym $mod+KP_Page_Up exec $myTerm -e sh ./scripts/tig-script.sh + +# Apps Launched with + + +bindsym $mod+Shift+KP_1 exec $myTerm -e vifm +bindsym $mod+Shift+KP_2 exec $myTerm -e joplin +bindsym $mod+Shift+KP_3 exec $myTerm -e cmus +bindsym $mod+Shift+KP_4 exec $myTerm -e irssi +bindsym $mod+Shift+KP_5 exec $myTerm -e rtorrent +bindsym $mod+ShiFT+KP_6 exec $myTerm -e youtube-viewer +bindsym $mod+Shift+KP_7 exec $myTerm -e ncpamixer +bindsym $mod+Shift+KP_8 exec $myTerm -e calcurse +bindsym $mod+Shift+KP_9 exec $myTerm -e vim ~/.config/i3/config + +# Apps Launched with + + +bindsym $mod+Ctrl+KP_End exec $myTerm -e htop +bindsym $mod+Ctrl+KP_Down exec $myTerm -e gtop +bindsym $mod+Ctrl+KP_Page_Down exec $myTerm -e nmon +bindsym $mod+Ctrl+KP_Left exec $myTerm -e glances +bindsym $mod+Ctrl+KP_Begin exec $myTerm -e s-tui +bindsym $mod+Ctrl+KP_Right exec $myTerm -e httping -KY --draw-phase localhost +bindsym $mod+Ctrl+KP_Home exec $myTerm -e cmatrix -C cyan +bindsym $mod+Ctrl+KP_Up exec $myTerm -e pianobar +bindsym $mod+Ctrl+KP_Page_Up exec $myTerm -e wopr report.xml + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +#exec --no-startup-id volumeicon +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet + +################################################################################################ + +# auto switch to best screen config +bindsym $mod+Home exec "autorandr -c" + +# toggle polybar +bindsym $mod+Shift+f exec "polybar-msg cmd toggle" + +# make screenshot +bindsym $mod+Print exec "flameshot full -c" +bindsym $mod+Shift+Print exec "flameshot gui" + +# start screenrecording +bindsym $mod+Ctrl+Shift+Print exec --no-startup-id simplescreenrecorder --start-hidden --start-recording + +# Screen brightness controls +bindsym XF86MonBrightnessUp exec "light -A 5; notify-send Brightness set to $(light)" +bindsym XF86MonBrightnessDown exec "light -U 5; notify-send Brightness set to $(light)" +bindsym $mod+XF86MonBrightnessDown exec "light -S 0.2; notify-send Brightness set to min" +bindsym $mod+XF86MonBrightnessUp exec "light -S 100; notify-send Brightness set to max" + +# volumne controls +bindsym XF86AudioLowerVolume exec "pamixer --decrease 5" +bindsym XF86AudioRaiseVolume exec "pamixer --increase 5" +bindsym XF86AudioMute exec "pamixer -t" +bindsym $mod+XF86AudioMute exec "pactl set-source-mute @DEFAULT_SOURCE@ toggle" + +# media controls +bindsym XF86AudioPlay exec playerctl play-pause +bindsym $mod+XF86AudioRaiseVolume exec playerctl next +bindsym $mod+XF86AudioLowerVolume exec playerctl previous +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +# misc keyboard keys +bindsym XF86Calculator exec --no-startup-id qalculate-gtk + +# Start Applications +bindsym $mod+Ctrl+b exec $myTerm -e 'bmenu' +bindsym $mod+F1 exec brave +bindsym $mod+F3 exec kdenlive +bindsym $mod+F4 exec qalculate-gtk +bindsym $mod+F5 exec $myTerm -e 'mocp' +bindsym $mod+F6 exec blueman-manager +bindsym $mod+F8 exec --no-startup-id GDK_SCALE=2 steam +bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" +bindsym Print exec --no-startup-id i3-scrot +bindsym $mod+Print --release exec --no-startup-id i3-scrot -w +bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s +bindsym $mod+Ctrl+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + +# focus_follows_mouse no + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the arrow keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# alternatively, you can use the arrow keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# move focus to different monitors +bindsym $mod+greater focus output right +bindsym $mod+less focus output left + +# move container to different monitors +bindsym $mod+Ctrl+greater move container to output right; focus output right +bindsym $mod+Ctrl+less move container to output left; focus output left + +# move workspace to different monitor +bindsym $mod+Ctrl+Shift+greater move workspace to output right +bindsym $mod+Ctrl+Shift+less move workspace to output left + +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + +# split orientation +bindsym $mod+z split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle +bindsym $mod+Shift+y fullscreen disable; floating enable; resize set 640 480; sticky enable; move window to position 1270 590 + + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# toggle sticky +bindsym $mod+Shift+s sticky toggle +#bindsym $mod+Shift+s exec ~/.i3/i3-display-swap.sh + +# focus the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev + +# Workspace names +# to display names or symbols instead of plain workspace numbers you can use +# something like: set $ws1 1:mail +# set $ws2 2: +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 + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +bindsym $mod+Ctrl+9 move container to workspace $ws9 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 + +# Open applications on specific workspaces +assign [class="Thunderbird"] $ws9 +assign [class="spotify"] $ws9 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [title="Qalculate!"] floating enable border normal +for_window [class="Psensor"] floating enable border normal +for_window [title="lxrandr"] floating enable border normal +for_window [class="Element"] floating enable border normal +for_window [class="Blueman-manager"] floating enable border normal +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="Nitrogen"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Thus"] floating enable border normal +for_window [class="Timeset-gui"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="(?i)virtualbox"] fullscreen enable +for_window [class="Xfburn"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# reload the configuration file +bindsym $mod+Ctrl+r reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# Lock screen +bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l + +# Set shut down, restart +bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate +bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend + +# set lock combination for i3lock +bindsym $mod+Ctrl+l exec --no-startup-id i3lock -c 000000 + +#bindsym $mod+0 mode "$mode_system" +#set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +#mode "$mode_system" { +# bindsym l exec --no-startup-id light-locker-command -l +# bindsym h exec --no-startup-id systemctl hibernate +# bindsym r exec --no-startup-id reboot +# bindsym s exec --no-startup-id systemctl suspend +# bindsym Shift+s exec --no-startup-id shutdown now +# +# # exit system mode: "Enter" or "Escape" +# bindsym Return mode "default" +# bindsym Escape mode "default" +#} + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # Originally set to jkl;. + # These bindings trigger as soon as you enter the resize mode + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym h resize shrink width 4 px or 4 ppt + bindsym j resize grow height 4 px or 4 ppt + bindsym k resize shrink height 4 px or 4 ppt + bindsym l resize grow width 4 px or 4 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # exit resize mode: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Autostart applications +exec_always --no-startup-id $HOME/.config/polybar/launch.sh +exec --no-startup-id nextcloud +exec --no-startup-id mullvad-vpn +exec --no-startup-id redshift ~/.config/redshift/redshift.conf +exec --no-startup-id blueman-applet +exec --no-startup-id picom -b +exec --no-startup-id flameshot + +# locking specific startup applications +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +#exec --no-startup-id xautolock -time 1 -locker "i3lock" -detectsleep +exec --no-startup-id xautolock -time 30 -locker "systemctl suspend" -detectsleep + +# sys config tools +exec --no-startup-id xbindkeys + + +# autostart terminal and broswer +#exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/termite' +#exec --no-startup-id i2-msg 'workspace 2; exec /usr/bin/firefox' + + +# Color palette used for the terminal ( ~/.Xresources file ) +# Colors are gathered based on the documentation: +# https://i3wm.org/docs/userguide.html#xresources +# Change the variable name at the place you want to match the color +# of your terminal like this: +# [example] +# If you want your bar to have the same background color as your +# terminal background change the line 362 from: +# background #14191D +# to: +# background $term_background +# Same logic applied to everything else. +set_from_resource $term_background background +set_from_resource $term_foreground foreground +set_from_resource $term_color0 color0 +set_from_resource $term_color1 color1 +set_from_resource $term_color2 color2 +set_from_resource $term_color3 color3 +set_from_resource $term_color4 color4 +set_from_resource $term_color5 color5 +set_from_resource $term_color6 color6 +set_from_resource $term_color7 color7 +set_from_resource $term_color8 color8 +set_from_resource $term_color9 color9 +set_from_resource $term_color10 color10 +set_from_resource $term_color11 color11 +set_from_resource $term_color12 color12 +set_from_resource $term_color13 color13 +set_from_resource $term_color14 color14 +set_from_resource $term_color15 color15 + +# Theme colors +# class border backgr. text indic. child_border + client.focused #ff8800 #2F3D44 #FF8800 #FDF6E3 #ff8800 + client.focused_inactive #333333 #222222 #444444 #454948 #222222 + client.unfocused #2F3D44 #2F3D44 #FF8800 #454948 + client.urgent #CB4B16 #FDF6E3 #FF8800 #268BD2 + client.placeholder #000000 #0c0c0c #ffffff #000000 + + client.background #2B2C2B + +############################# +### settings for i3-gaps: ### +############################# + +# Set inner/outer gaps +gaps inner 8 +gaps outer -4 + +# 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 +# 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" +} + diff --git a/.config/i3/config_backup b/.config/i3/config_backup new file mode 100644 index 0000000..479a24b --- /dev/null +++ b/.config/i3/config_backup @@ -0,0 +1,482 @@ +# Set mod key (Mod1=, Mod4=) +set $mod Mod4 +set $alt Mod1 + +# set default desktop layout (default is tiling) +# workspace_layout tabbed + +# Configure border style +new_window pixel 2 +new_float normal + +# Hide borders +hide_edge_borders none + +# change borders +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font xft:MesloLGS NF 11 + +# Use Mouse+$mod to drag floating windows +floating_modifier $mod + +# start a $myTerm +set $myTerm alacritty +bindsym $mod+Return exec $myTerm --command tmux +bindsym $mod+Ctrl+Return exec $myTerm + +# kill focused window +bindsym $mod+Shift+c kill + +# start program launcher +bindsym $mod+Shift+Return exec --no-startup-id rofi -show run + + +# Apps Launched with + +bindsym $mod+KP_End exec $myTerm -e lynx -cfg=~/.lynx.cfg -lss=~/.lynx.lss http://www.distrowatch.com +bindsym $mod+KP_Down exec $myTerm -e sh ./scripts/googler-script.sh +bindsym $mod+KP_Page_Down exec $myTerm -e newsboat +bindsym $mod+KP_Left exec $myTerm -e rtv +bindsym $mod+KP_Begin exec $myTerm -e neomutt +bindsym $mod+KP_Right exec $myTerm -e twitch-curses +bindsym $mod+KP_Home exec $myTerm -e sh ./scripts/haxor-news.sh +bindsym $mod+KP_Up exec $myTerm -e toot curses +bindsym $mod+KP_Page_Up exec $myTerm -e sh ./scripts/tig-script.sh + +# Apps Launched with + + +bindsym $mod+Shift+KP_1 exec $myTerm -e vifm +bindsym $mod+Shift+KP_2 exec $myTerm -e joplin +bindsym $mod+Shift+KP_3 exec $myTerm -e cmus +bindsym $mod+Shift+KP_4 exec $myTerm -e irssi +bindsym $mod+Shift+KP_5 exec $myTerm -e rtorrent +bindsym $mod+ShiFT+KP_6 exec $myTerm -e youtube-viewer +bindsym $mod+Shift+KP_7 exec $myTerm -e ncpamixer +bindsym $mod+Shift+KP_8 exec $myTerm -e calcurse +bindsym $mod+Shift+KP_9 exec $myTerm -e vim ~/.config/i3/config + +# Apps Launched with + + +bindsym $mod+Ctrl+KP_End exec $myTerm -e htop +bindsym $mod+Ctrl+KP_Down exec $myTerm -e gtop +bindsym $mod+Ctrl+KP_Page_Down exec $myTerm -e nmon +bindsym $mod+Ctrl+KP_Left exec $myTerm -e glances +bindsym $mod+Ctrl+KP_Begin exec $myTerm -e s-tui +bindsym $mod+Ctrl+KP_Right exec $myTerm -e httping -KY --draw-phase localhost +bindsym $mod+Ctrl+KP_Home exec $myTerm -e cmatrix -C cyan +bindsym $mod+Ctrl+KP_Up exec $myTerm -e pianobar +bindsym $mod+Ctrl+KP_Page_Up exec $myTerm -e wopr report.xml + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +#exec --no-startup-id volumeicon +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet + +################################################################################################ + +# auto switch to best screen config +bindsym $mod+Home exec "autorandr -c" + +# toggle polybar +bindsym $mod+Shift+f exec "polybar-msg cmd toggle" + +# make screenshot +bindsym $mod+Print exec "flameshot full -c" +bindsym $mod+Shift+Print exec "flameshot gui" + +# start screenrecording +bindsym $mod+Ctrl+Shift+Print exec --no-startup-id simplescreenrecorder --start-hidden --start-recording + +# Screen brightness controls +bindsym XF86MonBrightnessUp exec "light -A 5; notify-send Brightness set to $(light)" +bindsym XF86MonBrightnessDown exec "light -U 5; notify-send Brightness set to $(light)" +bindsym $mod+XF86MonBrightnessDown exec "light -S 0.2; notify-send Brightness set to min" +bindsym $mod+XF86MonBrightnessUp exec "light -S 100; notify-send Brightness set to max" + +# volumne controls +bindsym XF86AudioLowerVolume exec "pamixer --decrease 5" +bindsym XF86AudioRaiseVolume exec "pamixer --increase 5" +bindsym XF86AudioMute exec "pamixer -t" +bindsym $mod+XF86AudioMute exec "pactl set-source-mute @DEFAULT_SOURCE@ toggle" + +# media controls +bindsym XF86AudioPlay exec playerctl play-pause +bindsym $mod+XF86AudioRaiseVolume exec playerctl next +bindsym $mod+XF86AudioLowerVolume exec playerctl previous +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +# misc keyboard keys +bindsym XF86Calculator exec --no-startup-id qalculate-gtk + +# Start Applications +bindsym $mod+Ctrl+b exec $myTerm -e 'bmenu' +bindsym $mod+F1 exec brave +bindsym $mod+F3 exec kdenlive +bindsym $mod+F4 exec qalculate-gtk +bindsym $mod+F5 exec $myTerm -e 'mocp' +bindsym $mod+F6 exec blueman-manager +bindsym $mod+F8 exec --no-startup-id GDK_SCALE=2 steam +bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" +bindsym Print exec --no-startup-id i3-scrot +bindsym $mod+Print --release exec --no-startup-id i3-scrot -w +bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s +bindsym $mod+Ctrl+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + +# focus_follows_mouse no + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the arrow keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# alternatively, you can use the arrow keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# move focus to different monitors +bindsym $mod+greater focus output right +bindsym $mod+less focus output left + +# move container to different monitors +bindsym $mod+Ctrl+greater move container to output right; focus output right +bindsym $mod+Ctrl+less move container to output left; focus output left + +# move workspace to different monitor +bindsym $mod+Ctrl+Shift+greater move workspace to output right +bindsym $mod+Ctrl+Shift+less move workspace to output left + +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + +# split orientation +bindsym $mod+z split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle +bindsym $mod+Shift+y fullscreen disable; floating enable; resize set 640 480; sticky enable; move window to position 1270 590 + + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# toggle sticky +bindsym $mod+Shift+s sticky toggle +#bindsym $mod+Shift+s exec ~/.i3/i3-display-swap.sh + +# focus the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev + +# Workspace names +# to display names or symbols instead of plain workspace numbers you can use +# something like: set $ws1 1:mail +# set $ws2 2: +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 + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +bindsym $mod+Ctrl+9 move container to workspace $ws9 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 + +# Open applications on specific workspaces +assign [class="Thunderbird"] $ws9 +assign [class="spotify"] $ws9 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [title="Qalculate!"] floating enable border normal +for_window [class="Psensor"] floating enable border normal +for_window [title="lxrandr"] floating enable border normal +for_window [class="Element"] floating enable border normal +for_window [class="Blueman-manager"] floating enable border normal +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="Nitrogen"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Thus"] floating enable border normal +for_window [class="Timeset-gui"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="(?i)virtualbox"] fullscreen enable +for_window [class="Xfburn"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# reload the configuration file +bindsym $mod+Ctrl+r reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# Lock screen +bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l + +# Set shut down, restart +bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate +bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend + +# set lock combination for i3lock +bindsym $mod+Ctrl+l exec --no-startup-id i3lock -c 000000 + +#bindsym $mod+0 mode "$mode_system" +#set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +#mode "$mode_system" { +# bindsym l exec --no-startup-id light-locker-command -l +# bindsym h exec --no-startup-id systemctl hibernate +# bindsym r exec --no-startup-id reboot +# bindsym s exec --no-startup-id systemctl suspend +# bindsym Shift+s exec --no-startup-id shutdown now +# +# # exit system mode: "Enter" or "Escape" +# bindsym Return mode "default" +# bindsym Escape mode "default" +#} + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # Originally set to jkl;. + # These bindings trigger as soon as you enter the resize mode + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym h resize shrink width 4 px or 4 ppt + bindsym j resize grow height 4 px or 4 ppt + bindsym k resize shrink height 4 px or 4 ppt + bindsym l resize grow width 4 px or 4 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # exit resize mode: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Autostart applications +exec_always --no-startup-id $HOME/.config/polybar/launch.sh +exec --no-startup-id nextcloud +exec --no-startup-id mullvad-vpn +exec --no-startup-id redshift ~/.config/redshift/redshift.conf +exec --no-startup-id blueman-applet +exec --no-startup-id picom -b +exec --no-startup-id flameshot + +# locking specific startup applications +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +#exec --no-startup-id xautolock -time 1 -locker "i3lock" -detectsleep +exec --no-startup-id xautolock -time 30 -locker "systemctl suspend" -detectsleep + +# sys config tools +exec --no-startup-id xbindkeys + + +# autostart terminal and broswer +#exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/termite' +#exec --no-startup-id i2-msg 'workspace 2; exec /usr/bin/firefox' + + +# Color palette used for the terminal ( ~/.Xresources file ) +# Colors are gathered based on the documentation: +# https://i3wm.org/docs/userguide.html#xresources +# Change the variable name at the place you want to match the color +# of your terminal like this: +# [example] +# If you want your bar to have the same background color as your +# terminal background change the line 362 from: +# background #14191D +# to: +# background $term_background +# Same logic applied to everything else. +set_from_resource $term_background background +set_from_resource $term_foreground foreground +set_from_resource $term_color0 color0 +set_from_resource $term_color1 color1 +set_from_resource $term_color2 color2 +set_from_resource $term_color3 color3 +set_from_resource $term_color4 color4 +set_from_resource $term_color5 color5 +set_from_resource $term_color6 color6 +set_from_resource $term_color7 color7 +set_from_resource $term_color8 color8 +set_from_resource $term_color9 color9 +set_from_resource $term_color10 color10 +set_from_resource $term_color11 color11 +set_from_resource $term_color12 color12 +set_from_resource $term_color13 color13 +set_from_resource $term_color14 color14 +set_from_resource $term_color15 color15 + +# Theme colors +# class border backgr. text indic. child_border + client.focused #ff8800 #2F3D44 #FF8800 #FDF6E3 #ff8800 + client.focused_inactive #333333 #222222 #444444 #454948 #222222 + client.unfocused #2F3D44 #2F3D44 #FF8800 #454948 + client.urgent #CB4B16 #FDF6E3 #FF8800 #268BD2 + client.placeholder #000000 #0c0c0c #ffffff #000000 + + client.background #2B2C2B + +############################# +### settings for i3-gaps: ### +############################# + +# Set inner/outer gaps +gaps inner 8 +gaps outer -4 + +# 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 +# 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" +} + diff --git a/.config/i3/config_backup##arch.work_desktop b/.config/i3/config_backup##arch.work_desktop new file mode 100644 index 0000000..479a24b --- /dev/null +++ b/.config/i3/config_backup##arch.work_desktop @@ -0,0 +1,482 @@ +# Set mod key (Mod1=, Mod4=) +set $mod Mod4 +set $alt Mod1 + +# set default desktop layout (default is tiling) +# workspace_layout tabbed + +# Configure border style +new_window pixel 2 +new_float normal + +# Hide borders +hide_edge_borders none + +# change borders +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font xft:MesloLGS NF 11 + +# Use Mouse+$mod to drag floating windows +floating_modifier $mod + +# start a $myTerm +set $myTerm alacritty +bindsym $mod+Return exec $myTerm --command tmux +bindsym $mod+Ctrl+Return exec $myTerm + +# kill focused window +bindsym $mod+Shift+c kill + +# start program launcher +bindsym $mod+Shift+Return exec --no-startup-id rofi -show run + + +# Apps Launched with + +bindsym $mod+KP_End exec $myTerm -e lynx -cfg=~/.lynx.cfg -lss=~/.lynx.lss http://www.distrowatch.com +bindsym $mod+KP_Down exec $myTerm -e sh ./scripts/googler-script.sh +bindsym $mod+KP_Page_Down exec $myTerm -e newsboat +bindsym $mod+KP_Left exec $myTerm -e rtv +bindsym $mod+KP_Begin exec $myTerm -e neomutt +bindsym $mod+KP_Right exec $myTerm -e twitch-curses +bindsym $mod+KP_Home exec $myTerm -e sh ./scripts/haxor-news.sh +bindsym $mod+KP_Up exec $myTerm -e toot curses +bindsym $mod+KP_Page_Up exec $myTerm -e sh ./scripts/tig-script.sh + +# Apps Launched with + + +bindsym $mod+Shift+KP_1 exec $myTerm -e vifm +bindsym $mod+Shift+KP_2 exec $myTerm -e joplin +bindsym $mod+Shift+KP_3 exec $myTerm -e cmus +bindsym $mod+Shift+KP_4 exec $myTerm -e irssi +bindsym $mod+Shift+KP_5 exec $myTerm -e rtorrent +bindsym $mod+ShiFT+KP_6 exec $myTerm -e youtube-viewer +bindsym $mod+Shift+KP_7 exec $myTerm -e ncpamixer +bindsym $mod+Shift+KP_8 exec $myTerm -e calcurse +bindsym $mod+Shift+KP_9 exec $myTerm -e vim ~/.config/i3/config + +# Apps Launched with + + +bindsym $mod+Ctrl+KP_End exec $myTerm -e htop +bindsym $mod+Ctrl+KP_Down exec $myTerm -e gtop +bindsym $mod+Ctrl+KP_Page_Down exec $myTerm -e nmon +bindsym $mod+Ctrl+KP_Left exec $myTerm -e glances +bindsym $mod+Ctrl+KP_Begin exec $myTerm -e s-tui +bindsym $mod+Ctrl+KP_Right exec $myTerm -e httping -KY --draw-phase localhost +bindsym $mod+Ctrl+KP_Home exec $myTerm -e cmatrix -C cyan +bindsym $mod+Ctrl+KP_Up exec $myTerm -e pianobar +bindsym $mod+Ctrl+KP_Page_Up exec $myTerm -e wopr report.xml + +################################################################################################ +## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ## +################################################################################################ + +#exec --no-startup-id volumeicon +#exec --no-startup-id pulseaudio +#exec --no-startup-id pa-applet + +################################################################################################ + +# auto switch to best screen config +bindsym $mod+Home exec "autorandr -c" + +# toggle polybar +bindsym $mod+Shift+f exec "polybar-msg cmd toggle" + +# make screenshot +bindsym $mod+Print exec "flameshot full -c" +bindsym $mod+Shift+Print exec "flameshot gui" + +# start screenrecording +bindsym $mod+Ctrl+Shift+Print exec --no-startup-id simplescreenrecorder --start-hidden --start-recording + +# Screen brightness controls +bindsym XF86MonBrightnessUp exec "light -A 5; notify-send Brightness set to $(light)" +bindsym XF86MonBrightnessDown exec "light -U 5; notify-send Brightness set to $(light)" +bindsym $mod+XF86MonBrightnessDown exec "light -S 0.2; notify-send Brightness set to min" +bindsym $mod+XF86MonBrightnessUp exec "light -S 100; notify-send Brightness set to max" + +# volumne controls +bindsym XF86AudioLowerVolume exec "pamixer --decrease 5" +bindsym XF86AudioRaiseVolume exec "pamixer --increase 5" +bindsym XF86AudioMute exec "pamixer -t" +bindsym $mod+XF86AudioMute exec "pactl set-source-mute @DEFAULT_SOURCE@ toggle" + +# media controls +bindsym XF86AudioPlay exec playerctl play-pause +bindsym $mod+XF86AudioRaiseVolume exec playerctl next +bindsym $mod+XF86AudioLowerVolume exec playerctl previous +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous + +# misc keyboard keys +bindsym XF86Calculator exec --no-startup-id qalculate-gtk + +# Start Applications +bindsym $mod+Ctrl+b exec $myTerm -e 'bmenu' +bindsym $mod+F1 exec brave +bindsym $mod+F3 exec kdenlive +bindsym $mod+F4 exec qalculate-gtk +bindsym $mod+F5 exec $myTerm -e 'mocp' +bindsym $mod+F6 exec blueman-manager +bindsym $mod+F8 exec --no-startup-id GDK_SCALE=2 steam +bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'" +bindsym Print exec --no-startup-id i3-scrot +bindsym $mod+Print --release exec --no-startup-id i3-scrot -w +bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s +bindsym $mod+Ctrl+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf +bindsym $mod+Ctrl+x --release exec --no-startup-id xkill + +# focus_follows_mouse no + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the arrow keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# alternatively, you can use the arrow keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# move focus to different monitors +bindsym $mod+greater focus output right +bindsym $mod+less focus output left + +# move container to different monitors +bindsym $mod+Ctrl+greater move container to output right; focus output right +bindsym $mod+Ctrl+less move container to output left; focus output left + +# move workspace to different monitor +bindsym $mod+Ctrl+Shift+greater move workspace to output right +bindsym $mod+Ctrl+Shift+less move workspace to output left + +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + +# split orientation +bindsym $mod+z split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle +bindsym $mod+Shift+y fullscreen disable; floating enable; resize set 640 480; sticky enable; move window to position 1270 590 + + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# toggle sticky +bindsym $mod+Shift+s sticky toggle +#bindsym $mod+Shift+s exec ~/.i3/i3-display-swap.sh + +# focus the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev + +# Workspace names +# to display names or symbols instead of plain workspace numbers you can use +# something like: set $ws1 1:mail +# set $ws2 2: +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 + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 +bindsym $mod+Ctrl+9 move container to workspace $ws9 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 + +# Open applications on specific workspaces +assign [class="Thunderbird"] $ws9 +assign [class="spotify"] $ws9 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [title="Qalculate!"] floating enable border normal +for_window [class="Psensor"] floating enable border normal +for_window [title="lxrandr"] floating enable border normal +for_window [class="Element"] floating enable border normal +for_window [class="Blueman-manager"] floating enable border normal +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="Nitrogen"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Thus"] floating enable border normal +for_window [class="Timeset-gui"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="(?i)virtualbox"] fullscreen enable +for_window [class="Xfburn"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# reload the configuration file +bindsym $mod+Ctrl+r reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# Lock screen +bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l + +# Set shut down, restart +bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate +bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend + +# set lock combination for i3lock +bindsym $mod+Ctrl+l exec --no-startup-id i3lock -c 000000 + +#bindsym $mod+0 mode "$mode_system" +#set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +#mode "$mode_system" { +# bindsym l exec --no-startup-id light-locker-command -l +# bindsym h exec --no-startup-id systemctl hibernate +# bindsym r exec --no-startup-id reboot +# bindsym s exec --no-startup-id systemctl suspend +# bindsym Shift+s exec --no-startup-id shutdown now +# +# # exit system mode: "Enter" or "Escape" +# bindsym Return mode "default" +# bindsym Escape mode "default" +#} + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # Originally set to jkl;. + # These bindings trigger as soon as you enter the resize mode + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym h resize shrink width 4 px or 4 ppt + bindsym j resize grow height 4 px or 4 ppt + bindsym k resize shrink height 4 px or 4 ppt + bindsym l resize grow width 4 px or 4 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # exit resize mode: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Autostart applications +exec_always --no-startup-id $HOME/.config/polybar/launch.sh +exec --no-startup-id nextcloud +exec --no-startup-id mullvad-vpn +exec --no-startup-id redshift ~/.config/redshift/redshift.conf +exec --no-startup-id blueman-applet +exec --no-startup-id picom -b +exec --no-startup-id flameshot + +# locking specific startup applications +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +#exec --no-startup-id xautolock -time 1 -locker "i3lock" -detectsleep +exec --no-startup-id xautolock -time 30 -locker "systemctl suspend" -detectsleep + +# sys config tools +exec --no-startup-id xbindkeys + + +# autostart terminal and broswer +#exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/termite' +#exec --no-startup-id i2-msg 'workspace 2; exec /usr/bin/firefox' + + +# Color palette used for the terminal ( ~/.Xresources file ) +# Colors are gathered based on the documentation: +# https://i3wm.org/docs/userguide.html#xresources +# Change the variable name at the place you want to match the color +# of your terminal like this: +# [example] +# If you want your bar to have the same background color as your +# terminal background change the line 362 from: +# background #14191D +# to: +# background $term_background +# Same logic applied to everything else. +set_from_resource $term_background background +set_from_resource $term_foreground foreground +set_from_resource $term_color0 color0 +set_from_resource $term_color1 color1 +set_from_resource $term_color2 color2 +set_from_resource $term_color3 color3 +set_from_resource $term_color4 color4 +set_from_resource $term_color5 color5 +set_from_resource $term_color6 color6 +set_from_resource $term_color7 color7 +set_from_resource $term_color8 color8 +set_from_resource $term_color9 color9 +set_from_resource $term_color10 color10 +set_from_resource $term_color11 color11 +set_from_resource $term_color12 color12 +set_from_resource $term_color13 color13 +set_from_resource $term_color14 color14 +set_from_resource $term_color15 color15 + +# Theme colors +# class border backgr. text indic. child_border + client.focused #ff8800 #2F3D44 #FF8800 #FDF6E3 #ff8800 + client.focused_inactive #333333 #222222 #444444 #454948 #222222 + client.unfocused #2F3D44 #2F3D44 #FF8800 #454948 + client.urgent #CB4B16 #FDF6E3 #FF8800 #268BD2 + client.placeholder #000000 #0c0c0c #ffffff #000000 + + client.background #2B2C2B + +############################# +### settings for i3-gaps: ### +############################# + +# Set inner/outer gaps +gaps inner 8 +gaps outer -4 + +# 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 +# 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" +} +