2023-08-28 15:31:02 -07:00
|
|
|
#+title: Wayland
|
|
|
|
|
|
|
|
Install [[https://wiki.archlinux.org/title/wayland][wayland]]: ~wayland~, ~xorg-xwayland~
|
|
|
|
|
|
|
|
* Login Manager
|
|
|
|
|
|
|
|
The login manager is not managed by this configuration but mentioned here since
|
|
|
|
it interacts with the desktop environment. For ~hyprland~, ~sddm~ is
|
|
|
|
recommended.
|
|
|
|
|
|
|
|
- ~sddm~: Enable ~sddm.service~
|
|
|
|
|
|
|
|
A note about themes: The themes must be placed in ~/usr/share/sddm/themes~.
|
|
|
|
Then in ~/etc/sddm.conf~, enable the relevant theme. By default the breeze
|
|
|
|
theme comes with ~plasma-workspace~ which is very bloated to install, so
|
|
|
|
consider some of the alternative themes.
|
|
|
|
|
|
|
|
* Fonts
|
|
|
|
|
|
|
|
- ~otf-font-awesome~: Needed for ~waybar~ to render icons
|
|
|
|
- Noto Sans/Serif: System font
|
|
|
|
|
|
|
|
* Status Bar and Tray
|
|
|
|
|
2024-06-02 06:14:20 -07:00
|
|
|
- ~eww-wayland~: Requires ~socat~ to listen for hyprland events.
|
2023-08-28 15:31:02 -07:00
|
|
|
|
|
|
|
* Sway
|
|
|
|
|
|
|
|
This is one choice of a compositor.
|
|
|
|
|
|
|
|
- ~swayfx~: Window manager
|
|
|
|
- ~python-i3ipc~: Enables inactive window opacity scripts
|
|
|
|
|
|
|
|
** Wallpaper
|
|
|
|
Use ~multibg-sway~, which assigns a different wallpaper to each workspace and
|
|
|
|
does not crash. The wallpapers directory ~~/.config/sway/wallpapers~ needs to be setup in this way:
|
|
|
|
#+begin_src
|
|
|
|
wallpapers
|
|
|
|
├─ eDP-1
|
|
|
|
│ ├─ _default.jpg
|
|
|
|
│ ├─ 1.jpg
|
|
|
|
│ ├─ 2.png
|
|
|
|
│ └─ browser.jpg
|
|
|
|
└─ HDMI-A-1
|
|
|
|
├─ 1.jpg
|
|
|
|
└─ 3.png
|
|
|
|
#+end_src
|
|
|
|
where the output information can be obtained from ~swaymsg -t get_outputs~.
|
|
|
|
|
|
|
|
Supposedly does not work with ~hypr~.
|
|
|
|
|
|
|
|
* Hyprland
|
|
|
|
|
|
|
|
This is another choice of a compositor.
|
|
|
|
|
|
|
|
Note: Setup does not work with NVIDIA GPU without some tweaks.
|
|
|
|
|
|
|
|
- [[https://wiki.archlinux.org/title/Hyprland][hyprland]]: window manager
|
|
|
|
- ~hyprpaper~: Wallpaper engine
|
|
|
|
|
|
|
|
The command to set a wallpaper:
|
|
|
|
~hyprctl hyprpaper wallpaper "$DISPLAY,$FILE"~
|
|
|
|
The command for changing keyboard layouts is handled by ~fcitx5~.
|
|
|
|
|
|
|
|
* Utilities
|
|
|
|
|
|
|
|
- [[https://github.com/Horus645/swww][swww]]: Alternate wallpaper engine
|
|
|
|
|
|
|
|
Note that ~~/.config/hypr/wallpapers~ must have jpeg files ~{1..8}.jpg~. A
|
|
|
|
handy command can be used crop and resize images:
|
|
|
|
#+begin_src bash
|
|
|
|
convert $IN \
|
|
|
|
-resize 3840x2160^ \
|
|
|
|
-gravity center \
|
|
|
|
-extent 3840x2160 \
|
|
|
|
$OUT
|
|
|
|
#+end_src
|
|
|
|
- ~swaync~: Notification server
|
|
|
|
- ~wofi~: finding programs, drop in replacement for ~rofi~
|
|
|
|
- ~dolphin~: File explorer
|
|
|
|
- ~swaylock-effects~: A simple lockscreen
|
|
|
|
- ~wl-clipboard~: Provides copying
|
|
|
|
- ~blueman~: Bluetooth connector
|
|
|
|
|
2024-06-02 06:14:20 -07:00
|
|
|
- ~grim~: Screenshot engine
|
|
|
|
- ~flameshot~: Screenshot utility; On Arch Linux, install ~flameshot-git~.
|
|
|
|
|
2023-08-28 15:31:02 -07:00
|
|
|
** Configuration
|
|
|
|
|
|
|
|
- ~lxappearance~: Used to configure GTK3 themes
|
|
|
|
- ~nwg-look~: Configures cursor
|
|
|
|
- ~wev~: Wayland event interceptor useful for determining keybinds
|
|
|
|
|
|
|
|
* Troubleshooting
|
|
|
|
|
|
|
|
** Black screen with underscore
|
|
|
|
|
|
|
|
Symptom: The system shows a black screen with an underscore at the top left
|
|
|
|
corner. Cannot access any TTY via ~C-S-F[1-9]~. Logs look otherwise normal.
|
|
|
|
|
|
|
|
Solution:
|
|
|
|
1. Boot into live USB. Read `journalctl --since=today` to find out about
|
|
|
|
erroring packages and reinstall them.
|
|
|
|
2. Enable wayland for sddm. This requires ~weston~
|