 2009/01/07
|
Last update 2008/02/19
The Labs - Design & Functionality For The NetX11 - The UNIX Window System
- Introduction
- Applications
- Window Managers
- Xnest
- Virtual Network Computing (VNC)
- X2X
- X11 Libs
- Misc Interface Infos
X11 is the desktop window-system for UNIX. Programming
low-level X11 is fairly a hassle as color-models dependent on the
hardware. Several libraries give an open color-model (ie. 24bit)
for the programmer.
From my own experience I strongly recommend to program GUIs using
interpreter-based language, such as PerlTK
or TCL/TK. It reduces development time, and source-maintance is
cheap as comperable C or C++ sources are much longer.
To get first-hand information on X11 check OpenGroup: X-Windows.
Insuffiency | | There are several insufficiencies to be admited about X11:
As per X11R6 there is still no native antialiasing font-support, neither alpha blending of
windows. NeXTStep (bought by Apple)
supported on X11 antialiased fonts, now the hopes remain on MacOS X (MacOS + BSD Kernel).
There is a XFree86 effort underway, and
since XFree86-4.0.2 included (Jan 2001) but doesn't work seamless yet, see also
Xft-hack.
|
Embedded X11 | | X11 is huge to run on embedded-systems, a small window-system was developed
from scratch:
it provides through Nano-X an alike X11 API for easy porting of existing X11-apps.
|
AntiDesktop | | An interesting slashdot thread:
|
Some tiny applications we developed mainly for desktop purposes (nothing truly
significant):
| SystemViuwSmall PerlTK script show cpu/memory and disk-space |
NetViuwSmall PerlTK script shows netstat |
WorkTimerPerlTK script keeping track of different work you do |
| MountItPerlTK script handling mounting devices |
MyDiaryPerlTK script as diary (textual, audio, video) |
BackgroundsDiverse screen-backgrounds |
| MyDeskSmall PerlTK script with some desktop features (outdated use kfm) |
For other X11/OpenSource applications and resources please visit freshmeat.net
and search for "X11".
| X11 Lab3. Window Managers
|
Under X11 the window-management is implemented apart from the core:
I prefere to use AfterStep Classic (even an older version than up-to-date
AfterStep), the newer managers I consider as configuration-overkill.
As of XFree86-4.0 there is a neat server available, Xnest which allows to run
on X11 another server (like the VNC-client portrayed below):
|
Xnest -geometry 1024x768 :1
|
|
xterm -display :1
|
And you created a new screen in which you can test applications (e.g. certain
colormap or pixel-depths); even within this next X-server you are able
to run Xnest again and so forth (mirror-in-a-mirror).
| X11 Lab5. Virtual Network Computing (VNC)
|
VNC is based on synchronizing screen-buffer from the server to
a client. VNC by ATT/UK has developed VNC-servers & clients for X11, in other words
you can run X11 server(s) on your machine and test applications and
or window-managers; X11 within X11. Below
you see X11 within X11 within X11.
VNC actually replaces what X11 was meant for once; there are now
various VNC-viewers and servers available, check InterOS-section.
X2X is a small program which allows to connect two X-servers (-form source-X11 with -to dest-X11)
together:
|
colossus% x2x -from colossus:0.0 -to polaris:0.0 -west -resurface
|
|
colossus% x2x -from colossus:0.0 -to storm:0.0 -east -resurface
|
This way you can control from the keyboard & mouse of colossus (in my setup)
two other screens on the left (west) and one on the right (east);
under XFree86-3.3.x running two x2x caused problems, under XFree86-4.x this
seems resolved and works without problems.
| X11 Lab8. Misc Interface Infos
|

Last update 2008/02/19 
All Rights Reserved - (C) 1997 - 2008 by The Labs.Com |