configs/arch-config/.config/i3/config
2020-02-24 08:50:18 +00:00

793 lines
31 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 l
set $down k
set $left j
set $right semicolon
#This is setup for azerty
#set $up l
#set $down k
#set $left j
#set $right m
#####################################################################################################################
################# Single and Dual screen #################
#####################################################################################################################
# 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 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, (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"
}
#####################################################################################################################
################# 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+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
#####################################################################################################################
################# 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 $up resize grow height 10 px or 10 ppt
bindsym $down 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 Up resize grow height 10 px or 10 ppt
bindsym Down 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"
}
#####################################################################################################################
################# gaming #################
#####################################################################################################################
# launch gaming focused programs
bindsym $mod+g mode "$gaming"
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"
}
#####################################################################################################################
################# 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
#####################################################################################################################
################# execute applications at boot time #################
#####################################################################################################################
# USER APPLICATIONS TO START AT BOOT
#Terminal
exec --no-startup-id termite;focus
# TRAY APPLICATIONS
# applications that are not installed will not start
# you may see a wheel - hashtag out things you do not want
#Authentication dialog
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
# pCloud
# change location!
exec /home/marc/pcloud
# 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
#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 ~/.config/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
bindsym ctrl+mod1+Return exec --no-startup-id fish;focus
#keepass
bindsym ctrl+mod1+k exec --no-startup-id keepass;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
# start xfce-appfinder
bindsym control+mod1+a exec --no-startup-id xfce4-appfinder
#texteditors
#bindsym ctrl+mod1+e exec --no-startup-id atom;focus
bindsym ctrl+mod1+e exec --no-startup-id subl3;focus
#variety
bindsym control+mod1+i exec --no-startup-id variety;focus
#thunar
bindsym ctrl+mod1+t exec --no-startup-id thunar;focus
#discord
bindsym ctrl+mod1+d exec --no-startup-id discord;focus
#libreoffice
bindsym ctrl+mod1+l exec --no-startup-id libreoffice;focus
#browsers
bindsym control+mod1+f exec --no-startup-id firefox;focus
bindsym control+mod1+v exec --no-startup-id vivaldi-stable;focus
bindsym control+mod1+c exec --no-startup-id chromium;focus
#vlc
bindsym ctrl+mod1+m exec --no-startup-id vlc;focus
#telegram
bindsym ctrl+mod1+b exec --no-startup-id bettergram;focus
#pragha
bindsym ctrl+mod1+n exec --no-startup-id pragha;focus
#####################################################################################################################
################# 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="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="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
#####################################################################################################################
################# variety with pywal for your wallpapers #################
#####################################################################################################################
# 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)&
# 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 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # 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+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 10
gaps outer 0
#####################################################################################################################
################# compton (now picom) of i3wm #################
#####################################################################################################################
#if you want transparency on non-focused windows, ...
#exec_always --no-startup-id compton --config ~/.config/i3/compton.conf
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 ###########################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################