Skins for

example images
future GUI's

FE = Freedom Environment

FE Home page > FE Overview page >

'feAppMenus' Description page >

example images page


The 'toolchest' menus of the 'feAppMenus' and 'tkGooies' FE subsystems are simply rectangular.

And the interior of those 'toolchest' menus are simply variations on two colors --- a background color and a foreground (text) color.

And the various Tk GUI's of the 'tkGooies' subsystem ---

    the file / directory / list selector GUI's and the various other prompting GUI's . . . with entry fields and labels and buttons and radiobuttons and checkbuttons and other 'widgets'

--- are also rectangular and basically of two (or few) colors.

The only color shadings on the GUI's are some narrow shadings along borders and where text is anti-aliased --- with the exception of color shaded images and photos in Tk 'canvas' widgets.

It is the aim of the author of those FE subsystems to, some day, 'spice up' the toolchest menus and prompting GUI's with some 'skins' --- like the 'freeform', alpha-channel-transparency 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' media-player 'skins' seen at the top of this page --- allowing concave segments, as well as convex.

Some pages at the Tclers' wiki ( discuss a couple of attempts at 'extensions' of Tk to allow for 'shaped windows'.

Those 'shaped' window' extenstions are preliminary, not-ready-for-prime-time implementations by Donal Fellows and Rildo Pragana.

See the Tclers' Wiki pages titled Managed and shaped toplevel and Shape.

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

A 'highly'

Button and text widgets
on a 'shaped window'
over a 'traditional'
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 glassy

    • matte plastic

    • leather-like (or lizard/alligator-skin)

    • denim or burlap or other woven threads

    • cloth folds

    • furry or hair

    • leafy vegetation

    • freckled skin

    • warty skin

  • 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.

Poke a 'thumbnail' image below to see the image in a separate window or tab.

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 'button', 'label', 'text', and 'canvas' widgets.

Unfortunately, when trying to get non-rectangular shapes along with relatively smooth color-shading through a relatively wide range of colors, the several image data types that are supported in Tk 8.4 and 8.5 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.

    GIF images are 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 PixMap) supports many colors
    but no transparency.

    PPM is a space-hogging file format.

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

    PGM is also space inefficient.

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 (Portable Network Graphics) file format support built-in --- which will allow for both transparency and translucency.

Translucency is achieved in PNG files via an 'alpha channel' --- that is, RGBA as well as RGB color space support.

    There are 'extensions' of Tk --- such as 'Img' and 'TkPNG' --- that support reading image file 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.

    I think most people are not going to want to spend time learning how to install Tcl-Tk extensions and tracking them down --- and, in some cases, hassling with release-number compatibility issues after an install.


Transparency of windows on 'the desktop'

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 Tclers' Wiki page that indicates the Xfce window manager (Xfwm) available on Linux may support transparency of windows.

To look into this subject, you can use WEB SEARCHES on keywords such as:

programming transparent windows on root window of desktop linux


tcl tk code for transparent windows on root window linux


shaped top level window transparent linux


top level window transparency linux


top level window RGBA transluscent linux

Things to do :

Until Tcl-Tk 8.6 is released (with PNG file support), I plan to see what I can do with transparent GIF's to make various nice GUI's.

And when 8.6 is finally released, and I have it installed on one of my computers, someday, I plan to look into using PNG files --- and some transluscency effects.

In order to get non-rectangular 'skins' on FE 'toolchest' menus and FE 'dialog' windows, I will, occasionally, research what is necessary to achieve those kinds of skins with the window manager that I am using.

    (I use the Gnome2 desktop and window manager now, in 2011.

    I will probably use the MATE desktop and window manager in the future.)

If I had more time available, I would examine the shaped-window extension of Rildo Pragana --- to see 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, someday, I will have an enhanced FE '' Tk script that allows for non-rectangular 'skins' on the 'toolchest' menus of the FE 'feAppMenus' and 'tkGooies' 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 systems.

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.

See the sample skin images below.


Poke the following images to see the image
in a separate window or tab.




row 1






row 1




row 2




row 3




row 4















































GUI's almost like these may be possible with Tk 8.5.
You could use embossed images and elaborate 'faces'
--- perhaps putting the images on a Tk canvas.









Bottom of this
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 history:

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.)

Page was changed 2019 Jul 05.
(Specified image widths in percents to size the images according to width of the browser window. Also added some web links.)