Skip to content

Important software

To get the best experience with the compositor, you should install additional services and tools to get a more complete desktop session. Most importantly, you should have a terminal (of your choice though the default configuration has Alacritty), a text editor of your choice, and an app launcher.

Desktops environments like GNOME/KDE have all of these bundled together, fht-compositor does not do that, so you are very strongly recommended to read this page.

Must-have services

  • Sound: You most likely want to have sound working on your session. Install PipeWire otherwise your desktop will be mute. PipeWire should be autostarted if you are under a systemd setup, otherwise, add to autostart section.
    If you want to use the XDG screencast portal, PipeWire is required!

  • Notification daemon: Many apps require one and might freeze (for example Discord) if no one is found. mako is simple and works fine, otherwise, use whatever suits you.

  • Policy-kit daemon: (abbreviated to polkit): Required to give system(root) access to regular applications in a safe and controlled manner. Refer to the Arch Linux wiki page on the topic and install the one you prefer.

NixOS module

If you use the NixOS module provided by the Nix flake, setting programs.fht-compositor.enable will automatically enable polkit-gnome!

  • XDG desktop portal: The compositor binary itself will start a session d-bus connection and expose the ScreenCast interfaces. However, other interfaces are NOT implemented, this is why you should fall back to xdg-desktop-portal-gtk

Desktop Shell

Most desktop interface utilities like shells/panels use wlr-layer-shell under the hood to create the surfaces to draw onto. fht-compositor implements said protocol so all the utilities/programs you are used to will work fine!

  • Wallpaper: swww, swaybg or wbg will work fine.

  • App launcher: wofi, bemenu, fuzzel, Anyrun, are all fine.

  • Desktop shell:

    • Elkowar's Wacky Widgets: provides you with a DSL to write GTK3 based panels, with built-in support for JSON, listeners, SCSS/SASS.
    • Astal: A framework to build desktop shells with GTK using Typescript or Lua (or any language that has GObject-Introspection).
      Provides a lot of batteries to get you started (watchers for bluetooth, battery, notifications, etc.)
    • Quickshell: Qt-based building blocks for your desktop with QML.
    • Waybar: Good'ol waybar, nothing fancy, but gets the job done fast and easy.

Nice to have

While these are not required, the following tools are compatible with fht-compositor and provide extra functionality that is nice to have.

  • swayidle: An idle management daemon, IE. run commands after idling for a while, for example turning off your screen after 10 minutes.
  • cliphist: A very simple clipboard manager for Wayland sessions.
  • wl-clip-persist: Make selections from an application persist even after closing it.