105 lines
3.1 KiB
Org Mode
105 lines
3.1 KiB
Org Mode
|
#+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
|
||
|
|
||
|
- ~waybar~: Status bar, use ~waybar-hyprland-git~ AUR repo to enable clicking!
|
||
|
- ~eww-wayland~: Another status bar, requires ~socat~ to listen for hyprland events.
|
||
|
|
||
|
* 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
|
||
|
Until [[https://github.com/elkowar/eww/issues/111][tray support]] has been added to ~eww~ in a stable manner, tray will be handled with waybar.
|
||
|
- ~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~
|
||
|
- ~grimblast~: Screenshot engine
|
||
|
- ~dolphin~: File explorer
|
||
|
- ~swaylock-effects~: A simple lockscreen
|
||
|
- ~wl-clipboard~: Provides copying
|
||
|
- ~blueman~: Bluetooth connector
|
||
|
|
||
|
** 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~
|