ReePrime
Winnie, an experimental framebuffer window system.

Hosted by Dailymotion. For legal issues report at the Copyright Center, report us on DMC, or use the Instant Removal tool.

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 :)