Software Alternatives & Reviews

How X Window Managers Work, and How to Write One

dwm spectrwm bspwm Medium
  1. 1

    dwm

    dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application in use and the task performed.

    #Linux #Window Manager #Utilities 63 social mentions

  2. spectrwm is a small dynamic tiling window manager for X11.
    This is a great article and I remember reading it numerous times while I was implementing my own window manager. For someone interested in working on a really fun and rewarding hobby project a WM is a great one to look into since there are so many resources starting from really small implementations: - https://github.com/mackstann/tinywm - https://github.com/venam/2bwm - https://github.com/dylanaraps/sowm - https://github.com/dcat/swm - https://github.com/JLErvin/berry Which are great at introducing the concepts and allowing you to grok the required libraries. There are also a bunch of more full featured window managers which will introduce you to more advanced topics: - https://github.com/baskerville/bspwm - https://github.com/herbstluftwm/herbstluftwm - https://www.nongnu.org/ratpoison/ - https://github.com/conformal/spectrwm Gradually as you get more familiar with the ecosystem a few questions will come up: Should I use X11 or XCB? - I personally used XCB and didn't find it too difficult to interface with, and there are a large number of implementations which use it (2bwm, bspwm, ratpoison, etc) so you shouldn't have an issue with learning more about it. But the documentation is pretty limited. If you are just wanting to write a toy WM than X11 is perfectly fine. X or Wayland? - If you're wanting to write your first WM as a hobby project than I would recommend X over wayland just due to the much larger amount of reference material and documentation. You will have a much easier time getting your feet wet. Ignore the comments about X dying as it doesn't really matter for a hobby project, since the whole point is to have fun. Feel free to check out my window manager which is an example of what just reading this blog post and getting inspired can result in: https://github.com/cfrank/natwm.

    #Window Manager #Linux #Utilities 10 social mentions

  3. 3
    A tiling window manager based on binary space partitioning
    This is a great article and I remember reading it numerous times while I was implementing my own window manager. For someone interested in working on a really fun and rewarding hobby project a WM is a great one to look into since there are so many resources starting from really small implementations: - https://github.com/mackstann/tinywm - https://github.com/venam/2bwm - https://github.com/dylanaraps/sowm - https://github.com/dcat/swm - https://github.com/JLErvin/berry Which are great at introducing the concepts and allowing you to grok the required libraries. There are also a bunch of more full featured window managers which will introduce you to more advanced topics: - https://github.com/baskerville/bspwm - https://github.com/herbstluftwm/herbstluftwm - https://www.nongnu.org/ratpoison/ - https://github.com/conformal/spectrwm Gradually as you get more familiar with the ecosystem a few questions will come up: Should I use X11 or XCB? - I personally used XCB and didn't find it too difficult to interface with, and there are a large number of implementations which use it (2bwm, bspwm, ratpoison, etc) so you shouldn't have an issue with learning more about it. But the documentation is pretty limited. If you are just wanting to write a toy WM than X11 is perfectly fine. X or Wayland? - If you're wanting to write your first WM as a hobby project than I would recommend X over wayland just due to the much larger amount of reference material and documentation. You will have a much easier time getting your feet wet. Ignore the comments about X dying as it doesn't really matter for a hobby project, since the whole point is to have fun. Feel free to check out my window manager which is an example of what just reading this blog post and getting inspired can result in: https://github.com/cfrank/natwm.

    #Utilities #Window Manager #Linux 20 social mentions

  4. 4
    Welcome to Medium, a place to read, write, and interact with the stories that matter most to you.
    Pricing:
    • Open Source

    #Blogging #Blogging Platform #CMS 2187 social mentions

Discuss: How X Window Managers Work, and How to Write One

Log in or Post with