Xfce Forum

Sub domains
 

You are not logged in.

#1 2013-08-06 11:51:01

Castania
Member
Registered: 2013-07-30
Posts: 6

[Solved] Persistent Hole In Desktop

Hi folks . . . if you can offer any advice on this, thanks in advance:

I'm running a Windows program under Wine.  It's got it's own PREFIX and behaves . . . about as well as any other Windows program under Wine.  It's the only thing of it's kind, so I'm kind of stuck.

When the program opens, a splash box appears with the usual logo, company name, etc., followed by the actual program.  When I close the program, the splash box remains. 

What's more . . . it also has a sticky/magnetic quality . . . in other words, it will capture snippets of other windows that are opened subsequently on top of it.  It doesn't seem to effect programs (Windows or Linux) that are run afterwards -- but it is annoying.  And who knows -- it may crash the whole system if left.

I'm running a Dell Inspiron 1545 with an Xfce spin of Fedora 19, Wine 1.6, and Xfce 4.10.  I've searched for "redraw screen" "refresh screen" -- but none of the problems are exactly like this, and none of the possible solutions work.  The refresh xdesktop solutions seem promising, but I'm not a power user and don't want to do any lasting damage to this install.

Logging out and logging back in works!  But who wants to do that?  I can also "kill" the beast through the TaskManager -- so it is some sort of lingering code.  I know it's probably not a Xfce issue -- but I'm looking for an Xfce solution.

Again -- thanks.  All ideas appreciated.

Offline

#2 2013-08-06 12:13:06

ToZ
Moderator
From: Toronto, Canada
Registered: 2011-06-02
Posts: 952

Re: [Solved] Persistent Hole In Desktop

You're right, its not an Xfce issue. Sounds like there is a remnant of the wine app still running. Check to see with:

ps -ef | grep wine

...and try killing whatever wine remnants exist.

Also have a look for the app at http://appdb.winehq.org/ to see if there are any notes/fixes about this. You can also create a wine bug report.

Offline

#3 2013-08-06 12:31:38

Castania
Member
Registered: 2013-07-30
Posts: 6

Re: [Solved] Persistent Hole In Desktop

Yeah -- as mentioned, killing the program works, but it's an extra step . . .

I tried writing a script:

wine programname
wait
pkill programname

The only trouble is, the program isn't exiting, so the pkill command isn't issued.  Any way around this?

Offline

#4 2013-08-06 13:33:55

Darktux
Member
From: Portugal
Registered: 2013-01-17
Posts: 57

Re: [Solved] Persistent Hole In Desktop

Not the most elegant solution, but why not create a script/launcher with the "pkill programname" command ?

Offline

#5 2013-08-06 15:52:19

stqn
Member
Registered: 2010-10-11
Posts: 168

Re: [Solved] Persistent Hole In Desktop

Could you use xwininfo or wmctrl to check if the main window is still open, and then kill the program?

Something like:

#!/bin/bash
wine blah &
pid=$!
while ! xwininfo -name mainwindowname 2>/dev/null ; do sleep 2; done
kill -9 $pid

(untested code)

Edit: fixed the while condition.

Edit: oh and by the way, the “sticky quality” you mention is because each program is responsible for redrawing its windows after they have been covered by another window. Because the program has crashed, it’s not redrawing and bits of the overlapping windows stay in it. This should cause no stability problem, and might go away if you enable compositing.

Last edited by stqn (2013-08-06 16:02:54)

Offline

#6 2013-08-06 17:23:37

Castania
Member
Registered: 2013-07-30
Posts: 6

Re: [Solved] Persistent Hole In Desktop

Not familiar with pid=$!  . . .  I assume this checks the pid # for the executable . . .
The windoze program is by Casio -- when it runs, it's the only Casio executable I have going (wouldn't use this if I didn't have to).  So,

pkill CASIO

works fairly well.  In the task manager, there are several other programs that turn red, and quickly die in succession (explorer.exe, wineserver, plugnplay, etc.)

However, I ran into (what I think is) the same issue with xwinfo:  since the program isn't exiting correctly (the window is gone, but lingering code hangs on) -- the "while" is always satisfied, so we never get to the kill command.  I suppose I could execute the script in a terminal and press a key to issue the kill . . . but then again, the script doesn't know when I think the program is done . . . how's that for a problem!

Bash says I don't have wmctrl . . .

Oh . . . compositing solves the window issue,  so I'll mark this "solved" since the persistent hole can be handled.  But that was the only way I knew there was a lingering wine problem -- I suppose for now, I'll just deal with it.


stqn wrote:

Could you use xwininfo or wmctrl to check if the main window is still open, and then kill the program?

Something like:

#!/bin/bash
wine blah &
pid=$!
while ! xwininfo -name mainwindowname 2>/dev/null ; do sleep 2; done
kill -9 $pid

(untested code)

Edit: fixed the while condition.

Edit: oh and by the way, the “sticky quality” you mention is because each program is responsible for redrawing its windows after they have been covered by another window. Because the program has crashed, it’s not redrawing and bits of the overlapping windows stay in it. This should cause no stability problem, and might go away if you enable compositing.

Offline

#7 2013-08-06 17:25:32

Castania
Member
Registered: 2013-07-30
Posts: 6

Re: [Solved] Persistent Hole In Desktop

This may very well be the only solution . . . right now, it sounds good.

Darktux wrote:

Not the most elegant solution, but why not create a script/launcher with the "pkill programname" command ?

Offline

Board footer

Powered by FluxBB