! Note !
This description may be touched up or revised occasionally
--- for example, if there is ever a new release.
The old toolchest images here may be updated someday
to show images with nicer, anti-aliased fonts.
TABLE OF CONTENTS (links to sections below, on this page)
|
Click on this image to see the expanded 'toolchest',
as if you had clicked on the '>>' button, at
the bottom of this FE chest of 'drawers'.
(The bigger image is shown in a
separate window or tab.)
Click on this image to see the expanded
'AppCategories' toolchest, as if you had
clicked on the '>>' button, at the bottom of
this FE chest of 'drawers'.
(The bigger image is shown in
a separate window or tab.)
Here is a 'chain' of three 'toolchests',
spawned from left to right.
Click on this image to see
how the toolchests can be dragged down
to the bottom of the screen so that
they are out of the way --- only
their title bars showing. But the
toolchests are ready to be dragged
into action at any time,
by their title bars.
Note that you can close any one of
the toolchests in the usual way
that you close a window --- click on
the 'Close' symbol at the upper
right (or left) of the window title bar.
These toolchest windows are independent of
each other, so you can close any one of them
and the others will remain --- even if you
close the one that started off the 'spawning'.
In other words, as soon as an FE toolchest
is spawned, there is no child-to-parent
relationship anymore like there is among
the processes you can track with the 'ps' command.
For each chest, you will see a 'make_chest.tk'
process in a processes list.
Bottom buttons of the 'feAppMenus' toolchests.
The GUI presented by poking the 'EditVars' button.
After you edit one or more of those 4 files, according to the plentiful comments in those files, close out all FE 'AppMenus' GUIs. When you restart the GUIs, you will see the effects of your changes. There are backups of these '.tki' include files in the 'includes_tk' directory of the installation. Those '.tki_BKUP' files can be used to restore the files if you make an unrecoverable mistake in editing. The 'EditChest' button Similarly for the 'EditChest' button. After you have edited the '.chestdef' file for the current toolchest, close the toolchest and start it up again to see the changes in the GUI that result from your changes to the '.chestdef' file. Here is a description of the chestdef file format :
The separator for the several fields in the 'executable' (and the 'grayed-out') lines is back-slash (\).
For 'grayed-out' lines ('-' in byte 1), Field2 (the executable field) is not trigger-able. So you can de-activate a 'live' line, yet have the description(s) still show, by putting '-' in col1. The program descriptions in field1 and field3 are shown, grayed out. This is a way of displaying a 'placeholder' or 'reminder' app line. If you don't want the program line to show, you can put '#' in byte 1, to make it a comment line. Or, if you are sure you don't need the line, you can delete it. One more (really heavy-duty) change --- the 'make_chest.tk' script : The appearance of the toolchests can be changed :
You can also make a drastic change to the appearance of the toolchests by changing (or completely re-writing) the single 'make_chest.tk' script --- which makes all the toolchests. For example, you could make a 'make_chest.tk' script that uses a 'canvas' widget (and widgets within that canvas), rather than using the 'frame' and 'button' widgets in the delivered 'make_chest.tk' script. Here again you can see that --- the FE system is a *REALLY* open system. EVERYTHING is open to change. See the section below on the 'make_chest.tk' Tk script for a little more information on that Tcl-Tk script. |
Here is an image of the 'Image Tools' toolchest, as
it was implemented in an early release of 'feAppMenus'.
Click on this image to see the 'expanded' chest.
Here is an image of the 'Web Browsers' toolchest, as
it was implemented in an early release of 'feAppMenus'.
Click on this image to see the 'expanded' chest.
page 8 THE 'make_chest.tk' SCRIPT : The 'chest definition' files are read, line by line, by the script
to make the 'toolchest' for each application category. The 'make_chest.tk' script executes a series of widget-making Tk commands and then goes into the Tk wait mode --- waiting for user actions --- mouse-clicks on the widgets of the 'toolchest' GUI. NOTE: HERE is one of the VERY OPEN aspects of the FE system : The 'make_chest.tk' Tcl-Tk script could be radically altered to make the chests in a quite different way (say using Tk 'canvas' items rather than with Tk 'frame'-enclosed items like the Tk 'button' widgets). Anti-aliasing : The initial implementation of this FE subsystem was developed using Tcl-Tk 8.4 --- the version which comes with most Linux systems in the 2007-2010 time frame. With Tcl-Tk 8.5 (released circa 2007 --- see www.tcl.tk --- and only in 2010 starting to make an appearance in many distros and package managers), the Tcl-Tk developers have incorporated the 'Xft' (X-free-type) anti-aliasing system into the Tcl-Tk system. This makes the Tk widgets --- and especially the fonts in those widgets --- appear without 'jaggies'. It is mostly those 'jaggies' that have made people wonder, for the past 5 to 15 years, what's wrong with Tcl-Tk --- why can't it make nice looking fonts like the Gnome and KDE desktops and file managers --- and like the GIMP and OpenOffice applications, and the Gnome and KDE font-viewer utilities? Well, Tcl-Tk 8.5 (with Xft) should put almost all of that belly-aching and complaining to rest. And when I put Tcl-Tk 8.5 on my development machine, I will be able to generate screenshots of the toolchests in which the fonts will look much smoother. I will be able to use italic and oblique fonts without having to be concerned about their having a too-jaggie look. Themes : In recent releases of Tcl-Tk (8.4, 8.5), the Tcl-Tk developers have come up with a 'theming' system that is intended to blend in with themes of various windowing systems --- Mac OS X, MS-Windows, and perhaps even various Linux windowing and desktop systems. To implement that Tk-handling of themes, a new set of Tk widgets (in a 'ttk::' Tk namespace ; ttk = themed tk) needs to be used. However, the 'ttk:' widgets do not have all the features of the original Tk widgets --- so it may be a few more years before I would want to try to convert the FE subsystems that are based on Tk scripts to use the new 'ttk:' widgets --- especially since there may be some questions as to how well this new Tk theming is implemented for Linux systems. When that 'mature' time comes, then the FE system chests and GUIs may blend in a little more seamlessly with the Linux themes in use by the Linux user --- if the 'ttk' system is used in all the Tk scripts of the FE subsystems. An enhancer of the FE Tk-based subsystems could make '.ttk' scripts based on copies of the '.tk' scripts --- leaving the '.tk' scripts available for users still running older versions of Tcl-Tk. The user could be able to choose whether to use '.tk' or '.ttk' scripts by simply 'flipping a switch' --- such as setting an environment variable in an 'include' shell script file of the startup script(s) of the FE subsystems. Icons on toolchest drawers : In a past Tcl-Tk release (8.3.x or 8.4.x) came an enhancement to allow an 'image' and text to both be used on a button or label Tk widget at the same time. Hence we can populate all the FE system chests with buttons that have a icon image next to the text. For example, on the main feAppMenus toolchest, if I have Thunderbird as the mail application and Firefox as the web browser applicaton, I could have a Thunderbird icon to the left of the 'Thunderbird' text string and a Firefox icon to the left of the 'Firefox' text string. The current (2010) 'make_chest.tk' script looks for a fourth field in the 'executable application' lines of the input '.chestdef' file. In that field, a fully-qualified filename can be placed, that specifies an icon file --- gif, pgm, or ppm --- a format readable by plain-vanilla Tk. That is, the current 'make_chest.tk' script relies on using image formats (like gif) with 'built-in' support by Tk, without having to install a Tk extension. Hopefully, the JPEG-reading extension called 'Img' will eventually be built-in to Tk. The 'Img' extension will probably not be delivered with most Linux distros. At this time (2010), I do not intend to spend much time on adding icons to the chests --- partly because icons will just add processing load and time whenever a chest starts up --- but mainly because I need to spend time on finalizing the many feAppMenus shell and Tk scripts and chestdef files and help files --- and I need to go on to the development of other FE subsystems. Skins : One fellow (Portuguese) has used Tcl-Tk to put a classy 'skin' on a player GUI. The player is/was called 'VebKlaso' and some pictures of it may still be at pragana.net. This indicates that we can eventually make the chests as wild looking as the wild looks that one sees in the many skins for applications like 'winamp' or 'xmms'. We can create a common skin for all the chests by changing only the one script, 'make_chest.tk', and leaving the many chestdef files unchanged. Unfortunately, this 'skin' technique takes more than basic Tcl-Tk programming. It requires using an 'extension' of Tk, and the couple of extensions that exist so far, with this skinning type of capability, are not 'mainstream' --- and not 'blessed' by the maintainers and developers of the Tcl-Tk core. So I leave skins to a future FE subsystem release --- and concentrate on getting functionality into the initial releases. But I cannot help but keep thinking about how to skin this cat. In summary, there is much that can be done to 'prettify' the FE system chests (and GUIs) --- with icons, themes, and skins. But probably the best 'prettifying', in my mind, will come with using Tcl-Tk 8.5 to gain the advantage of the anti-aliasing of the Linux 'Xft' system, that is now connected into the 8.5 release of Tcl-Tk. For now, I am occupied with going back to add some features to the FE 'xpg' subsystem --- and in developing another FE subsystem called 'xlphp', for printing text files. I want to be able to print any of my text files, like Tk scripts, without getting 'cannot-proceed' messages (i.e. blocking by print system 'filters') which I encounter when I try to print using systems like the HPLIP printing system. And there are some 'fun' Tk GUIs that I plan to code and show in these web pages --- in a 'Featured tkGUIs' category. Because of my advancing age, I may end up leaving themes and skins to be added by others. |
You can choose an oblique font for the toolchests.
Have fun with fonts --- for the FE 'AppMenus' toolchests!
You can use the 'ChgFont' button at the bottom
of each FE toolchest.
(These are relatively crude Tcl-Tk 8.4 images.
I plan to eventually add some Tcl-Tk 8.5 images here.
Tcl-Tk 8.5 uses
Xft anti-aliasing to render fonts
in high-quality. We could compare and contrast 8.4
images versus 8.5 images --- jaggies versus anti-aliasing.
Some claim they prefer the jaggies to anti-aliasing.
I beg to differ. The image on the left would be
SOOO much better with anti-aliasing.)
FE Software . . . . Some Kind of Wonderful.
Bottom of this FE = Freedom Environment
To return to a previously visited web page, click on the
Back button of your web browser a sufficient number of times.
OR, use a History-list option of your web browser.
< Go to Top of Page, above. >Page history:
Page was created 2010 Sep 07.
|