{ home.file.".config/i3/config".text = '' ############### 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 j set $down k set $left h set $right l ################# Single and Dual screen # current displays # exec --no-startup-id xrandr --output DP-4 --mode 2560x1440 --refresh 165 # start emacs as background daemon # exec --no-startup-id emacs --bg-daemon # 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 eDP-1-1 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 'FiraMonoRegular: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 # editor setup bindsym $mod+Shift+e exec --no-startup-id emacsclient -n -c -e '(package-initialize)' # passwords bindsym $mod+p exec --no-startup-id rofi-pass # basecamp bindsym $mod+Shift+p exec --no-startup-id brave --new-window https://3.basecamp.com/4293846/projects # 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 'Fira Code 13' -theme-str 'window {width: 100%;height: 100%;}' -show drun" # start rofi small bindsym $mod+d exec --no-startup-id "rofi -modi drun#emoji#calc#filebrowser#run -show drun -show-icons -font 'Fira C#de 13'" # #creenshot bindsym $mod+Shift+s exec --no-startup-id flameshot ################# how to exit, logoff, suspend, ... # Backup exit # Press ctrl+alt+x - check toolbar for next choices bindsym $mod+x exec --no-startup-id xfce4-session-logout # 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 ################# 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+Ctrl+h split h # split in vertical orientation bindsym $mod+Ctrl+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 # 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:Fira 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|Brave-browser"] → 1 assign [class=".gimp-2.10-wrapped_|Inkscape"] → 5 # assign [class="Chromium|Google-chrome"] → 3 # Workspace 2 text editor related assign [class="emacs|Alacritty"] → 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 $HOME/.nix-profile/bin/variety exec --no-startup-id $HOME/.nix-profile/bin/tuxedo-control-center --no-sandbox # Autotiling exec_always --no-startup-id autotiling # Load custom keymap exec --no-startup-id $HOME/.nix-profile/bin/xmodmap $HOME/.xmodmap exec --no-startup-id $HOME/.nix-profile/bin/setxkbmap de # Tray for syncthing exec --no-startup-id $HOME/.nix-profile/bin/syncthingtray exec_always --no-startup-id numlockx on # feh sets wallpaper exec --no-startup-id feh --bg-fill ~/Bilder/wallpaper/wallhaven-g7d51l_2560x1440.png & # 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 & #####s############ applications keyboard shortcuts # not workspace related # terminal bindsym $mod+Return exec --no-startup-id alacritty -e tmux;focus bindsym $mod+KP_Enter exec --no-startup-id alacritty;focus bindsym control+mod1+t exec --no-startup-id alacritty -e tmux attach; 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 # archlinux-logout bindsym control+mod1+k exec --no-startup-id archlinux-logout bindsym control+mod1+l exec --no-startup-id archlinux-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="Thunar"] focus bindsym $mod+F8 exec --no-startup-id thunar;focus bindsym $mod+Shift+Return exec --no-startup-id thunar;focus bindsym $mod+Shift+KP_Enter exec --no-startup-id thunar;focus bindsym control+mod1+b exec --no-startup-id thunar;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 spotify;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 $mod+Control+Print exec --no-startup-id flameshot gui # 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="Archlinux-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 # steam for_window [class="^Steam$" title="^Friends$"] floating enable for_window [class="^Steam$" title="Steam - News"] floating enable for_window [class="^Steam$" title=".* - Chat"] floating enable for_window [class="^Steam$" title="^Settings$"] floating enable for_window [class="^Steam$" title=".* - event started"] floating enable for_window [class="^Steam$" title=".* CD key"] floating enable for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable for_window [title="^Steam Keyboard$"] 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 1 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 ##START THEMING WM #Theme name : ArcoLinux Zion # Window color settings # class border background text indicator # A client which currently has the focus. client.focused #9742b5 #9742b5 #ffffff #9742b5 # A client which is not the focused one of its container. client.unfocused #2C2C2C #2C2C2C #ffffff #2C2C2C # A client which is the focused one of its container, but it does not have the focus at the moment. client.focused_inactive #2C2C2C #2C2C2C #ffffff #2C2C2C # Background and text color are used to draw placeholder window # contents (when restoring layouts). Border and indicator are ignored. client.placeholder #2C2C2C #2C2C2C #ffffff #2C2C2C # A client which has its urgency hint activated. client.urgent #d42121 #d42121 #f7f7f7 #d42121 # Background color which will be used to paint the background # of the client window on top of which the client will be rendered. # Only clients which do not cover the whole area of this window expose # the color. Note that this colorclass only takes a single color. client.background #000000 ##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 ################# unclutter # NOT USED # get the mouse out of the way with unclutter # exec --no-startup-id unclutter ''; }