config/README-Wayland.org

93 lines
2.8 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