You are not logged in.
Pages: 1


Mageia 10 32-bit xfce
Given the poor specs of my Sony Vaio VGN-P588E, I was getting serious cpu spikes when typing and using the mouse in Wine.
In winecfg, I chose "virtual desktop," set the resolution accordingly, and the spikes stopped.
The slight rub: apparently, virtual desktop uses an Explorer shell, meaning that a launched program under it (eg Word 97) produces the default wineglass icon (apparently hardcoded in explorer.exe) in the status bar.
Googling tells me to simply build a Word 97 launcher with "icon=" pointing to a Word xpm icon. That does not work, the default wineglass icon is still used.
I'm guessing this is unsolvable, but I wanted to check with veterans.
Last edited by jakfish (2026-09-15 19:38:56)
Offline


I don't think its natively possible because the explorer shell is what is exposed to Xfce. However, a script such as this one will work because it changes the explorer shell icon after it starts. You need xseticon installed and you'll need to configure the top part of the script to match your requirements.
Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline


Hi, ToZ, thanks for weighing in and I hope this finds you well.
I use xseticon for other small apps, so I had tried to use it with virtual desktop/Word 97. Still defaults to explorer wineglass icon.
I put in a long wait period and for testing, I use a .png that I know works with xseticon. I've tried putting wine both in and out of the double quotes:
#!/bin/bash
### EDIT THESE VALUES #########################################################
APP=wine "/home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE"
ICON="/home/jake/Scripts_Icons/bubbles.png"
WAIT=15
###############################################################################
###############################################################################
### DON'T CHANGE ANYTHING BELOW
###############################################################################
function change-panel-icon {
sleep $WAIT
activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
activeWinId="${activeWinLine:40}"
xseticon -id "$activeWinId" "$ICON"
}
$APP & change-panel-iconLast edited by jakfish (2026-09-11 13:27:23)
Offline


Put wine back inside the quotes.
Then run this script manually in a terminal window like this (bash debug enabled):
bash -x /path/to/script...and post back the output.
Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline


This output is from running "wine /home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE" in the xseticon script:
[jake@localhost ~]$ bash -x /home/jake/Scripts_Icons/word97
+ APP='wine /home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE'
+ ICON=/home/jake/Scripts_Icons/bubbles.png
+ WAIT=15
+ change-panel-icon
+ sleep 15
+ wine /home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE
/usr/bin/wineserver:: Number of arguments is unusual! Continuimg ...
00ec:fixme:wineusb:add_usb_device Interface 1 has 5 alternate settings; using the first one.
00ec:fixme:wineusb:add_usb_device Interface 0 has 2 alternate settings; using the first one.
00ec:fixme:wineusb:add_usb_device Interface 1 has 6 alternate settings; using the first one.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
0074:fixme:event:X11DRV_ConfigureNotify synthetic event mapping not implemented
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
0074:fixme:event:X11DRV_ConfigureNotify synthetic event mapping not implemented
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b4:fixme:wineusb:query_id Unhandled ID query type 0x5.
wine: failed to open "/home/jake/.wine/drive_c/Program"
++ xprop -root
++ grep '_NET_ACTIVE_WINDOW(WINDOW)'
+ activeWinLine='_NET_ACTIVE_WINDOW(WINDOW): window id # 0xd001b1, 0x0'
+ activeWinId='0xd001b1, 0x0'
+ xseticon -id '0xd001b1, 0x0' /home/jake/Scripts_Icons/bubbles.pngOffline


Weird workaround:
#!/bin/bash
### EDIT THESE VALUES #########################################################
APP="/home/jake/Scripts_icons/word97_2"
ICON="/home/jake/Scripts_Icons/msword.png"
WAIT=15
###############################################################################
###############################################################################
### DON'T CHANGE ANYTHING BELOW
###############################################################################
function change-panel-icon {
sleep $WAIT
activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
activeWinId="${activeWinLine:40}"
xseticon -id "$activeWinId" "$ICON"
}
$APP & change-panel-iconThe called script (Word97_2) is merely:
#!/bin/bash
wine "/home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE"but xseticon will duly change the Wine explorer icon from its default wineglass to the msword.png
I wonder why the basic Wine command needed to be in a separate script.
Last edited by jakfish (2026-09-14 22:42:06)
Offline


I wonder why the basic Wine command needed to be in a separate script.
In your scenario, wine is actually doing what it is supposed to be doing - providing an icon for the virtual desktop.
I use this script in scenarios where I want to use a different icon from whats provided by the application.
Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline


Any idea why a second file/script was needed, rather than simply inserting the wine command in the first script, or is this a need because of "virtual desktop"?
Offline


I'm not sure why it didn't work. In my tests, putting the wine command in the original script works.
Back in your post #3 you had the wine command outside of the quotes and that won't work - it needs to be inside the quotes. However, you also said you tried with wine inside and outside the quotes. Setting it like this:
APP="wine /home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE"...works fine for me. However, I can't test this on Mageia 10 32-bit as I don't have such a system or vm available.
Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline


APP="wine /home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE"With everything inside the double quotes, and running the script file in terminal to see more closely, the script started to the point of changing the icon, but did not bring up Word 97, only a return to prompt. Running this inside the xseticon script:
APP=wine "/home/jake/.wine/drive_c/Program Files/Microsoft Office/Office/WINWORD.EXE"did bring up Word 97 with script executed in terminal (keystroke as well) but no change of icon.
The specs of this Sony running a current 32-bit, even one as lean as Mageia (a Mandriva/rpm rebirth) may well be the culprit (not to mention Mandriva, an OS I've never used).
Executing the called second script takes on considerable time to a Word 97 start--the process starts, then goes back to the desktop wallpaper, then Word finally stirs to life, prolly about 20 seconds.
No matter. Other than extended start-up time, Word has its icon and its no-spike typing, and there's no crashing.
Thanks again for looking into this. I think I'll mark it as solved, despite the added start-up time within the solution.
Offline
Pages: 1
[ Generated in 0.023 seconds, 7 queries executed - Memory usage: 606.13 KiB (Peak: 623.1 KiB) ]