Wayland display server

ManicTime can be installed on Wayland.

While Wayland's privacy and security features may limit functionality, ManicTime supports KDE, GNOME, COSMIC, and wlroots-based compositors.

Screenshot tracking

On most Wayland desktops, screenshots are captured through the ScreenCast portal. On KDE, ManicTime 2026.3 and later get the screenshot directly from KWin and can capture the active window. If KWin does not allow this, ManicTime uses Spectacle, and then the ScreenCast portal.

When using the ScreenCast portal:

  • The first time a screenshot is needed, you'll be prompted to select a recording source.
  • Your choice is remembered, so the prompt won't reappear on every capture.
  • If you pick a "virtual" source, ManicTime will warn you and ask you to choose again.

ScreenCast portal screenshots capture the selected screen, not just the active application window. The screenshot matches that screen's resolution and is not cropped to the active window.

ScreenCast portal requirements

  • GStreamer with the gst-launch-1.0 tool and the pipewiresrc, videoconvert and pngenc elements. PipeWire itself is present on most modern distros, but its GStreamer plugin and the GStreamer plugin sets are separate packages that are often not installed.
  • An xdg-desktop-portal backend that provides the ScreenCast portal, matching your compositor (e.g. xdg-desktop-portal-gnome, xdg-desktop-portal-kde, xdg-desktop-portal-wlr for Sway, xdg-desktop-portal-hyprland for Hyprland)

The .deb and .rpm packages of ManicTime 2026.3 and later recommend the GStreamer components. apt and dnf install recommended packages by default, but dpkg -i does not. The tar.gz does not install them. To install them yourself on Ubuntu and Debian, run:

sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-pipewire

On Fedora, CentOS and RedHat:

sudo dnf install gstreamer1 gstreamer1-plugins-base gstreamer1-plugins-good pipewire-gstreamer

On Arch Linux and Manjaro:

sudo pacman -S --needed gstreamer gst-plugins-base gst-plugins-good gst-plugin-pipewire

To check that all three elements are available, run:

for e in pipewiresrc videoconvert pngenc; do gst-inspect-1.0 $e > /dev/null 2>&1 && echo "$e OK" || echo "$e missing"; done

If an element is missing, ManicTime takes no screenshots and its log contains a line such as no element "pngenc". After installing the packages, restart ManicTime or wait up to 10 minutes for it to try again.

To choose a different screen later, quit ManicTime, delete WaylandScreenCastSettings.json from the ManicTime data folder (~/.config/manictime, or Data in the ManicTime folder for a tar.gz installation) and start ManicTime again. It will ask for the recording source again.

Gnome desktop environment

ManicTime provides support for GNOME via Gnome extension. The extension allows ManicTime to track applications, window titles, and idle time.

GNOME 49 is supported in ManicTime 2026.2 and later.

The extension lists the GNOME versions it supports, and GNOME loads it only on those versions. On extensions.gnome.org and in the Extensions app, version 6 of the extension supports GNOME 45 to 50, and version 7 adds GNOME 51.

If application or idle tracking is missing after a GNOME upgrade, open the Extensions app and check the ManicTime GNOME Extension. If GNOME shows it as out of date or with an error, update the extension from extensions.gnome.org. ManicTime cannot detect this case itself; its log only repeats [ApplicationHandler] not detected.

Screenshots on GNOME Wayland are supported in ManicTime 2026.2.1 and later through the ScreenCast portal. Follow the screenshot requirements above if capture does not start.

Requirement

ManicTime Gnome Extension (if unable to install from browser, open Gnome Shell extension manager from store for your specific linux distribution and search for "ManicTime Gnome Extension")

KDE desktop environment

ManicTime fully supports desktop environments running under the KWin window manager/compositor out of the box, offering nearly the same level of detail as in X11 sessions. This includes tracking applications, window titles, away time, and capturing screenshots (including active window).

On Plasma 5.22 to 6.7, KWin gives screenshots only to applications that a system desktop file allows. The .deb and .rpm packages install this file. A tar.gz installation on these Plasma versions uses Spectacle for screenshots. On Plasma 6.8 and later, KWin has no such check. Plasma versions before 5.27.5 do not have the KWin screenshot call that ManicTime needs, so ManicTime uses Spectacle there.

wlroots-based desktop environments (Hyprland, Sway)

ManicTime 2026.2.1 supports application tracking on Hyprland and Sway. Hyprland also supports away tracking. On Sway, check the Computer usage timeline after setup to confirm that away activity is recorded in your session. ManicTime 2026.3 and later detect the Hyprland screen lock on Hyprland 0.41 and later. Screenshots use the ScreenCast portal described above, through xdg-desktop-portal-hyprland on Hyprland or xdg-desktop-portal-wlr on Sway.

COSMIC desktop environment

ManicTime 2026.2.2 and later can track the active application and window title on COSMIC. This also allows document tracking when the document name is available from the window title. Screenshot tracking uses the ScreenCast portal described above.

Other desktop environments

Submit request to support your favourite environment or

Switch display server from Wayland to Xorg (X11)

Following instructions applies for Linux Ubuntu 22.04. Your experience may differ depending on your distribution, version and installed software.

Changing display server via Login Screen.

  • Log out from the system. Press CTRL + ALT + DELETE button and press Log Out.
  • On the Login, screen click on your username. When username is selected, find the "gear" icon in the lower right corner. Click on the "gear" icon and select "Ubuntu on Xorg". Type your password and hit Enter to login.
  • Open Terminal and run echo $XDG_SESSION_TYPE command to confirm that X11 display server is running.

Changing display server via Terminal

  • While the user is logged in to the system, open file /etc/gdm3/custom.conf as super user (sudo) in your favorite text editor.
  • Find the line with "WaylandEnable=false" and uncomment the line, then save the changes.
  • Next, we need these changes to take effect therefore we must restart the gdm3 service. While in the Terminal run the following command: sudo systemctl restart gdm3.
  • When the restart is complete, login to the system
  • Open Terminal and run echo $XDG_SESSION_TYPE command to confirm that X11 display server is running.