gtkdialog problems with GTK3

For discussions about programming, and for programming questions and advice


Moderator: Forum moderators

Post Reply
User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

gtkdialog problems with GTK3

Post by MochiMoppel »

When comparing the results of gtkdialog compiled for GTK3 with those of the GTK2 version (now often referred to as gtk2dialog) I sense that gtkdialog for GTK3 creates a lot of problems.
The latest discovery is that GTK stock icons can not be displayed anymore in tree widgets.
@JakeSFR once published Icon Finder, a utility that also contained a small script that would display all GTK stock icons together with their names. Very basically it looked like this:

Code: Select all

echo '<window title="GTK stock icons" icon-name="gtk-yes">
	<tree> 
		<label>Stock ID</label> 
		<item stock="gtk-dialog-info">gtk-dialog-info</item> 
		<item stock="gtk-dialog-warning">gtk-dialog-warning</item> 
		<item stock="gtk-dialog-error">gtk-dialog-error</item> 
	</tree> 
</window>' | gtkdialog -sc

My own implementation uses different syntax but the result is the same:

Code: Select all

ICONS='dialog-info dialog-warning dialog-error'
export ICONS=$(echo "$ICONS" | sed -r 's/ *([^ ]+)/gtk-\1|gtk-\1\n/g')
echo '<window title="GTK Stock Icons" icon-name="gtk-about" window-position="1">
    <tree>
		<label>Stock ID</label> 
		<input stock-column="0">echo "$ICONS"</input>
   </tree>
</window>' | gtkdialog -sc

Both scripts *should* display a window like this:

stock_icons.png
stock_icons.png (8.43 KiB) Viewed 1134 times

This only works with the "classic" GTK2 version of gtkdialog. With GTK3 the icons are not displayed. However GTK icons are not dead. The titlebar shows that in principle they still can be used, but not in trees. Any solution?

User avatar
peebee
Posts: 1480
Joined: Mon Jul 13, 2020 10:54 am
Location: Worcestershire, UK
Has thanked: 147 times
Been thanked: 596 times
Contact:

Re: gtkdialog problems with GTK3

Post by peebee »

You should post an issue on Github........

https://github.com/puppylinux-woof-CE/gtkdialog/issues

Builder of LxPups, SPups, UPup32s, VoidPups; LXDE, LXQt, Xfce addons; Chromium, Firefox etc. sfs; & Kernels

User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

Re: gtkdialog problems with GTK3

Post by MochiMoppel »

I need this icon list almost daily and therefore changed my script. Now uses <entry> instead of <tree>. Certainly not a solution but rather a work around.

Code: Select all

#!/bin/sh
ICONS='about add apply bold cancel caps-lock-warning cdrom clear close color-picker connect convert copy cut delete dialog-authentication dialog-error dialog-info dialog-question dialog-warning directory disconnect dnd dnd-multiple edit execute file find find-and-replace floppy fullscreen go-back go-down go-forward go-up goto-bottom goto-first goto-last goto-top harddisk help home indent index info italic jump-to justify-center justify-fill justify-left justify-right leave-fullscreen media-forward media-next media-pause media-play media-previous media-record media-rewind media-stop missing-image network new no ok open orientation-landscape orientation-portrait orientation-reverse-landscape orientation-reverse-portrait page-setup paste preferences print print-error print-paused print-preview print-report print-warning properties quit redo refresh remove revert-to-saved save save-as select-all select-color select-font sort-ascending sort-descending spell-check stop strikethrough undelete underline undo unindent yes zoom-100 zoom-fit zoom-in zoom-out'
ICONS=$(echo "$ICONS" | sed -r 's/ *([^ ]+)/<entry primary-icon-stock="gtk-\1"><default>" gtk-\1"<\/default><\/entry>\n/g')
echo '<window title="GTK Stock Icons" height-request="600">
    <vbox scrollable="true">
       '"$ICONS"'
   </vbox>
</window>' | gtkdialog -sc

Works both in GTK3 and GTK2, but GTK3 shows another issue: Some icons are bigger than they should be :o
It's not funny anymore :evil:

stock_icons2.png
stock_icons2.png (72.08 KiB) Viewed 1055 times
User avatar
fredx181
Posts: 2561
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 274 times
Been thanked: 993 times
Contact:

Re: gtkdialog problems with GTK3

Post by fredx181 »

Also I'd like that some common used widgets for GTK2 gtkdialog, like <combobox> can be used with the GTK3 gtkdialog, instead of having to change to e.g. <comboboxtext>, don't know if possible :?:

HerrBert
Posts: 329
Joined: Mon Jul 13, 2020 6:14 pm
Location: Germany, NRW
Has thanked: 17 times
Been thanked: 110 times

Re: gtkdialog problems with GTK3

Post by HerrBert »

There seems to be yet another problem with GTK3 tree widget...
When using <action signal="changed"> for an item and then refreshing the tree runs this action for every item in the tree, not only for the selected as i would expect.
Maybe i misunderstood the logic for signal=changed???

You can try yourself with @MochiMoppel's code modified to demonstrate the issue (run in terminal):

Code: Select all

#!/bin/bash
ICONS='about add apply bold cancel caps-lock-warning cdrom clear close color-picker connect convert copy cut  delete dialog-authentication dialog-error dialog-info dialog-question dialog-warning directory disconnect dnd dnd-multiple edit execute file find find-and-replace floppy fullscreen go-back go-down go-forward go-up goto-bottom goto-first goto-last goto-top harddisk help home indent index info italic jump-to justify-center justify-fill justify-left justify-right leave-fullscreen media-forward media-next media-pause media-play media-previous media-record media-rewind media-stop missing-image network new no ok open orientation-landscape orientation-portrait orientation-reverse-landscape orientation-reverse-portrait page-setup paste preferences print print-error print-paused print-preview print-report print-warning properties quit redo refresh remove revert-to-saved save save-as select-all select-color select-font sort-ascending sort-descending spell-check stop strikethrough undelete underline undo unindent yes zoom-100 zoom-fit zoom-in zoom-out'
export ICONS=$(echo "$ICONS" | sed -r 's/ *([^ ]+)/gtk-\1|gtk-\1\n/g')
echo '<window title="GTK3 Tree gone wild" icon-name="gtk-about" window-position="1">
 <vbox>
   <tree headers-visible="false" rules_hint="true">
   <variable>TREE</variable>
   <height>400</height><width>270</width>
   <input>echo "$ICONS"</input>
   <action signal="changed">echo "$TREE" 1>&2</action>
   </tree>
   <button>
    <label>Refresh</label>
    <action>refresh:TREE</action>
   </button>
 </vbox>
</window>' | gtkdialog -sc
User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

Re: gtkdialog problems with GTK3

Post by MochiMoppel »

@fredx181 The <combobox> has been deprecated a long time ago ant it was clearly communicated in Thunor's (?) gtkdialog reference:

This widget has been deprecated since GTK+ 2.4 and comboboxtext or comboboxentry are recommended as replacements.
This widget has been removed from GTK+ 3.

Changing old code to <comboboxtext> shouldn't be that difficult. However what can be a problem is GTK3's total disregard for dimension settings. In GTK3 gtkdialog widgets can't be made smaller than their default width/height and when a widget doesn't fit into the window the window will grow beyond its designated size. Never happened with GTK2. A <comboboxtext> could be made smaller to show only a portion of text, now impossible. Compare the results for this code in GTK2 and GTK3:

Code: Select all

echo '<window width-request="200">
<hbox>
	<text label="type-hints:"></text>
	<comboboxtext width-request="40">
		<item>0 Normal</item>
		<item>6 lines not movable, skip taskbar, layer above</item>
		<item>7 lines not movable, skip taskbar, layer below, sticky</item>
	</comboboxtext>
	<button></button>
</hbox>
</window>'|gtk2dialog -sc



HerrBert wrote: Thu Feb 16, 2023 6:04 pm

There seems to be yet another problem with GTK3 tree widget...
When using <action signal="changed"> for an item and then refreshing the tree runs this action for every item in the tree, not only for the selected as i would expect.

What happens ii difficult to see in your example since the $ICONS variable doesn't change and a refresh doesn't make sense. Nevertheless you are right that there are more problems with <tree>. I made another example. The <action signal="changed">, triggered when the user clicks on an item, runs a gxmessage. When running the script, 2 date entries appear, but nothing should happen as long as the user doesn't click an item. OK in GTK2: nothing happens, However in GTK3 a "changed" signal is already triggered even before the dialog appears. Pushing the "refresh" button is even weirder: triggers 3 "changed" signals (should trigger none), but then consecutive refreshes act normal. Results become unpredictable....

Code: Select all

echo '<window>
 <vbox>
   <tree headers-visible="false">
	   <variable>TREE</variable>
	   <height>200</height><width>100</width>
	   <input>for i in 1 2;do date +%T ;sleep 1;done </input>
	   <action signal="changed">gxmessage -c "signal=\"changed\" TREE=$TREE"</action>
   </tree>
   <button>
	<label>Refresh</label>
	<action>refresh:TREE</action>
   </button>
 </vbox>
</window>' | gtkdialog -sc
HerrBert
Posts: 329
Joined: Mon Jul 13, 2020 6:14 pm
Location: Germany, NRW
Has thanked: 17 times
Been thanked: 110 times

Re: gtkdialog problems with GTK3

Post by HerrBert »

MochiMoppel wrote: Fri Feb 17, 2023 11:33 am

...
What happens ii difficult to see in your example since the $ICONS variable doesn't change and a refresh doesn't make sense.
...

Of course the example doesn't make any sense... :oops:

In GTK2 it echos the first item on startup and just a single blank line when refreshing the tree since there's no item selected by default.

Here's what it looks like in Vanilladpup 9.3.6:

tree-refresh-init.jpg
tree-refresh-init.jpg (55.53 KiB) Viewed 941 times
tree.gif
tree.gif (186.33 KiB) Viewed 941 times

As you can see, the action is run twice for each item in tree.
On first try i didn't even notice that it runs twice...

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: gtkdialog problems with GTK3

Post by step »

MochiMoppel wrote: Thu Feb 16, 2023 1:12 pm

Works both in GTK3 and GTK2, but GTK3 shows another issue: Some icons are bigger than they should be :o

I suspect they could be fixed by adding smaller icons to the default theme. By comparison, a similar issue also affects yad --iconbox --compact (need a recent enough build to see it), which produces dialogs that look very much like the one in your screenshot, oversized icons included.

User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

Re: gtkdialog problems with GTK3

Post by MochiMoppel »

step wrote: Fri Feb 17, 2023 9:53 pm

I suspect they could be fixed by adding smaller icons to the default theme.

Which default theme? They are compiled into GTK and not part of any theme. I checked the GTK sources and in GTK2 and GTK3 the 2 oversized icons are the only ones in the 32x32 directory, but GTK2 manages to scale them down when needed. The failure of GTK3 could be part of its general issue with scaling down objects as seen with its widget resizing problem.

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: gtkdialog problems with GTK3

Post by step »

MochiMoppel wrote: Sat Feb 18, 2023 3:24 am
step wrote: Fri Feb 17, 2023 9:53 pm

I suspect they could be fixed by adding smaller icons to the default theme.

Which default theme? They are compiled into GTK and not part of any theme. I checked the GTK sources and in GTK2 and GTK3 the 2 oversized icons are the only ones in the 32x32 directory, but GTK2 manages to scale them down when needed. The failure of GTK3 could be part of its general issue with scaling down objects as seen with its widget resizing problem.

So in my case the default theme is "Clarity", which I have configured for GTK2 and GTK3. Maybe I should have written "user theme" instead of "default theme". My configuration involves three files:

Code: Select all

.gtkrc.mine:5
gtk-icon-theme-name="Clarity"

.gtkrc-2.0:6
include "/root/.gtkrc.mine"

.config/gtk-3.0/settings.ini:9
gtk-icon-theme-name = Clarity

Compare stock icons between GTK2 (above) and GTK3 in the screenshot below.
I generated the screenshot with this script https://github.com/step-/gtk-stock-icons2.

gtkdialog-20230218.png
gtkdialog-20230218.png (185.53 KiB) Viewed 876 times

The script uses <pixmap icon_size="5"><input file stock="%s"></input></pixmap> for each icon. I admit you asked about the <tree> widget stock icons instead, but perhaps you could still discover something useful by comparison with <pixmap>.

In the screenshot I can see some differences between GTK2 and GTK3. Notably the gtk-dnd stock icon is blue, that is, it's a Clarity icon, which tells me it is possible to change compiled-in stock icons via a theme. Theme Clarity doesn't include a gtk-dnd-multiple icon, so GTK falls back to the built-in icon. Your screenshot showed oversized gtk-dnd and gtk-dnd-multiple icons. In this screenshot I notice that, size-wise, GTK3 built-in stock icons look more balanced with the rest than GTK2 icons. I particularly hate the gtk-go-up/down/back/forward icons. I have tweaked my theme several times and still can't get them to show consistently across all GTK3 apps.(**)

Also notice that GTK3 can't find some icons (red crosses) that the GTK2 engine can find. I can't say why but I'm not surprised given that GTK deprecated stock icons in version 3.10 (2013-09-23 https://en.wikipedia.org/wiki/GTK#cite_note-76).

I used the following two commands. Error output reveals some differences between GTK2 and GTK3.

Code: Select all

GTKDIALOG=gtkdialog_gtk2 /aufs/pup_save/usr/bin/s-gtk-stock-icons2 &
[1] 5471

GTKDIALOG=gtkdialog_gtk3 /aufs/pup_save/usr/bin/s-gtk-stock-icons2 &
[2] 5488

(dialog-information:5488): Gtk-WARNING **: 10:19:46.625: Error loading theme icon 'go-up' for stock: Icon 'go-up' not present in theme Clarity

(dialog-information:5488): Gtk-WARNING **: 10:19:46.626: Error loading theme icon 'go-next' for stock:

(dialog-information:5488): Gtk-WARNING **: 10:19:46.626: Error loading theme icon 'go-down' for stock: Icon 'go-down' not present in theme Clarity

(dialog-information:5488): Gtk-WARNING **: 10:19:46.626: Error loading theme icon 'go-previous' for stock:

(dialog-information:5488): Gtk-WARNING **: 10:19:46.647: Error loading theme icon 'go-home' for stock: Icon 'go-home' not present in theme Clarity

(dialog-information:5488): Gtk-WARNING **: 10:19:46.649: Error loading theme icon 'printer-warning' for stock: Icon 'printer-warning' not present in theme Clarity

(dialog-information:5488): Gtk-WARNING **: 10:19:46.649: Error loading theme icon 'printer-info' for stock: Icon 'printer-info' not present in theme Clarity

(dialog-information:5488): Gtk-WARNING **: 10:19:46.649: Error loading theme icon 'printer-paused' for stock: Icon 'printer-paused' not present in theme Clarity

(**)Aside: I nearly tamed the arrow stock icons for yad_gtk3 by way of symbolic links. I noticed that fredx181 includes those icons in /usr/share/pixmaps of some of his portable scripts. I wonder why, perhaps to counter icon size issues too?

User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

Re: gtkdialog problems with GTK3

Post by MochiMoppel »

HerrBert wrote: Thu Feb 16, 2023 6:04 pm

There seems to be yet another problem with GTK3 tree widget...
When using <action signal="changed"> for an item and then refreshing the tree runs this action for every item in the tree, not only for the selected as i would expect.
Maybe i misunderstood the logic for signal=changed???

No, you didn't.
I came back here to this old thread to lament about this ugly bug. I now noticed that you already described it earlier. Only one correction: The action is not run for every item in the tree, it is rather run for every remaining item (and lastly for the top item when cursor jumps back to top after the refresh). Running a refresh will take much longer when the first item is currently selected compared to a refresh when one of the items at the end of the tree is selected.
Run this demo from a terminal to see that the number of actions changes, depending on currently seleted item:

Code: Select all

#!/bin/sh
# signal="changed"  (or  signal="cursor-changed") fires for every remaining item in tree
echo '<window>
<vbox>
	<tree selected-row="0">
		<variable>TREE</variable>
		<height>200</height><width>100</width>
		<input>for i in 1 2 3 4 5; do echo $i;done</input>
		<action signal="changed">echo $TREE</action>
	</tree>
	<button label="Refresh">
	<action>refresh:TREE</action>
	</button>
</vbox>
</window>' | gtkdialog -sc

Refresh works as expected when using GTK2 version. Change gtkdialog to gtk2dialog

This is a major show-stopper because one of my applications has dozens of tree items and on each "changed" signal a considerable amount of code has to be processed. With GTK3 each refresh would take almost a minute.

HerrBert
Posts: 329
Joined: Mon Jul 13, 2020 6:14 pm
Location: Germany, NRW
Has thanked: 17 times
Been thanked: 110 times

Re: gtkdialog problems with GTK3

Post by HerrBert »

MochiMoppel wrote: Tue Mar 26, 2024 8:57 am

...
Only one correction: The action is not run for every item in the tree, it is rather run for every remaining item (and lastly for the top item when cursor jumps back to top after the refresh). Running a refresh will take much longer when the first item is currently selected compared to a refresh when one of the items at the end of the tree is selected.
...
This is a major show-stopper because one of my applications has dozens of tree items and on each "changed" signal a considerable amount of code has to be processed. With GTK3 each refresh would take almost a minute.

One of my gtkdialog applications has 1705 items in tree ATM :shock: Another one is at about 400 items right now :roll:
I think i don't have to talk about performance in this case :thumbdown:
Works perfectly with gtk2 though ;)

The other party pooper is the adjustment of widgets, especially the pixmap widget that i use to preview images.
IIRC you posted about this issue somewhere else. mmview was affected by this issue too.

ATM my daily driver is not affected by these problems, because gtkdialog is compiled with gtk+2 support for this one.

So many other issues (like aufs vs. overlay) keep me from changing to a more recent Puppy :cry: But that goes OT...

User avatar
fredx181
Posts: 2561
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 274 times
Been thanked: 993 times
Contact:

Re: gtkdialog problems with GTK3

Post by fredx181 »

Anyone has an idea if it would be possible to keep basic GTK2 support for years and years ? (and so also for gtkdialog built with gtk2)

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: gtkdialog problems with GTK3

Post by step »

There was a similar problem in the filechooser widget for gtkdialog_gtk3. I submitted a patch to work around that issue. That patch can't fix the tree widget but perhaps it could inspire someone interested in contributing a fix to Woof-CE. Here's the link to the filechooser widget patch; scroll down to signals.c green line 2102 and following.

User avatar
MochiMoppel
Posts: 1116
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 17 times
Been thanked: 359 times

Re: gtkdialog problems with GTK3

Post by MochiMoppel »

HerrBert wrote: Tue Mar 26, 2024 6:19 pm

The other party pooper is the adjustment of widgets, especially the pixmap widget that i use to preview images.
IIRC you posted about this issue somewhere else. mmview was affected by this issue too.

Hmmm...can't remember. MMview miraculously seems to handle pixmaps as expected but has other problems with GTK3.

There is a work around for the tree issue. Under certain conditions it may be possible to pack the "changed" actions into a separate widget. A kind a function, but unlike a real function execution does not return to the calling widget - so this may prevent repeated bogus "changed" signals:

Code: Select all

#! /bin/bash
echo '<window>
<vbox>
	<tree selected-row="0">
		<variable>TREE</variable>
		<height>200</height><width>100</width>
		<input>for i in 1 2 3 4 5; do echo $i;done</input>
		<action signal="changed">activate:BUT</action>
	</tree>
	<button visible="false">
		<variable>BUT</variable>
		<action>echo $TREE</action>
	</button>
	<button label="Refresh">
		<action>refresh:TREE</action>
	</button>
</vbox>
</window>' | gtkdialog -sc

Works only in simple cases, doesn't work in mine.
I still have to find 1 feature that works better in GTK3 than in GTK2, just 1! No luck so far :cry:

dimkr
Posts: 1907
Joined: Wed Dec 30, 2020 6:14 pm
Has thanked: 36 times
Been thanked: 827 times

Re: gtkdialog problems with GTK3

Post by dimkr »

fredx181 wrote: Tue Mar 26, 2024 7:50 pm

Anyone has an idea if it would be possible to keep basic GTK2 support for years and years ? (and so also for gtkdialog built with gtk2)

GTK+ 2 is dead for many years. Distros are slowly dropping GTK+ 2, mostly because very few applications use it. hexchat is dead, GIMP is switching to GTK+ 3 and Flatpak allows application developers to bundle exotic dependencies with their application, so there's very little reason for distros to package GTK+ 2.

And it doesn't support Wayland, GTK+ 2 "works" under Wayland only thanks to Xwayland - this increases resource consumption and doesn't work perfectly: GTK+ 2 applications don't support fractional scaling, text is rendered differently, they don't support xdg portals, placement (coordinates or layer) is sometimes weird, sometimes they have missing icons when the system uses a modern icon theme, and they don't look the same as other applications.

GTK+ 3 doesn't support fractional scaling either, but at least it supports Wayland natively and many applications still use it.

User avatar
fredx181
Posts: 2561
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 274 times
Been thanked: 993 times
Contact:

Re: gtkdialog problems with GTK3

Post by fredx181 »

dimkr wrote:

... so there's very little reason for distros to package GTK+ 2

One reason to package GTK+ 2 could be to solve the problems above mentioned with the gtkdialog built with GTK3 (good functioning gtkdialog is important for Puppy IMO).
Let's say Puppy developers don't go with the flow (why not :?: ), e.g. keep Xorg instead of switching to Wayland (similar as Puppy avoids systemd, as you can say perhaps) .
Then the "old" gtkdialog (gtk2) can still be used, I guess (so have (basic) GTK2, but of course also GTK3/GTK4).
(but perhaps not realistic in the long term, don't know).
edit: or fix the problems with gtk3 gtkdialog, but that won't be easy, I think)

User avatar
rockedge
Site Admin
Posts: 5716
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1995 times
Been thanked: 2098 times
Contact:

Re: gtkdialog problems with GTK3

Post by rockedge »

Reasons why we keep a gtk2 with a gtkdialog compiled for it onboard both KLV-Airedale and KLV-Spectr variants accessible via a gtk2dialog symlink. Have as default a gtkdialog complied against gtk3, but found that there are plenty of good Puppy Linux utilities that work well but use gtk2. So without having to convert scripts from gtk2-gtkdialog to gtk3-gtkdialog, it's much easier to modify the utility scripts and change the gtkdialog statement to gtk2dialog.

For example for the Samba Simple Managment GUI to continue to use gtk2 swapped on the very last line ->
gtkdialog -c --program=SMBGUI changed to gtk2dialog -c --program=SMBGUI

There will be plenty of machines and people running them that will continue to use Xorg for one reason or another. So the plan is to continue offering KLV distro's that use X11.

There is a really nice KLV-Hyprland from @Sofiya or the KLV-Sway that @wiak put together that are well into Wayland and Hyprland and forging ahead with assembling systems that are cutting edge modern.

dimkr
Posts: 1907
Joined: Wed Dec 30, 2020 6:14 pm
Has thanked: 36 times
Been thanked: 827 times

Re: gtkdialog problems with GTK3

Post by dimkr »

fredx181 wrote: Wed Mar 27, 2024 4:17 pm

e.g. keep Xorg instead of switching to Wayland

Distros are starting to drop X.Org as well, and Red Hat is planning to stop maintaining X.Org (only Xwayland) going forward.

But finding somebody to maintain gtkdialog would be the first step :)

User avatar
fredx181
Posts: 2561
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 274 times
Been thanked: 993 times
Contact:

Re: gtkdialog problems with GTK3

Post by fredx181 »

dimkr wrote: Wed Mar 27, 2024 5:02 pm
fredx181 wrote: Wed Mar 27, 2024 4:17 pm

e.g. keep Xorg instead of switching to Wayland

Distros are starting to drop X.Org as well, and Red Hat is planning to stop maintaining X.Org (only Xwayland) going forward.
...

So your'e saying that for the sake of Puppy it's absolutely required to follow "distros" in this case of GTK ? Some "legacy" things may have a big value.

dimkr
Posts: 1907
Joined: Wed Dec 30, 2020 6:14 pm
Has thanked: 36 times
Been thanked: 827 times

Re: gtkdialog problems with GTK3

Post by dimkr »

It's not "required" to follow what other distros do, you can still use X.Org as long as it works. I have two laptops where it has issues and nobody is fixing them, and it's only going to get worse.

Would you use Puppy if it's stuck with X.Org but all major browsers only support Wayland?

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: gtkdialog problems with GTK3

Post by step »

I cut some sentences; replaying the dialogue:

dimkr wrote:
... so there's very little reason for distros to package GTK+ 2

fredx181 replies:
Let's say Puppy developers don't go with the flow (why not :?: ), e.g. keep Xorg instead of switching to Wayland
edit: or fix the problems with gtk3 gtkdialog, but that won't be easy, I think)

rockedge added:
Reasons why we keep a gtk2 with a gtkdialog compiled for it onboard both KLV-Airedale and KLV-Spectr variants accessible via a gtk2dialog symlink.

dimkr replied to fredx181:
Distros are starting to drop X.Org as well, and Red Hat is planning to stop maintaining X.Org (only Xwayland) going forward.
But finding somebody to maintain gtkdialog would be the first step :)

fredx181 asked dimkr:
So your'e saying that for the sake of Puppy it's absolutely required to follow "distros" in this case of GTK ?

dimkr replied to fredx181:
It's not "required" to follow what other distros do, you can still use X.Org as long as it works.
Would you use Puppy if it's stuck with X.Org but all major browsers only support Wayland?

I find myself in agreement with all points made above. They're not in contrast. Puppy, The Dogs, KLV, Fatdog, etc. need to balance the here-now with a way forward. The exact cut-off time for a specific component in Puppy and others depends primarily on resources then on skills, I believe. No devs (no time, no skill, no interest) no future. We're all doing this for fun, and none of us will live forever. I think BarryK recently wrote that when the aufs developer will retire from aufs support, he will retire from his recent creations (I can't recall his exact phrasing, sorry Barry).

But - to keep this thread on topic, sort of, I want to say something about gtkdialog. In time, our community has accumulated a large collection of rich gtkdialog GUIs that are nearing end-of-life for various reasons. Aside from very simple question dialogs, which can be easily ported to yad and the like if necessary, the gtkdialogs that are still surviving do so either because the author still cares or the author still needs it, not because it's in Puppy community's interest. This is my opinion and I hope it won't offend anyone. So, when faced with some gtk3 incompatibility that prevents porting a script forward, the author is largely on their own, to either fix, work around or get stuck in a specific distro, which isn't a bad thing but it may not appeal to all forum members.

As far as fixing gtkdialog source code, I think it will not receive many updates in the future (again just my opinion). Maybe an occasional bug fixed from time to time because someone who can do, also needs it. But not the kind of debugging and redesign that gtkdialog would need for bug-free gtk3 and gtk4 support, because that requires many, many hours of coding and testing.

Post Reply

Return to “Programming”