Issue 111377 - All OpenOffice applications use the same WM_CLASS(STRING)
Summary: All OpenOffice applications use the same WM_CLASS(STRING)
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: OOO310m19
Hardware: Unknown Linux, all
: P3 Trivial (vote)
Target Milestone: ---
Assignee: carsten.driesner
QA Contact: issues@framework
URL:
Keywords:
: 17631 (view as issue list)
Depends on:
Blocks: 97765
  Show dependency tree
 
Reported: 2010-05-05 00:57 UTC by franksuse64
Modified: 2017-05-20 10:30 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description franksuse64 2010-05-05 00:57:06 UTC
Not sure this is part of the API, plz re-assign if I am mistaken.

If we take Ooo 3.1, all OpenOffice applications (writer, calc, etc.) use the
same WM_CLASS(STRING) = "VCLSalFrame.DocumentWindow", "OpenOffice.org 3.1".

This causes an issue when we want to use this CLASS to control specific
behaviors inside other applications for Ooo. For example if we want Compiz to
force position, etc. independently of each Ooo application, it won't work.

The best example is with Cairo-Dock, a dock utility for Linux. If you have all
of your Ooo applications set as launchers in the dock and you launch one of
them, the icons' behaviors will all the be same at the same time, though only
one of the Ooo application is opened. If you launch Writer, the Writer and Calc
and Draw etc. icons will animate altogether, though only Writer has been launched.

This removes developers and users the flexibility to apply different type of
controls to Ooo applications.
Comment 1 jsc 2010-05-05 06:36:09 UTC
jsc -> cd: do you have an opinion to this issue?
Comment 2 philipp.lohmann 2010-05-05 10:03:34 UTC
confirm
Comment 3 philipp.lohmann 2010-05-05 10:05:56 UTC
Changing this would be easy (broadening either the SetExtendedStyle Window
method, or add another interface) if framework could tell us a mor specific
type. However there are Applications out there that rely on the current string.
Comment 4 franksuse64 2010-05-05 13:02:46 UTC
So if I understand, some applications require that the window CLASS be the same
(they currently rely on this), but some others, like Cairo-Dock, would need the
CLASS to be different?

That's not an easy decision then. :) I will try to see with Cairo-Dock's
developers if they could use something else than the CLASS, if it's different in
Ooo (for example, maybe the ROLE is different between all Ooo applications).
Comment 5 caolanm 2010-06-03 15:57:48 UTC
*** Issue 17631 has been marked as a duplicate of this issue. ***
Comment 6 colinwalters 2010-06-03 16:02:03 UTC
See also http://live.gnome.org/GnomeShell/ApplicationBased
Comment 7 colinwalters 2010-06-03 16:02:57 UTC
Note if changing the WM_CLASS is infeasible, I'd be fine with adding a new
property too.
Comment 8 caolanm 2010-06-03 16:04:22 UTC
IIRC orca was one of the reasons we needed a consistent name. Or was it merely a
consistent *string*, i.e. the presence of VCLSalFrame in there might be
sufficient. Leaving VCLSalFrame, or VCLSalFrame.DocumentWindow.Presentation open
for use.

Does anyone remember where ".DocumentWindow" came from, i.e. mysterious issue 53630
Comment 9 franksuse64 2010-06-16 00:40:15 UTC
Well, it seems the Cairo-Dock developers can't work around it using a property.
They would need 4 different classes for the 4 Ooo applications.

Not sure if that would impact some other applications like IIRC orca.
Comment 10 drichard 2010-11-04 18:41:18 UTC
avant-window-navigator is having problems too because of WM_CLASS being
identical on all modules.  If you have a Writer and Calc shortcut on your panel
and open documents it doesn't know which icon to place the triangle symbol under.

If this doesn't break anything, this change would be greatly appreciated.
Comment 11 franksuse64 2011-05-15 00:31:38 UTC
Well we can close this!

LibreOffice now uses the name of the application in the CLASS!

'libreoffice-calc', 'libreoffice-writer', etc...

AWESOME! :)

tnx