dotfiles/.config/i3/config

811 lines
26 KiB
Text
Raw Normal View History

2022-02-20 15:45:28 +00:00
################# Start of all the settings
# KEY DEFINITIONS TO REMEMBER
# $mod = Set below
# Mod4 = Super key
# Mod1 = ALT key
# Control = CTRL key
# Shift = SHIFT key
# Escape = ESCAPE key
# Return = ENTER or RETURN key
# KP_Enter = Keypad Enter
# Pause = PAUSE key
# Print = PRINT key
# Tab = TAB key
################# Define the $mod variable/key
# Key to rule them all : Super(Windows) or Alt key - see definition above
# set Super key
set $mod Mod4
################# Define the movements keys - variables
# This is setup for qwerty
# set $right to m if using azerty keyboard
set $up l
set $down k
set $left j
2022-03-10 18:14:39 +00:00
set $right semicolon
2022-02-20 15:45:28 +00:00
################# Single and Dual screen
# current displays
2022-03-10 18:14:39 +00:00
# exec --no-startup-id xrandr --output DP0 --right-of HDMI-0 --auto
2022-02-20 15:45:28 +00:00
# setting variables for later use
# use xrandr and/or arandr to know the names of your monitors
# use this line to tell which monitor is on the right
# xrandr --output DVI-I-2 --right-of DVI-I-1 --auto
# exec --no-startup-id xrandr --output LVDS1 --mode 1366x768 --output DP3 --mode 1920x1080 --right-of LVDS1
# exec --no-startup-id xrandr --output DVI-I-0 --right-of HDMI-0 --auto
# exec --no-startup-id xrandr --output DVI-1 --right-of DVI-0 --auto
# exec --no-startup-id xrandr --output DVI-D-1 --right-of DVI-I-1 --auto
# exec --no-startup-id xrandr --output HDMI-2 --right-of HDMI-1 --auto
# current setup
2022-03-10 18:14:39 +00:00
# set $firstMonitor HDMI-0
# set $secondMonitor DP0
2022-02-20 15:45:28 +00:00
2022-03-10 18:14:39 +00:00
# workspace 1 output $firstMonitor
# workspace 2 output $firstMonitor
# workspace 3 output $firstMonitor
# workspace 4 output $firstMonitor
# workspace 5 output $firstMonitor
# workspace 6 output $secondMonitor
# workspace 7 output $secondMonitor
# workspace 8 output $secondMonitor
# workspace 9 output $secondMonitor
# workspace 10 output $secondMonitor
2022-02-20 15:45:28 +00:00
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
bindsym $mod+Shift+9 move container to workspace 9; workspace 9
bindsym $mod+Shift+0 move container to workspace 10; workspace 10
################# menu's in arcolinux
# start dmenu
bindsym $mod+shift+d exec --no-startup-id dmenu_run -i -nb '#191919' -nf '#fea63c' -sb '#fea63c' -sf '#191919' -fn 'NotoMonoRegular:bold:pixelsize=14'
# start xfce4-appfinder
2022-03-10 18:14:39 +00:00
# bindsym mod1+F2 exec --no-startup-id xfce4-appfinder --collapsed
2022-02-20 15:45:28 +00:00
# start xfce-appfinder
2022-03-10 18:14:39 +00:00
# bindsym mod1+F3 exec --no-startup-id xfce4-appfinder
2022-02-20 15:45:28 +00:00
# start xlunch app launcher
# bindsym mod1+F5 exec --no-startup-id xlunch --config ~/.config/xlunch/default.conf --input ~/.config/xlunch/entries.dsv
# start rofi full
bindsym $mod+F11 exec --no-startup-id "rofi -font 'Noto Sans 13' -theme-str 'window {width: 100%;height: 100%;}' -show drun"
# start rofi small
bindsym $mod+F12 exec --no-startup-id rofi -show drun -font "Noto Sans 13"
################# how to exit, logoff, suspend, ...
# Backup exit
# Press ctrl+alt+x - check toolbar for next choices
bindsym control+mod1+X mode "$mode_system"
set $mode_system System (k) lock, (l) logout, (u) suspend, (h) hibernate, (r) reboot, (s) shutdown
mode "$mode_system" {
2022-03-10 18:14:39 +00:00
bindsym k exec --no-startup-id ~/.config/i3/scripts/i3exit.sh lock, mode "default"
2022-02-20 15:45:28 +00:00
bindsym l exec --no-startup-id ~/.config/i3/scripts/i3exit.sh logout, mode "default"
bindsym u exec --no-startup-id ~/.config/i3/scripts/i3exit.sh suspend, mode "default"
bindsym h exec --no-startup-id ~/.config/i3/scripts/i3exit.sh hibernate, mode "default"
bindsym r exec --no-startup-id ~/.config/i3/scripts/i3exit.sh reboot, mode "default"
bindsym s exec --no-startup-id ~/.config/i3/scripts/i3exit.sh shutdown, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# set desktop background with custom effect
2022-03-10 18:14:39 +00:00
# exec --no-startup-id betterlockscreen -w dim
2022-02-20 15:45:28 +00:00
# Alternative (set last used background)
2022-03-10 18:14:39 +00:00
# exec --no-startup-id source ~/.fehbg
2022-02-20 15:45:28 +00:00
2022-03-10 18:14:39 +00:00
# bindsym $mod+shift+x exec betterlockscreen -l dim
2022-02-20 15:45:28 +00:00
################# reload changed configuration
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# reload the configuration file
bindsym $mod+Shift+c reload
################# Stopping an application
# kill focused window
bindsym $mod+Shift+q kill
2022-03-26 20:27:29 +00:00
# bindsym $mod+q kill
2022-02-20 15:45:28 +00:00
################# Moving around in i3
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# toggle tiling / floating
2022-03-10 18:14:39 +00:00
bindsym $mod+Shift+f floating toggle
2022-02-20 15:45:28 +00:00
# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# alternatively, you can use the cursor 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+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# alternatively, you can use the cursor keys:
2022-03-14 20:57:23 +00:00
bindsym $mod+Shift+Left move left
2022-02-20 15:45:28 +00:00
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
######
#bindsym $mod+Shift+l exec "i3lock"
################# moving around workspaces
# next/previous workspace
bindsym Mod1+Tab workspace next
bindsym Mod1+Shift+Tab workspace prev
bindsym $mod+Tab workspace back_and_forth
# navigate workspaces next / previous
bindsym Mod1+Ctrl+Right workspace next
bindsym Mod1+Ctrl+Left workspace prev
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
################# Tiling parameters
# orientation for new workspaces
default_orientation horizontal
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
# Super + F in arcolinux is execute thunar
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
# qwerty/azerty issue for letter z
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
# change focus between tiling / floating windows
2022-03-10 18:14:39 +00:00
2022-02-20 15:45:28 +00:00
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
2022-03-10 18:14:39 +00:00
bindsym $mod+d focus child
2022-02-20 15:45:28 +00:00
################# resize
# Resizing by 1
bindsym $mod+Mod1+Ctrl+Right resize shrink width 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Up resize grow height 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Down resize shrink height 1 px or 1 ppt
bindsym $mod+Mod1+Ctrl+Left resize grow width 1 px or 1 ppt
# old resize keybindings
# resize window (you can also use the mouse for that)
2022-03-10 18:14:39 +00:00
bindsym $mod+r mode "resize"
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
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
# 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
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
2022-02-20 15:45:28 +00:00
################# choose the font
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# choose your font
font pango:Noto Mono Regular 13
################# assign applications to workspaces
# Assign application to start on a specific workspace
# you can find the class with the program xprop
# Example - make browser start on workspace 3
# assign [class="Firefox|Vivaldi-stable|Vivaldi-snapshot|Opera"] → 3
# assign [class="Chromium|Google-chrome"] → 3
# Workspace 2 text editor related
# assign [class="sublime-text|sublime_text|Sublime_text|subl|Subl|subl3|Subl3"] → 2
# assign [class="Xed|xed|Brackets|Atom|Code|Geany"] → 2
# Workspace 3 Inkscape
# assign [class="Inkscape"] → 3
# Workspace 4 Gimp
# assign [class="Gimp"] → 4
# Workspace 5 Images and meld
# assign [class="ristretto|Ristretto|shotwell|Shotwell|Xviewer|Nitrogen"] → 5
# assign [class="feh|gthumb|Gthumb|eog|Eog|Pinta|pixeluvo|Pixeluvo"] → 5
# assign [class="Meld"] → 5
# Workspace 6 all video related software
# assign [class="Vlc|vlc"] → 6
# Workspace 7 virtual machines and settings
# assign [class="Vmplayer|VirtualBox"] → 7
# Workspace 8 file managers
# assign [class="Nemo|Thunar|Caja|nautilus|Nautilus"] → 8
# Workspace 9 email clients
# assign [class="Geary|Evolution"] → 9
# Workspace 10 music related
# assign [class="Spotify|spotify"] → 10
# fix for spotify not moving to workspace 10
# for_window [class="Spotify"] move to workspace 10
################# autostart - execute applications at boot time
# USER APPLICATIONS TO START AT BOOT
# Text-editor
# exec --no-startup-id atom
# File manager
# exec --no-startup-id thunar
# Mail clients
# exec --no-startup-id evolution
# Music
# exec --no-startup-id spotify
2022-03-14 20:57:23 +00:00
# for_window [class="Spotify"] focus
2022-02-20 15:45:28 +00:00
# TRAY APPLICATIONS
# applications that are not installed will not start
# you may see a wheel - hashtag out things you do not want/need
# Authentication dialog
2022-03-10 18:14:39 +00:00
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
2022-02-20 15:45:28 +00:00
# Updater
2022-03-10 18:14:39 +00:00
# exec --no-startup-id pamac-tray
2022-02-20 15:45:28 +00:00
# bluetooth
# exec --no-startup-id blueberry-tray
# network
2022-03-10 18:14:39 +00:00
# exec --no-startup-id nm-applet
2022-02-20 15:45:28 +00:00
# num lock activated
2022-03-10 18:14:39 +00:00
# exec_always --no-startup-id numlockx on
2022-02-20 15:45:28 +00:00
# dropbox
# exec --no-startup-id dropbox start
# insync
# exec --no-startup-id insync start
# volume
# exec --no-startup-id pasystray
2022-03-10 18:14:39 +00:00
# exec --no-startup-id volumeicon
2022-02-20 15:45:28 +00:00
# variety
# exec --no-startup-id variety
# clipman
# exec --no-startup-id xfce4-clipman
# Conky
2022-03-10 18:14:39 +00:00
# exec --no-startup-id conky -c ~/.config/i3/system-overview
2022-02-20 15:45:28 +00:00
# feh sets wallpaper
2022-03-10 18:14:39 +00:00
exec --no-startup-id feh --bg-fill /media/Data/Personalize/Wallpapers/BG4.jpg &
2022-02-20 15:45:28 +00:00
# Polybar
# exec_always --no-startup-id ~/.config/polybar/launch.sh &
################# system applications
2022-03-10 18:14:39 +00:00
# exec --no-startup-id xfce4-power-manager &
2022-02-20 15:45:28 +00:00
# ommitted next line to get super key to bring up the menu in xfce and avoid error then in i3
# IF xfsettingsd is activated you can not change themes
# exec --no-startup-id xfsettingsd &
2022-03-10 18:14:39 +00:00
# exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
2022-02-20 15:45:28 +00:00
################# applications keyboard shortcuts
# not workspace related
# terminal
bindsym $mod+Return exec --no-startup-id alacritty;focus
bindsym $mod+KP_Enter exec --no-startup-id alacritty;focus
bindsym control+mod1+t exec --no-startup-id alacritty; focus
bindsym control+mod1+Return exec --no-startup-id alacritty; focus
bindsym control+mod1+KP_Enter exec --no-startup-id alacritty; focus
2022-03-10 18:14:39 +00:00
# bindsym F12 exec --no-startup-id xfce4-terminal --drop-down; focus
2022-02-20 15:45:28 +00:00
# System monitor
2022-03-10 18:14:39 +00:00
# bindsym control+Shift+Escape exec --no-startup-id xfce4-taskmanager;focus
2022-02-20 15:45:28 +00:00
# settings
2022-03-10 18:14:39 +00:00
# bindsym control+mod1+m exec --no-startup-id xfce4-settings-manager
2022-02-20 15:45:28 +00:00
# catfish
bindsym control+mod1+c exec --no-startup-id catfish;focus
# rofi theme selector
bindsym control+mod1+r exec --no-startup-id rofi-theme-selector
# pavucontrol
bindsym control+mod1+u exec --no-startup-id pavucontrol
# pamac-manager
bindsym control+mod1+p exec --no-startup-id pamac-manager
# xkill
bindsym --release $mod+Escape exec xkill
# Function Keybinds
# Browser
bindsym $mod+F1 exec --no-startup-id exo-open --launch webbrowser;focus
# qwerty/azerty conflict with w
2022-03-10 18:14:39 +00:00
# bindsym $mod+w exec --no-startup-id exo-open --launch webbrowser;focus
2022-02-20 15:45:28 +00:00
bindsym control+mod1+f exec --no-startup-id firefox;focus
bindsym control+mod1+v exec --no-startup-id vivaldi-stable;focus
bindsym control+mod1+g exec --no-startup-id chromium;focus
# Text Editor
# bindsym $mod+F2 exec --no-startup-id geany;focus
2022-03-10 18:14:39 +00:00
bindsym $mod+F2 exec --no-startup-id kate;focus
2022-02-20 15:45:28 +00:00
# Basic Draw Tool
bindsym $mod+F3 exec --no-startup-id inkscape;focus
# Advanced Draw Tool
bindsym $mod+F4 exec --no-startup-id gimp;focus
# document comparison
bindsym $mod+F5 exec --no-startup-id meld;focus
bindsym control+mod1+i exec --no-startup-id nitrogen;focus
# video player
bindsym $mod+F6 exec --no-startup-id vlc;focus
# virtual machine
bindsym $mod+F7 exec --no-startup-id virtualbox;focus
# file management
for_window [class="Dolphin"] focus
bindsym $mod+F8 exec --no-startup-id dolphin;focus
bindsym $mod+Shift+Return exec --no-startup-id dolphin;focus
bindsym $mod+Shift+KP_Enter exec --no-startup-id dolphin;focus
bindsym control+mod1+b exec --no-startup-id dolphin;focus
# mail application
bindsym $mod+F9 exec --no-startup-id evolution;focus
# music
bindsym $mod+F10 exec --no-startup-id cmus;focus
bindsym control+mod1+s exec --no-startup-id spotify;focus
################# screenshots
2022-03-10 18:14:39 +00:00
bindsym Print exec --no-startup-id spectacle
bindsym Control+Print exec --no-startup-id obs
# bindsym Control+Shift+Print exec --no-startup-id gnome-screenshot -i
2022-02-20 15:45:28 +00:00
# bindsym shift+Print exec --no-startup-id shutter
################# floating or tiled rules
# floating enabled from some programs - find with xprop
for_window [class="Bleachbit"] floating disable
for_window [class="Blueberry.py"] floating enable
for_window [class="Brasero"] floating disable
for_window [class="Galculator"] floating enable
for_window [class="Gnome-disks"] floating disable
for_window [class="^Gnome-font-viewer$"] floating enable
for_window [class="^Gpick$"] floating enable
for_window [class="Hexchat"] floating disable
for_window [class="Imagewriter"] floating enable
for_window [class="Font-manager"] floating enable
# for_window [class="qt5ct|Lxappearance] floating enable
for_window [class="Nitrogen"] floating disable
for_window [class="Pavucontrol"] floating disable
for_window [class="Peek"] floating enable
for_window [class="^Skype$"] floating enable
for_window [class="^Spotify$"] floating disable
for_window [class="System-config-printer.py"] floating enable
for_window [class="Unetbootin.elf"] floating enable
for_window [class="Usb-creator-gtk"] floating enable
for_window [class="^Vlc$"] floating disable
for_window [class="Wine"] floating disable
for_window [class="Xfburn"] floating disable
for_window [class="Xfce4-appfinder"] floating enable
for_window [class="Xfce4-settings-manager"] floating disable
for_window [class="Xfce4-taskmanager"] floating enable
# for_window [instance="gimp"] floating disable
for_window [instance="script-fu"] border normal
for_window [instance="variety"] floating disable
for_window [title="Copying"] floating enable
for_window [title="Deleting"] floating enable
for_window [title="Moving"] floating enable
for_window [title="^Terminator Preferences$"] floating enable
2022-03-14 20:57:23 +00:00
for_window [window_role="^gimp-toolbox-color-dialog$"] floating enable
2022-02-20 15:45:28 +00:00
for_window [window_role="pop-up"] floating enable
for_window [window_role="^Preferences$"] floating enable
for_window [window_role="setup"] floating enable
################# give focus to applications
for_window [class="Gnome-terminal"] focus
for_window [class="Termite"] focus
for_window [class="Terminator"] focus
for_window [class="Urxvt"] focus
for_window [class="Alacritty"] focus
################# variety for wallpapers
# Variety keybindings mod1 = ALT
# trash wallpaper
bindsym mod1+t exec --no-startup-id variety -t
# next wallpaper
bindsym mod1+n exec --no-startup-id variety -n
bindsym mod1+Right exec --no-startup-id variety -n
# previous wallpaper
bindsym mod1+p exec --no-startup-id variety -p
bindsym mod1+Left exec --no-startup-id variety -p
# favorite wallpaper
bindsym mod1+f exec --no-startup-id variety -f
# pause wallpaper
bindsym mod1+Up exec --no-startup-id variety --pause
# resume wallpaper
bindsym mod1+Down exec --no-startup-id variety --resume
################# variety with pywal for your wallpapers/colour schemes
# next wallpaper
bindsym mod1+Shift+n exec --no-startup-id variety -n && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# previous wallpaper
bindsym mod1+Shift+p exec --no-startup-id variety -p && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# trash wallpaper
bindsym mod1+Shift+t exec --no-startup-id variety -t && wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)&
# Update Wallpaper
bindsym mod1+Shift+u exec --no-startup-id wal -i $(cat $HOME/.config/variety/wallpaper/wallpaper.jpg.txt)
################# audio settings
2022-03-10 18:14:39 +00:00
# bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer -D pulse sset Master '5%+'"
# bindsym XF86AudioLowerVolume exec --no-startup-id "amixer -D pulse sset Master '5%-'"
# bindsym XF86AudioMute exec --no-startup-id "amixer -D pulse set Master toggle"
2022-02-20 15:45:28 +00:00
# https://github.com/acrisci/playerctl/
2022-03-10 18:14:39 +00:00
# bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
# bindsym XF86AudioNext exec --no-startup-id playerctl next
# bindsym XF86AudioPrev exec --no-startup-id playerctl previous
# bindsym XF86AudioStop exec --no-startup-id playerctl stop
2022-02-20 15:45:28 +00:00
# bindsym XF86AudioPlay exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
# bindsym XF86AudioNext exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"
# bindsym XF86AudioPrev exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"
# bindsym XF86AudioStop exec --no-startup-id "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"
################# xbacklight
2022-03-14 20:57:23 +00:00
# bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 20 # increase screen brightness
# bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 20 # decrease screen brightness
2022-02-20 15:45:28 +00:00
################# bar toggle
# bar toggle, hide or show
bindsym $mod+b bar mode toggle
################# border control
# Border control
hide_edge_borders both
bindsym $mod+shift+b exec --no-startup-id i3-msg border toggle
# changing border style
bindsym $mod+t border normal
bindsym $mod+y border pixel 1
bindsym $mod+u border none
# new_window pixel 1
new_window normal
# new_window none
# new_float pixel 1
new_float normal
# new_float none
################# Popups control
# Popups during fullscreen mode
popup_during_fullscreen smart
################# i3 gaps next
# Settings for I3 next gap git
# https://github.com/Airblader/i3/tree/gaps-next
# delete or uncomment the following lines if you do not have it or do not
# want it
for_window [class="^.*"] border pixel 2
gaps inner 5
gaps outer -5
2022-03-14 20:57:23 +00:00
smart_gaps on
2022-02-20 15:45:28 +00:00
# smart_borders on
################# i3 gaps change
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"
}
################# picom of i3wm
# if you want transparency on non-focused windows, ...
exec_always --no-startup-id picom --config ~/.config/i3/picom.conf
bindsym control+mod1+o exec --no-startup-id ~/.config/i3/scripts/picom-toggle.sh
################# bar appearance
bar {
height 25
workspace_buttons yes
font pango:Noto Sans 14
mode hide
# position top
position bottom
# system icons
# tray_output none
# tray_output $firstMonitor
# tray_output $secondMonitor
# OPTION 1 : i3status
# type status_command i3status without the config file and
# you will get the standard i3status bar
# Second one is the standard statusbar with my personal settings
# status_command i3status
# status_command i3status -c ~/.config/i3/i3status.conf
# OPTION 2 : i3blocks
# https://github.com/vivien/i3blocks
# another way to provide text in the statusbar
# put hastag in front if not installed
# status_command i3blocks
# status_command i3blocks -c ~/.config/i3/i3blocks.conf
# status_command i3blocks -c ~/.config/i3/i3blocks-rainbow.conf
# status_command i3blocks -c ~/.config/i3/i3blocks-original.conf
# status_command i3blocks -c ~/.config/i3/i3blocks-awesome.conf
# OPTION 3 : conky
# You can also replace the istatus bar with a conky
# start-conky-i3statusbar.sh is started and conky will follow
# documentation : https://i3wm.org/docs/user-contributed/conky-i3bar.html
# conky configuration is in conky-i3statusbar
# status_command ~/.config/i3/start-conky-i3statusbar.sh
# OPTION 4 : polybar
# polybar is launched elsewhere - search for the word
# from the opening of the "bar {...}" till the end has to go or hashtagged out
# in order for the system trayicons to show up in polybar
##START THEMING BAR
# Theme name : ArcoLinux Default
# i3 bar colors
# variable border background Text
colors {
background #2F2F2F
statusline #eeeeee
separator #666666
# colorclass border backgr. text
focused_workspace #a9a9a9 #5f676a #eeeeee
active_workspace #a9a9a9 #5f676a #eeeeee
inactive_workspace #a9a9a9 #222222 #a9a9a9
urgent_workspace #a9a9a9 #d42121 #FFFFFF
}
}
##STOP THEMING BAR
##START THEMING WM
# Theme name : ArcoLinux Default
# Window color settings
# class border backgr. text indicator
client.focused #6790EB #6790EB #e5e5e5 #6790EB
client.unfocused #222222 #222222 #aaaaaa #222222
client.focused_inactive #222222 #222222 #a9a9a9 #222222
client.placeholder #222222 #222222 #aaaaaa #222222
client.urgent #d42121 #d42121 #f7f7f7 #d42121
client.background #242424
##STOP THEMING WM
######################################## THE END
################# Scratchpad
# NOT USED
# move the currently focused window to the scratchpad
# bindsym Mod1+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 Mod1+minus scratchpad show
################# mouse settings in i3
# NOT USED
# mouse settings
# The middle button over a titlebar kills the window
# bindsym --release button2 kill
# The middle button and a modifer over any part of the window kills the window
# bindsym --whole-window $mod+button2 kill
# The right button toggles floating
# bindsym button3 floating toggle
# bindsym $mod+button3 floating toggle
# The side buttons move the window around
# bindsym button9 move left
# bindsym button8 move right
################# keyboard control
# NOT USED
# exec --no-startup-id setxkbmap be
exec_always "setxkbmap -model pc101 -layout us,ara -variant ,, -option grp:win_space_toggle"
################# unclutter
# NOT USED
# get the mouse out of the way with unclutter
# exec --no-startup-id unclutter
# Plasma compatibility
# Plasma compatibility improvements
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [class="yakuake"] floating enable
#for_window [class="systemsettings"] floating enable
for_window [class="plasmashell"] floating enable;
for_window [class="Plasma"] floating enable; border none
for_window [title="plasma-desktop"] floating enable; border none
for_window [title="win7"] floating enable; border none
for_window [class="krunner"] floating enable; border none
for_window [class="Kmix"] floating enable; border none
for_window [class="Klipper"] floating enable; border none
for_window [class="Plasmoidviewer"] floating enable; border none
for_window [class="(?i)*nextcloud*"] floating disable
for_window [class="plasmashell" window_type="notification"] border none, move right 700px, move down 450px
no_focus [class="plasmashell" window_type="notification"]
# Killing the existing window that covers everything
for_window [title="Desktop — Plasma"] kill; floating enable; border none
# using plasma's logout screen instead of i3's
bindsym $mod+x exec --no-startup-id qdbus-qt5 org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1