Linux sob medida
Forum linux I
Real Time Linux
Americano Batista Linux
favorite places (links)
tdesk - A tcl/tk desktop environment
|March 22, 2005 -- Multiple file manager instances
Now we can have multiple file manager instances. To test, drag a directory
into the desktop and double-click it.
|March 21, 2005 -- More on Click to focus
Solved the problem with click-to-focus. Please, get your download below.
Tk keeps fighting to move the focus from one toplevel to another, so I have
to catch enter/leave events and change back the focus to where it must be!
But I'm slowly advancing in other areas too. You may now click an image to
see it in the embedded browser, or a text file (including tcl source) to
get it open in the editor (ml). If you drag items and drop into the desktop,
the items there will also behave the same.
There is no general mime type recognition yet, but I'm looking
at fileutil::fileType (from tcllib) and McCormack's
"mime type recognition in pure tcl" (published in Tcler's wiki).
I intend to let the user edit all dialogs and menus (both tk style menus and
xml/html menus a la Windows-XP), so maybe this will get some priority
to make tdesk usable faster.
|March 20, 2005 -- Click to focus policy
It was not easy to get a "click to focus" policy implemented (tk understand
focus differently from X), but here it is.
There is a minor problem: you have to click in the decoration frame,
or in a button of the taskbar to select the window that will receive
input focus. I'll try to solve that later.
|March 18, 2005 -- More window manager changes
The window manager became faster. It is a single process now, avoiding
the communications back and forth of commands across a pipe. There is still
a pipe, but to handle commands from the other
components of the desktop (like the taskbar).
And I became happier (also because I learned a lot coding this),
as it seems more viable now.
|March 17, 2005 -- One more...
To make sure we follow the advice "release often, release early",
here it is another
Maybe it is time to make a separate page for tdesk.
|March 16, 2005 -- Proceeding with tdesk
To make justice to Tk code, which I unintentionally criticized
(after many hours of debugging under xmon) before,
I retreat myself. I really must study much more to get
comfortable with Tk and X events. Anyway, I ever found in tcl and tk source
pearls of software engineering that is a good source of inspiration. Really!
Thanks to George Peter Staplin, that pointed out this.
Now, a new package for your pleasure:
tdesk-20050316.kit. I'm going to sleep
just now, but I'll try to advance on other things (menus editor, enable
most of the actions on the file manager, add back the window to the
taskbar,... an the list goes on).
|March 15, 2005 -- A novel tcl/tk window manager
I needed a window manager to be integrated in tdesk.
Most window managers in tcl are not suitable, or have problems.
With some ideas of Panache, tkwm, and minimalistic window managers such as
9wm and aewm, I made it. Really, it is
modified to be interfaced to tcl, run as a separate process
(but all inside the same starkit), which communicate back
and forth with another (slave) interpreter of the main application.
You may try it now, tdesk-20050315.kit,
with full source code (C and tcl) included: please use the embedded
browser (click in the globe at the taskbar), directory "source"
to see. Try running your favorite applications and report to me any
things you don't like, or better yet, help me to fix it!
Some details: open the console (tkcon, not xterm) from the taskbar,
attach it to interpreter "wman" and look for the windows,
all named .cliW<window_id>. You may change or add more decorations in
this window (toplevel), but be careful... Use the source Luke!
|March 12, 2005 -- More desktop musings
Many improvements on the tcl desktop (or as I call it tdesk,
unless you suggest me a better name for it!). Now the window manager is
integrated, there are tweaked versions of specTcl (gui builder), a small
editor (ml), and the html viewer (tkhtml). Besides that, some other libs are
added, at least during the experimentation phase. It looks great now!
The starkit is "writable", so you may use the tools above to create a custom
version of it. That's my central idea: to have something very flexible and
simple, with the most needed tools already self-contained.
The window manager is simply aewm 1.2.5 with minor changes and a
tcl interface to it. The way tk handle X events makes near to impossible to
write a window manager as a regular extensions (many events are filtered out).
So the idea is to let the window manager run as a separate process with
its own X connection, and communicate with the other desktop components which
needs Tk (for instance, when we are going to map a new window, the wm process
ask the tk process to create a toplevel which will be the outer frame for
the mapped window...).
Well, enough talk. Grab your
tdesk-20050312.kit and send me suggestions,
improvements, or just write to me your thoughs. I'd enjoy to receive
comments on this project.
Use the taskbar to launch the enclosed applications.
|March 3, 2005 -- Desktop experiments 2
I found that the "wmx" extension was not linked as it should (stubs enabled),
so here is another starkit with that fixed. Sorry for the inconvenience!
To start the (very experimental) desktop environment, please use a script like
X :1 &
If you don't have xfwm4 (the window manager from xfce), you may try others,
but in some of them you will have weird things like title bars in the desktop
window, no buttons in the taskbar (running applications). If you have
"metacity" (the gnome window manager), it works fine too. In the future, I
plan to make "tdesk" include its window manager too.
As about the license for all this, it is free as Tcl's license. If you make improvements, I'd be happy to include here, please send me.
|March 2, 2005 -- Desktop experiments
I'm doing some experiments with a tcl-centered desktop environment. It is
very crude yet, but I plan to give it the (best) features of the most common
desktops, but without the bloat, of course. The best of all, it will be
scriptable in tcl, simple and very small. Here is a preview screenshot of what
it looks like.
If you are adventurous,
here is a starkit (new version, corrected)
with the latest
development (not released, I warned you!). Don't expect too much, but there are
some things that already work, at least partially: the file manager can
navigate directories and will show images if "xv" is present; you may drag any
items from the right panel of the file manager and drop into the desktop, and
also the other way (just to get a dialog to choose the action); the taskbar may
activate and raise the selected window. You may get the tcl console by
Control-clicking with the right mouse button anywhere, then you may start a
regular xterm with the command "xterm &".
You may navigate inside the virtual starkit directory and read the source code
for the extension "wmx", with some commands needed to make this beast operate!
There is no window manager yet, so you must choose a suitable. I had success
with xfwm4, metacity, lwm, icewm (with some bugs), and several others.
Most really minimal don't work fully. I will have to tweak some code for a
tcl-only window manager to integrate in this desktop yet, and to stay light and
By the way, many things are in portuguese, but don't be frightened, because it mimmicks *Win* stuff (to show my friends!).
Okay, many things yet to be done,
but what you think? Would you like to help me? If so, please e-mail me at