You are not logged in.
So I compiled this wonderful plugin, the source of which I got from the official git repository. It works just fine, except that it crashes when trying to show desktop title. I had to disable this feature but I'd really like to have it enabled.
Anyone else had the same issue? How did you get around?
It looks like it might be Thunar that's causing this.
Xubuntu 20.04.3 LTS
Xfce 4.14
thunar 1.8.14
There is an open issue: https://github.com/cedl38/xfce4-windowc … /issues/63
Last edited by KBar (2022-06-08 19:10:15)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Hmm - works here for me on my test xubuntu 20.04 system. How did you build the plugin? Which configure/autogen.sh parameters did you use?
Edit: where did the libwindowck.so file end up? You need to also pass "--libdir=/usr/lib/$(uname -m)-linux-gnu" so that it can find the library file. Debian/xubuntu use a multiarch library process that splits 32 and 64 bit library locations.
Last edited by ToZ (2021-11-12 15:25:28)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Hmm - works here for me on my test xubuntu 20.04 system. How did you build the plugin? Which configure/autogen.sh parameters did you use?
./autogen.sh --prefix=/usr
Edit: where did the libwindowck.so file end up? You need to also pass "--libdir=/usr/lib/$(uname -m)-linux-gnu" so that it can find the library file. Debian/xubuntu use a multiarch library process that splits 32 and 64 bit library locations.
Pathname: /usr/lib/xfce4/panel/plugins/libwindowck.so
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Try with:
./autogen.sh --prefix=/usr --libdir=/usr/lib/$(uname -m)-linux-gnu
Edit: /etc/ld.conf.so.d/*-linux.gnu.conf to see where library files are searched for. It does not include /usr/lib.
Last edited by ToZ (2021-11-12 15:41:50)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Hmm, now it's stuck at "./themerc does not exist". no themerc in themes/windowck/xfwm4/
Edit: I just added it manually.
It is still refusing to show up on desktop. syslog: https://pastebin.ubuntu.com/p/xM2yWzmmJK/
Last edited by KBar (2021-11-12 17:10:43)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Strange. It's segfaulting. Mine isn't. How many libwindowck.so and libwckbuttons.so files do you have on your system? Maybe something left over from your previous attempts is interfering?
Also, does "coredumpctl --no-pager" list the plugin or xfce4-panel near the end of the list? If so perhaps:
coredumpctl info <PID>
...where <PID> is the pid shown in the listing above, show anything of importance?
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
You're absolutely right! There were a couple of shared objects left in that directory. May they be purged!
I'll try compiling it anew tomorrow.
Thanks a lot!
Last edited by KBar (2021-11-12 20:34:09)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Unfortunately, recompiling didn't yield anything meaningful.
Also, does "coredumpctl --no-pager" list the plugin or xfce4-panel near the end of the list?
...where <PID> is the pid shown in the listing above, show anything of importance?
Yes!
TIME PID UID GID SIG COREFILE EXE
Sat 2021-11-13 02:38:20 +05 1512 1000 1000 11 present /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0
Sat 2021-11-13 02:38:20 +05 1549 1000 1000 11 present /usr/lib/x86_64-linux-gnu/xfce4/panel/wrapper-2.0
Syslog: https://paste.ubuntu.com/p/hhr6HHmbGw/
Actually, this wrapper has been crashing since a couple of months ago.
Last edited by KBar (2021-11-12 21:47:37)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
coredumpctl info 1549 --no-pager
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
coredumpctl info 1549 --no-pager
Whoops, sorry. Here it is: https://paste.ubuntu.com/p/xnYjFfdswZ/
And the previous two: for PID 1512 https://paste.ubuntu.com/p/sSkBM22hvP/ and for PID 1549 https://paste.ubuntu.com/p/ff8rZJtdqF/
I think it's because I have gtk3-nocsd. Let me re-enable CSDs.
Nope, didn't help.
Last edited by KBar (2021-11-12 22:13:44)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Those pastes require login. Can you either configure for open access of post elsewhere?
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
PID 1512: https://pastebin.com/je4eXd13
PID 1549: https://pastebin.com/TxVcscjr
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Can you post a screenshot of the plugin properties page?
Edit: I think we are using different versions. I'm using the one directly from the main Xfce gitlab page. I think you may be using the one from https://github.com/cedl38/xfce4-windowck-plugin. The Xfce one doesn't have a "show title" option and cedl38 is no longer working on the other respository.
Edit2: If you are looking for a way to get the title of the currently active window in the panel, try this: install xfce4-genmon-plugin and xdotool. Add the Generic Monitor plugin to the panel and set the following config parameters:
- Command = xdotool getactivewindow getwindowname
- Label = <unchecked>
- Period = 0.25 (adjust to suit)
- Font = <your choice>
Last edited by ToZ (2021-11-13 13:09:02)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Can you post a screenshot of the plugin properties page?
Edit: I think we are using different versions. I'm using the one directly from the main Xfce gitlab page. I think you may be using the one from https://github.com/cedl38/xfce4-windowck-plugin. The Xfce one doesn't have a "show title" option and cedl38 is no longer working on the other respository.
Yep. I cloned it right from the official git repository, master branch, and it comes with this option.
Edit2: If you are looking for a way to get the title of the currently active window in the panel, try this: install xfce4-genmon-plugin and xdotool. Add the Generic Monitor plugin to the panel and set the following config parameters:
- Command = xdotool getactivewindow getwindowname
- Label = <unchecked>
- Period = 0.25 (adjust to suit)
- Font = <your choice>
Awesome! Let me try this and check back in.
Thanks!
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
I built a deb package from source following the guidelines inside a virtual machine, installed it on Xubuntu Jammy on another virtual machine and the "Show on desktop" option still crashed the plugin.
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
I don't have a jammy system available, but I just tested it on impish and it works. Let me see if I can fire up a jammy system.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
Hi, ToZ.
Having learnt a lot more things, I decided to come back to this issue and dissect the code. I have been running the plug-in in gdb. It still segfaults from time to time but the interesting part is that it doesn't "recognize" the desktop window. The problematic part is in wck-utils.c:track_controled_window:
else if (win->activewindow
&& (!win->activeworkspace
|| wnck_window_is_in_viewport(win->activewindow, win->activeworkspace))
&& !wnck_window_is_minimized(win->activewindow)
&& !wnck_window_is_sticky(win->activewindow))
{
win->controlwindow = win->activewindow;
}
This statement never evaluates to true, hence controlwindow isn't set to activewindow, hence the title is never updated (which is done later). From the gdb session:
144 else if (win->activewindow
1: (win->activewindow) = 0x555c62c74100
(gdb)
155 wck_signal_handler_disconnect (G_OBJECT(previous_umax), win->msh);
1: (win->activewindow) = 0x555c62c74100
(gdb) p *win
$47 = {activescreen = 0x555c62a41360, activeworkspace = 0x555c629c4d70,
controlwindow = 0x555c62c74220, activewindow = 0x555c62c74100,
umaxwindow = 0x0, msh = 0, ash = 3260, mwh = 0, sah = 1680,
sch = 120, soh = 121, svh = 1681, swh = 1682, only_maximized = 0,
data = 0x555c629ee760}
Here, activewindow = 0x555c62c74100 is Desktop, controlwindow = 0x555c62c74220 is a terminal window. The program jumps straight from 144 to 155 (the else if statement evaluated to zero) and controlwindow isn't correctly set to the currently active window. I think the problem might be in wnck_window_is_in_viewport, though I'm not sure.
I will open a new issue and maybe the developers can look into it more closely.
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
And indeed! I have just manually set the win->controlwindow variable to win->activewindow from within the gdb session and voila! The correct title (i.e. Desktop) appeared. This bug might also be the cause of segfaults.
Edit: Issue opened and patch attached.
When it comes to segfaults, I think I found the culprit. As soon as active window is set to root window (0x0 = null pointer), the plug-in crashes. show_on_desktop should be enabled (Show the plugin on desktop), only_maximized should be disabled (Control active windows). I will try to catch xprop's output with timestamps and compare them both. Until tomorrow!
For now, could you please confirm this behavior?
xprop -spy -root _NET_ACTIVE_WINDOW
Is it sometimes set to 0x0, 0x0 in your case and does it affect the windowck-plugin? You're going to have to switch between a couple of windows and it will, hopefully, "glitch" out.
Last edited by KBar (2022-06-07 17:51:46)
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
This merge request fixes both issues.
This one puzzle is finally solved!
Remember to edit the subject of your topic to include the [SOLVED] tag once you're satisfied with the answers or have found a solution (in which case, don't forget to share it as well), so that other members of the community can quickly refer to it and save their time. Pretty please!
Offline
Good work! Thanks for the contribution.
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
[ Generated in 0.012 seconds, 7 queries executed - Memory usage: 658.66 KiB (Peak: 691.5 KiB) ]