X Window System Basics

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • xdotool

    fake keyboard/mouse input, window management, and more

    Maybe xdotool [0] is what you're looking for.

    [0] https://github.com/jordansissel/xdotool/

  • owl

    The portable Wayland compositor in Objective-C (by owl-compositor)

    > X runs on so many more platforms than Wayland [...] Python3 is strictly an improvement on every platform, I don't think they're analogous because there really is no good reason to keep Python2 around

    X runs on more platforms than Wayland because...it was ported to them. Just like things use Python 3 because they were ported to it.

    This is also understating the reach of X I think: it's widely used in the embedded world, is seeing increasing support in BSDs, and has even been used on macOS (https://github.com/owl-compositor/owl). People have even used it to embed an entire compositor inside a GTK app (https://github.com/alexlarsson/wakefield).

    That isn't to say that libwayland has a lot of Linux-isms in it, but afaik they're not really structural as much as there is lack of interest to generalize things more. Heck, the protocol-oriented architecture would even make it easier for anything Linux-esque to be removed in favor of alternative protocols.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • wakefield

    A proof of concept of a GTK+ Wayland compositor for various situations (by alexlarsson)

    > X runs on so many more platforms than Wayland [...] Python3 is strictly an improvement on every platform, I don't think they're analogous because there really is no good reason to keep Python2 around

    X runs on more platforms than Wayland because...it was ported to them. Just like things use Python 3 because they were ported to it.

    This is also understating the reach of X I think: it's widely used in the embedded world, is seeing increasing support in BSDs, and has even been used on macOS (https://github.com/owl-compositor/owl). People have even used it to embed an entire compositor inside a GTK app (https://github.com/alexlarsson/wakefield).

    That isn't to say that libwayland has a lot of Linux-isms in it, but afaik they're not really structural as much as there is lack of interest to generalize things more. Heck, the protocol-oriented architecture would even make it easier for anything Linux-esque to be removed in favor of alternative protocols.

  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

    - X Toolkit Intrinsics Reference Manual

    However they have very little to do with how modern operating systems (Windows, MacOS) deal with that stuff.

    As for toys, I'd recommend reading about Dear ImGui [1]. It handles everything you mentioned while being self-contained so you can see how everything works from top to bottom. Many talks and articles have been written about it though I can't vouch for any of them.

    1. https://github.com/ocornut/imgui/wiki

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts