Hacker News new | past | comments | ask | show | jobs | submit login
X11fs: A tool for manipulating X windows (github.com)
110 points by michaelmior on Mar 12, 2016 | hide | past | web | favorite | 12 comments

Creator of the project here. First off, thanks for posting this. Secondly, this project is mainly an experiment, and not completely suited for everyday usage. If you want something similar but without the whole filesystem malarkey check out http://wmutils.io which is a set of programmes for manipulating x windows. Also a warning that x11fs only works standalone and will interfere with most WMs, however I do plan to add an ewmh mode in the future to allow for using it alongside a wm.

I've been thinking about experimenting with a more 'raw' X11 experience for some time. This sort of code is really interesting as a learning tool for how the pieces of X11 fit together. Thanks for taking the time to write and share it with the world.

Great work! Keep it up!

This reminds me of wmutils, a set of standalone programs for x11 manipulation. A couple people I know use it, and it's pretty popular at /r/unixporn. It lets you essentially create your own WM with bash scripts or any other programming language, or extend minimal WMs like 2bwm vka sxhkd.


This is very similar to wmii [1], which exposed windows and operations on them via the 9P filesystem/network protocol.

[1] https://en.wikipedia.org/wiki/Wmii

Hilarious! I hate X-Windows, but this is fucking brilliant.

Who needs a window manager when you can use emacs and bash scripts to do anything?

Has anybody written ICCCM mode for emacs?

Yes: https://github.com/ch11ng/exwm

ICCCM is but one piece of the multitude of half-baked and extremely-fragmented protocols that make up the modern X11 environment, by the way.

How true! Emacs has always been a window manager, anyway. Why try to fight destiny?

"In summary, ICCCM is a technological disaster: a toxic waste dump of broken protocols, backward compatibility nightmares, complex nonsolutions to obsolete nonproblems, a twisted mass of scabs and scar tissue intended to cover up the moral and intellectual depravity of the industry's standard naked emperor." - Don Hopkins, The X-Windows Disaster [1]

"Using these toolkits is like trying to make a bookshelf out of mashed potatoes." - Jamie Zawinski

[1] http://www.art.net/~hopkins/Don/unix-haters/x-windows/disast...

> ICCCM is but one piece of the multitude of half-baked and extremely-fragmented protocols that make up the modern X11 environment, by the way.

I do wonder how much that has come out of DE related devs seemingly having a phobia relating maintenance.

Any time some project seems to run out of new features to add, they scrap it and rewrite it from scratch.

This is pretty cool. Being able to manipulate your window system is something I dearly miss from Plan 9 when I'm forced to use a unix. Making some weird utility with some miserable api to relabel a window sucks compared to echo -n 'label' > /dev/wsys/2/label or so.

in ubuntu sudo apt-get install libfuse-dev is required before building. Of course I guess most of you already figured this out. Might be worth adding it to the github page though.

Besides awesome idea and it seems to be working perfectly!

Thanks! The libfuse-dev dependancy is stated in the readme by the way.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact