Does not group Microsoft Office 2007 Programs ran by wine

Bug #994123 reported by Dustin Mann
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cairo-Dock Core
Fix Released
Medium
Fabounet

Bug Description

I have Microsoft Office 2007 installed through Wine. I am able to create launchers for Excel and Word, but they open as a wine glass under the name of "wine" instead of being attached to the launcher. Quicken is able to capture the programs because I set the field Class of the program: to "qw.exe" However when I set excel/word class to EXCEL.EXE or EXCEL.EXE, Wine or EXCEL or Microsoft Excel, it continues to fail to capture the program.

I am running Ubuntu 12.04 x64
Using Cairo-dock v. 3.0.0 with OpenGL and Wine 1.4
I use compiz, Gnome, and use fglrx graphics driver from ATI.

Revision history for this message
Fabounet (fabounet03) wrote :

Hi,
let's try to narrow the problem :-)

these launchers, how did you create them ? did you try to drag them from the Applications Menu into the dock ?

what's the command of the launcher ? you can see that in the .conf of the launcher, in ~/.config/cairo-dock/current_theme/launchers (look for the "Exec" field)

the Exec field may be empty if you created it from theApplications Menu , in that case it means the launcher uses the original .desktop file (the one from the Applications Menu); look at the "Origin" field, it's a path to a .desktop, then copy-paste the content here.

did you try to assign a class to the launcher ? (launch Office, then edit the launcher from the dock with right-click, and under "Extra parameters" use the "grab" button; please copy-paste here the class you got).

also, you can try to modify the command to make it easier to understand by the dock (something like "wine notepad.exe" works).

Revision history for this message
Dustin Mann (dustin-mann9) wrote :

I created the launchers two different ways. First I just dragged the menu Item from Applications->Wine->Program Files->Microsoft Office->Excel/Word.
When that didn't work (for the grouping, the launcher worked) I created a custom launcher and manually set the command/name/image.

The command that is used for Excel is "env WINEPREFIX="/home/dustin/.wine" wine C:\\windows\\command\\start.exe /Unix /home/dustin/.wine/dosdevices/c:/users/dustin/Start\ Menu/Programs/Microsoft\ Office/Microsoft\ Office\ Excel\ 2007.lnk"

I tried assigning multiple classes to the launcher such as EXCEL.EXE, excel.exe, EXCEL, "EXCEL.EXE, Wine", etc.

When I used the grab button and clicked on the Excel window, the field is filled with "Wine"

I also tried to set up the command to use only wine ~/.wine/drive_c/Program\ Files/Microsoft\ Office/EXCEL.EXE and received the same results.

Revision history for this message
Matthieu Baerts (matttbe) wrote :

Hello,

Can you launch the dock with this command from a terminal and post here the output messages just after having launched your wine application:
    $ cairo-dock -l debug --colors | sed -n "/cairo_dock_guess_class/ {N;p;}"

Can you also launch this command and then select your wine application:
   $ xprop | grep CLASS

Revision history for this message
Dustin Mann (dustin-mann9) wrote :
Download full text (13.9 KiB)

$ xprop | grep CLASS
WM_CLASS(STRING) = "EXCEL.EXE", "Wine"

$ cairo-dock -l debug --colors | sed -n "/cairo_dock_guess_class/ {N;p;}"

dustin@desktop:~$ cairo-dock -l debug --colors | sed -n "/cairo_dock_guess_class/ {N;p;}"
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (VBoxManage startvm "Win_XP", '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'vboxmanage'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (/home/dustin/workspace/Pandora/gui.jar, 'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'org-eclipse-jdt-internal-jarinjarloader-jarrsrcloader'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class ((null), 'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'org-eclipse-jdt-internal-jarinjarloader-jarrsrcloader'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (empathy, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'empathy'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (thunderbird %u, 'Thunderbird')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'thunderbird'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (gnome-terminal, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'gnome-terminal'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (vncviewer server.local, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'vncviewer'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (/opt/cisco/vpn/bin/vpnui, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'vpnui'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class ((null), 'wine, Microsoft Word')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'wine, microsoft word'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_...

Revision history for this message
Matthieu Baerts (matttbe) wrote :

> debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
> cairo_dock_guess_class ((null), 'wine')
> debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
> -> 'wine'

*@Fabounet*: It receives "wine" and not "Wine" but cCommand == NULL

*@Dustin Mann*: I see that you've a few custom launchers. Can you remove all Wine launchers in the dock and then launch the dock with this command from a terminal:
    $ cairo-dock -l debug --colors 2> /dev/null | sed -n "/cairo_dock_guess_class/ {N;p;}"

Then, launch Excel from the Applications Menu and post all messages produced in the terminal.
Thx

Revision history for this message
Dustin Mann (dustin-mann9) wrote :

dustin@desktop:~$ cairo-dock -l debug --colors 2> /dev/null | sed -n "/cairo_dock_guess_class/ {N;p;}"
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (empathy, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'empathy'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (thunderbird %u, 'Thunderbird')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'thunderbird'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (gnome-terminal, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'gnome-terminal'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (/opt/google/chrome/google-chrome %U, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'google-chrome'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class (eclipse, '(null)')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'eclipse'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class ((null), 'gedit')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'gedit'
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1654)
  cairo_dock_guess_class ((null), 'wine')
debug : (/build/buildd/cairo-dock-3.0.0.1/src/gldit/cairo-dock-class-manager.c:cairo_dock_guess_class:1766)
   -> 'wine'

Revision history for this message
Matthieu Baerts (matttbe) wrote :

Thank you. So it's confirmed: It receives "wine" and not "Wine" but cCommand == NULL

*@ fabounet*: I guess we can add an exception for wine (and gksu, etc.) in cairo_dock_register_class_full too. But at this time, it doesn't know what's the value of cCommand.

Changed in cairo-dock-core:
status: New → Confirmed
assignee: nobody → Fabounet (fabounet03)
Revision history for this message
Fabounet (fabounet03) wrote :

thanks for all the details.
after reading your outputs and the code, I think the problem is that the dock checks for ".exe" files, and not ".EXE"

I'm going to fix this tonight, but meanwhile you can already try this:
rename the file EXCEL.EXE with excel.exe, and pass the modification anywhere it's needed (notably in the command of the launcher).
the class should be set to "excel" manually (grabbing the window won't work, I'm also going to fix this).

Fabounet (fabounet03)
Changed in cairo-dock-core:
status: Confirmed → In Progress
importance: Undecided → Medium
Revision history for this message
Dustin Mann (dustin-mann9) wrote :

Your suggested workaround of renaming "EXCEL.EXE" to "EXCEL.exe" works just fine. The dock is able to capture the windows as I wanted. The launcher requires you to manually set the window to grab to be "EXCEL.exe" as well.

Revision history for this message
Fabounet (fabounet03) wrote :

the code has been patched to handle this case correctly.
normally, this should now work with "EXCEL.EXE" too.

Changed in cairo-dock-core:
status: In Progress → Fix Committed
Changed in cairo-dock-core:
milestone: none → 3.0.1
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.