• Awesome themes by rdbende

    From Harald Oehlmann@21:1/5 to All on Sun Feb 6 13:48:26 2022
    Has anybody tried the Awesome ttk themes by rdbende ?

    https://github.com/rdbende

    I am currently using a lot the AWThemes. As Brad has left us, this may
    be a successor ?

    Thank you all,
    Harald

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christian Gollwitzer@21:1/5 to All on Sun Feb 6 17:38:16 2022
    Am 06.02.22 um 13:48 schrieb Harald Oehlmann:

    Has anybody tried the Awesome ttk themes by rdbende ?

    https://github.com/rdbende

    I am currently using a lot the AWThemes. As Brad has left us, this may
    be a successor ?

    Awesome discovery! He also made a Python wrapper for tkdnd, which I
    consider a core-level package for Tk, but unfortunately is distributed
    not with the core and therefore not included in the standard Python distro.

    Christian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alex P@21:1/5 to All on Sun Feb 6 09:15:03 2022
    I'd tried rdbende's themes. Very good themes.

    Though, I've found some issues. So, I tried to resolve them, here:
    https://github.com/aplsimple/ale_themes
    There are docs and demos which hopefully will speak better.

    License is MIT, so you can try and modify them as well.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Harald Oehlmann@21:1/5 to All on Mon Feb 7 08:38:35 2022
    Am 06.02.2022 um 18:15 schrieb Alex P:
    I'd tried rdbende's themes. Very good themes.

    Though, I've found some issues. So, I tried to resolve them, here:
    https://github.com/aplsimple/ale_themes
    There are docs and demos which hopefully will speak better.

    License is MIT, so you can try and modify them as well.

    Wow, that is awesome. Have you informed rdbende about your findings ?

    Thanks,
    Harald

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Harald Oehlmann@21:1/5 to All on Mon Feb 7 14:45:41 2022
    Am 07.02.2022 um 14:34 schrieb Alexandru:
    Harald Oehlmann schrieb am Sonntag, 6. Februar 2022 um 13:48:27 UTC+1:
    Has anybody tried the Awesome ttk themes by rdbende ?

    https://github.com/rdbende

    I am currently using a lot the AWThemes. As Brad has left us, this may
    be a successor ?

    Thank you all,
    Harald

    Awesome! But it makes my GUI slow. Why? I can see how buttons are packed one after another.
    Without it, the effect is not perciptible.
    Also when I scale the window, I can see how the geometry manager redraws the widgets.

    Alexandru,

    great, that you tried it. To my knowledge, all clam-based themes are
    slow on Windows. But on Android, it is ok.

    Do you see the same speed issue with AWDark ?

    Thank you,
    Harald

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexandru@21:1/5 to Harald Oehlmann on Mon Feb 7 05:34:42 2022
    Harald Oehlmann schrieb am Sonntag, 6. Februar 2022 um 13:48:27 UTC+1:
    Has anybody tried the Awesome ttk themes by rdbende ?

    https://github.com/rdbende

    I am currently using a lot the AWThemes. As Brad has left us, this may
    be a successor ?

    Thank you all,
    Harald

    Awesome! But it makes my GUI slow. Why? I can see how buttons are packed one after another.
    Without it, the effect is not perciptible.
    Also when I scale the window, I can see how the geometry manager redraws the widgets.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexandru@21:1/5 to Harald Oehlmann on Mon Feb 7 06:19:22 2022
    Harald Oehlmann schrieb am Montag, 7. Februar 2022 um 14:45:46 UTC+1:
    Am 07.02.2022 um 14:34 schrieb Alexandru:
    Harald Oehlmann schrieb am Sonntag, 6. Februar 2022 um 13:48:27 UTC+1:
    Has anybody tried the Awesome ttk themes by rdbende ?

    https://github.com/rdbende

    I am currently using a lot the AWThemes. As Brad has left us, this may
    be a successor ?

    Thank you all,
    Harald

    Awesome! But it makes my GUI slow. Why? I can see how buttons are packed one after another.
    Without it, the effect is not perciptible.
    Also when I scale the window, I can see how the geometry manager redraws the widgets.
    Alexandru,

    great, that you tried it. To my knowledge, all clam-based themes are
    slow on Windows. But on Android, it is ok.

    Do you see the same speed issue with AWDark ?

    Thank you,
    Harald

    AWDark does not cause perfomance issues.
    What is the difference?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alex P@21:1/5 to All on Mon Feb 7 10:22:13 2022
    Alexandru, Harald,

    These themes are graphical - as noted in https://wiki.tcl-lang.org/page/List+of+ttk+Themes .
    They use png files heavily.
    Hence there may be troubles with the performance & scaling.

    However, I'm not experiencing them even on 13 year old x86 device. Last year permanently using alited editor based on apave package, both my own, with "forest-dark" theme and "ForestDark" color scheme.
    To be honest, all this needed a lot of fuss to make GUI friendly and responsive.
    Regards,
    Alex

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christian Gollwitzer@21:1/5 to All on Mon Feb 7 19:58:39 2022
    Am 07.02.22 um 19:22 schrieb Alex P:
    Alexandru, Harald,

    These themes are graphical - as noted in https://wiki.tcl-lang.org/page/List+of+ttk+Themes .
    They use png files heavily.
    Hence there may be troubles with the performance & scaling.

    However, I'm not experiencing them even on 13 year old x86 device.

    I guess you are using Linux. I've noticed that the graphical themes
    perform quite badly on macOS and Windows, compared to Linux, where they
    are a noticeably slower, but not that bad. Perhaps the bitmap part of
    ttk is not that great, considering that the other engines like QT work
    very smoothly on all OSes.

    Christian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexandru@21:1/5 to Christian Gollwitzer on Mon Feb 7 20:11:56 2022
    Christian Gollwitzer schrieb am Montag, 7. Februar 2022 um 19:58:46 UTC+1:
    Am 07.02.22 um 19:22 schrieb Alex P:
    Alexandru, Harald,

    These themes are graphical - as noted in https://wiki.tcl-lang.org/page/List+of+ttk+Themes .
    They use png files heavily.
    Hence there may be troubles with the performance & scaling.

    However, I'm not experiencing them even on 13 year old x86 device.
    I guess you are using Linux. I've noticed that the graphical themes
    perform quite badly on macOS and Windows, compared to Linux, where they
    are a noticeably slower, but not that bad. Perhaps the bitmap part of
    ttk is not that great, considering that the other engines like QT work
    very smoothly on all OSes.

    Christian
    So what would be the solution to the performance issue on Windows?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexandru@21:1/5 to Harald Oehlmann on Tue Feb 8 00:13:45 2022
    Harald Oehlmann schrieb am Dienstag, 8. Februar 2022 um 08:32:29 UTC+1:
    Am 08.02.2022 um 05:11 schrieb Alexandru:
    Christian Gollwitzer schrieb am Montag, 7. Februar 2022 um 19:58:46 UTC+1:
    Am 07.02.22 um 19:22 schrieb Alex P:
    Alexandru, Harald,

    These themes are graphical - as noted in https://wiki.tcl-lang.org/page/List+of+ttk+Themes .
    They use png files heavily.
    Hence there may be troubles with the performance & scaling.

    However, I'm not experiencing them even on 13 year old x86 device.
    I guess you are using Linux. I've noticed that the graphical themes
    perform quite badly on macOS and Windows, compared to Linux, where they
    are a noticeably slower, but not that bad. Perhaps the bitmap part of
    ttk is not that great, considering that the other engines like QT work
    very smoothly on all OSes.

    Christian
    So what would be the solution to the performance issue on Windows?
    Well, tk and ttk was always a X11 extension ported to Windows. The performance is always poor on Windows. The less poor are the native themes. For fun, you can take the same machine with Linux and Windows. You will
    see around 30%-300% less speed on Windows.

    It is as it is...

    Take care,
    Harald

    So it's the core implementation that is not optimized for Windows.
    The standard themes are not slow. At least not perciptible by user.
    The AWdark theme is also not slower than the standard theme.
    It looks like the bottle neck is only the way bitmaps are handled.
    I think there should be a substantial effort to make Tcl/Tk faster with respect to this matter.
    Otherwise it will be sooner "dead" than we want.
    Since I'm not a true programmer, I'm afrait I cannot contribute with a fix.
    I can only observe an point to the issue.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Harald Oehlmann@21:1/5 to All on Tue Feb 8 08:32:26 2022
    Am 08.02.2022 um 05:11 schrieb Alexandru:
    Christian Gollwitzer schrieb am Montag, 7. Februar 2022 um 19:58:46 UTC+1:
    Am 07.02.22 um 19:22 schrieb Alex P:
    Alexandru, Harald,

    These themes are graphical - as noted in https://wiki.tcl-lang.org/page/List+of+ttk+Themes .
    They use png files heavily.
    Hence there may be troubles with the performance & scaling.

    However, I'm not experiencing them even on 13 year old x86 device.
    I guess you are using Linux. I've noticed that the graphical themes
    perform quite badly on macOS and Windows, compared to Linux, where they
    are a noticeably slower, but not that bad. Perhaps the bitmap part of
    ttk is not that great, considering that the other engines like QT work
    very smoothly on all OSes.

    Christian
    So what would be the solution to the performance issue on Windows?

    Well, tk and ttk was always a X11 extension ported to Windows. The
    performance is always poor on Windows. The less poor are the native themes.
    For fun, you can take the same machine with Linux and Windows. You will
    see around 30%-300% less speed on Windows.

    It is as it is...

    Take care,
    Harald

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christian Gollwitzer@21:1/5 to All on Tue Feb 8 09:35:54 2022
    Am 08.02.22 um 09:13 schrieb Alexandru:
    So it's the core implementation that is not optimized for Windows.
    The standard themes are not slow. At least not perciptible by user.
    The AWdark theme is also not slower than the standard theme.

    AWdark IS slower than the standard theme, but not as bad as others. On
    macOS that slowy thing is much worse (unbearable) and here you can still
    see that AWdark is slow. Brad had put a lot of effort to reduce the
    number of bitmap elements to keep it acceptable.

    I think there should be a substantial effort to make Tcl/Tk faster with respect to this matter.
    Otherwise it will be sooner "dead" than we want.
    Since I'm not a true programmer, I'm afrait I cannot contribute with a fix.

    The problem here is that few people get excited by working on low-level infrastructure stuff like that, and in addition you need to have your
    primary development system on these platforms. I had some cursory look
    into the Tk drawing code and it contains many arcane cruft like
    dithering for low-color displays which I doubt anyone has a functioning
    one at all these days.

    Then there are a few places which look suspicious. However, it is not
    clear if fixing it can actually improve things. For example. here:

    https://github.com/tcltk/tk/blob/8f2b0fdc7e68e7d168faa40e2e25dab300f1fab6/generic/tkImgPhInstance.c#L638

    is the drawing code for a photo image. Every time the image is drawn, it allocates a new XImage via XCreatImage and destroys it after painting to
    the screen immediately. Now, if XCreateImage is a heavy operation on
    Windows, e.g. allocates memory on the graphics card, then this will be
    slow for repeated painting.

    I have no idea if that is it, and fixing this would take lots of effort, restructuring, many crashes and in the end you might find out that this
    is not at all relevant. Unless you do this for a living.....


    Christian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alex P@21:1/5 to All on Tue Feb 8 07:07:31 2022
    Alexandru,

    A bit (or lot:) of efforts need to make Tcl/Tk GUI programs behave responsive and friendly.

    Let me recommend you a great source of knowledge:

    https://wiki.tcl-lang.org/

    ---------------------------------------

    Specifically, as for troubles with the slow display of windows, Tcl/Tk gurus recommend this way of layout & display windows:

    package require Tk
    # ...
    wm withdraw .
    # ...
    set window [toplevel .win] ;# or some other way to make the window
    wm withdraw $window
    pack [ttk::button $window.but1 -text "Button 1"]
    # ... other pack & grid
    # ... wm minsize $window $width $height
    # ... wm geometry $window $newGeometry
    # e.g. ... wm geometry $window 100x50+300+100
    # ... other wm commands
    # ... other initial actions
    wm deiconify $window

    In Windows you can use also

    wm attributes $window -alpha 0.0
    wm attributes $window -alpha 1.0

    instead of "wm withdraw" and "wm deiconify" accordingly.

    For Macs, they recommend "raise" command instead of "wm deiconify".

    This way you

    1. make your window hidden
    2. pack & grid your widgets in the window
    3. display the window

    Thus, a user doesn't see the packing/gridding (which otherwise may be visible, generally).

    Also, your window is displayed with your preferred dimensions/minsizes, all easily saved/restored to/from a config file.

    ---------------------------------------

    All the same, use

    https://wiki.tcl-lang.org/

    It's an ocean of Tcl/Tk info. Dive into it!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexandru@21:1/5 to Alex P on Tue Feb 8 08:41:12 2022
    Alex P schrieb am Dienstag, 8. Februar 2022 um 16:07:35 UTC+1:
    Alexandru,

    A bit (or lot:) of efforts need to make Tcl/Tk GUI programs behave responsive and friendly.

    Let me recommend you a great source of knowledge:

    https://wiki.tcl-lang.org/

    ---------------------------------------

    Specifically, as for troubles with the slow display of windows, Tcl/Tk gurus recommend this way of layout & display windows:

    package require Tk
    # ...
    wm withdraw .
    # ...
    set window [toplevel .win] ;# or some other way to make the window
    wm withdraw $window
    pack [ttk::button $window.but1 -text "Button 1"]
    # ... other pack & grid
    # ... wm minsize $window $width $height
    # ... wm geometry $window $newGeometry
    # e.g. ... wm geometry $window 100x50+300+100
    # ... other wm commands
    # ... other initial actions
    wm deiconify $window

    In Windows you can use also

    wm attributes $window -alpha 0.0
    wm attributes $window -alpha 1.0

    instead of "wm withdraw" and "wm deiconify" accordingly.

    For Macs, they recommend "raise" command instead of "wm deiconify".

    This way you

    1. make your window hidden
    2. pack & grid your widgets in the window
    3. display the window

    Thus, a user doesn't see the packing/gridding (which otherwise may be visible, generally).

    Thanks for the tips.
    The described method is good when creating a new toplevel.
    What happens when I only resize the window? Hiding the content during resizing is not nice.


    Also, your window is displayed with your preferred dimensions/minsizes, all easily saved/restored to/from a config file.

    ---------------------------------------

    All the same, use

    https://wiki.tcl-lang.org/

    It's an ocean of Tcl/Tk info. Dive into it!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)