Some apps (like Remmina) can't full-screen under Compiz (or Unity)

Bug #946388 reported by Dmitry Pankratov
144
This bug affects 28 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
Medium
Daniel van Vugt
Compiz Core
Status tracked in 0.9.7
0.9.7
Fix Released
Medium
Daniel van Vugt
compiz (Ubuntu)
Fix Released
Medium
Daniel van Vugt
Precise
Fix Released
Medium
Daniel van Vugt

Bug Description

[Impact]
Some applications (like Remmina) fail to ever enter full screen mode when running under Unity/Compiz. This limits usability somewhat.

[Development Fix]
Fixed in lp:compiz-core revision 3095 (same for both 0.9.7 and 0.9.8 series). The compiz core logic for windows entering full screen mode contained a simple math error. It was only allowing full screen mode for windows if their size + decorations fit the screen. Obviously this was wrong because full screen windows don't have decorations. Removed the check for decorations fitting when a window wants to full screen.

[Stable Fix]
As above.

[Test Case]
1. Compile the test script from comment #9:
   valac test-resize-content-after-fullscreen.vala --pkg gtk+-3.0
2. Run: test-resize-content-after-fullscreen
3. Verify it uses the full screen and has no decorations.

[Regression Potential]
Low. The modified code's only function is to determine whether a window is allowed to full screen. That is the only affected feature.

ORIGINAL DESCRIPTION:
* Ubuntu 12.04 beta 1 amd64
* Unity 5.4.0-0ubuntu2
* Remmina 1.0.0-1ubuntu3

When switching Remmina remote desktop client into the full screen mode with client resolution a window decoration is still shown and no full screen toggled.

It works ok under Unity 2D and Gnome shell.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity (Ubuntu):
status: New → Confirmed
Revision history for this message
Thomas Guyot-Sionnest (dermoth) wrote :

It doesn't work for me in 2D neither - shall I look for/open another bug?

The behaviour is a little bit different in 2d - The full-screen window is off the screen (I dees part of the desktop on the top and left), and I cannot scroll.

Omer Akram (om26er)
no longer affects: unity
affects: unity (Ubuntu) → remmina (Ubuntu)
Revision history for this message
Peter Havekes (peter-havekes) wrote :

Possible duplicate for 964406 ?

Revision history for this message
Roman Yepishev (rye) wrote :
Revision history for this message
Richard Merren (richard-merren) wrote :

I am seeing this as well but, oddly, only on specific connections. And always to the same connections. I can't find any differences in settings for the client between the connections that work properly and the connections that don't work properly. I see this from my laptop, which has been upgraded to 12.04 beta through several versions as well as on my desktop, which has a fresh install of 12.04 beta.

If I connect to the "bad" connection with no other connections open, it does the non-fullscreen mode, and all additional connections are in non-fullscreen mode. If I connect to one of the "good" connections first, I get fullscreen mode, and all additional connections (including the "bad" connection) are in fullscreen mode.

It appears that the workaround to this problem is to connect to a remote computer that works with fullscreen mode first, then to connect to the "bad" connection second and disconnect the first.

One more note: the "bad" connection is a windows XP computer. All of the other connections are win7 or server 2003. I'm not sure if this happens universally with XP because I don't have another instance to test it on, but I don't see it happening on any other flavor of Windows that I access. (Please don't hate me because I am forced to use Windows at work!)

Revision history for this message
Kelvin Mackay (kelervin) wrote :

It appears that this bug manifests if the connection was not in fullscreen mode when it was last closed, which may explain why some connections appear to be bad while others appear to be fine.

Workaround to get full screen mode working consistently:
1. Ensure "Remember last view mode for each connection" is enabled in Preferences
2. Connect to remote host (in my case, RDP connection to Windows XP)
3. Enter full screen mode (bug manifests as described earlier in thread)
4. Disconnect from server using the toolbar button or Control_R+F4
5. Connect to remote host again; this time the connection will enter full screen mode correctly.

Ubuntu 12.04
Remmina 0.9.99.1

Revision history for this message
Richard Merren (richard-merren) wrote :

Kelvin's workaround in comment #6 did not work for me. The XP connection always opens in a windowed fullscreen mode instead of a fullscreen mode that takes up the whole screen. Even if I do the workaround I mention in #5 (connect to a non-XP computer that does not manifest the problem first, then connect to the XP computer), I get proper fullscreen on that connection but the problem still reappears with the next connection.

Roman Yepishev (rye)
summary: - Remmina full-screen mode does not work under Unity 3D
+ Remmina full-screen mode does not work under Unity
Revision history for this message
Roman Yepishev (rye) wrote : Re: Remmina full-screen mode does not work under Unity

This happens when remmina's full screen window is equal or exceeds the size of the display.
E.g. adding the custom resolution of 1365x767 (native is 1366x768) allowed remmina to switch to fullscreen. However the original non-full-screen window appeared extremely short, about 20px of viewport could be seen, it can be maximized and resized properly though.

description: updated
Revision history for this message
Roman Yepishev (rye) wrote :

Testcase:

This does not work properly in Unity but works in Unity2D and Gnome Shell. It looks like upon receiving an event about the window geometry change, compiz stops displaying window in fullscreen:
using Gtk;

int main(string[] args) {
    Gtk.init(ref args);

    Gtk.DrawingArea drawing_area = new Gtk.DrawingArea();

    int screen_height = Gdk.Screen.height();
    int screen_width = Gdk.Screen.width();

    Gtk.Window win = new Gtk.Window();
    win.set_title("Hi, I am a \"Fullscreen\" window");
    win.realize();
    win.add(drawing_area);
    drawing_area.show();

    win.show();

    // This works on Unity2D and Gnome Shell
    win.fullscreen();

    // This happens in RDP plugin, it resizes the drawing area to
    // the required desktop size.
    drawing_area.set_size_request(screen_width, screen_height);

    win.destroy.connect(() => { Gtk.main_quit(); });

    Gtk.main();

    return 0;
}

Compile this with
$ valac test-resize-content-after-fullscreen.vala --pkg gtk+-3.0

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Triaged. Looking at src/window.cpp, it appears to be (obviously) broken logic in the way foundHorz and foundVert are set.

Changed in compiz-core:
status: New → Triaged
Changed in compiz (Ubuntu):
status: New → Triaged
Changed in compiz-core:
importance: Undecided → Medium
Changed in compiz (Ubuntu):
importance: Undecided → Medium
Changed in compiz-core:
milestone: none → 0.9.7.8
Changed in compiz-core:
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Henrik Melander (melander-henrik) wrote :

Bug present in Gnome Classic 12.04 beta2 as well.

summary: - Remmina full-screen mode does not work under Unity
+ Some apps (like Remmina) can't full-screen under Compiz
no longer affects: unity
Changed in compiz-core:
status: Triaged → In Progress
Changed in compiz (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
no longer affects: remmina (Ubuntu)
summary: - Some apps (like Remmina) can't full-screen under Compiz
+ Some apps (like Remmina) can't full-screen under Compiz (or Unity)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz-core at revision 3095

Changed in compiz-core:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although compiz still has trouble fullscreen-ing some apps, as described in bug 985369.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix released in Compiz Core 0.9.7.8.

description: updated
Revision history for this message
aelgali (aelgali) wrote :

Thanks for the great work, when should we expect this fix to be available?

Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello dmitry, or anyone else affected,

Accepted compiz into precise-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in compiz (Ubuntu Precise):
status: Triaged → Fix Committed
tags: added: verification-needed
Revision history for this message
aelgali (aelgali) wrote :

I've enabled percise-proposed repo and did an update, now the fullscreen mode behave correctly. Thanks for the fix :)

tags: added: verification-done
removed: verification-needed
Revision history for this message
Jethro Beekman (jethrogb) wrote :

The package in precise-proposed does NOT work for me. Flash/firefox doesn't always shows the gnome-panel in fullscreen mode, and VLC starts out working fine, but the panel shows up after ~15 seconds. I was trying to submit an apport report as well, but I'm not sure if that succeeded.

Revision history for this message
Jethro Beekman (jethrogb) wrote :

Oh yeah this started after I upgraded to precise.

tags: added: verification-failed
removed: verification-done
Revision history for this message
Mohegan (jack-mohegan) wrote :

For me, using compiz 0.9.7.8-0ubuntu1, it doesn't work. I use compiz with gnome classic and I test the script in post #9 without any success (see the capture).
With flash player and firefox, same problem.

Revision history for this message
Mohegan (jack-mohegan) wrote :

If I disable the place plugin with ccsm, it works great. It's the same bug as this one : https://bugs.launchpad.net/compiz-core/+bug/976032

Revision history for this message
Martin Pitt (pitti) wrote :

So it seems the bug is not fully fixed, but the SRU is not a regression. So I'll release the lot, but reopen this bug.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.7.8-0ubuntu1

---------------
compiz (1:0.9.7.8-0ubuntu1) precise-proposed; urgency=low

  [ Didier Roche ]
  * New upstream bug fix release:
    - [fglrx] Title bar does not update on non-maximized windows (LP: #770283)
    - Some apps (like Remmina) can't full-screen under Compiz (or Unity)
      (LP: #946388)
    - Compiz-core fails to compile with gcc-4.7 - 'cc1plus: all warnings
      being treated as errors' (LP: #972519)
    - Menu shadow clipping flickers while switching menubar items/indicators
      (LP: #978900)
    - Compiz should not move windows to workspace 0,0 when restarted
      (LP: #980026)
    - regression / unable to interact with window-titlebar (window decoration)
      after minimizing/unminimizing gnome-terminal (LP: #981703)
  * debian/patches/workaround_770283.patch,
    debian/patches/fix_976467.patch:
    - removed, upstreamed

  [ Oliver Grawert ]
  * update the GLES2 patch for the new upstream release.

compiz (1:0.9.7.6-0ubuntu2) precise-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * debian/patches/workaround_770283.patch:
    - Workaround a problem with fglrx not refreshing window decoration textures
      on pixmap modification (LP: #770283)

  [ Oliver Grawert ]
  * update GLES patch for new quilt patch, fix issue with GLES patch that
    forcefully unapplied other quilt patches and resulted in
    gtk-window-decorator to not be started.
 -- Didier Roche <email address hidden> Thu, 26 Apr 2012 09:19:51 +0200

Changed in compiz (Ubuntu):
status: Triaged → Fix Released
Changed in compiz (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Really this bug is only intended to fix Remmina (and the attached test script) on Unity. If you have other combinations of app/desktop environments where fullscreen doesn't work then please log them as separate bugs. Because different apps try to go full screen using different methods.

Changed in compiz:
milestone: none → 0.9.8.0
no longer affects: compiz-core/0.9.8
Changed in compiz:
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in compiz-core:
milestone: 0.9.8.0 → none
status: Fix Committed → Fix Released
Revision history for this message
bpedman (bpedman) wrote :

This is still broken for me. Using compiz-core 0.9.8, Unity, and Remmina. Acts just like the video in comment #4

Revision history for this message
bpedman (bpedman) wrote :

So, that script actually does work for me but the vnc plugin in remmina still exhibits this behavior

Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.