C++ Wayland

Open-source C++ projects categorized as Wayland

Top 19 C++ Wayland Projects

  • Hyprland

    Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

  • Project mention: Wayland breaks your bad software | news.ycombinator.com | 2024-03-30

    I've been wanting to try http://hyprland.org/, but since plasma gets me far enough and provides a working taskbar (wifi, sound, bluetooth, mount, clipboard) and virtual desktops on which I end up opening just firefox and emacs I haven't really given it a chance.

  • conky

    Light-weight system monitor for X, Wayland (sort of), and other things, too

  • Project mention: Conky | dev.to | 2024-03-31

    Puedes encontrar la documentación de Conky en su repositorio: Conky

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Waybar

    Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:

  • Project mention: Hyprland waybar custom modules on-click never works | /r/hyprland | 2023-12-07
  • wayfire

    A modular and extensible wayland compositor

  • Project mention: Cosmic Desktop: Hammering Out New Cosmic Features | news.ycombinator.com | 2024-04-18

    Unusable until moving your mouse to the edges of the screen and clicking makes it hit the scrollbar, or the exit button. Right now it initiates a resize.

    Illustrated example from a different compositor https://github.com/WayfireWM/wayfire/issues/570

    It's the only DE I'm excited about it so I hope they fix that. Very very promising and the best part is that it made the GNOME people mad.

    GNOME: "Sorry I don't see the use case for that, PR closed. Make your own project. "

  • ksnip

    ksnip the cross-platform screenshot and annotation tool

  • Project mention: Some might not see how much work is/was to maintain xorg server | news.ycombinator.com | 2023-11-29

    can also be used in non-KDE X11 desktop environments.

    which doesn't really explicitly say much, and in fact the only tool I could find that claimed to be able to support everything was ksnip, which seems to work fine with wlroots but beyond that https://github.com/ksnip/ksnip#known-issues outlines the situation well enough; KDE is at least only temporarily broken, but GNOME isn't going to improve because GNOME did that on purpose. Now, that readme says you can use xdg-desktop-portal, but I have a GNOME+Wayland machine on hand, and I couldn't get it to actually work. I think what's supposed to happen is that every time I do a screenshot it prompts for permission, which I wanted to verify so I could complain that that was totally unreasonable, but what actually happens is that it just fails, which is... not better. Oh, and while searching for solutions to that I found flameshot, but that just refuses to even run. So... maybe someday the portal solution will work; in the meantime, I feel comfortable describing the situation as Wayland not having a uniform working way of taking screenshots.

    [0] In particular, so we can avoid the situation from X11 where a load of drawing primitives are baked in that nobody has any use for anymore.

  • sddm

    QML based X11 and Wayland display manager

  • Project mention: Plasma users rejoice: SDDM just had a new release! | /r/archlinux | 2023-06-23

    Well, it seems it is still considered experimental https://github.com/sddm/sddm/pull/1737

  • hyprpaper

    Hyprpaper is a blazing fast wayland wallpaper utility with IPC controls.

  • Project mention: Hyprpaper not loading wallpaper - Could not connect to sock | /r/hyprland | 2023-12-06

    # Hyperland Configuration # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=DP-2,[email protected],auto,1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch exec-once=waybar exec-once=hyprpaper exec-once=swaync # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # source = ~/.zshrc# Some default env vars. env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 touchpad { natural_scroll = yes } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 4 gaps_out = 4 border_size = 1 col.active_border = rgba(a7c080ff) col.inactive_border = rgba(3d484dff) layout = dwindle } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 5 blur { enabled = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more device:epic-mouse-v1 { sensitivity = -0.5 } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # Turn off default hypr-chan wallpaper misc { disable_hyprland_logo = true force_default_wallpaper = 0 } # Wallpaper Variables per: https://github.com/hyprwm/hyprpaper # set variables to be used as shortcuts in the bind command $w1 = DP-2,/home/bit/dotfiles/walls/walls-01.jpg $w2 = DP-2,/home/bit/dotfiles/walls/walls-02.jpg $w3 = DP-2,/home/bit/dotfiles/walls/walls-03.png $w4 = DP-2,/home/bit/dotfiles/walls/walls-04.jpg $w5 = DP-2,/home/bit/dotfiles/walls/walls-05.jpg $w6 = DP-2,/home/bit/dotfiles/walls/walls-06.png $w7 = DP-2,/home/bit/dotfiles/walls/walls-07.jpg $w8 = DP-2,/home/bit/dotfiles/walls/walls-08.jpg $w9 = DP-2,/home/bit/dotfiles/walls/walls-09.jpg $w10 = DP-2,/home/bit/dotfiles/walls/walls-10.png $w11 = DP-2,/home/bit/dotfiles/walls/walls-11.jpg $w12 = DP-2,/home/bit/dotfiles/walls/walls-12.jpg $w13 = DP-2,/home/bit/dotfiles/walls/walls-13.jpg $w14 = DP-2,/home/bit/dotfiles/walls/walls-14.png $w15 = DP-2,/home/bit/dotfiles/walls/walls-15.jpg $w16 = DP-2,/home/bit/dotfiles/walls/walls-16.jpg $w17 = DP-2,/home/bit/dotfiles/walls/walls-17.png $w18 = DP-2,/home/bit/dotfiles/walls/walls-18.jpg $w19 = DP-2,/home/bit/dotfiles/walls/walls-19.jpg # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER $mainModShift = SUPER_SHIFT # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainModShift, R, exec, hyprctl reload hyprland bind = $mainMod, P, exec, alacritty -e tmux bind = $mainMod, Q, killactive, bind = $mainMod, C, exit, bind = $mainMod, F, exec, dolphin bind = $mainMod, V, togglefloating, bind = $mainMod, D, exec, wofi --show drun bind = $mainMod, A, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, exec, $w1 # change the wallpaper when we switch workspace bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, exec, $w2 # change the wallpaper when we switch workspace bind = $mainMod, 3, workspace, 3 bind = $mainMod, 3, exec, $w3 # change the wallpaper when we switch workspace bind = $mainMod, 4, workspace, 4 bind = $mainMod, 4, exec, $w4 # change the wallpaper when we switch workspacebind = $mainMod, 5, workspace, 5 bind = $mainMod, 5, exec, $w5 # change the wallpaper when we switch workspace bind = $mainMod, 6, workspace, 6 bind = $mainMod, 6, exec, $w6 # change the wallpaper when we switch workspace bind = $mainMod, 7, workspace, 7 bind = $mainMod, 7, exec, $w7 # change the wallpaper when we switch workspace bind = $mainMod, 8, workspace, 8 bind = $mainMod, 8, exec, $w8 # change the wallpaper when we switch workspace bind = $mainMod, 9, workspace, 9 bind = $mainMod, 9, exec, $w9 # change the wallpaper when we switch workspace bind = $mainMod, 0, workspace, 1 bind = $mainMod, 0, exec, $w10 # change the wallpaper when we switch workspace # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $SUPERSHIFT, 1, exec, $w1 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $SUPERSHIFT, 2, exec, $w2 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $SUPERSHIFT, 3, exec, $w3 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $SUPERSHIFT, 4, exec, $w4 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $SUPERSHIFT, 5, exec, $w5 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $SUPERSHIFT, 6, exec, $w6 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $SUPERSHIFT, 7, exec, $w7 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $SUPERSHIFT, 8, exec, $w8 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $SUPERSHIFT, 9, exec, $w9 # maintain wallpaper switching when move a window to another workspace bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $SUPERSHIFT, 0, exec, $w10 # maintain wallpaper switching when move a window to another workspace # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Take screenshots with Hyprshot # Screenshot a window bind = $mainMod, PRINT, exec, hyprshot -m window # Screenshot a monitor bind = , PRINT, exec, hyprshot -m output # Screenshot a region bind = $mainMod SHIFT, PRINT, exec, hyprshot -m region

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • hyprpicker

    A wlroots-compatible Wayland color picker that does not suck.

  • hawck

    Key-rebinding daemon for Linux (Wayland/X11/Console)

  • Project mention: Unpacking Elixir: Syntax | news.ycombinator.com | 2023-09-08

    That is actually very smart and helpful, thanks! :) My only gripe with autokey is that it's the only thing holding me back from wayland. Hawck is supposed to work with wayland but I never got it to work, was a while ago I though

    https://github.com/snyball/Hawck

  • Louvre

    C++ library for building Wayland compositors. (by CuarzoSoftware)

  • Project mention: The shiny future of wayland & linux desktop. | /r/linuxmemes | 2023-12-11

    🔶 Wayland a minimal and secure display server 🔷Louvre high-performance C++ library designed for building Wayland compositors Phoronix analysis for Louvre i know wlroots exist but i'm excited to try new compositors build by Louvre.

  • gBar

    Blazingly fast status bar written with GTK

  • Project mention: flake help! basic flake | /r/NixOS | 2023-09-05

    as a noob I set up my system without flakes (configuration.nix) but gBar is only as flake available. I guess this particular flake isn't hard to configure but I don't get it.

  • shell

    :shell: Convergent shell for desktops, phones and tables built with QtQuick, Wayland and Material Design (by lirios)

  • keymapper

    A cross-platform context-aware key remapper. (by houmain)

  • Project mention: No errors but also no process | /r/systemd | 2023-05-31
  • ivi-homescreen

    Embedded Flutter runtime targeting Embedded Linux with Wayland

  • Project mention: Flutter on TV or Auto | /r/FlutterDev | 2023-12-11
  • Discord-Screenshare-Linux

    Updating Discord's shit because they won't do it themselves 2: Electric Boogaloo

  • Project mention: Do you guys prefer wayland or x11? | /r/Fedora | 2023-06-09
  • swayfire

    Sway/I3 inspired tiling window manager for Wayfire

  • wapanel

    Desktop-dedicated wayland bar for wayfire and other wlroots based compositors. Mir compatible.

  • interception-vimproved

    Unofficial plugin for Interception Tools combining features of caps2esc and space cadet for making held space work as a special fn key. Now configurable!

  • im-emoji-picker

    emoji picker compatible with Linux systems using either XServer or Wayland with either Fcitx5 or IBus

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ Wayland related posts

  • Improving cursor rendering on Wayland

    4 projects | news.ycombinator.com | 15 Mar 2024
  • Flutter on TV or Auto

    1 project | /r/FlutterDev | 11 Dec 2023
  • The shiny future of wayland & linux desktop.

    1 project | /r/linuxmemes | 11 Dec 2023
  • Hyprland broken config file :c

    2 projects | /r/hyprland | 10 Dec 2023
  • Is there any transparent themes for GTK 2 or QT?

    1 project | /r/archlinux | 10 Dec 2023
  • Hyprland waybar custom modules on-click never works

    1 project | /r/hyprland | 7 Dec 2023
  • Hyprpaper not loading wallpaper - Could not connect to sock

    1 project | /r/hyprland | 6 Dec 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 1 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source Wayland projects in C++? This list will help you:

Project Stars
1 Hyprland 16,694
2 conky 6,871
3 Waybar 5,424
4 wayfire 2,242
5 ksnip 1,884
6 sddm 1,790
7 hyprpaper 616
8 hyprpicker 542
9 hawck 521
10 Louvre 451
11 gBar 375
12 shell 231
13 keymapper 221
14 ivi-homescreen 218
15 Discord-Screenshare-Linux 215
16 swayfire 171
17 wapanel 52
18 interception-vimproved 40
19 im-emoji-picker 37

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com