Skins for FE GUI's

considerations for the future

FE = Freedom Environment

FE Home page > FE Overview page >

'feAppMenus' Description page >

This Skins-for-FE-GUI's Discussion page

Introduction :

The menus of the 'feAppMenus' and 'feHandyTools' FE subsystems are slight variations on two colors --- a background color and a foreground (text) color.

And the various Tk GUI's of the 'feHandyTools' subsystem --- the file/directory/list selector GUI's and the various other prompting GUI's (with entry fields and buttons and radiobuttons and checkbuttons and labels and other 'widgets') --- are also basically of two colors with some narrow shadings along borders and where text is anti-aliased.

It is the aim of the author of those FE subsystems to, some day, 'spice up' the menus and prompting GUI's with some 'skins' --- like the skins seen on software media-players, like 'winamp' and 'xmms'.

The aim is to allow for 'skins' that can depart quite radically from the rectangular windows that are typical of many computer 'dialogs'.

In other words, the aim is to find a way (on Linux) to implement skins similar to the 'highly sculpted' (that is, concave segments, as well as convex) media-player 'skins' seen at the top of this page.

Some pages at the Tcl-Tk wiki ( discuss a couple of attempts at 'extensions' of Tk to allow for 'shaped windows'. These are preliminary, not-ready-for-prime-time implementations by Donal Fellows and Rildo Pragana. See the wiki pages titled Managed and shaped toplevel and Shape.

Click on the following two 'thumbnail' images to see large images that illustrate this subject.

A 'highly'

Widgets on the
'shaped window' ,
over a rectangular
window of text

Categories and features of 'skins' :

Below, on this page, are arrays of images of many sample 'skins'. These images give an idea of some of the possibilities --- in particular, the many factors that can be explored :

  • shapes such as
    • rectangular with square corners
    • rectangular with circular corners
    • rectangular with spiked corners or rounded, smooth-spline-like corners
    • other polygonal shapes --- such as triangular and pentagonal and hexagonal
    • circular shapes
    • elliptical, egg-like, and football shapes
    • Y-shapes, claw shapes, even foot shapes
    • combinations of the above --- including disconnected combinations of the above
  • 'finishes' such as
    • metallic
    • wood-grain
    • glossy or matte plastic   (all glass, anyone?)
        (vegetation, anyone?)   (leather, anyone?)   (denim, anyone?)
        (freckles, anyone?)   (warts, anyone?)   (fur, anyone?)
  • embellishments such as
    • indents and exdents of various shapes (rectangular, bulbous, spikey, etc.)
    • embossed text and symbols, on buttons and on surfaces
    • ridges, grooves, flats, etching, gouges, etc.
    • non-functioning decorations such as speakers that don't emit sounds
    • functional elements such as push-buttons, knobs, dials, sliders, etc. --- of many materials and colors, and with high-lights (reflected or radiant light)

Scroll down the page to see some of the possibilities --- and to get inspiration to strike out in new design directions.

Click on a 'thumbnail' image below to see a larger version of the image.

The larger image is shown in this same window. Click on the 'Back' button of your web browser to return to this web page.

Relevant future Tk enhancements :

The recent (2005-2011) versions of Tk (8.4.x and 8.5.x) support the 'image create' function that allows for putting images on widgets like buttons, labels, text areas, and 'canvas' areas.

Unfortunately, when trying to get non-rectangular shapes along with relatively smooth shading through a relatively wide range of hues, the several image data types that are supported in Tk for import into 'bitmap' and 'photo' elements are rather restrictive :

  • GIF, with a color table of 256 colors max, can lead to some color banding in images. GIF supports transparency --- but not translucency. It's either fully transparent or opaque. (It would be nice to be able to effectively 'composite' Tk widgets, not just overlay them or dither them.)

  • PPM (Portable Pix Map) supports many colors but no transparency --- and PPM is a space-hogging file format.

  • PGM (Portable Gray Map) supports many gray levels, but no transparency. PGM is also space inefficient.

There are 'extensions' of Tk --- such as 'Img' and 'TkPNG' --- that support many other, more capable or more efficient image types such as JPEG and PNG. But since the extensions, by definition, are not built into Tk, the extensions must be installed separately from Tk. There are issues such as getting the proper release of the extension for a given release of Tk --- across a potential user (computer) population of millions.

The 8.6 release of Tk (which was in alpha and beta states circa 2007 to 2011) may be released in 'stable' form in late 2011 or sometime in 2012. The 8.6 release will have PNG format support built-in --- which will allow for both transparency and translucency (via an 'alpha channel' --- that is, RGBA as well as RGB support).

However, whether the transparency and translucency will apply to windows on the 'root' desktop background (not just widgets inside windows ) will depend on the window manager(s) in use on the user's operating system and whether Tk 'talks well' with the window manager being used.

I have seen a note on a Tcl-Tk wiki page that indicates the Xfce window manager available on Linux may support transparency of windows. I may look into that someday.

Things to do :

Until Tcl-Tk 8.6 is released, with Tk 8.5, I plan to see what I can do with transparent GIF's. And when 8.6 is finally released, I plan to look into using PNG files. In order to get non-rectangular 'skins' on FE menus and FE dialog GUI's, I will try a window manager like Xfce on Linux, if that appears to be necessary. (I use the Gnome desktop and window manager now, in 2011.)

Furthermore, I may try the shaped-window extension of Rildo Pragana --- if I can build or obtain the 'shared object' to use in a statement like 'load' --- as seen in his demo Tk code on the Tcl-Tk wiki page titled Managed and shaped toplevel (page 13409).

Hopefully, by mid-2012, I will have an enhanced FE '' Tk script that allows for non-rectangular 'skins' on the menus of the 'feAppMenus' and 'feHandyTools' subsystems.

And it may be 'fun' to allow for skinning of many (if not all) of the various Tk prompting GUI's.

There will always be more to enhance and add to the FE system. There is no lack of things to do with these wide-ranging subsystems that deal with everything from system administration tools to media (image, audio, video) tools.

Fancy skins:

Click on the following images to see a larger version.
Click on the 'Back' button for your web browser,
to return to this page.




row 1






row 1




row 2




row 3




row 4















































GUI's almost like these may be possible with Tk 8.5.
Fun with Tk buttons and embossed widget images and
elaborate 'faces' --- perhaps using images on a Tk canvas.









Bottom of the Skins for FE GUI's page.

To return to a previously visited web page location, click on the Back button of your web browser, a sufficient number of times. OR, use the History-list option of your web browser.
OR ...

< Go to Start of Images, above. >

< Go to Top of Page, above. >

Page was created 2011 Sep 11.
Page was changed 2018 Aug 15. (Added css and javascript to try to handle text-size for smartphones, esp. in portrait orientation.)