Eeri Kask wrote:
> Wait, please, don't commit yet!  :-)
> [....]

Here are my current twm improvement patches, organised thematically:

(1) Preparatory font rendering cleanup (should have no changes compared
to last time).


(2) Xft-support for twm, besides macro renaming the main improvement is:
 "use_fontset" is back again, now meaning to use XftDrawStringUtf8()
instead of XftDrawString8() if "locale" is set.
(What it effectively means I don't know as I don't have anybody using
twm in Chinese or Japanese, so if someone can try it out and explain me
the difference, I'd be happy!)  :-)


(3) Introduces twm menu and iconmanager (and icon) transparency,
introducing two keywords:  MenuOpacity, IconOpacity (in range 0 =
transparent ... 255 = opaque).  Effectively it will be compiled in only
if set '#define TWM_USE_OPACITY'.  It adds no complexity to twm as it
only sets the "window opacity property" and as long you don't run
something like

    xcompmgr -c -o 0.5 -r 6 -t -6 -l -9  &

in the background, this has no effect on anything.

I found two keywords the only solution as menus and icons have too
different transparency values in order to configure them with one
keyword.  I have  "MenuOpacity 245" and "IconOpacity 200" in .twmrc.


(4) Xft-related apperance fixes: all fixed-pixel-height based spacing
computations are converted to scalable, font height-dependent spacing
computations.  These are effectively one-line improvements which don't
(should not) have side effects.

Here is one exception though -- iconmanager window entry layout.
Previously iconmanager was highlighted by calling
DrawIconManagerBorder(). This function now draws the whole iconmanager
window label entry, and I renamed it therefore to
DrawIconManagerEntry().  This is the most radical change I have made to
twm and it is not that fully tested (in regard to bugs and side effects
which may arise).
So in case of problems let this function be as it was; and then don't
remove MyFont_DrawString() at the end of HandleExpose() in events.c as
well.  This issue should affect no other places.

I only was trying to streamline iconmanager and twm menu appearance, I
was in opinion they should look somewhat similar.  Or alternatively I'll
try to optimise iconmanager to having only one row (not one column) with
text in huge letters, like as if one had

IconManagerFont         "sans-13:bold"
IconManagerGeometry     "=1500x10+200-300" 10
IconManagerForeground   "white"
IconManagerBackground   "grey15"
IconManagerHighlight    "grey65"
IconForeground          "white"
IconBackground          "grey15"
IconBorderColor         "black"


in .twmrc.

As apparent, iconmanager appearance is not completed and I am more than
eager to discuss what you are thinking.

This patchset (4) introduces "DefaultFont" keyword as it is critical to
have all appearance parameters configurable from the outside and this
font is used prominently in InfoWindow text rendering.


Having that done I personally find twm regarding its appearance finished
for now for me;  and I'll continue working in my spare time in tracing
bugs and put some focus and iconmanager control/usability tweaks into
it, to make twm fully keyboard-usable in regard to present day GUI
applications.


(5) "Fixes" patchset is where I'll try to gather bugs/fixes as I'll find
them and find fixes.

(6) Then there is an "Improvements" patchset which is currently empty,
but should include experiments with new, selected features. (In the
sense of improving twm current usability, and not introducing completely
new functionality. :-)


Probably (1)...(4) can be made stable and completed quickly;  I consider
(1)...(3) finished myself if they only prove to being bugfree.


Greetings,

    Eeri Kask

Attachment: twm-1.0.3-diff1.MyFont_ChangeGC.tgz
Description: application/compressed-tar

Attachment: twm-1.0.3-diff2.TWM_USE_XFT.tgz
Description: application/compressed-tar

Attachment: twm-1.0.3-diff3.TWM_USE_OPACITY.tgz
Description: application/compressed-tar

Attachment: twm-1.0.3-diff4.Appearance.tgz
Description: application/compressed-tar

Attachment: twm-1.0.3-diff5.Fixes.tgz
Description: application/compressed-tar

Reply via email to