Desktop from Reactos

Questions about Wine on Linux
Locked
She1eh
Newbie
Newbie
Posts: 3
Joined: Tue Feb 19, 2013 2:13 pm

Desktop from Reactos

Post by She1eh » Tue Feb 19, 2013 3:00 pm

I am writing from Russia in Google translater. So I apologize for the lack of literary narrative

To work in the wine I want to use the windows manager of Reactos
I managed to run it with following files: explorer.exe, notifyhook.dll, shell32.dll.
Nevertheless, his work is incorrectly: desktop overlaps taskbar window and any other, and taskbar does not display running windows application.

Wine has been developed to control windows using Linux. How to make windows management like in the win32 system (ROS or MS Windows).

How to do that would taskbar always been at the forefront, and desktop always been on background. What part of the Wine is responsible for the location of the windows?

Thanks!

oiaohm
Level 8
Level 8
Posts: 1020
Joined: Fri Feb 29, 2008 2:54 am

Re: Desktop from Reactos

Post by oiaohm » Thu Feb 21, 2013 1:38 am

How to do that would taskbar always been at the forefront, and desktop always been on background. What part of the Wine is responsible for the location of the windows?
Default mode. Wine is not responsible at all for window locations. All requests about Window locations is passed over to the Windows Manager running in X11.

Virtual Desktop mode. A item like explorer.exe from reactos could work if there is no other bugs. This would only be controlling windows applications and wine applications running under wine in that virtual desktop.

Simple evil reality Win32 windows management does not have the data structures to properly control X11 Windows and will not have the data structures to control wayland systems either. So basically a Window manager design for windows can only control windows applications. If you wanted to get around that it would get highly stupid.

Highly stupid is X11 running wine virtual desktop full screen size running another X11 server inside so you have something to manage X11 windows. Performance will be shot to hell and you will have more errors than what you know what todo with.

Wine is a form of wrapper/loader item. So wine has not really been designed to control windows. Wine has been design to convert applications making requests in windows api format to Linux/BSD/Solaris/OS X api requests.

If you wanting to debug a windows manager for use under windows wine virtual desktop might help.

If you ware wanting to use a MS Windows manager under Linux instead of using Linux native Windows managers fairly much kiss that idea good by. Basically if this is your goal only option is basically make a different window manager.

She1eh it is impressive that you are fairly much game to ask for the impossible.

She1eh
Newbie
Newbie
Posts: 3
Joined: Tue Feb 19, 2013 2:13 pm

Re: Desktop from Reactos

Post by She1eh » Thu Feb 21, 2013 9:13 am

Not all so bad as you say. Apps windows perfectly controlled by system messages win32: SW_HIDE and SW_RESTORE. But I need that some windows that were always above other windows. That they would not have failed under the desktop. Theoretically it can be controlled with hooks: return the failed windows back.

She1eh
Newbie
Newbie
Posts: 3
Joined: Tue Feb 19, 2013 2:13 pm

Re: Desktop from Reactos

Post by She1eh » Thu Feb 21, 2013 9:50 pm

P.S. I don't want to manage X11 Windows

oiaohm
Level 8
Level 8
Posts: 1020
Joined: Fri Feb 29, 2008 2:54 am

Re: Desktop from Reactos

Post by oiaohm » Thu Feb 21, 2013 10:54 pm

She1eh
--But I need that some windows that were always above other windows.--
Welcome to the evil world of X11. There is no true instruction to achive this in X11. Its fairly much mess with the X11 data structors. Result to pull it off is you will have to take focus under X11. This is why you have to depend on X11 Windows manager listening and assisting.

In the upcoming wayland yes you can achive this to a point but its still not good. Wayland you can confirm that one of your windows is the most forward for your application. But this does not say you will go over the top of other applications running.

Virtual deskop with wine is sometimes the only option with some applications.

She1eh basically there are some very unique way windows are handled under Linux compared to Windows. Getting them to play ball is tricky. Like X11 its valid for the active Window to be partly covered by a inactive window or even completely covered. This does bring some interesting issues when you run two full screen apps at the same time because the one you can see does not have to be the active window your keyboard and mouse is going to.

With how imperfect the both envorments are wine does quite well most of the time. There are just a few edge cases where there are no simple solutions.

Yes where the two api/abi's are trully incompadible life turns to hell.

Before you think I will just force my application to front. If something is capturing a section of itself under X11 it has to be in the front. If a force to front was ever added to wine a switch would have to be added to turn it on an off. Looking forward to wayland and dri3 this behavour will be fixed.

Yes there is a reason why Gnome KDE and all other major X11 desktop envornments created a notification systems. Because if you don't use a notification system X11 is going to drive you nuts with disappearing windows.

So we have a difference between windows and linux. Linux program hits an error it sends a notification that has the Windows manager display. Windows program its a error it trys to send a window that might or might not be hidden under other windows. Yes I have had this happen under Windows 7 and XP where the window I want in front has disappeared under other windows. X11 just takes it from under windows user moving fast between applications to prity much a dead sure to happen. If it does not happen you are lucky under X11.

Yes the setting under MS Windows that says window to front is not a dead sure result. X11 does not bother with a setting.

She1eh the problem here is the logic you bring with a Windows application does not work in an X11 envornement this is why Windows end up where they should not be when X11 Window manager is managing. In fact it questionable if the logic even works under Windows. Most likely if you are depending on this logic under windows do consider a icon running in conner displaying notices about stuff. If window does get eaten user is not sitting there wondering why the program appears frosen.

She1eh you are in the area of most incompadiblity. I think wine is doing quite well with how incompadible this is. Its a bug people run into porting programs as well between Windows and Linux. Handling of hey I want to have user notice me is different.

Locked