71 karma · joined July 1, 2013
The 2 exceptions are: loading of the config library. The config file is compiled to a dynamic lib at startup, and I need to read the symbol out of that library to access the configure function. The DynamicLibrary module is unfortunately unsafe. The second exception is in one of the default handler methods, managing the on-the-fly restart of the WM (akin to xmonad). This involves a call to execvp in the libc:: module, and therefore also unfortunately requiring an unsafe block (split into 2 unsafe block, for pointer handling and calling).
It's still a bit buggy though. Works perfectly fine here. Been using it as my default WM for 2 weeks straight now. But some bugs do seem to creep up on other machines.
For the methods in window_manager.rs, they often depend on the window system, but that shouldn't be a problem as I could simply insert a dummy interface.
Tests will follow. Last weeks were just filled with thesis and preparations for my last exam. So I used the coding for relaxation and kinda omitted the tests. I know, I know...behaviour.
95% of the work is done in the core module. The main module is merely for the executable and rarely changes.
I've split it up because the xlib (and future wayland) modules need to refer to the core as a library, so the main module has nothing to do there.
Though I admit that part of the reason is earlier attempts with dynamic libraries, but that was more hassle than it needed to be.
I could merge the core back into the main module, but I'll wait a bit until I do that, just to be sure.
Thank you.
As for the "cost factor" for the companies...even if still at apprenticeship level, the people are working, even if it's just minor tasks in the first few months, so give them a damn salary. Here in Germany the average is about 700$/month on average, with salary increasing by about 50$ each year. Plus a decent chance to get a full time job at the same company after your apprenticeship is done.
The firms won't need to establish programs. The states will have to establish schools for that, not the firms.