
X11fs: A tool for manipulating X windows - michaelmior
https://github.com/sdhand/x11fs
======
sdhand
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](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.

~~~
techdragon
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.

------
chc4
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.

[https://wmutils.io/](https://wmutils.io/)

------
tadfisher
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](https://en.wikipedia.org/wiki/Wmii)

------
DonHopkins
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?

~~~
tadfisher
Yes: [https://github.com/ch11ng/exwm](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.

~~~
DonHopkins
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...](http://www.art.net/~hopkins/Don/unix-
haters/x-windows/disaster.html)

------
mveety
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.

------
rijoja
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!

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

