268 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			268 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Declaration of the mod key
 | |
| set $mod                          Mod4
 | |
| set $alt                          Mod1
 | |
| 
 | |
| # Font for window titles
 | |
| font                              pango:monospace 8
 | |
| 
 | |
| # Variables
 | |
| set $up                           Up
 | |
| set $down                         Down
 | |
| set $left                         Left
 | |
| set $right                        Right
 | |
| set $exiti3                       "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'"
 | |
| set $lockscreen                   "Lucien Cartier-Tilet\n(Phuntsok Drak-pa)\n+33 (0)6 83 90 56 89"
 | |
| set $rofiexec                     "rofi -combi-modi window,drun -show combi -mohh combi -m -1"
 | |
| set $execgnus                     "exec emacsclient --create-frame --eval '(gnus)'"
 | |
| set $term                         st
 | |
| 
 | |
| # use Mouse+$mod to drag floating windows to their wanted position
 | |
| floating_modifier                 $mod
 | |
| 
 | |
| ################################################################################
 | |
| ###                            Clients position                              ###
 | |
| ################################################################################
 | |
| 
 | |
| assign [class="discord"] 10
 | |
| assign [class="Emacs"] 2
 | |
| assign [class="Chromium"] 3
 | |
| assign [class="Nemo"] 4
 | |
| assign [class="Godot"] 5
 | |
| assign [class="Gimp*"] 6
 | |
| assign [class="Steam"] 9
 | |
| 
 | |
| ################################################################################
 | |
| ###                                 Shortcuts                                ###
 | |
| ################################################################################
 | |
| 
 | |
| # start a terminal
 | |
| bindsym $mod+Return               exec $term
 | |
| bindsym Ctrl+$mod+Return          exec emacsclient --eval "(eshell-new)" --create-frame
 | |
| bindsym $mod+$alt+Return          split h;; exec $term
 | |
| bindsym $mod+Shift+Return         split v;; exec $term
 | |
| 
 | |
| # kill focused window
 | |
| bindsym $mod+q                    kill
 | |
| bindsym $alt+F4                   kill
 | |
| 
 | |
| # program launcher
 | |
| bindsym $mod+Shift+d              exec --no-startup-id j4-dmenu-desktop
 | |
| bindsym $mod+d                    exec --no-startup-id $rofiexec
 | |
| bindsym $mod+w                    exec --no-startup-id rofi-wifi-menu
 | |
| 
 | |
| # change focus
 | |
| 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
 | |
| 
 | |
| # Change split
 | |
| bindsym $mod+h                    split h
 | |
| bindsym $mod+v                    split v
 | |
| bindsym $mod+t                    split toggle
 | |
| 
 | |
| # enter fullscreen mode for the focused container
 | |
| bindsym $mod+f                    fullscreen toggle
 | |
| 
 | |
| # toggle tiling / floating
 | |
| bindsym $mod+Shift+space          floating toggle
 | |
| # change focus between tiling / floating windows
 | |
| bindsym $mod+space                focus mode_toggle
 | |
| # center floating window
 | |
| bindsym Ctrl+$mod+c               move position center
 | |
| 
 | |
| # Scratchpad
 | |
| bindsym $mod+Shift+s              move scratchpad
 | |
| bindsym $mod+s                    scratchpad show
 | |
| 
 | |
| # 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
 | |
| 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
 | |
| bindsym $mod+Shift+0              move container to workspace 10
 | |
| 
 | |
| # move to previous or next workspace
 | |
| bindsym $mod+Tab                  workspace next
 | |
| bindsym $mod+Shift+Tab            workspace previous
 | |
| 
 | |
| # reload the configuration file
 | |
| bindsym $mod+Shift+c              reload
 | |
| # restart i3 inplace
 | |
| bindsym $mod+Shift+r              restart
 | |
| # exit i3
 | |
| bindsym $mod+Shift+e              exec $exiti3
 | |
| 
 | |
| # resize window (you can also use the mouse for that)
 | |
| mode "resize" {
 | |
|     bindsym $right                resize grow width 20 px or 10 ppt
 | |
|     bindsym $left                 resize shrink width 10 px or 5 ppt
 | |
|     bindsym $down                 resize grow height 10 px or 5 ppt
 | |
|     bindsym $up                   resize shrink height 10 px or 5 ppt
 | |
|     bindsym Return mode           "default"
 | |
|     bindsym Escape mode           "default"
 | |
| }
 | |
| bindsym $mod+r                    mode "resize"
 | |
| 
 | |
| mouse_warping none
 | |
| 
 | |
| # Keyboard layout
 | |
| bindsym $mod+$alt+k               exec setxkbmap fr bepo
 | |
| bindsym $mod+$alt+Shift+k         exec setxkbmap fr
 | |
| bindsym $mod+$alt+Ctrl+k          exec setxkbmap us
 | |
| 
 | |
| # bindings for MS Natural Ergonomic Keyboard 4000 ##############################
 | |
| bindsym XF86Launch5               exec emacsclient --create-frame
 | |
| bindsym $mod+e                    exec emacsclient --create-frame
 | |
| bindsym XF86Launch6               exec chromium
 | |
| bindsym $mod+c                    exec chromium
 | |
| bindsym XF86HomePage              exec chromium https://labs.phundrak.fr
 | |
| bindsym XF86Search                exec chromium https://www.google.com
 | |
| bindsym XF86Launch9               exec nemo
 | |
| bindsym $mod+n                    exec nemo
 | |
| bindsym XF86Launch8               $execgnus
 | |
| bindsym XF86Mail                  $execgnus
 | |
| bindsym $mod+m                    $execgnus
 | |
| bindsym XF86Launch7               exec discord-canary
 | |
| bindsym Ctrl+Shift+d              exec discord-canary
 | |
| bindsym XF86AudioMute             exec amixer -D pulse set Master 1+ toggle
 | |
| bindsym Ctrl+$mod+Prior           exec amixer -D pulse -q set Master 2%+ unmute
 | |
| bindsym XF86AudioRaiseVolume      exec amixer -D pulse -q set Master 2%+ unmute
 | |
| bindsym Ctrl+$mod+Next            exec amixer -D pulse -q set Master 2%- unmute
 | |
| bindsym XF86AudioLowerVolume      exec amixer -D pulse -q set Master 2%- unmute
 | |
| bindsym XF86Calculator            exec /usr/bin/speedcrunch
 | |
| bindsym $mod+$alt+c               exec /usr/bin/speedcrunch
 | |
| #bindsym XF86Favourites
 | |
| #bindsym Help
 | |
| #bindsym Undo
 | |
| #bindsym Redo
 | |
| #bindsym XF86New
 | |
| #bindsym SunOpen
 | |
| #bindsym XF86Close
 | |
| #bindsym XF86Reply
 | |
| #bindsym XF86MailForward
 | |
| #bindsym XF86Send
 | |
| #bindsym XF86Save
 | |
| 
 | |
| bindsym $mod+F3                   exec arandr
 | |
| 
 | |
| # Brightness keyboard shortcuts
 | |
| bindsym XF86MonBrightnessUp       exec light -A 5
 | |
| bindsym XF86MonBrightnessDown     exec light -U 5
 | |
| 
 | |
| # Wal
 | |
| bindsym $mod+Ctrl+w               exec wal -i ~/.config/Wallpapers -o wal-set
 | |
| 
 | |
| # Take a screenshot
 | |
| bindsym --release Print           exec --no-startup-id scrot
 | |
| bindsym --release Ctrl+Print      exec --no-startup-id scrot -s
 | |
| bindsym           Shift+Print     exec --no-startup-id scrot -d 3
 | |
| 
 | |
| # Lock screen
 | |
| bindsym $mod+l                    exec i3lock -fol
 | |
| bindsym $mod+$alt+h               exec i3lock -fol && systemctl suspend
 | |
| bindsym $mod+Shift+h              exec i3lock -fol && systemctl hibernate
 | |
| 
 | |
| # SSH terminals
 | |
| bindsym $mod+$alt+m               exec $term ssh Mila
 | |
| bindsym $mod+$alt+t               exec $term ssh Tilo
 | |
| bindsym $mod+$alt+n               exec $term ssh Naro
 | |
| 
 | |
| # Utilities
 | |
| bindsym $mod+Ctrl+h               exec $term htop
 | |
| 
 | |
| # Music shortcuts
 | |
| bindsym $alt+XF86AudioRaiseVolume exec mpc next
 | |
| bindsym $mod+Next                 exec mpc next
 | |
| bindsym $alt+XF86AudioLowerVolume exec mpc prev
 | |
| bindsym $mod+Prior                exec mpc prev
 | |
| bindsym XF86AudioPlay             exec mpc toggle
 | |
| bindsym $mod+p                    exec mpc toggle
 | |
| bindsym $mod+$alt+p               exec mpc stop
 | |
| bindsym $alt+XF86AudioPlay        exec mpc stop
 | |
| # below, 7 and 8 are the emplacement for `+` and `-` on the bépo layout
 | |
| # respectively, hence the order
 | |
| bindsym $mod+$alt+7               exec mpc volume +5
 | |
| bindsym $mod+$alt+8               exec mpc volume -5
 | |
| bindsym $mod+Shift+n              exec $term ncmpcpp -q
 | |
| bindsym $mod+Shift+v              exec $term ncmpcpp -qs visualizer
 | |
| 
 | |
| ################################################################################
 | |
| #                               i3-gaps settings                               #
 | |
| ################################################################################
 | |
| 
 | |
| smart_gaps                        on
 | |
| gaps                              inner 20
 | |
| gaps                              outer -10
 | |
| border_radius                     10
 | |
| popup_during_fullscreen           leave_fullscreen
 | |
| workspace_auto_back_and_forth     yes
 | |
| focus_follows_mouse               off
 | |
| 
 | |
| # Change gaps size
 | |
| bindsym $mod+g                    gaps inner current plus 5
 | |
| bindsym $mod+Shift+g              gaps inner current minus 5
 | |
| bindsym $mod+Ctrl+g               gaps outer current plus 5
 | |
| bindsym $mod+Ctrl+Shift+g         gaps outer current minus 5
 | |
| bindsym $mod+$alt+g               gaps inner all set 20; gaps outer all set -10
 | |
| 
 | |
| default_border                    pixel 0
 | |
| smart_borders                     on
 | |
| 
 | |
| ################################################################################
 | |
| #                                Modules startup                               #
 | |
| ################################################################################
 | |
| exec_always --no-startup-id       ~/dotfiles/enable_thouch.sh
 | |
| exec_always --no-startup-id       ~/.config/polybar/launch.sh
 | |
| exec_always --no-startup-id       wal -i "$(< "${HOME}/.cache/wal/wal")"
 | |
| exec        --no-startup-id       xss-lock -- i3lock-fancy -t $lockscreen
 | |
| exec        --no-startup-id       "xrdb $HOME/.Xresources"
 | |
| exec        --no-startup-id       xfce4-power-manager
 | |
| exec        --no-startup-id       compton -F --opengl --config ~/.config/compton.conf -e 1
 | |
| exec        --no-startup-id       redshift-gtk
 | |
| exec        --no-startup-id       mpd
 | |
| exec        --no-startup-id       mpc stop
 | |
| exec        --no-startup-id       syndaemon -i 1.0 -t -k
 | |
| exec        --no-startup-id       sleep 3; emacs --eval "(server-start)"
 | |
| exec        --no-startup-id       mpd_discord_richpresence --no-idle --fork
 | |
| exec        --no-startup-id       i3-battery-popup -N -t 2m
 | |
| 
 | |
| 
 | |
| ################################################################################
 | |
| #                          Set colors from Xresources                          #
 | |
| ################################################################################
 | |
| 
 | |
| set_from_resource $fg i3wm.color7 #f0f0f0
 | |
| set_from_resource $bg i3wm.color2 #f0f0f0
 | |
| 
 | |
| # class                 border  backgr. text indicator child_border
 | |
| client.focused          $bg     $bg     $fg  $bg       $bg
 | |
| client.focused_inactive $bg     $bg     $fg  $bg       $bg
 | |
| client.unfocused        $bg     $bg     $fg  $bg       $bg
 | |
| client.urgent           $bg     $bg     $fg  $bg       $bg
 | |
| client.placeholder      $bg     $bg     $fg  $bg       $bg
 | |
| 
 | |
| # client.background       $bg
 |