FramebufferUI
Details
| Size: | 0K |
| Last Update: | 2008-06-19 00:26:49 |
| Version: | 0.11.2 |
| OS Support: | Linux |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Zachary Smith |
| Price: | $0.00 |
Description:
FramebufferUI 0.11.2 is window managers software developed by Zachary Smith.
FBUI is a small, in-kernel graphical user interface for Linux. It permits you to put windows in each framebuffer-based virtual console, to read keyboard input, track a mouse pointer, and respond to typical GUI events. Each process may have more than one window.
FBUI exists to reduce the software bloat that plagues modern operating systems. It does this by virtue of its being a simple windowing system in the form of a small, 32 kilobyte driver which for some purposes may be quite sufficient. Liberation from bloat is desirable for a number of reasons that I explain in the Philosophy section.
FBUI exists to assists people who are prohibited from using X Windows because they are using resource-limited platforms such as old computers and embedded devices. On these, X is an impossible burden. However a vanilla framebuffer is often too primitive. FBUI is "just right", and libfbui makes using FBUI even easier to use by providing abstractions and additional functions.
FBUI exists to correct a flaw in the Linux operating system architecture. The traditional GUI -- X Windows -- is unlike any other subsystem of Linux in that the hardware-accelerated video drivers it uses are located within the X server, outside the kernel. Notice: normally Linux drivers and vital subsystems such as keyboard, USB, filesystem, serial I/O, et cetera are all located inside the kernel. FBUI simply puts the graphics UI driver where it belongs: inside the kernel with all the other drivers.
Here are some key features of "FramebufferUI":
Unlike X Windows, FBUI supports windows on every virtual console.
Each program may have more than one window.
Overlapping windows are currently not supported, but I am adding support for them now.
There is no concept of parent and child windows.
Programs can receive raw keystrokes from FBUI which they can then translate to ASCII using a library routine. One process is permitted to have keyboard focus.
Each process accesses its windows completely independently of all other processes.
In X, the library has to send all drawing commands to the server process, which puts them in a queue and executes them whenever it has a chance. If the server is busy, or another X application is flooding the queue, then an X application must wait. Not so with FBUI, where the ioctl takes a list of drawing commands that go directly to be executed if the window is visible and irregardless of what any other window is doing. To further ensure the above concurrency is the norm, use of semaphores within FBUI to access common data is made as brief as possible.
Each virtual console can have its own optional window manager process. But this is not necessary and for instance many programs that I've written are also designed to run in standalone mode, examples being fbcalc, fbview, fbscribble, and the my FBUI variant of mpeg2decode.
I'm providing a fairly basic window manager fbwm, but current development is centered on fbpm, which is my panel-based window manager.
FBUI offers a sufficient set of drawing routines:
draw point, line, horizontal line, vertical line, rectangle
draw text (8-bit)
window clear, fill rectangle, clear rectangle
copy area
put pixels (3-byte RGB, and 4-byte (unsigned long) RGB, and native)
wait for event
poll for event
the window manager process can hide and unhide other processes' windows, move, resize, re-expose, and delete windows.
read point
FBUI is currently written for 8,16,24, and 32-bit directcolor and truecolor. I am presently adding 4-bpp VGA. (Note : on VESA, I've done testing for 24 bit only.)
Sample programs provided (I suppose I've gotten carried away) :
panel-based window manager (current focus of work)
conventional window manager
JPEG+TIFF image viewer
very simple MPEG playback based on circa 1995 MPEG2 library
terminal emulator (based on ggiterm)
load monitor
"scribbler" drawing program
analog clock
simple calculator
"Start" button program, which invokes fblauncher menu program
POP3 mail checker
"to do list" displayer program
Requirements:
FBUI requires kernel 2.6.9.
What's New in This Release:
This release adds overlapping windows and transparent drawing.
FramebufferUI 0.11.2 supports english interface languages and works with Linux.
Downloading FramebufferUI 0.11.2 will take if you use fast ADSL connection.
0 comments
Add to
FramebufferUI Version History
Related Software
|
|
From category: Fonts |
| Choosefont 0.3 is fonts software developed by Jan Keirse. Choosefont is a simple but extremely efficient tool for quickly finding the required font in a large amount of fonts. It was created... |
|
|
From category: Themes |
| Simple Murrina is a simple and customizable Murrine-based GTK theme for the GNOME desktop.... |
|
|
From category: File-managers |
| FileCentral 0.0.8 is file managers software developed by Raphael Bosshard. Filecentral is a filesystem browser and file manager. It uses the navigational model of the OSX finder, but tries to integ... |
|
|
From category: Window-Managers |
| AntiRight Desktop Environment 2.99.2 is window managers software developed by Jeffrey Bedard. AntiRight Desktop Environment is a lightweight and scripted desktop environment that uses the Motif too... |
|
|
From category: Cursors |
| Crystal Clear Vuitton Remix 1 is cursors software developed by DidouPh. Crystal Clear Vuitton Remix is a Lavish icon theme derivated from Everaldo\'s original one (everaldo.com). All content... |
|
|
From category: Desktop-Widgets |
| Desktop Gmail 2.0 is desktop widgets software developed by Abattoir. This is a superkaramba theme which uses wget to read the rss feed for your Gmail inbox and displays it on a GUI.It displays upto... |
|
|
From category: Desktop-Widgets |
| Aero AIO: Folding@Home 0.1 is desktop widgets software developed by Elentirmo74. Aero AIO: Folding@Home is a plugin for Aero AIO to monitor your Folding@Home client. It comes with a simple configur... |
|
|
From category: Tools |
| fbpanel 4.5 is tools software developed by Anatoly Asviyan. fbpanel is desktop panel which provides graphical information and feedback about desktop activity and allows interaction with the window... |
|
|
From category: Gnome |
| Freerock GNOME 2.12.1 is gnome software developed by Jason Woodward. Freerock GNOME is a complete GNOME Desktop distribution designed and packaged specifically for Slackware Linux. Freerock... |
|
|
From category: Tools |
| AClock 0.2.3 is tools software developed by G?rkan Seng?n. AClock is a themable analog clock GNUstep dockapp with alarm. Advantages of GNUstep dockapps over non GNUstep dockapps + sca... |
|
|
From category: Tools |
| SayTime Script is a very simple Nautilus script to make your computer say the date and the time.... |
|
|
From category: Window-Managers |
| CTWM Themes System 0.2 is window managers software developed by Reivax. CTWM Themes System in short CTS is a set of CTWM configuration files and shell scripts that adds basic themes-like capabiliti... |
|
|
From category: Themes |
| 24-CTU is a GTK theme inspired by the 24 TV show.... |
|
|
From category: Themes |
| Murrina-DarkBlue is just a \'colorized\' version of the Murrina-Charcoal GTK theme for GNOME.... |
|
|
From category: File-managers |
| Dirc is a simple, lightweight and fast explorer.... |
Leave a comment