Comment 30 for bug 455378

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Compiz] [Bug 455378] Re: Can't resize windows to be displayed on several monitors

On Tue, Dec 7, 2010 at 11:39 AM, Jeff Ebert <email address hidden> wrote:
> Hi Sam,
>
> Useful input. I have a patch for remmina that specifies the
> _NET_WM_FULLSCREEN_MONITORS hint with the number of coordinates of
> monitors to both of my monitors (when I had two).
>
> The binary choice of "fullscreen in one monitor" and "fullscreen across
> all monitors" is not too much to ask an application to provide. The
> configuration code for my patch is still needed. If anybody wants to
> take it on, I will help you get started.
>
> The general case of NxM monitors in a grid, which is supported by this
> hint, is pretty difficult to configure and it is not something that each
> application should need to provide. I suggest that it's a desktop
> environment function to help the user decide, say, that VNC viewer #1
> should fullscreen across monitors 1&2 and VNC viewer #2 should
> fullscreen across monitors 3&4, and mplayer should fullscreen on monitor
> #5 only.
>
> It would be great to have a tool that could modify the hint for any
> application. Does anybody know if this is possible and/or being worked
> on? I envision a small utility that can set the hint on any running
> window with a nice gui to arrange fullscreen windows.

There is no tool as of yet, but I don't see writing one as
particularly difficult. Maybe you might want something like this in
your application

Atom netWmFullscreenMonitors = XInternAtom (display,
"_NET_WM_FULLSCREEN_MONITORS");
Window root = RootWindow (ScreenOfDisplay (display));
XEvent msg;

msg.message_type = netWmFullscreenMonitors;
msg.format = 32;
msg.data.l[0] = MonitorId1;
msg.data.l[1] = MonitorId1;
msg.data.l[2] = MonitorId1;
msg.data.l[3] = MonitorId2;
msg.data.l[4] = 1;

XSendEvent (display, root, msg);

That should send a ClientMessage to the root window with that hint,
which compiz will receive and process. Next time an application tries
to go fullscreen it will fullscreen to those dimensions.

>
> I might add that in the old days, there would have been a configuration
> knob *somewhere* in the WM to let the user choose the default behavior
> of _NET_WM_STATE_FULLSCREEN. :-|
>
> Jeff
>
> --
> You received this bug notification because you are a member of compiz
> packagers, which is subscribed to compiz in ubuntu.
> https://bugs.launchpad.net/bugs/455378
>
> Title:
>  Can't resize windows to be displayed on several monitors
>
> _______________________________________________
> Mailing list: https://launchpad.net/~compiz
> Post to     : <email address hidden>
> Unsubscribe : https://launchpad.net/~compiz
> More help   : https://help.launchpad.net/ListHelp
>

--
Sam Spilsbury