Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QT5 based Linux Window Manager



  • Folks,

    We have an existing kiok-style application suite written in QT4. For our requirements we had to create a custom window manager.

    Now we are trying to port to QT5, which totally changed the event filtering from X11 to XCB. And we are trying to figure out how to handle this in our window manager.

    So I am looking for one of two things. Either

    1. An existing Linux Window Manager written in QT5 (that would give us a good example to work off of). -or-
    2. A XCB to X11 event mapping. I am given to understand modern X11 libs are build on top of XCB, but so far have not found a good map on my own. Basically I need to figure out what XCB event(s) correspond to the X11 events we are currently filtering.

    Thanks,
    Dale Pennington


  • Lifetime Qt Champion

    Hi,

    On the big iron side, you have KDE which is written with Qt so you might want to check there. KWin comes to mind.

    LXQt might also be of interest to you.

    As an alternative, the future seems to look at wayland and Qt already has module for it.

    Out of curiosity, why did you not use QWS with Qt 4 ?



  • Unfortunately those involved in the decision are no longer associated with the project. Part of the fun is figuring out what they did and why.

    Also I just looked at LXQt and it explicitly does not provide a window manager, which is the part we are doing.



  • Looked at the KWin source. Although much more sophisticated than what we need, it does show clear examples of handling the XCB events. Also, since the repository is online, we could get an older version that used QT4, so it clearly shows what is needed do the port.

    Thanks for the pointer.


  • Lifetime Qt Champion

    @DalePennington said in QT5 based Linux Window Manager:

    Also I just looked at LXQt and it explicitly does not provide a window manager, which is the part we are doing.

    Right ! It's the desktop environment, sorry for the confusion.

    As for KWin, you might also want to check the Plasma shell, it may offer some interesting ideas.


Log in to reply