Port of wmii window manager in progress
Posts have been a bit lighter as I've been immersed in porting the wmii window manager to Minix. I've managed to get it running and am currently testing it.
I had to do some workarounds I'm not too happy with and I'll tidy those up over the next few days before I release it. For example it currently uses about 10% CPU while it runs which I want to get down. To port it I had to do the following:
So far I like using 'wmii' - it uses less memory than the default 'twm' leaving me with much more space to run applications. This could be due to the 'chmem' sizes on the application vs 'twm' defaults of course.
'wmii' uses the Plan 9 filesystem protocol to allow it to be scripted. By reading and writing from/to a virtual filesystem you can get information about running applications and change them. It's pretty neat. It comes with a tool, 'wmiir', to allow access to this virtual filesystem. It should be possible to write a Minix device driver that allowed this to be mounted to the filesystem so you could interact with 'wmii' using standard Minix utilities. This would make an interesting device driver project.
Categories: minix, development
I had to do some workarounds I'm not too happy with and I'll tidy those up over the next few days before I release it. For example it currently uses about 10% CPU while it runs which I want to get down. To port it I had to do the following:
- Use TCP sockets instead of Unix domain sockets as Minix does not have the latter
- Modify the code to compile using 'cc' instead of 'gcc' so I can link to the X11 libraries (which were built using 'cc' in Minix 3.1.2a)
- Convert 'long long' use to a structure containing two longs ('cc' doesn't have the 'long long' type)
- Various socket modifications. Some of these I need to clean up before release as it's not binding the socket to the IP, it's instead using INADDR_ANY which is a security risk. This is the result of my modifications/hack not due to Minix or wmii!
So far I like using 'wmii' - it uses less memory than the default 'twm' leaving me with much more space to run applications. This could be due to the 'chmem' sizes on the application vs 'twm' defaults of course.
'wmii' uses the Plan 9 filesystem protocol to allow it to be scripted. By reading and writing from/to a virtual filesystem you can get information about running applications and change them. It's pretty neat. It comes with a tool, 'wmiir', to allow access to this virtual filesystem. It should be possible to write a Minix device driver that allowed this to be mounted to the filesystem so you could interact with 'wmii' using standard Minix utilities. This would make an interesting device driver project.
Categories: minix, development

1 Comments:
Have you considered also porting ion from http://modeemi.fi/~tuomov/ion/ ?
I'm not sure how much memeory it takes but I've got it running on a 233MHz pc on Debian testing. Don't ask me how, but lets just say this was after some experience with Debian installs, reading and experimentation.
I'll be sure to use your X11 memory usage tip mentioned in you X11 port posting.
Keep up the good work towards developing a viable everyday user OS, and done in a true micro-kernel fashion --no less.
PS-flock dev doesn't show the confirmation caracters needed to post this.
A posting on how to upgrade MINIX3 non-destructively would be helpful,I think.
Post a Comment
<< Home