feat(i3): exit menu

This commit is contained in:
TheK4n 2023-10-24 20:08:19 +03:00
parent 60db2029a9
commit ef09552417

View File

@ -1,16 +1,3 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
# screen layout # screen layout
exec --no-startup-id ~/.screenlayout/default.sh exec --no-startup-id ~/.screenlayout/default.sh
set $SecMon "HDMI-0" set $SecMon "HDMI-0"
@ -21,30 +8,17 @@ set $mod Mod4
exec --no-startup-id xset s off exec --no-startup-id xset s off
exec --no-startup-id xset dpms 0 0 0 exec --no-startup-id xset dpms 0 0 0
exec --no-startup-id xset r rate 250 100 exec --no-startup-id xset r rate 250 100
exec --no-startup-id setxkbmap -model pc105 -layout us,ru -option grp:win_space_toggle exec --no-startup-id setxkbmap -model pc105 -layout us,ru -option grp:win_space_toggle -option caps:escape
exec --no-startup-id xdg-mime default firefox.desktop x-scheme-handler/https x-scheme-handler/http exec --no-startup-id xrandr --dpi 80
# wallpapers
exec --no-startup-id nitrogen --restore; sleep 1; picom -b --config ~/.config/picom/picom.conf exec --no-startup-id nitrogen --restore; sleep 1; picom -b --config ~/.config/picom/picom.conf
exec --no-startup-id hsetroot exec --no-startup-id hsetroot
# Font for window titles. Will also be used by the bar unless a different font exec --no-startup-id feh --randomize --no-fehbg --bg-scale $HOME/.wallpaper/*
# is used in the bar {} block below.
font xft:Sans,FiraCode 12 font xft:Sans,FiraCode 12
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork -c 000514 -e -f
# NetworkManager is the most popular way to manage wireless networks on Linux, # NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it. # and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet exec --no-startup-id nm-applet
@ -68,12 +42,8 @@ bindsym $mod+Return exec alacritty --working-directory ~
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
# start dmenu (a program launcher) # start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run -i -b -p "Program to run: " -fn "FontAwesome:pixelsize=15" bindsym $mod+d exec --no-startup-id dmenu_run -i -b -p "Program to run: " -fn "FontAwesome:pixelsize=16"
# A more modern dmenu replacement is rofi: # A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
# change focus # change focus
bindsym $mod+h focus left bindsym $mod+h focus left
@ -161,12 +131,6 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10 bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
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'"
# resize window (you can also use the mouse for that) # resize window (you can also use the mouse for that)
mode "resize" { mode "resize" {
@ -192,9 +156,30 @@ mode "resize" {
bindsym Escape mode "default" bindsym Escape mode "default"
bindsym $mod+r mode "default" bindsym $mod+r mode "default"
} }
bindsym $mod+r mode "resize" bindsym $mod+r mode "resize"
set $exitmode "exit: [e]xit, [r]eboot, [s]hutdown, [u]suspend, [l]ock"
mode $exitmode {
bindsym e exit
bindsym r exec systemctl reboot
bindsym s exec systemctl shutdown now
bindsym u exec systemctl suspend
bindsym l exec i3lock -ef -c 1e1e1e; mode "default"
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym $mod+x mode $exitmode
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
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'"
# Start i3bar to display a workspace bar (plus the system information i3status # Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available) # finds out, if available)
bar { bar {
@ -215,9 +200,6 @@ bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewi
bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png
exec --no-startup-id xrandr --dpi 80
exec --no-startup-id feh --randomize --no-fehbg --bg-scale $HOME/.wallpaper/*
# default workspaces for monitors in setup # default workspaces for monitors in setup
workspace $ws1 output primary workspace $ws1 output primary
workspace $ws2 output primary workspace $ws2 output primary