Updating i3 config

This commit is contained in:
araison 2024-01-22 21:57:01 +01:00
parent 4fe832d6a5
commit 646d82ae64
3 changed files with 202 additions and 391 deletions

View File

@ -0,0 +1,10 @@
#!/bin/sh
imagepath="$HOME/Pictures/bing-wallpaper.jpg"
urlpath=$( \
sleep 2
curl "https://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en-US" \
| xmllint --xpath "/rss/channel/item/link/text()" - \
| sed 's/1366x768/1920x1080/g' \
)
curl "https://www.bing.com$urlpath" -o $imagepath
feh --bg-fill $imagepath

View File

@ -1,82 +1,97 @@
#################################################################################################################
################# Define the $mod variable/key #################
#####################################################################################################################
###############################
# CONFIGURATION I3 #
###############################
# Doc : http://i3wm.org/docs/userguide.html
# 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
set $alt Mod1
###############################
# APPARENCE #
###############################
# Focus la fenêtre au survol
focus_follows_mouse no
#####################################################################################################################
################# Define the movements keys - variables #################
#####################################################################################################################
# Police à utiliser
font pango: DroidSansMono Nerd Font 12
# Couleurs
set_from_resource $active active
set_from_resource $inactive secondary
set_from_resource $background background
set_from_resource $foreground foreground
#This is setup for qwerty
set $up j
set $down k
set $left h
set $right l
# class border backgr. text indicat child_border
client.focused $background $background $active #F8CD7A $active
client.focused_inactive $background $background inactive #5A638C $inactive
client.unfocused $background #16161E $inactive #34384D $inactive
client.urgent $active $active $background #DB4B4B $active
client.placeholder $background $background $foreground #000000 $inactive
client.background $background
# font pango:OperatorMono Nerd Font 0
# Fond d'écran si pas de multi-screen
#exec_always --no-startup-id ~/.config/i3/bing-wallpaper.sh
font pango: Source Code Pro 10
###############################
# KEYBINDING #
###############################
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
#####################################################################################################################
################# Single and Dual screen #################
#####################################################################################################################
exec --no-startup-id xrandr --output DP-4 --mode 1920x1080 --rate 60.00
exec --no-startup-id xrandr --output DP-4 --left-of DP-6
exec --no-startup-id xrandr --output DP-0 --left-of DP-4
exec xrandr --setprovideroutputsource modesetting NVIDIA-0
exec --no-startup-id xrandr --output DP-4 --left-of DP-6
exec --no-startup-id xrandr --output DP-0 --left-of DP-4
# start a terminal
bindsym $mod+Return exec --no-startup-id gnome-terminal
# 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
# kill focused window
bindsym $mod+Shift+A kill
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
#####################################################################################################################
################# menu #################
#####################################################################################################################
# start dmenu
# dmenu-desktop comme lanceur d'application
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# Changement du Focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Déplacement des fenêtre
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#####################################################################################################################
################# how to exit, logoff, suspend, ... #################
#####################################################################################################################
# Changement du mode de split (vertical ou horizontal)
bindsym $mod+h split h
bindsym $mod+v split v
# Permet de changer de mode
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+x layout toggle split
bindsym $mod+Shift+f floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+q focus parent
# focus the child container
# bindsym $mod+d focus child
# Rechargement / Actualisation de la configuration
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# Quitter i3
bindsym $mod+0 mode "$mode_system"
set $mode_system System (k) lock, (l) logout, (u) suspend, (h) hibernate, (r) reboot, (s) shutdown
@ -94,341 +109,127 @@ mode "$mode_system" {
bindsym Escape mode "default"
}
# Ouvrir l'exploreur de fichier
bindsym $mod+e exec nautilus
# ArcoLinux Logout
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
#####################################################################################################################
################# 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+a 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
#####################################################################################################################
################# Scratchpad #################
#####################################################################################################################
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus scratchpad show
#####################################################################################################################
################# Tiling parameters #################
#####################################################################################################################
# orientation for new workspaces
# default_orientation horizontal
# split in horizontal orientation
# bindsym $mod+Shift+h split h
# split in vertical orientation
# bindsym $mod+Shift+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+w 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
####################################################################################################################
# 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
# 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
# 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 j resize shrink width 5 px or 5 ppt
bindsym k resize grow height 5 px or 5 ppt
bindsym l resize shrink height 5 px or 5 ppt
bindsym m resize grow width 5 px or 5 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 1 px or 1 ppt
bindsym Down resize grow height 1 px or 1 ppt
bindsym Up resize shrink height 1 px or 1 ppt
bindsym Right resize grow width 1 px or 1 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 5 px or 5 ppt
bindsym Down resize grow height 5 px or 5 ppt
bindsym Up resize shrink height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
# back to normal: Enter or Escape
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#####################################################################################################################
################# autostart - execute applications at boot time #################
#####################################################################################################################
# Audio
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound
# Capture d'écran
bindsym Print exec flameshot gui
###############################
# SOURIS #
###############################
###############################
# WORKSPACES #
###############################
# Workspaces
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
#set $monitorCenter DP-1
#set $monitorLeft DP-3
#set $monitorRight HDMI-0
# Ecran associé à chaque Workspace
#workspace $ws1 output $monitorCenter
#workspace $ws2 output $monitorCenter
#workspace $ws3 output $monitorCenter
#workspace $ws4 output $monitorCenter
#workspace $ws5 output $monitorLeft
#workspace $ws6 output $monitorLeft
#workspace $ws7 output $monitorRight
#workspace $ws8 output $monitorRight
# Changmeent de Workspace
bindsym $mod+ampersand workspace $ws1
bindsym $mod+eacute workspace $ws2
bindsym $mod+quotedbl workspace $ws3
bindsym $mod+apostrophe workspace $ws4
bindsym $mod+parenleft workspace $ws5
bindsym $mod+minus workspace $ws6
bindsym $mod+egrave workspace $ws7
bindsym $mod+underscore workspace $ws8
bindsym $mod+ccedilla workspace $ws9
bindsym $mod+agrave workspace $ws10
bindsym $mod+Tab workspace next
bindsym $mode+Shift+Tab workspace prev
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
bindsym $mod+Ctrl+h workspace next
bindsym $mod+Ctrl+l workspace prev
# Déplacement vers un Workspace
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+eacute move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+egrave move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+ccedilla move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+agrave move container to workspace $ws10; workspace $ws10
# Taille des fenêtres flottantes
floating_minimum_size 75 x 50
floating_maximum_size -1 x -1
# Force certaines apps à des wokspaces dédiés
assign [class="Gnome-terminal"] $ws1
assign [class="firefox"] $ws2
assign [class="thunderbird"] $ws3
assign [class="org.gnome.Nautilus"] $ws4
###############################
# MISC #
###############################
# Applications au démarrage
#exec --no-startup-id nvidia-settings --load-config-only
exec --no-startup-id firefox
exec --no-startup-id thunderbird
exec --no-startup-id tmux
exec --no-startup-id nautilus
#Authentication dialog (polkit-gnome)
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
#####################################################################################################################
################# applications keyboard shortcuts #################
#####################################################################################################################
bindsym $mod+Return exec --no-startup-id gnome-terminal;focus
# bindsym control+mod1+u exec --no-startup-id pavucontrol
bindsym $mod+Shift+Return exec --no-startup-id nemo;focus
#####################################################################################################################
################# screenshots #################
#####################################################################################################################
bindsym Print exec maim -s --format png /dev/stdout | xclip -selection clipboard -t image/png -i
bindsym $mod+Print exec maim --select | tee ~/Pictures/$(date +%s).png | xclip -sel c -t image/png
#####################################################################################################################
################# audio settings #################
#####################################################################################################################
#
# bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
# bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
# bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
# bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
#
#####################################################################################################################
################# light #################
#####################################################################################################################
# Sreen brightness controls
# bindsym XF86MonBrightnessUp exec light -A 1 # increase screen brightness
# bindsym XF86MonBrightnessDown exec light -U 1 # decrease screen brightness
#####################################################################################################################
################# bar toggle #################
#####################################################################################################################
# bar toggle, hide or show
bindsym $mod+b bar mode toggle
bindsym $mod+i bar mode invisible
#
####################################################################################################################
################ i3 gaps next #################
####################################################################################################################
#
# for_window [class="^.*"] border pixel 1
# gaps inner 3
# gaps outer 1
# 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 and wallpaper #################
#####################################################################################################################
#if you want transparency on non-focused windows, ...
# exec_always --no-startup-id picom --config ~/.config/i3/picom.conf
# exec_always --no-startup-id nitrogen --restore
# exec_always --no-startup-id ~/.config/i3/scripts/mouse.sh
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
################# bar appearance #################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
bar {
position top
font pango:OperatorMono Nerd Font 10
status_command i3status
tray_padding 1
strip_workspace_numbers yes
colors {
separator #1f222d
background #1f222d
statusline #81a1c1
# border background text
focused_workspace #1f222d #1f222d #81a1c1
active_workspace #1f222d #252936 #5e81ac
inactive_workspace #1f222d #1f222d #4c566a
urgent_workspace #1f222d #1f222d #ee829f
binding_mode #1f222d #81a1c1 #2e3440
}
}
##START THEMING WM
# Window color settings
# class border backgr. text indicator
client.focused #81a1c1 #81a1c1 #ffffff #81a1c1
client.unfocused #2e3440 #1f222d #888888 #1f222d
client.focused_inactive #2e3440 #1f222d #888888 #1f222d
client.placeholder #2e3440 #1f222d #888888 #1f222d
client.urgent #900000 #900000 #ffffff #900000
client.background #242424
##STOP THEMING WM
# exec xset r rate 300 50 &
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
######################################## THE END ###########################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
# I3 Gaps
for_window [class="^.*"] border pixel 2
for_window [class=".*"] title_format " %title"
gaps inner 0
smart_borders on
smart_gaps on

View File

@ -84,7 +84,7 @@ plugins=(
)
source $ZSH/oh-my-zsh.sh
export EDITOR='vim'
export EDITOR='nvim'
#export PATH="$HOME/.local/lib/python3.10/site-packages/:$PATH"
# User configuration