A simple, light, efficient tiling window manager for X11.
Recent PostsSee All
One of the things I have started to wonder about is hierarchical workspaces and if they are actually useful at all. It was one of my plans to include them, but I have started to think perhaps they might interfere with the intuition of using the window manager. How many workspaces will the average user need? Four, Five, Nine? Right now the maximum workspaces that fenestra can handle is nine, mainly because you could use WIN+(1-9) to switch between the workspaces, but also because of the way the code is structured (that could be changed though). Also, I am not really sure how I will implement the hierarchy, and if I do a massive chunk of the code will have to be heavily modified.
Another thing I have been looking into is something called Wayland, and it appears to be the future in terms of display servers. Right now, Wayland is a protocol between the compositor (the window manager) and its clients. Currently it could host multiple X servers to run X applications, and also native Wayland clients to be run along aside the X apps. Many distros have already announced intentions to use Wayland for their distro, Ubuntu and Fedora are just two. And I think it is something to look after, as this might very well be the future of window managers on Linux.
Design issues is something I never ran into before, probably because I never really worked on large scale project before. Something I have been coming across is how to write my code so that it anticipates future features. Future features, that at the present moment, I am not sure how I am going to implement quite yet. And so, it's this dangerous game of trying to prepare for future features while at the same time not being bogged down in creating this framework for them. Right now, I have been mainly working on getting fenestra working and then later, when I actually add a feature, I will go ahead and modify the code for the new feature to integrate with the old code. However, this is not what I did for the workspaces, and when I finally came along to adding workspaces, all of the structural code was there and allowed me to integrate them seamlessly into the codebase. So right now I am in a struggle of cleaning up the code for it to be more easily modified for future features and to try to reduce future bugs down the road. Hopefully, while I am cleaning the code I won't inadvertently add new bugs that will cripple the project unexpectedly later on. However, I guess that is what git is for.
So I am glad to say that fenestra is in a very good state, as in it's functional and very useable... Well, by my standards that is. I still have a long way to go with debugging some issues, adding more features, adding more support EWMH, and making sure others can use it (as in, it works for other people too, and not just for me). I am very pleased with it so far however, and in about only two days, everything came together. According to my plans, it'll be fully ready to go for the demonstration/presentation tomorrow.