[L2Ork-dev] question about qjackctl explicitly setting the wm class name

Ivica Ico Bukvic ico at vt.edu
Fri Nov 30 15:22:43 UTC 2012


This one is a bit convoluted so please stick with me while I try to explain.

The problem manifests itself on Ubuntu using Unity (I know, I know, some 
will claim they don't care about it and I fully appreciate that, but I 
am not entirely sure this is about Unity).

As I've learned by working on pd-l2ork, it appears that Unity assigns 
windows under the appropriate icon based on window class name (at least 
that is how tcl/tk calls it). If no class name is specified, Unity gives 
window class name based on the name of the shortcut that started the app 
(.desktop file) and herein lies the problem.

While typically .desktop files will have the same name as the app, and 
starting them as such will not  be a problem, I have a a shell script 
built for L2Ork participants that appears as a desktop shortcut. 
Double-clicking on the shortcut starts the bash script that detects 
whether qjackctl is already running and if not starts it, then it starts 
pd-l2ork and uses optional argument to open the right piece. Since I 
made pd-l2ork explicitly set its own window class using the following 

toplevel $window -class <name>

all pd-l2ork windows appear under the icon that I pinned on the Unity 
launcher. The important thing is this was not the case until I 
explicitly set the window class name. Before I did this, it would appear 
under the name of the .desktop file name since Unity did not find any 
other explicit information on the program, resulting in a new question 
mark icon that appears on the launcher and program window(s) being 
pegged under this new icon. On the other hand, since qjackctl does not 
explicitly set its window class name, it continues to (mis)behave like 
pd-l2ork used to prior to explicitly setting its window class names. 
Namely, when I click on the shortcut in Unity launcher/menu, its newly 
spawned window is pegged under qjackctl icon (as it should). However, 
when I run qjackctl through the script, it is pegged under the new 
question marked icon bearing the name of the .desktop shortcut.

So, here's the question that's been bugging me: is there a way to 
explicitly set the window class name in qt as is the case with tcl/tk 
(FWIW, I would be seriously surprised if one couldn't since I consider 
qt far superior to tcl/tk) and if so, would it be possible to add this 
to the future releases of qjackctl?

Another completely unrelated qjackctl wishlist question is would it be 
possible to disable popping up message window and the pop-up error 
window in the event the qjackctl does not connect successfully connect 
to jackd via a preferences option as it can be quite annoying for new 
users to click through those two windows every time attempted start of 
jackd fails...

Many thanks!

Ivica Ico Bukvic, D.M.A
Composition, Music Technology
Director, DISIS Interactive Sound & Intermedia Studio
Director, L2Ork Linux Laptop Orchestra
Head, ICAT IMPACT Studio
Virginia Tech
Department of Music
Blacksburg, VA 24061-0240
(540) 231-6139
(540) 231-5034 (fax)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://disis.music.vt.edu/pipermail/l2ork-dev/attachments/20121130/f5b69a49/attachment-0001.html>

More information about the L2Ork-dev mailing list