Opened 5 years ago

Closed 6 months ago

#11679 closed enhancement (wontfix)

Move lxde to GTK3 (wait for tooltips fix)

Reported by: Pierre Labastie Owned by: blfs-book
Priority: normal Milestone: 99-Waiting
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

It seems that, using --enable-gtk3 options at several places, lxde can be built against GTK+3. This ticket is for showing progress in this direction.

Attachments (1)

lxappearance-obconf-gtk3_preview.patch (23.2 KB ) - added by Joe Locash 2 years ago.

Download all attachments as: .zip

Change History (38)

comment:1 by Pierre Labastie, 5 years ago

See also #11678

comment:2 by Pierre Labastie, 5 years ago

Owner: changed from blfs-book to Pierre Labastie
Status: newassigned

comment:3 by Bruce Dubbs, 5 years ago

Summary: Move lxde to GTK+3Move lxde to GTK3

comment:4 by Pierre Labastie, 5 years ago

lxpanel depends on libwnck and keybinder. There are two flavors of each of those libraries:

  • libwnck-2.x (depends on GTK+-2) and libwnck-3.x (depends on GTK+-2) are both in the book. The latter is needed if --enable-gtk3 is passed to lxpanel.
  • keybinder-0.3.1 (depends on GTK+-2) is in the book, but not keybinder-3.0-0.3.2 (depends on GTK+-3). Yet the latter is needed if --enable-gtk3 is passed to lxpanel. Note that the 3.0 flavor does not have python bindings, so that it does not depend on P2. Since the only package depending on keybinder is lxpanel, I'd be tempted to archive the keybinder page and replace with a keybinder-3.0 page. But maybe the 3.0 page could be added without archiving the former one first (according to the doc, both flavours can be installed alongside). So that lxde can still be built even if the move to GTK+3 is not completed.

comment:5 by Pierre Labastie, 5 years ago

Only tested lxsession for --enable-gtk3. If this flag is passed, several ".vala" files need to be recompiled, but they are not if the files "vala.stamp" exist. So issue "make clean" after configure. I guess this might be true also for other packages I have not tried yet...

comment:6 by Pierre Labastie, 5 years ago

keybinder-3.0 added at r21320

comment:7 by Pierre Labastie, 5 years ago

Time for report: I've built all what is in the book with GTK+3. The only difficulty has been the one identified in comment:5, but now comes testing. The first thing which strikes is that the bottom panel is not drawn in full. This is a known issue: https://sourceforge.net/p/lxde/bugs/773/ I found that if you:

  • right click on the panel to open "panel settings"
  • click on geometry/position/left (or right), then on bottom again

The panel is now displayed in full. Also as stated in the ticket, removing the desktop pager from the applets cures the problem.

The second thing is that the image in gpicview disappears when resizing the window or zooming the image. It is a known issue too: https://sourceforge.net/p/lxde/bugs/769/. The patch at https://sourceforge.net/p/lxde/patches/542/ seems to cure the problem, but maybe not fully, since the ticket is still open.

The third issue is also known (broken preview in lxappearance-obconf): https://sourceforge.net/p/lxde/bugs/768/. It is less annoying, I think. No fix seems to have been disclosed yet.

If I do not find a way to remove those problems, I'll "wontfix" this ticket. But let me search a little more.

comment:8 by Pierre Labastie, 5 years ago

Note that no work seems to have been done on bugs since 2017! The maintainer said somewhere that he hates GTK-3. <rant>Why did we remove LXQt (which works well with recent libraries, and has a nice look and feel) and keep lxde?</rant>

comment:9 by Bruce Dubbs, 5 years ago

I removed lxqt because of the overall maintenance burden. Just having to build qt with all its recommended dependencies is quite time consuming. lxde is much simpler.

comment:10 by Douglas R. Reno, 5 years ago

An interesting footnote:

Looking further ahead, the GTK version of LXDE will be dropped and all efforts will be focused on the Qt port. We, the main developers and administrators of the projects, will try to figure out where we align and where we have differences to grind out.

https://blog.lxde.org/2013/07/22/the-future-of-razor-and-lxde-qt/

I don't know if anything has changed since then, but PCManFM's creator having a serious disdain for GTK+-3 does not bode well for the future of LXDE. I get that it's lightweight, but it's not without its problems. One of those is that it doesn't start a dbus-session by default, as I have to start one myself in a terminal anytime I want to run a test suite for packages that need it (and I use LXDE to run tests for some GNOME components before I get a working GNOME Shell installed). Recent issues such as the LXPanel bug do not bode confidence either IMO. Because Qt5-based DEs start the user-session for dbus-daemon automatically upon startup, I don't have to worry about this. XFCE does it as well, but that goes into Thunar's dependency on GVFS.

https://blog.lxde.org/2013/03/26/pcmanfm-qt-0-1-0-released/

This is just my 0.02c though. As the guy who does GNOME, I will have different opinions than others.

comment:11 by Bruce Dubbs, 5 years ago

It looks to me like lxde-qt has died, although lxde has not. The references to lxde-qt are all dated 2013.

comment:12 by Douglas R. Reno, 5 years ago

LXDE-QT became LXQT. Sorry for the confusion on that.

comment:13 by Pierre Labastie, 5 years ago

Looks like I had almost all the bugs: https://build.opensuse.org/project/show/home:jcsl:LXDE-GTK3, and there is no hope they'll get fixed. So we need gtk2, but this brings in a couple of unmaintained deps (keybinder, libunique, python2 and pygtk, etc). lxde itself will become unmaintained in the near future, I guess.

So we should really put lxqt back (and remove lxde). It can be built with a lightweight Qt (only 4 modules IIRC), only a few kf5 libraries, and one plasma library. How we do that exactly, in order to minimize maintenance burden, I am not sure. Maybe have a page for lightweight Qt (maybe with more modules than just needed for lxqt, perhaps enough for building kf5 modules allowing to run our preferred KDE apps (k3b, kate, konsole), then another page for supplementary modules needed for full plasma and Falkon (this would not introduce more maintenance burden, since we already have two pages for Qt and qtwebengine). The only thing is that we would have two pages for kf5: one for the modules needed for lxqt and preferred KDE apps, and aonther one for full plasma. But if somebody tells me it puts too much maintenance burden, I'll tell her to just drop plasma from the book :)

comment:14 by Pierre Labastie, 5 years ago

Resolution: wontfix
Status: assignedclosed

I have not found fixes for the above bugs. Closing as "wontfix".

comment:15 by Bruce Dubbs, 5 years ago

Milestone: 8.59.0

Milestone renamed

comment:16 by Pierre Labastie, 3 years ago

Milestone: 9.010.1
Resolution: wontfix
Status: closedreopened

Reopening since, according to http://lists.linuxfromscratch.org/pipermail/blfs-dev/2020-September/037663.html, some bugs have been fixed.

comment:17 by Pierre Labastie, 3 years ago

Status: reopenednew

comment:18 by Pierre Labastie, 3 years ago

Status: newassigned

comment:21 by Pierre Labastie, 3 years ago

Thanks bdubbs. A list of the other known bugs: https://wiki.archlinux.org/index.php/LXDE#GTK_3_version.

comment:22 by Pierre Labastie, 3 years ago

Patch for gpicview at http://wiki.linuxfromscratch.org/patches/changeset/4200/ We do not use lxlauncher. There does not seem to be a patch for lx-appearance.

comment:23 by Pierre Labastie, 3 years ago

lxappearance-obconf bug is there, otherwise, everything seems ok. I am running a gtk2-free and moreover python2-free lxde desktop (including lxdm). Summary of modifications:

  • libfm: add --with-gtk=3
  • pcmanfm: add --with-gtk=3
  • lxpanel: use the patch and add --enable-gtk3. This allows to depend on libwcnk-3 and keybinder-3, so keybinder-2 and libwcnk-2 can be removed (or archived)
  • lxappearance: add --enable-gtk3
  • lxsession: remove *.stamps files in the top build directory, and add --enable-gtk3. Remove also dependency on libunique, which is bogus
  • all the applications, including lxdm: add --enable-gtk3. vte2 is not needed and can be removed (archived). Note that the optional dependency of qemu on vte2 is bogus.

comment:24 by Pierre Labastie, 3 years ago

Forgot to say the the gpicview patch is needed in addition to use --enable-gtk3.

comment:25 by Bruce Dubbs, 3 years ago

This looks very encouraging.

comment:26 by Pierre Labastie, 3 years ago

Resolution: wontfix
Status: assignedclosed

It has been decided that the lxappearance-obconf bug is a stopper. Closing as wontfix. We should move to lxqt, but find a way to not build a whole qt5...

by Joe Locash, 2 years ago

comment:27 by Joe Locash, 2 years ago

First, my apologies for reviving a closed ticket but in this case I think it might be warranted.

This ticket was was closed as won't fix because lxappearance-obconf didn't display a preview correctly.

A patch for this issue was reported to the lxde sourceforge list. The initial bug report was https://sourceforge.net/p/lxde/bugs/768/ I've attached the patch I've been using from the reply to that bug report and it fixed the issue. lxde has since migrated to github and a PR for the issue can be found here: https://github.com/lxde/lxappearance-obconf/pull/1

I haven't built lxde against GTK+-2 in over a year.

comment:28 by Bruce Dubbs, 2 years ago

I'm in favor of doing this. The changes in comments 24, 25, and 27 appear to cover everything and removing vte2 and libwnck2 is a good thing. I'll try to test this out in the next couple of days. I have a system that is only through xorg so I can do it without gtk2 on the system.

comment:29 by Bruce Dubbs, 2 years ago

Resolution: wontfix
Status: closedreopened

comment:30 by Bruce Dubbs, 2 years ago

Owner: changed from Pierre Labastie to blfs-book
Status: reopenednew

comment:31 by Bruce Dubbs, 2 years ago

Milestone: 10.111.2

comment:32 by Bruce Dubbs, 2 years ago

I built lxde without gtk2 and almost everything I looked at (not everything) seemed to work. The one problem I saw was when I moused over the panel icons, the tool tips showed up at the top of the page. The panel is across the bottom of the screen. I do not know how to fix that right now.

I do see that libwnck, Vte2, and libunique can be archived.

The patches I used were:

lxappearance-obconf-0.2.3-gtk3-1.patch
lxpanel-0.10.1-gtk3_HiDPI_fix-1.patch
lxpanel-0.10.1-gtk3_fix-1.patch

comment:33 by Tim Tassonis, 2 years ago

Just a question: does this also include pcmanfm? I have never tried a gtk3 build of pcmanfm.

in reply to:  33 comment:34 by Bruce Dubbs, 2 years ago

Replying to Tim Tassonis:

Just a question: does this also include pcmanfm? I have never tried a gtk3 build of pcmanfm.

Yes. It comes up and seems to work, but I don't use file managers so I do not know if all the functions work properly.

./configure --prefix=/usr \
            --with-gtk=3  \
            --sysconfdir=/etc
make 
make install

comment:35 by Bruce Dubbs, 2 years ago

Milestone: 11.299-Waiting
Summary: Move lxde to GTK3Move lxde to GTK3 (wait for tooltips fix)

Moving to waiting until a fix for the tooltips problem is available. Looking for either a new version or a patch.

See: https://github.com/lxde/lxpanel/issues/41

comment:36 by Douglas R. Reno, 8 months ago

This can be closed as overcome by events once #18380 is complete

comment:37 by Bruce Dubbs, 6 months ago

Resolution: wontfix
Status: newclosed

LXDE has been removed from BLFS.

Note: See TracTickets for help on using tickets.