Skip to content

video not played or not found error
click on direct switch

Hosted by Dailymotion. For legal issues: Copyright Center · DMC · Instant Removal

Winnie, an experimental framebuffer window system.

H
hikiko

18 Views • Jun 03, 2014

Description

Winnie is a minimal window system I started for fun +to familiarize myself with the concepts of window management, event handling et c. It can get events from the mouse (it reads the /dev/psaux) and the keyboard (/dev/tty) and it can render pixels on the screen using the Linux framebuffer device (/dev/fb0). It has also a basic window manager that uses reparenting (creates a window hierarchy where each window is the child of a frame that is handled by the wm) and these 3 simple client-programs you see on the video :p. Currently it uses a plugin system where each client is a shared library loaded by a server program (wserver) but I have written a shared memory allocator +I am about to finish the IPC mechanism to support standalone clients, so I will replace this temporal hack soon... :)p The 2 main goals for winnie were: 1) to allow the clients to have full access to a shared framebuffer and 2) to have a portable window system (driver independent since it uses /dev/fb0).

You can get the current code from here: https://github.com/hikiko/winnie/tree/winnie.clients-as-plugins/winnie if you want to try it!

P.S.: When winnie is running (with other progs+x in other ttys) the CPU usage lies between 15% and 20%. I used a script that echoes "foo" forever to achieve a 90% CPU usage in order to demonstrate the gradient effect of the sysmon client :p

Thanks for watching :)