Thief and too much Wine... - by Spleen
Spleen on 15/4/2007 at 20:32
I wasn't sure if I should post this in Technical or here, so I went for here...
Anyway, I started using Linux about a month ago, with Ubuntu, and a few days ago decided to try out Debian 4.0. It's a steep learning curve, but I like it a lot.
Yesterday I decided to see if I could run Thief Gold under wine (version 9.31 If I recall...) and it runs pretty much perfectly, which really surprised me. Sound is good, runs at an okay speed, seems stable enough. The only issue I have is the damn mouse pointer being present in the middle of the screen all the time. I've browsed around winehq and it's a known issue, and I found a link to a script which apparently fixes it, but it all got pretty technical and I just don't have a clue what to do. I've run a few searches through ttlg but couldn't find a detailed description on how to fix this problem.
So I was wondering if anyone here might be able to give me a quick how-to (in laymans terms) on how to hide the mouse pointer.
Any help would be gratefully recieved. :)
jay pettitt on 15/4/2007 at 20:59
I recomend a small cloak and hood.
Spleen on 15/4/2007 at 21:35
Thanks for the tip, but I managed to work out a way to hide my mouse pointer. Thanks anyway...
R Soul on 15/4/2007 at 23:04
You may as well say how you solved the problem. It could help someone else with a similar problem if they come across this thread.
Spleen on 16/4/2007 at 09:41
Very true.
On the winehq database entry for Thief it mentions this page :
(
http://wiki.x.org/wiki/AdvancedTopicsFAQ)
which contains this :
" X always must have a cursor. It's appearance depends on the window the cursor is over. You can change the appearance of the root window cursor and make it invisible that way. To make the root window mouse cursor invisible create an empty bitmap file. To do so you can either create a file emptyCursor.xpm with the content:
#define emptyCursor.xpm_width 1
#define emptyCursor.xpm_height 1
#define emptyCursor.xpm''x''hot 0
#define emptyCursor.xpm''y''hot 0
static unsigned char emptyCursor.xpm_bits[] = {
0x00};
or use use the application bitmap. Start bitmap, create a new bitmap file with the File->New menu, and save it with File->Save. Assuming you called the empty bitmap file emptyCursor.xbm you can now change the root window cursor with:
xsetroot -cursor emptyCursor.xbm emptyCursor.xbm
NOTE: As mentioned this *only affects the root window cursor*. Modern window managers create their own root window. It's cursor is not affected by this. Also most applications define their own cursors. Moving a cursor over an application will cause its cursor to be displayed if it defines its own cursor. If it doesn't it will inherit the cursor of its parent window. "
:)
hexarith on 16/4/2007 at 14:43
As already told, most WM create their own "root" window. Actually it's just a full screen window, over the root window, and sometimes this causes WINE to malalign the window.
The best way to circumvent this, it to make sure, that no other app is running while starting a fullscreen WINE application. Since you can have multiple sessions running under Linux just start a new X session with WINE, running the app, being the controlling program.
The following call will do the trick - the used display (in the example :10) must not be used at the moment you do this. I'll have to write some wrapper script around this, to do some magic behind the curtain.
xinit `which wine` $your_win32_app_binary -- :10
For Thief you want to have some script around it, that will also do some xsetroot magic to get rid of the mouse cursor.