English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. C/C++ (http://eab.abime.net/forumdisplay.php?f=118)
-   -   Moving windows between public screens programatically (http://eab.abime.net/showthread.php?t=101791)

edmayn 17 April 2020 10:39

Moving windows between public screens programatically
 
Is it possible to move a window spawned on one public to another public screen?

I am assuming it is not, since a window spawned on a specific public screen is bound to it, although I would like to have this assumption proven wrong.

Moving windows between workspaces is a common feature in other desktop environments, something I would like replicate with AmigaOS 3.1.

I have naively tried to update the window->WScreen to another public screen pointer, which of course does nothing.

hooverphonique 17 April 2020 11:49

As far as I know (with any of the official C= OS releases, atleast), it isn't possible - you need to close the window and reopen it somewhere else.

edmayn 17 April 2020 15:22

Thanks hooverphonique, as suspected.


Ok.


I searched a bit more and found something I hadn't found before.

Quote:

Upon further thought, I realised that the necessary code probably mostly already exists: Intuition tries to close & reopen program windows when you change some GUI settings or the screen mode of Workbench.

All we need to do is get it to reopen the window on a *different* screen, rather than the same one. And call that function from some kind of window gadget or whatever. Sounds like it might be really easy to do (as these things go)
https://www.amigans.net/modules/xfor...?post_id=49961

This is a discussion about AmigaOS 4, but this specific comment is about AmigaOS 3.1 I believe. So, perhaps, somehow it is possible to acheive,

Thomas Richter 17 April 2020 20:37

Quote:

Originally Posted by edmayn (Post 1392758)
Thanks hooverphonique, as suspected.

As said, there is no function to move windows to other screens, correct.



Quote:

Originally Posted by edmayn (Post 1392758)
This is a discussion about AmigaOS 4, but this specific comment is about AmigaOS 3.1 I believe. So, perhaps, somehow it is possible to acheive,


Not in 3.1, no. And it is not intuition which is closing and re-opening the windows, but the workbench, and not triggered by an OpenScreen(), but due to OpenWorkbench(), for which intuition has *some* support through specific messages. In the end, though, it is just a CloseWindow() and OpenWindow() from the workbench process, and nothing magic at all. There is, as stated, no call for that. It is up to the responsible program to re-open the window(s).


All times are GMT +2. The time now is 12:45.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.

Page generated in 0.04452 seconds with 11 queries