dotfiles/.config/i3/config

880 lines
28 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
set $right semicolon
################# Single and Dual screen
# current displays
exec --no-startup-id xrandr --output DP0 --right-of HDMI-0 --auto
# 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
set $firstMonitor HDMI-0
set $secondMonitor DP0
# Other Examples
#set $firstMonitor DP3
#set $secondMonitor LVDS1
#set $firstMonitor DVI-I-0
#set $secondMonitor HDMI-0
#set $firstMonitor DVI-0
#set $secondMonitor DVI-1
#set $firstMonitor DVI-I-1
#set $secondMonitor DVI-D-1
#set $firstMonitor HDMI-1
#set $secondMonitor HDMI-2
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
# 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
bindsym mod1+F2 exec --no-startup-id xfce4-appfinder --collapsed
# start xfce-appfinder
bindsym mod1+F3 exec --no-startup-id xfce4-appfinder
# 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" {
bindsym k exec --no-startup-id ~/.config/i3/scripts/i3exit.sh lock, mode "default"
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
exec --no-startup-id betterlockscreen -w dim
# Alternative (set last used background)
exec --no-startup-id source ~/.fehbg
bindsym $mod+shift+x exec betterlockscreen -l dim
# ArcoLinux Logout
bindsym $mod+Shift+e exec --no-startup-id arcolinux-logout
#bindsym $mod+X exec --no-startup-id arcolinux-logout
################# 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
bindsym $mod+q kill
################# Moving around in i3
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# 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:
bindsym $mod+Shift+Left move left
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
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
# bindsym $mod+d focus child
################# 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)
# 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"
# }
################# 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
# ArcoLinux Welcome App
exec --no-startup-id dex $HOME/.config/autostart/arcolinux-welcome-app.desktop
# Autotiling
exec_always --no-startup-id autotiling
# Browser
# exec --no-startup-id vivaldi-stable
for_window [class="Vivaldi-stable"] focus
# Text-editor
# exec --no-startup-id geany
# 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
for_window [class="Spotify"] focus
# 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
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
# Updater
exec --no-startup-id pamac-tray
# bluetooth
# exec --no-startup-id blueberry-tray
# network
exec --no-startup-id nm-applet
# num lock activated
exec_always --no-startup-id numlockx on
# dropbox
# exec --no-startup-id dropbox start
# insync
# exec --no-startup-id insync start
# volume
# exec --no-startup-id pasystray
exec --no-startup-id volumeicon
# variety
# exec --no-startup-id variety
# clipman
# exec --no-startup-id xfce4-clipman
# Conky
exec --no-startup-id conky -c ~/.config/i3/system-overview
# feh sets wallpaper
exec --no-startup-id feh --bg-fill /usr/share/backgrounds/arcolinux/arco-wallpaper.jpg &
# Polybar
# exec_always --no-startup-id ~/.config/polybar/launch.sh &
################# system applications
exec --no-startup-id xfce4-power-manager &
# 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 &
exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
################# applications keyboard shortcuts
# not workspace related
# ArcoLinux Welcome App
bindsym control+mod1+w exec --no-startup-id arcolinux-welcome-app
# ArcoLinux Tweak Tool
bindsym control+mod1+e exec --no-startup-id arcolinux-tweak-tool
# conky
bindsym $mod+c exec --no-startup-id conky-toggle
bindsym control+mod1+Next exec --no-startup-id conky-rotate -n
bindsym control+mod1+Prior exec --no-startup-id conky-rotate -p
# 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
bindsym F12 exec --no-startup-id xfce4-terminal --drop-down; focus
# System monitor
bindsym control+Shift+Escape exec --no-startup-id xfce4-taskmanager;focus
# settings
bindsym control+mod1+m exec --no-startup-id xfce4-settings-manager
# catfish
bindsym control+mod1+c exec --no-startup-id catfish;focus
# arcolinux-logout
bindsym control+mod1+k exec --no-startup-id arcolinux-logout
bindsym control+mod1+l exec --no-startup-id arcolinux-logout
# rofi theme selector
bindsym control+mod1+r exec --no-startup-id rofi-theme-selector
# arcolinux conflict
# bindsym $mod+m exec --no-startup-id pragha;focus
# htop
# arcolinux conflict
# bindsym $mod+h exec --no-startup-id htop;focus
# pavucontrol
bindsym control+mod1+u exec --no-startup-id pavucontrol
# start xfce-appfinder
# arcolinux does not seem to work
bindsym control+mod1+a exec --no-startup-id xfce4-appfinder
# 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
bindsym $mod+w exec --no-startup-id exo-open --launch webbrowser;focus
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
bindsym $mod+F2 exec --no-startup-id atom;focus
# 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
# bindsym $mod+F9 exec --no-startup-id geary;focus
# bindsym control+mod1+e exec --no-startup-id geary;focus
# music
bindsym $mod+F10 exec --no-startup-id cmus;focus
bindsym control+mod1+s exec --no-startup-id spotify;focus
################# screenshots
bindsym Print exec --no-startup-id scrot 'ArcoLinux-%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f $$(xdg-user-dir PICTURES)'
bindsym Control+Print exec --no-startup-id xfce4-screenshooter
bindsym Control+Shift+Print exec --no-startup-id gnome-screenshot -i
# bindsym shift+Print exec --no-startup-id shutter
################# floating or tiled rules
# floating enabled from some programs - find with xprop
for_window [class="Arcolinux-welcome-app.py"] floating enable
# for_window [class="Arcolinux-tweak-tool.py"] floating enable
for_window [class="Arcolinux-calamares-tool.py"] floating enable
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
# for_window [window_role="^gimp-toolbox-color-dialog$"] floating enable
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
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"
# https://github.com/acrisci/playerctl/
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
# 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
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 20 # decrease screen brightness
################# 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
# super+t in arcolinux is starting terminal
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
# smart_gaps on
# 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
# Settings of arcolinux will be applied
# exec --no-startup-id setxkbmap be
# exec --no-startup-id setxkbmap us
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