рд╕реНрд╡рдпрдВрд╡рд░ - рдпреВрдирд┐рдХреНрд╕ рдЪреЙрдХрд▓реЗрдЯ рдЦреБрдж

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕реНрд╡рдпрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдкреНрд░рдмрдВрдзрдХред


рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░, рдмреЛрд▓рдмрд╛рд▓рд╛ рдПрдХ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рд╣реИ, рдЬреЛ i3wm рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ, рдЬреЛ рд╡рд╛рдпрд▓реИрдВрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред


рд╡реАрд▓реИрдВрдб, рдЙрд░реНрдл тАЛтАЛрд╡реЛрд▓реБрдВрдб, рдЖрджрд┐ред - рдУрд▓реНрдб рдЬрд░реНрдорди рдФрд░ рдУрд▓реНрдб рдиреЙрд░реНрд╕ рдкреМрд░рд╛рдгрд┐рдХ рдХрдерд╛рдУрдВ рдХрд╛ рдПрдХ рдЪрд░рд┐рддреНрд░, рдПрдХ рдХрд┐рддрд╛рдм рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдордп рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реЛрдХ рдХрдерд╛рдХрд╛рд░ рдЬреЗрд╕реА рд╡реЗрд╕реНрдЯрди рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд┐рдо (рдпрд╣ рдХреА рд╕рдорд╛рдирддрд╛ рдХреАрдмреЛрд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрддреЗрдЬрд┐рдд рд╣реЛрддреА рд╣реИ), рдЖрд░реНрдХрд▓рд┐рдирдХреНрд╕ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╕рдВрдж рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдмреЛрд▓рдЪрд╛рд▓ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реНрдерд┐рд░ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рддрд╛рд╡рд░рдг рдорд┐рд▓реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рднреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред


рдпрджрд┐ рд╕реНрд╡реЗ рдФрд░ рд╡реЗрд▓реИрдВрдб рдХреЗ рдиреБрдХрд╕рд╛рди (рдЬреИрд╕реЗ рдХрд┐ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЗ рдирд┐рдЬреА рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдХрдореА рдФрд░ рдХрдИ рдкрд░рд┐рдЪрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдЖрдкрдХреЛ рдШрд╛рддрдХ рд▓рдЧрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ x3 i3wm рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗ, рдЖрдкрдХреЛ xinit рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╡рд┐рднрд┐рдиреНрди .Xauthority рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд╛рдбрд╝ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИред


рд╕реНрдерд╛рдкрдирд╛


рд╕реНрд╡реЗ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рд╡рд┐рддрд░рдг рдХреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЬреАрдердм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рдХреА рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ, wlroots рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ wlroots рдХреНрд▓реЛрди рдХрд░реЗрдВ:


 hub clone swaywm/sway hub clone swaywm/wlroots sway/subprojects/wlroots 

(рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рд╣рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдПрдХ рдЧреИрд░-рдорд╛рдирдХ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг)ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 meson setup ./sway-build ./sway --buildtype=minsize ninja -C ./sway-build doas ninja -C ./sway-build install 

doas OpenBSD рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдПрдХ рд╣рд▓реНрдХрд╛ рд╕реБрдбреЛрд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред рд▓рд┐рдирдХреНрд╕ рдЖрдорддреМрд░ рдкрд░ OpenDoas рдХреЗ рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ред

рд▓рд╛рдВрдЪ


рдпрджрд┐ рдЖрдк SDDM рдЬреИрд╕реЗ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдмреЛрд▓рдмрд╛рд▓рд╛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ


 $ exec sway 

рдпрджрд┐ рдЖрдк exec рдмрд┐рдирд╛ рдмреЛрд▓рдмрд╛рд▓рд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░реАрди рдХреЛ рд╕реНрд╡реЗрд▓реЙрдХ рдХреЗ рд╕рд╛рде рд▓реЙрдХ рдХрд░реЗрдВ, рдФрд░ рдХреНрд░реИрд╢ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдкрд░, рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрд╛рд▓рд╛ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдВ: рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рди рддреЛ рд╕рд┐рд╕реНрдЯрдордб-рд▓реЙрдЧрдЗрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рди рд╣реА рдЗрд▓реЛрдЧрд┐рдВрдб рдХреАред рд╕рдЪ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рдХреА рджреЗрдЦреЗрдВред

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░


рдХрдИ рдЬрдЧрд╣ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред


рд╢реИрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ~/.local/bin/sway - рдЪрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреЛрд▓рдмрд╛рд▓рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреВрдЯреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреГрд╢реНрдпреЛрдВ рдХреЛ рди рджрд┐рдЦрд╛рдП рдФрд░ рдереАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ qt5ct рд╕реЗ qt5ct :


 #!/bin/bash QT_QPA_PLATFORMTHEME=qt5ct \ QT_WAYLAND_DISABLE_WINDOWDECORATION=1 \ /usr/bin/sway 

~/.pam_environment - рдЙрди рдЪрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рддреБрд░рдВрдд systemd рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:


 SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh" 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдмрджрд▓реЗрдВ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрдбреАрдИ рдкреНрд▓рд╛рдЬреНрдорд╛ рдЗрд╕реЗ рдмрд╣реБрдд рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдпрд╣ $WAYLAND_DISPLAY рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ (рд╡рд┐рдбрдВрдмрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ pam_env рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ pam_env рдореЙрдбреНрдпреВрд▓ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ $DISPLAY рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП N рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛)ред


~/.bashrc - рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдПред


рд╕реНрд╡реЗ рд╕реЗрдЯрдЕрдк


рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рд╣рдо рд░реВрд╕реА рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд▓реЗрдЖрдЙрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ Alt+Shift рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред рдмреЛрд▓рдЪрд╛рд▓ рдХреА рднрд╛рд╖рд╛ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 input * { xkb_layout us,ru xkb_options grp:alt_shift_toggle } 

Sway рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП libinput рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреЗрдбреАрдИ рдФрд░ рдЧреНрдиреЛрдо рдХреЗ рд╕рдорд╛рдиред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЯрдЪрдкреИрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ, рдорд╛рдЙрд╕ рдкреЙрдЗрдВрдЯрд░ рддреНрд╡рд░рдг, рдЖрджрд┐ред рдЖрджрд┐ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ man sway-input , рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЗрдирдкреБрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ


 swaymsg -t get_inputs 

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд╕рд░ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдХ X рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рд╡рд╣рд╛рдВ рд╕реЗ рдЕрдкрдиреА рдХреАрдмреЛрд░реНрдб рд╕реЗрдЯрд┐рдВрдЧ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ


 $ xkbcomp $DISPLAY /path/to/keymap.xkb 

рдФрд░ sway config рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ


 input * { xkb_file /path/to/keymap.xkb } 

рд╣реЙрдЯрдХреА


рд╣реЙрдЯрдХреАрдЬрд╝, рдЬреИрд╕реЗ рдХрд┐ рд╕рдм рдХреБрдЫ рдмреЛрд▓рдмрд╛рд▓рд╛ рд╣реИ, рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд╕реЗрдЯ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рдХрдорд╛рдВрдб рд╣реИрдВ:


  1. bindswitch ред рдпрд╣ рд▓реИрдкрдЯреЙрдк рдХреЗ рдврдХреНрдХрди рдХреЛ рдЦреЛрд▓рдиреЗ / рдмрдВрдж рдХрд░рдиреЗ, рдЯреИрдмрд▓реЗрдЯ рдореЛрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдЖрджрд┐ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. bindcode ред рдЗрд╕реЗ рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрддрдорд╛рди рд▓реЗрдЖрдЙрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
  3. bindsym ред рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрддрдорд╛рди рдЪрд░рд┐рддреНрд░ рд▓реЗрдЖрдЙрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк --to-code рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд░реНрдг xkb_layout рд╕реЗ рдкрд╣рд▓реЗ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ (рдЗрдирдкреБрдЯ рд╕реЗрдЯрд┐рдВрдЧ рджреЗрдЦреЗрдВ)ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд╣реЙрдЯрдХреА рд▓реЗрдЖрдЙрдЯ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдВрдбреЛ рдХреЛ рд╣рд░рд╛ рджреЗрдЧрд╛:


 bindsym --to-code $mod+Shift+q kill 

рдЖрдк рдорд╛рди рдореЗрдВ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: man 5 sway ред


рдЬреЛ рдХреБрдЫ рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ keylogger рд▓рд┐рдЦрд╛ рдерд╛ (рдЙрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред


рдирд┐рд╖реНрдХрд░реНрд╖


рдЙрдкрд▓рдмреНрдз рдЖрдЙрдЯрдкреБрдЯ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ


 swaymsg -t get_outputs 

рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдк рд╡реАрдбрд┐рдпреЛ рдореЛрдб, рд╕реНрдХреЗрд▓рд┐рдВрдЧ (рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рд╣рд┐рдд), рдЪрд┐рддреНрд░, рд░реЛрдЯреЗрд╢рди, рдЖрджрд┐ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 output HDMI-A-1 mode 1920x1080@60Hz output * bg /path/to/wallpaper.jpg fill 

рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдХреЛ man sway-output рдорд╛рди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ wlr-randr рдХрд╛рд░реНрдпрдХреНрд░рдо рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдм рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдпрд╣ рд╡реЗрд▓реИрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдХреЗрдВрдбрд░ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ)ред


Swaybar


рд╕реНрд╡рдмрд╛рд░ - рдПрдХ рдкреИрдирд▓ рдЬрд┐рд╕ рдкрд░ рд╕реНрдерд┐рддрд┐ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рджрд┐рдирд╛рдВрдХ, рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдЯреНрд░реЗ, рдЖрджрд┐ред рдЖрджрд┐ рдЖрдорддреМрд░ рдкрд░ i3 рдФрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рдкреНрд░рд╢рдВрд╕рдХ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреИрдирд▓ (рдпрд╛ рдкреИрдирд▓, рд╡рд╣рд╛рдБ рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ) рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд░реАрдм:


 bar { position top colors { statusline #ffffff background #282828E6 inactive_workspace #282936BF #282936BF #5c5c5c } font Hack 11 status_command i3blocks } 

рд╕реНрдерд┐рддрд┐, рд░рдВрдЧ, рдлреЛрдВрдЯ, рдЯреНрд░реЗ рдЖрджрд┐ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдиреЗ рдореЗрдВ man 5 sway-bar рд╕рдХрддреЗ man 5 sway-bar - man 5 sway-bar ред


рд╕реНрд╡рдмрд╛рд░ i3bar рдкреНрд░рд╛рд░реВрдк рдореЗрдВ json рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ, рдЬреЛ рдХрд┐ status_command рджреНрд╡рд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдРрд╕реЗ рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред i3status , Waybar , i3status-rs , рдФрд░ рдХрдИ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рд╕рд╛рджрдЧреА рдФрд░ рдХрд╕реНрдЯрдо рдмреНрд▓реЙрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╕рд╛рдиреА рдХреЗ рдХрд╛рд░рдг i3blocks рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ ред


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрдЕрдк


рдиреЛрдЯрд┐рд╕


рдпрд╣ рдореЗрдХреЛ рдбреЗрдорди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рд╣реИ)ред рд╡рд╣рд╛рдВ рдЖрдк рд░рдВрдЧреЛрдВ рдЖрджрд┐ рдХреЛ рднреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдмрд╕ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред


Mako dbus рдЖрдзрд╛рд░рд┐рдд XDG рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реВрдЪрдирд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреНрд░реЛрдорд┐рдпрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рд╣рд┐рдд рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред


рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░


рдХреЗрдбреАрдИ рдЬреИрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдкреНрд▓рд╛рдЬреНрдорд╛ рдЖрдорддреМрд░ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореЗрдиреВ, рдЯреИрдм рдФрд░ рдХрдИ рдЕрдиреНрдп рдбрд┐рдЬрд╝рд╛рдЗрди рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреНрдпреЛрдВ? рдореИрдВ Alacritty рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - Rust рдореЗрдВ рд▓рд┐рдЦреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ, GPU рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддреЗрдЬрд╝ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдРрд╕реЗ рд╣реЙрдЯрдХреАрдЬ рдХреЛ рдЙрдирдХреЗ рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ ~/.config/alacritty/alacritty.yml ( ~/.config/alacritty/alacritty.yml ) key_bindings рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ:


 - { key: T, mods: Control|Shift, action: SpawnNewInstance } 

рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВред рдЯреИрдм рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рдФрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреЗрдЧрд╛ред


 - { key: Up, mods: Control|Shift, action: ScrollLineUp, mode: ~Alt } - { key: Down, mods: Control|Shift, action: ScrollLineDown, mode: ~Alt } 

рдПрдХ рдкрдВрдХреНрддрд┐ рдКрдкрд░ / рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред


рд╣рдо рдмреЛрд▓рдмрд╛рд▓рд╛ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ


 set $term alacritty bindsym $mod+Return exec $term 

Alacritty ligatures рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХрд┐рдЯреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдпрд╣ рдПрдореБрд▓реЗрдЯрд░ рднреА рдмрд╣реБрдд рддреЗрдЬ рд╣реИ, рдФрд░ рд╣реБрдб рдХреЗ рддрд╣рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рднрдпрд╛рд╡рд╣ рдорд╛рддреНрд░рд╛ рд╣реИред


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ


рдмреЛрд▓рдмрд╛рд▓рд╛ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реЙрдЯрдХреА рдореЗрдиреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд╡реЗ рдРрд╕рд╛ рдХреБрдЫ рд▓рд┐рдЦрддреЗ рд╣реИрдВ


 set $menu ... bindsym --to-code $mod+d exec $menu 

рдореЗрдиреВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВред рдХреБрдЫ, рдЬреИрд╕реЗ рдХрд┐ dmenu рдпрд╛ rofi рдХреЛ XWayland рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡реЗрд▓реИрдВрдб рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╣рдо рдмрд╛рдореЗрдиреВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреНрд░реВрдирд░ (рдХреНрдпрд╛ рдХреЗрдбреАрдИ рдореЗрдВ Alt+F2 рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ) рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рдВ, рдпрд╣ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ рд╕реНрд╡-рд▓реЙрдиреНрдЪрд░-рдбреЗрд╕реНрдХрдЯреЙрдк ред рдирд╛рдо рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рдмреЛрд▓рдмрд╛рд▓рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЬреАрдпреВрдЖрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ $PATH рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рд╕реЗ рдПрдХ рдореЗрдиреВ рдмрдирд╛рддреА рд╣реИ, рдбреЗрд╕реНрдХрдЯреЙрдк рдлрд╛рдЗрд▓реНрд╕ (XDG рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдВрдЯреНрд░реА рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЛрд░реНрд╕ (рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░)ред рдореЗрдиреВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд fzf рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЗрдиреВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрд╖рд╛рд░ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


 set $menu exec alacritty -e sway-launcher-desktop bindsym --to-code $mod+d exec $menu 

рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдлреНрд▓реЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред I3 рдФрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рдореЗрдВ, рдРрд╕реЗ рдирд┐рдпрдореЛрдВ рдХреЛ for_window рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рдпрдо рдХреЛ sway-launcher-desktop рд╡рд┐рдВрдбреЛ рдореЗрдВ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреБрдЫ рдпреВрдирд┐рдХ рдХреНрд▓рд╛рд╕ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл Launcher ред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╡реЗрд▓реИрдВрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг, i3 рдореИрдиреБрдЕрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдорд╛рдирджрдВрдб рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред рд╕рд╣реА рд▓реЛрдЧреЛрдВ рдХреЛ man 5 sway CRITERIA , рдЕрдиреБрднрд╛рдЧ CRITERIA рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, app_id рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 set $menu exec alacritty --class Launcher -e sway-launcher-desktop for_window [app_id="Launcher"] floating enable, border pixel 10, sticky enable bindsym --to-code $mod+d exec $menu 

рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди


рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ


 exec /path/to/program 

sway config рдореЗрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рд╕рд┐рд╕реНрдЯрдордб рдпреВрдирд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдХреЗрдбреАрдИ рдФрд░ рдЧреНрдиреЛрдо рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛рдИ рдЧрдИ рдПрдХреНрд╕рдбреАрдЬреА рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред


рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди /etc/xdg/autostart рдФрд░ ~/.config/autostart рдореЗрдВ рд╕реНрдерд┐рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдЖрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЦреБрдж рдХреЛ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред


рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕реНрд╡рдпрдВ рдХрд╛ рдореЙрдбреНрдпреВрд▓рд░ рд╕рд╛рд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рд╕реНрд╡рдпрдВ рдХреЛ XDG рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ, рди рд╣реА XDG рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдВрдЯреНрд░реАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрди рдФрд░ рд╕рднреА рд╕рдорд╛рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреЗрдХреНрд╕ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рд╣реИ)ред


рдСрдЯреЛрд░рди рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВ


 $ dex -ade Sway 

a рд╕рд╛рдзрди рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ, d - "рдбреНрд░рд╛рдИ рд░рди", -e Sway рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдореА рд╕реВрдЪреА рдЖрдкрдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╡рд╣рд╛рдВ kgpg рдорд┐рд▓рд╛ред рд╣рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ: /etc/xdg/autostart рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ ~/.config/autostart рдХреЙрдкреА рдХрд░реЗрдВ, рд╡рд╣рд╛рдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ


 NotShowIn=Sway 

рдФрд░ рдлрд┐рд░ рд╕реЗ рдСрдЯреЛрд░рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП) рд╡реЗрд▓реИрдВрдб рдХреЗ рддрд╣рдд рдЪрд▓рд╛рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЙрдирдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдбреЗрд╕реНрдХрдЯреЙрдк-рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рд▓реЙрдиреНрдЪ рд▓рд╛рдЗрди рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред рдпрд╣ рдерд╛:


 Exec=/usr/bin/skypeforlinux 

рдпрд╣ рдерд╛:


 Exec=env GDK_BACKEND=x11 /usr/bin/skypeforlinux 

рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рд╣реА рддрдХрдиреАрдХ рдХреЛ рд╕реНрд╡реЗ-рд▓реЙрдиреНрдЪрд░-рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдП, рддреЛ рд▓рд╛рдЗрди рдХреЛ рд╕реНрд╡реЗрдк рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ


 exec dex -ae Sway 

рдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╡рд╛рдВрдЫрд┐рдд рдбреЗрд╕реНрдХрдЯреЙрдк-рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреБрдЫ рдЧреИрд░-рдорд╛рдирдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЙрд╕ рдкрд░ рдбреЗрдХреНрд╕ рд╕реЗрдЯ рдХрд░реЗрдВ


 exec dex -as /path/to/your/dir 

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рдХрд╛рд╕реНрдХреЗрдЯ рдХреЗ рджреЛ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред рд╕реНрд▓рд░рдк рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдордирдорд╛рдирд╛ рдЖрдпрддрд╛рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЧреНрд░рд┐рдо рдЗрд╕рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдореЗрд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 bindsym Print exec grim ~/Pictures/screen-"$(date +%s)".png bindsym $mod+Print exec grim -g "$(slurp)" ~/Pictures/screen-"$(date +%s)".png 

$mod+PrintScreen - рдПрдХ рдордирдорд╛рдиреЗ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ, PrintScreen - рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯред


рд╕реНрдХреНрд░реАрдирдХрд╛рд╕реНрдЯ


рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдПрдХ рд╕реНрдХреНрд░реИрдиреНрдХрд╛рд╕реНрдЯ рд▓рд┐рдЦрдирд╛ рд╣реИ рдпрд╛ рдЙрд╕реЗ RTMP рд╕реНрдЯреНрд░реАрдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд┐рдХреЛрдЯреА рдкрд░) рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ wf-рд░рд┐рдХреЙрд░реНрдбрд░ рдЗрд╕ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░реЗрдЧрд╛ (рд╕реНрд▓реИрдк рдХрд╛ рд╕рдорд░реНрдерди рднреА рдХрд░рддрд╛ рд╣реИ)ред


рдпрджрд┐ рдЖрдк рдУрдмреАрдПрд╕ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП wlrobs рдкреНрд▓рдЧрдЗрди рд╣реИред


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗрдбреАрдИ рдФрд░ рдЧрдиреЛрдо рдореЗрдВ рдПрдХ рдУрд░ рд╕рдорд░реНрдерд┐рдд рд╕рдмрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди, рдФрд░ рджреВрд╕рд░реА рдУрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдкрд┐рдкрд╡рд╛рдпрд░ рдФрд░ рдПрдХреНрд╕рдбреАрдЬреА рдбреЗрд╕реНрдХрдЯреЙрдк рдкреЛрд░реНрдЯрд▓ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдкрд░рдд xdg-desktop-portal-wlr рд╣реИ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреАред


рд░рд╛рддреНрд░рд┐ рд╡рд┐рдзрд╛


рд░рд╛рдд рдХреЗ рдореЛрдб рдореЗрдВ рдЕрдВрдзреЗрд░реЗ рдореЗрдВ рдЧрд░реНрдо рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдХреЛ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдФрд░ рд╡рд╛рдпрд▓реИрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рддрдХрдиреАрдХреА рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЧрд╛рдорд╛ рд╕реБрдзрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдХрд░рдирд╛ рдмреЗрдХрд╛рд░ рдерд╛ред


рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкрд╕рдВрдж рд╣реИ, рдФрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рдореЗрдВ рднреА рд╣реИред рдирд╛рдЗрдЯ рдореЛрдб рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕реНрд╡ -рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд░реЗрдбрд╢рд┐рдлреНрдЯ рдХреЗ рдЗрд╕ рдХрд╛рдВрдЯреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, ~/.config/redshift/redshift.conf config рдореЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рджреЗрд╢рд╛рдВрддрд░ рдФрд░ рдЕрдХреНрд╖рд╛рдВрд╢ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред


 [redshift] location-provider=manual adjustment-method=wayland [manual] lat=xx.xx lon=yy.yy 

рд▓реЙрдХ рдФрд░ рд╕реНрдХреНрд░реАрди рдмрдВрдж


рдПрдХ рдЕрдиреНрдп рддрд╛рдмреВрдд рд╕реЗ рджреЛ рдпрд╣рд╛рдБ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред swayidle рджрд┐рдП рдЧрдП рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐), рдФрд░ swaylock рд╕реНрдХреНрд░реАрди рдХреЛ рд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рд╕реНрдХреНрд░реАрди рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рд╕рднреА рд╕реНрдХреНрд░реАрди, рдпрджрд┐ рдХрдИ рд╣реИрдВ)


 swaymsg "output * dpms off" 

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдбреЗрдореЙрди рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛, 300 рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░реАрди рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдФрд░ 600 рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛:


 swayidle -w \ timeout 300 'swaylock -f -c 000000' \ timeout 600 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep 'swaylock -f -c 000000' 

рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЪрд▓рд╛рдПрдВред


i3blocks


рдХреИрд▓реЗрдВрдбрд░, рдиреЗрдЯрд╡рд░реНрдХ, рдбрд┐рд╕реНрдХ рд╕реНрдерд┐рддрд┐ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдмреНрд▓реЙрдХред рдЖрджрд┐ i3blocks-contrib рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред I3blocks рдореЗрдВ рд╡реЗ ~/.config/i3blocks/config ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдкреНрддрд╛рд╣, рддрд┐рдерд┐ рдФрд░ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рд░ 5 рд╕реЗрдХрдВрдб рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╡рд╛рд▓рд╛ рдПрдХ рдмреНрд▓реЙрдХ:


 [time] command=date +"%a %d/%m %H:%M" interval=5 

рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, i3 рдФрд░ рдмреЛрд▓рдмрд╛рд▓рд╛ рдХреЗ рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдХ рдкрд╡рд┐рддреНрд░ рдХрдмреНрд░ рд╣реИ: рд╢реАрд░реНрд╖ рдмрд╛рд░ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдВрдбреЛ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо man sway-ipc рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╡рд╣рд╛рдБ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб 0x80000003. WINDOW рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ 0x80000003. WINDOW рдФрд░ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ:


 { "change" : "focus | title | ...", "container": { focused: true | false, name: "...", ... } } 

рджрд░рдЕрд╕рд▓, рдпрд╛ рддреЛ рдЦрд┐рдбрд╝рдХреА рдЦреБрдж рдЕрдкрдирд╛ рд╢реАрд░реНрд╖рдХ ( change == title ) change == title рд╕рдХрддреА рд╣реИ, рдпрд╛ рд╣рдо рдлрд╝реЛрдХрд╕ рдХреЛ рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ рдореЗрдВ change == focus рд╣реИрдВ ( change == focus )ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд┐рдВрдбреЛ рд╢реАрд░реНрд╖рдХ рдФрд░ рдлрд╝реЛрдХрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдРрд╕реЗ рдЖрдпреЛрдЬрдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрдиреНрдЯреИрдВрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред


рдЖрдк рдкрд╛рдпрдерди рдпрд╛ рдЧреЛ рдореЗрдВ рдЗрд╕ рд╕рд╛рд░реЗ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИред swaymsg рд╡рд╛рдВрдЫрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ stdout рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ:


 $ swaymsg -m -t SUBSCRIBE "['window']" 

рдФрд░ рд╣рдо рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк jq рдХреЛ jq рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдЕрджреНрднреБрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдХреНрд╡реЗрд░реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:


 $ query='select(.change == "focus" or (.change == "title" and .container.focused)) | .container.name' $ swaymsg -m -t SUBSCRIBE "['window']" | jq --unbuffered -r "$query" 

рдмреИрд╢ рдкрд░ рдПрдХ рджреЛ-рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдФрд░ рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рдХреЛрдб! --unbuffered рдзреНрд╡рдЬ --unbuffered рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ i3blocks рдХреЛ рддреБрд░рдВрдд рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдВрдЧреА, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЬрдм рдмрдлрд░ рдХреНрд▓рд┐рдпрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЕрдВрдд рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд▓реЙрдХ рдХреЛ i3blocks config рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:


 [active_window] command=/path/to/our/script.sh interval=persist 

рд╣реЛрдорд╡рд░реНрдХ: рд╡рд░реНрддрдорд╛рди рд╡рд┐рдВрдбреЛ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдВрднреАрд░ рд╕рд┐рдЦрд╛рдПрдВред рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗрд▓реИрдВрдб рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЗрдВ рдЕрд╕рдВрднрд╡ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреБрд░реБрд╖реЛрдВ рдХреЛ рдЗрд╕ рдкрд░ рд╕рдВрджреЗрд╣ рд╣реИред


рд╣реЛрдорд╡рд░реНрдХ 2: рд╡рд░реНрддрдорд╛рди рдХреАрдмреЛрд░реНрдб рд▓реЗрдЖрдЙрдЯ рдХреЛ рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП i3blocks рд╕рд┐рдЦрд╛рдПрдВред I3blocks-contrib рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рдЭрдВрдбреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд╛рда рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрд▓реИрдВрдб рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред


рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо


wl-рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдЖрдкрдХреЛ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ xclip рдФрд░ xsel рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЙрдкреА / рдкреЗрд╕реНрдЯ "+y / "+p рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдмрд╕ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред


ydotool - xdotool рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдиред


waypipe - рдиреЗрдЯрд╡рд░реНрдХ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реАред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХрд┐рд╕реА рдиреЗ рд╡рд┐рд╢реЗрд╖ рдордВрдЪреЛрдВ рдкрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдкреВрдЫрд╛ рдерд╛ред рд╢рд╛рдпрдж рд╡реЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рддреЗ? рдореИрдВ - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВред


рдХреЗрдбреАрдИ рдХрдиреЗрдХреНрдЯ org.kde.kdeconnect.nonplasma.desktop рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ (рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ), рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ KDE рдХрдиреЗрдХреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрдирдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ - рдФрд░ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рдкреНрд▓рд╛рдЬреНрдорд╛-рдПрдХреАрдХрд░рдг рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдВрдЧреАрдд рдФрд░ рд╡реАрдбрд┐рдпреЛ рдкреНрд▓реЗрдмреИрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред , рдХреИрдВрдЯрд╛рдЯрд╛ рдореЗрдВ , рдПрдордкреАрд╡реА рдореЗрдВ рдПрдордкреАрд╡реА-рдПрдордкреНрд░рд┐рд╕ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде , рдФрд░ рдореЗрдХреЛ рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрдбреАрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕рдореНрдорд╛рди рдЙрдирдХреЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред


рдирд┐рд╖реНрдХрд░реНрд╖


рдЖрдк рдпрд╣ рд╕рдм (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ i3blocks рдкреИрдирд▓) рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд╣реАрди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд░реЛрдХрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣рд╛рдБ рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓рд╛ рд╣реИ:



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдмрд░рдбрд┐рдЯ / рдЖрд░ / рдпреВрдирд┐рдХреНрд╕рдкреЛрди рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рдХрд░реЗрдВред (рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╣рд╛рдВ рд░рдЦреА рдЧрдИ рд╕рдм рдХреБрдЫ рдХрд╛ 95% рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ :))ред

Source: https://habr.com/ru/post/hi484378/


All Articles