configs/arch-config/.config/i3/config
2020-09-19 12:41:50 +02:00

845 lines
32 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

######################################################################################################################
#####################################################################################################################
################# Start of all the settings #################
#####################################################################################################################
#####################################################################################################################
# KEY DEFINITIONS TO REMEMBER
# $Mod = WINDOWS key or Super key or Mod4
# 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?
# Mod4 = Windows or Super key on keyboard
# Mod1 = Alt key on keyboard
#Set Alt key
#set $mod Mod1
#set Super key
set $mod Mod4
#####################################################################################################################
################# Define the movements keys - variables #################
#####################################################################################################################
#This is setup for qwerty
#set $up
#set $down
#set $left
#set $right
#####################################################################################################################
################# Workspaces location #################
#####################################################################################################################
# setting variables for later use
# use xrandr and/or arandr to know the names of your monitors
exec --no-startup-id xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --off --output VIRTUAL1 --off
exec --no-startup-id xrandr --output HDMI2 --right-of HDMI1 --auto
# my current setup
#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 HDMI1
set $secondMonitor HDMI2
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
#####################################################################################################################
################# how to exit, logoff, suspend, ... #################
#####################################################################################################################
#Press $mod (super) and X to exit - check toolbar for next choices
bindsym $mod+X mode "$mode_system"
set $mode_system System (k) lock, (l) logout, (r) reboot, (s) shutdown, (u) suspend, (h) hibernate
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"
}
#####################################################################################################################
################# 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+f 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 $mod+Tab workspace next
bindsym $mod+Shift+Tab 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
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+t focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
#####################################################################################################################
################# change modes #################
#####################################################################################################################
bindsym $mod+m mode "$main"
set $main Media (m), Gaming (g), Resize (r), Layout (l), Browsers (b)
mode "$main"{
bindsym m mode "$media"
bindsym g mode "$gaming"
bindsym r mode "resize"
bindsym l mode "$layout"
bindsym b mode "$browsers"
bindsym Return mode "default"
bindsym Escape mode "default"
}
#############################################################################
################## media ##################
#############################################################################
set $media Discord (d), Mirage (m), Bettergram (b), Slack (s), Teams (t)
mode "$media"{
bindsym d exec --no-startup-id discord;focus
bindsym m exec --no-startup-id mirage;focus
bindsym b exec --no-startup-id bettergram;focus
bindsym s exec --no-startup-id slack;focus
bindsym t exec --no-startup-id teams;focus
bindsym Return mode "default"
bindsym Escape mode "default"
}
##############################################################################
################# gaming #################
##############################################################################
# launch gaming focused programs
set $gaming Steam (s), Lutris (l)
mode "$gaming" {
bindsym s exec --no-startup-id steam-native;focus
bindsym l exec --no-startup-id lutris;focus
bindsym Return mode "default"
bindsym Escape mode "default"
}
#############################################################################
################### resize ##################
#############################################################################
# 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 down will shrink the windows height.
# Pressing up will grow the windows height.
bindsym $left resize shrink width 10 px or 10 ppt
bindsym Shift+$left resize shrink width 20 px or 20 ppt
bindsym $up resize grow height 10 px or 10 ppt
bindsym Shift+$up resize grow height 20 px or 20 ppt
bindsym $down resize shrink height 10 px or 10 ppt
bindsym Shift+$down resize shrink height 20 px or 20 ppt
bindsym $right resize grow width 10 px or 10 ppt
bindsym Shift+$right resize grow width 20 px or 20 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Shift+Left resize shrink width 20 px or 20 ppt
bindsym Up resize grow height 10 px or 10 ppt
bindsym Shift+Up resize grow height 20 px or 20 ppt
bindsym Down resize shrink height 10 px or 10 ppt
bindsym Shift+Down resize shrink height 20 px or 20 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Shift+Right resize grow width 20 px or 20 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
##############################################################################
################# start normal layout #################
##############################################################################
# launch programs in the right workspaces
bindsym $mod+w mode "$layout"
set $layout full (f)
mode "$layout" {
bindsym f exec --no-startup-id bash $HOME/.config/i3/scripts/layout-default.sh
bindsym Return mode "default"
bindsym Escape mode "default"
}
##############################################################################
################# browsers ################
##############################################################################
bindsym $mod+b mode "$browsers"
set $browsers firefox (f), chromium (c), palemoon (p), basilisk (b), netsurf (n), icecat (i), tor (t)
mode "$browsers" {
bindsym f exec --no-startup-id firefox;focus
bindsym c exec --no-startup-id chromium;focus
bindsym p exec --no-startup-id palemoon;focus
bindsym b exec --no-startup-id basilisk;focus
bindsym n exec --no-startup-id netsurf;focus
bindsym i exec --no-startup-id icecat;focus
bindsym t exec --no-startup-id torbrowser-launcher;focus
bindsym Return mode "default"
bindsym Escape mode "default"
}
#####################################################################################################################
################# display #################
#####################################################################################################################
# change xrandr display configuration
bindsym $mod+d mode "$xrandr"
set $xrandr arco-pc 1x hdmi (h), laptop 1x eDPI (l)
mode "$xrandr" {
bindsym h exec --no-startup-id xrandr --output DisplayPort-0 --off --output DisplayPort-1 --off --output HDMI-A-0 --set "scaling mode" "Full Aspect" --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI-A-1 --off --output DVI-D-0 --off
bindsym l exec --no-startup-id xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI1 --off --output VIRTUAL1 --off
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 9
#####################################################################################################################
################# execute applications at boot time #################
#####################################################################################################################
# TRAY APPLICATIONS
#Authentication dialog
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
#nextcloud
exec --no-startup-id nextcloud
# bluetooth
#exec --no-startup-id blueberry-tray
# network
exec --no-startup-id nm-applet
# num lock activated
exec_always --no-startup-id numlockx on
# volume
exec --no-startup-id volumeicon
#variety
exec --no-startup-id variety
#Corectrl
exec --no-startup-id corectrl
#Easystroke
exec --no-startup-id easystroke
#Transmission
exec --no-startup-id transmission-gtk -m
#Conky
#exec --no-startup-id conky -c ~/.config/i3/system-overview
#Polybar
exec_always --no-startup-id ~/.config/polybar/launch.sh &
#startup functions
exec_always --no-startup-id ~/scritps/startup.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 #################
#####################################################################################################################
#terminal
bindsym ctrl+mod1+Return exec --no-startup-id termite;focus
#System monitor
bindsym ctrl+mod1+r exec --no-startup-id xfce4-taskmanager;focus
#settings
bindsym control+mod1+s exec --no-startup-id xfce4-settings-manager
#pavucontrol
bindsym control+mod1+u exec --no-startup-id pavucontrol
#rofi
bindsym control+mod1+a exec --no-startup-id rofi -show drun
#texteditors
#bindsym ctrl+mod1+e exec --no-startup-id vscodium;focus
bindsym ctrl+mod1+e exec --no-startup-id emacs;focus
#thunar
bindsym ctrl+mod1+t exec --no-startup-id thunar;focus
#libreoffice
bindsym ctrl+mod1+l exec --no-startup-id libreoffice;focus
#browsers
bindsym control+mod1+f exec --no-startup-id firefox;focus
#pragha
bindsym ctrl+mod1+n exec --no-startup-id pragha;focus
#thunderbird
bindsym ctrl+mod1+b exec --no-startup-id thunderbird;focus
#redetect pulseaudio
bindsym $mod+shift+a exec --no-startup-id ~/scripts/redetect-audio.sh
#####################################################################################################################
################# screenshots #################
#####################################################################################################################
bindsym Print exec --no-startup-id xfce4-screenshooter
bindsym Control+Print exec --no-startup-id xfce4-screenshooter
#####################################################################################################################
################# floating or tiled #################
#####################################################################################################################
#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="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 enable
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="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="pop-up"] floating enable
for_window [window_role="^Preferences$"] floating enable
for_window [window_role="setup"] floating enable
#####################################################################################################################
################# variety for your wallpapers #################
#####################################################################################################################
#Variety keybindings mod1 = ALT
# 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
#####################################################################################################################
################# 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
#####################################################################################################################
################# xbacklight #################
#####################################################################################################################
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
#####################################################################################################################
################# border control #################
#####################################################################################################################
# Border control
hide_edge_borders both
bindsym $mod+u mode "$border"
set $border none (o), pixel (p), normal (n)
mode "$border" {
bindsym o border none
bindsym p border pixel 1
bindsym n border normal 1
bindsym Return mode "default"
bindsym Escape mode "default"
}
#new_window pixel 1
#new_window normal 1
new_window none
#new_float pixel 1
#new_float normal 1
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 none
gaps inner 5
gaps outer 5
#####################################################################################################################
################# compton (now picom) of i3wm #################
#####################################################################################################################
#if you want transparency on non-focused windows, ...
exec_always --no-startup-id picom -b --config ~/.config/i3/picom.conf
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
################# bar appearance #################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#bar {
#
# height 25
# workspace_buttons yes
# font pango:Noto Sans 14
#
# #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
#colors {
# background #2F2F2F
# statusline #eeeeee
# separator #666666
# # border backgr. text
# focused_workspace #a9a9a9 #5f676a #eeeeee
# active_workspace #a9a9a9 #5f676a #a9a9a9
# inactive_workspace #a9a9a9 #222222 #a9a9a9
# urgent_workspace #a9a9a9 #d42121 #FFFFFF
# }
#
# }
# DarkGrey background with white text - not focus grey background - black text
# Windows decoration colors
# class border backgr. text indicator
#client.placeholder #242424 #242424 #242424
#client.background #242424 #242424 #242424
#client.focused #4A4A4A #4A4A4A #e5e5e5 #4A4A4A
#client.unfocused #222222 #222222 #aaaaaa #222222
#client.focused_inactive #222222 #222222 #a9a9a9 #222222
#client.urgent #d42121 #d42121 #f7f7f7 #d42121
#################################################################
################### BAR APPEARANCE ARCHIVE ######################
#################################################################
# Orange background with black text - not focus grey background - white text
# Windows decoration colors
# class border backgr. text indicator
# client.background color #222222
# client.focused #FFAF00 #FFAF00 #333333 #00AA00
# client.unfocused #222222 #222222 #aaaaaa #2e9ef4
# client.focused_inactive #333333 #5f676a #ffffff #484e50
# client.urgent #2f343a #900000 #ffffff #900000
# DarkGrey background with white text - not focus grey background - black text
# Windows decoration colors
# https://i3wm.org/docs/userguide.html#_changing_colors
# client.background color
# class border backgr. text indicator
# client.focused #4c7899 #285577 #ffffff #2e9ef4
# client.focused_inactive #333333 #5f676a #ffffff #484e50
# client.unfocused #333333 #222222 #888888 #292d2e
# client.urgent #2f343a #900000 #ffffff #900000
# client.placeholder #000000 #0c0c0c #ffffff #000000
# colors {
# background #222222
# statusline #eeeeee
# separator #666666
# border backgr. text
# focused_workspace #4c7899 #285577 #ffffff
# active_workspace #333333 #5f676a #ffffff
# inactive_workspace #333333 #222222 #888888
# urgent_workspace #2f343a #900000 #ffffff
# }
# Alternatives
# BLue and grey Colors
# https://github.com/Gravemind/ArchLinux/blob/master/.i3/config
# class border backgr. text indicator
# client.focused #000000 #285577 #dddddd #0099ff
# client.focused_inactive #000000 #333333 #888888 #484e50
# client.unfocused #000000 #000000 #555555 #292d2e
# client.urgent #2f343a #900000 #ffffff #900000
# blue background with white text
# Windows decoration colors
# class border backgr. text indicator
# client.background color #222222
# client.focused #4c7899 #285577 #ffffff #2e9ef4
# client.focused_inactive #333333 #5f676a #ffffff #484e50
# client.unfocused #333333 #222222 #888888 #292d2e
# client.urgent #2f343a #900000 #ffffff #900000
# Blue-green background - orange text
# Windows decoration colors
# http://www.fastlinux.eu/_archiv/index.php?page=linux047
# class border backgr. text
# client.focused #2B6473 #2B6473 #FFA000
# client.focused_inactive #004050 #004050 #FFA000
# client.unfocused #004050 #004050 #cccccc
# client.urgent #900000 #900000 #ffffff
# Red background - black text
# Windows decoration colors
# https://github.com/Blueblur/dotfiles/blob/master/.i3/config
# class border backgr. text indicator
# client.focused #d64937 #d64937 #2D2D2D #2e9ef4
# client.focused_inactive #2d2d2d #2d2d2d #dcdcdc #484e50
# client.unfocused #2D2D2D #2d2d2d #dcdcdc #292d2e
# client.urgent #2D2D2D #2D2D2D #dcdcdc #900000
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
######################################## THE END ###########################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################