! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Switch to libwnck and remove netk from libxfcegui4
Status:
RESOLVED: FIXED
Product:
Xfce4-session
Component:
General

Comments

Description Nick Schermer editbugs 2007-08-22 16:51:35 CEST
A bug report to coordinate the switch to libwnck. I've Cc-ed all the people that own code that needs to be changed.
Comment 1 Nick Schermer editbugs 2007-08-22 16:55:56 CEST
Created attachment 1323 
Wnck patch for Xfdesktop

This patch replaces all the netk code. The only problem is that wnck_screen_get_number is supported since 2.20, so need a way to detect if this function is available. I've #if 0 code to test it...
Comment 2 Nick Schermer editbugs 2007-08-22 16:59:19 CEST
Created attachment 1324 
Xfwm4 patch (only settings manager)

This patch makes the settings manager code work with wnck.
Comment 3 Nick Schermer editbugs 2007-08-22 17:03:02 CEST
Created attachment 1325 
Xfce4 Session

Patch for xfce4-session.
Comment 4 Nick Schermer editbugs 2007-08-22 17:14:46 CEST
Created attachment 1326 
Xfce4 panel patch.

The only problem is that wnck does not support show/hide label, so this code has been disabled for now (in tasklist). Other thing is that wnck expands all buttons, so with 1 task the entire taskbar is used; not really Xfce style and we might want to remove the 'hide handle' option (trunk only) because of this behaviour.

Other thing is that some options in tasklists right-click menu don't respond, it looks like this is a problem in xfwm4 since other window manager work fine (according to Stephan).

(thanks to Stephan for most of this patch btw.)
Comment 5 Nick Schermer editbugs 2007-08-22 17:38:53 CEST
Created attachment 1327 
Libxfcegui4 without netk and xfce_clock

This patch together with removing the following files:

libxfcegui4/xfce_clock.*, libxfcegui4/netk-*, libxfcegui4/libnetk.h, libxfcegui4/default_icon.png

Will cleanup all the netk parts and XfceClock (which has been moved to the panel plugin).

I'm not really sure about the verinfo number, we can also only set AGE to 0 or CURRENT++ with REVISION = 0. Depends if we want to bump the number again with a release...

Only problem is netk-trayicon, which is only used by xfce-mcs-plugins (mouse plugin), we can port this to GtkStatusIcon but then the Gtk version needs to be bumped to 2.10 or leave this code in gui4 of course ;).
Comment 6 Nick Schermer editbugs 2007-08-22 21:33:03 CEST
Created attachment 1329 
Xfce-mcs-plugins without netk and improved extension detection

This patch removes the netk code from the mouse plugin and replaces it by a GtkStatusIcon. You can now click the icon which will open the mouse dialog in the accessibility tab (seems useful to me), also icon from icon theme instead of the embedded xpm. Gtk bump to 2.10.

I've also changed the detection of the X extensions, because none of them was detected on my laptop. AC_CHECK_LIB seems to be a better way to to check for this kinda stuff.
Comment 7 Nick Schermer editbugs 2007-08-22 21:34:14 CEST
'Xfce-mcs-plugins without mcs' should be 'Xfce-mcs-plugins without netk' ^_^.
Comment 8 Brian J. Tarricone (not reading bugmail) 2007-08-23 02:50:24 CEST
Nick, this bug is too big in scope.  Let's just deal with libnetk - don't let XfceTrayIcon or XfceClock patches creep in here.

Did we decide that Xfce 4.6 will depend on gtk 2.10?  If not, the GtkStatusIcon patches can't be merged.

What are you doing with the mouse plugin and a status icon, and why is that patch here?

*Please*, only netk/wnck-related stuff here.

Regarding the xfdesktop patch, missing wnck_screen_get_number() is a showstopper for me.  Without it, we can't place menus on the proper screen.  I guess that can be worked around by getting the icon view widget from the XfdesktopIcon, and then getting the screen from that, but I'm not particularly happy with it.
Comment 9 Nick Schermer editbugs 2007-08-23 08:18:31 CEST
Created attachment 1330 
Wnck patch for Xfdesktop v2

This patch adds a check for wnck_screen_get_number and fallsback on the icon view widget screen.
Comment 10 Nick Schermer editbugs 2007-08-23 08:30:18 CEST
(In reply to comment #8)
> Nick, this bug is too big in scope.  Let's just deal with libnetk - don't let
> XfceTrayIcon or XfceClock patches creep in here.

Well tray icon was called netk-trayicon, so after I removed it I discovered it was only used by the mouse plugin and because the whole idea of dropping netk because of a maintenance problem, why leave the tray icon code when gtk has a replacement. XfceClock is just 3 lines in the patch.

(In reply to comment #8)
> Did we decide that Xfce 4.6 will depend on gtk 2.10?  If not, the tkStatusIcon
> patches can't be merged.

No, we have not decided yet, but that will most likely take ages...

(In reply to comment #8)
> What are you doing with the mouse plugin and a status icon, and why is that
> patch here?

Remove the status icon code and make compilation work. But I agree, that patch is a bit overkill for the wnck switch, will be moved to a new bug.

Comment 11 Nick Schermer editbugs 2007-08-23 08:38:33 CEST
Comment on attachment 1329 
Xfce-mcs-plugins without netk and improved extension detection

Obsolute patch and move to bug #3489.
Comment 12 Stephan Arts editbugs 2007-08-23 09:12:05 CEST
(In reply to comment #10)
> (In reply to comment #8)
> > Did we decide that Xfce 4.6 will depend on gtk 2.10?  If not, the tkStatusIcon
> > patches can't be merged.
> 
> No, we have not decided yet, but that will most likely take ages...

Afaik, Thunar will depend on 2.10, your mousepad branch does, when squeeze and ristretto hit 1.0, they will depend on gtk 2.10 (both for recent-document-support and printing for ristretto).

However, iirc Olivier prefers to depend on 2.8 for the core components.
Comment 13 Stephan Arts editbugs 2007-08-23 09:17:43 CEST
(In reply to comment #12)
> (In reply to comment #10)
> > (In reply to comment #8)
> > > Did we decide that Xfce 4.6 will depend on gtk 2.10?  If not, the tkStatusIcon
> > > patches can't be merged.
> > 
> > No, we have not decided yet, but that will most likely take ages...
> 
> Afaik, Thunar will depend on 2.10, your mousepad branch does, when squeeze and
> ristretto hit 1.0, they will depend on gtk 2.10 (both for
> recent-document-support and printing for ristretto).
> 
> However, iirc Olivier prefers to depend on 2.8 for the core components.
> 

Which is fine with me, but why don't we discuss the gtk-dep too?

I mean, like Nick said, we are trying to reduce the maintenance of xfce. And when 4.6 hits BETA most distro's have switched to 2.12*, and even Debian lenny is equipped with 2.10.

* Ubuntu and SuSE are working on getting their repo's to run with 2.11 already, we have already received several bugreports from them ourselves.
Comment 14 Olivier Fourdan editbugs 2007-09-15 09:21:06 CEST
I do believe that we should merge what we have in trunk (trunk is made for developpment, these patches do work and we already decided that was the way to go anyway).

If that means depending on gtk+2.10, then so be it. But I really think we should get the libwnck bits merged into trunk.
Comment 15 Olivier Fourdan editbugs 2007-09-15 09:34:04 CEST
BTW xfce4-panel patch doesn't apply because there is no plugins/systray/systray.c  in SVN trunk:

http://svn.xfce.org/listing.php?repname=xfce4&path=%2Fxfce4-panel%2Ftrunk%2Fplugins%2Fsystray%2F&rev=0&sc=0#/xfce4-panel/trunk/plugins/systray/
Comment 16 Nick Schermer editbugs 2007-09-16 08:00:21 CEST
The Gtk 2.10 dependency is not _really_ needed, only if we drop our own status icon code and use GtkStatusIcon. Which is only used by xfce-mcs-plugin only atm.
Comment 17 Nick Schermer editbugs 2007-09-16 08:05:07 CEST
Created attachment 1363 
Xfce4 panel patch v2

Updated panel patch. This one doesn't stretch the tasklist buttons, but makes them look like the old one. The width option doesn't work perfect yet.
Comment 18 Nick Schermer editbugs 2007-10-01 08:48:09 CEST
Created attachment 1379 
Xfce4 panel patch v3

New patch against xfce4-panel trunk. Also fix a bug in the windowlist.
Comment 19 Jasper Huijsmans editbugs 2007-10-01 19:38:01 CEST
(In reply to comment #18)
> Created an attachment (id=1379) [details]
> Xfce4 panel patch v3
> 
> New patch against xfce4-panel trunk. Also fix a bug in the windowlist.
> 

Ok, let's just make the switch and make the panel our guinea pig for using libwnck. If we can get it to work for the panel, it should work for everyone else, I guess.
Comment 20 Nick Schermer editbugs 2007-12-17 10:09:29 CET
Created attachment 1472 
Wnck patch for Xfdesktop v3

Updated the patch for xfdesktop. It fixes the issue with an empty window list on the first middle click on desktop (wnck_screen_force_update). And removed the 2.20 check, since that piece of code has been changed (xfdesktop_window_icon_populate_context_menu).

Libxfcegui4 and panel patch have also been obsoleted since they are not needed or already applied.
Comment 21 Nick Schermer editbugs 2007-12-17 10:13:19 CET
Created attachment 1473 
Wnck patch for Xfdesktop v3.1

Sorry, was not the lastest patch from my trunk.
Comment 22 Brian J. Tarricone (not reading bugmail) 2007-12-17 19:17:44 CET
Nick, can you filter whitespace changes out of your patch (I think -b option to diff will do that)?  I don't really want to commit ws changes, and they make reading the patch kinda annoying.
Comment 23 Nick Schermer editbugs 2007-12-17 19:23:30 CET
Created attachment 1476 
Patch 3.1 without white spaces

There you go (FYI: svn diff -x -w).
Comment 24 Brian J. Tarricone (not reading bugmail) 2008-04-26 15:42:51 CEST
This is long overdue, but finally committed the xfdesktop patch, with some minor changes.
Comment 25 Nick Schermer editbugs 2008-06-03 11:18:07 CEST
Olivier also committed the patch, so only xfce4-session has not switched. Assigning the bug to Benny, also set the bug as blocking 4.6.
Comment 26 Stephan Arts editbugs 2008-06-03 17:48:05 CEST
I committed the patch for xfce4-session.
Comment 27 Nick Schermer editbugs 2008-06-03 21:06:55 CEST
Then we're done with this bug.

Bug #3487

Reported by:
Nick Schermer
Reported on: 2007-08-22
Last modified on: 2009-07-14

People

Assignee:
Benedikt Meurer
CC List:
6 users

Version

Attachments

Wnck patch for Xfdesktop (27.76 KB, patch)
2007-08-22 16:55 CEST , Nick Schermer
no flags
Xfwm4 patch (only settings manager) (5.61 KB, patch)
2007-08-22 16:59 CEST , Nick Schermer
no flags
Xfce4 Session (4.63 KB, patch)
2007-08-22 17:03 CEST , Nick Schermer
no flags
Xfce4 panel patch. (55.77 KB, patch)
2007-08-22 17:14 CEST , Nick Schermer
no flags
Libxfcegui4 without netk and xfce_clock (7.48 KB, patch)
2007-08-22 17:38 CEST , Nick Schermer
no flags
Xfce-mcs-plugins without netk and improved extension detection (25.56 KB, patch)
2007-08-22 21:33 CEST , Nick Schermer
no flags
Wnck patch for Xfdesktop v2 (28.40 KB, patch)
2007-08-23 08:18 CEST , Nick Schermer
no flags
Xfce4 panel patch v2 (56.25 KB, patch)
2007-09-16 08:05 CEST , Nick Schermer
no flags
Xfce4 panel patch v3 (66.43 KB, patch)
2007-10-01 08:48 CEST , Nick Schermer
no flags
Wnck patch for Xfdesktop v3 (43.10 KB, patch)
2007-12-17 10:09 CET , Nick Schermer
no flags
Wnck patch for Xfdesktop v3.1 (43.08 KB, patch)
2007-12-17 10:13 CET , Nick Schermer
no flags
Patch 3.1 without white spaces (27.34 KB, patch)
2007-12-17 19:23 CET , Nick Schermer
no flags

Additional information