Unable to unmaximize Onboard in Unity

Bug #859288 reported by Rocko
24
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Onboard
Confirmed
Undecided
Unassigned
onboard (Ubuntu)
Fix Released
High
Unassigned
Oneiric
Won't Fix
Undecided
Unassigned
Precise
Fix Released
High
Unassigned

Bug Description

The bug has been solved for Unity-2D, GNOME shell and GNOME Classic, but is still available in Unity.

Ways to unmaximize Onboard in Unity are:
- double clicking the top bar
- Alt+drag
- Alt-right click

The original bug description was:
---------------------------------

If you maximize the onboard keyboard with the launcher set to dodge windows, the onboard keyboard takes over the desktop and, you can no longer do anything other than use the session menu to log out.

This is because the onboard keyboard window buttons (close, minimize, maximize) no longer appear (since the global menu is used for the window with focus) and because the onboard keyboard is always drawn over other windows. So even if you alt-tab to switch focus to another window, you cannot see it. I didn't try the 'show desktop' keyboard shortcut, but even if it makes the keyboard disappear I suspect that most users won't be aware of it so they'll just think that something has crashed.

See attached image for an example. The keyboard is maximized and the global menu shows the currently focused application, so there is no way to un-maximize the keyboard.

If the launcher is set to never hide, you can at least use its 'quit' function to kill the onboard keyboard.

Perhaps the onboard keyboard should never be allowed to be maximized, so that it always has a titlebar and can therefore always be moved.

Why does the keyboard always run at startup, anyway? It isn't in the startup applications, so how do I disable it? Or is Oneiric trying to be a tablet-only OS?

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: onboard 0.95.1-0ubuntu3
Uname: Linux 3.1.0-rc7-git-20110923.0546 x86_64
ApportVersion: 1.23-0ubuntu1
Architecture: amd64
Date: Mon Sep 26 08:40:57 2011
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110901)
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=en_AU:en
 PATH=(custom, no user)
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
SourcePackage: onboard
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Rocko (rockorequin) wrote :
Changed in onboard (Ubuntu):
status: New → Confirmed
Revision history for this message
Francesco Fumanti (frafu) wrote :

Thanks for your interest in Onboard.

A work around is to set the titlebar of windows to maximize\unmaximize on double click. This way, a double click on the top panel on the screen will unmaximize Onboard.

The next version of Onboard will probably have a better solution to the problem, but I don't think it will make it into oneiric.

Revision history for this message
Rocko (rockorequin) wrote :

I don't think that workaround will work, because it seems that the global menu bar belongs to the focused application, not to the full screen onboard keyboard. At the moment I'm at a loss as to what to do other than uninstalling onboard from unity-2d, since onboard runs maximized every time I log into unity-2d.

I just don't think it should be possible to maximize onboard, and it certainly shouldn't run maximized at login.

Revision history for this message
Francesco Fumanti (frafu) wrote :

You are right: the work around does not always work. Now I wonder why it did work here a few times; maybe Onboard was by chance the front app.

Anyway, to get out of this nasty situation in the desktop session, close Onboard by using its indicator, open the dconf-editor and reduce the height of the Onboard window. Onboard is located under 'apps' in the hierarchy of keys in the dconf-editor.

Revision history for this message
Francesco Fumanti (frafu) wrote :

I made a mistake in my previous message: Onboard version <= 0.95.x uses gconf and not gsettings. So you will need the gconf-editor and not the dconf-editor to reduce the height of the keyboard window.

Revision history for this message
Rocko (rockorequin) wrote :

Thanks for the info, I'm almost there now!

Could you point me to the onboard indicator that should allow me to close it? (In full-screen windowed mode there isn't a close button and I can't see any indicators. I can't close it from the launcher because the launcher auto-hides and in my VM the super key doesn't make it appear.)

Also, how do I configure the global menu to un-maximize a window (ie to try the workaround you suggested?) The default in unity-2d seems to be that double-clicking a window title maximizes it, but the inverse doesn't work: double-clicking the global menu has no effect.

Revision history for this message
Francesco Fumanti (frafu) wrote :

You are right: though double clicking the global menu unmaximizes a window in Unity 3D, it does not do it in Unity 2D by default and I don't know whether there is a setting to configure that behaviour in Unity 2D.

Concerning the tray icon:

On the layouts shipping with Onboard, there are buttons near the right edge to switch between layers of the layout. On one of the layers, there is a button named Settings or Preferences. By clicking on that button, the Onboard Settings window will open. You should then switch to the General tab and activate the "Show status icon" checkbox.

Changed in onboard (Ubuntu Oneiric):
status: New → Confirmed
Revision history for this message
Quang (quangvvv) wrote :

Sigh I was using onboard on Unity 2d, ocelot, cause of carpal tunnel, now it's full-screen and I have no way to exit it.

I am forced to manually shut down my computer now.

Disappointed.

Revision history for this message
Quang (quangvvv) wrote :

Okay I was able to go into terminal somehow (I did a ctrl+alt+delete, which I think brought be to the login screen, but all I still saw was OnBoard), by pressing ctrl+alt+esc ferociously, then I did a `shutdown -r now`

here's a screen shot taken,

(note: the attached image is with Colemak keyboard layout, I was trying to mess with OnBoard because it kept switching Back & Forth between Qwerty and Colemak =/

Revision history for this message
marmuta (marmuta) wrote :

Quang, there may be a workaround. If you are able to use a regular keyboard, you could try to hold the Alt key there, click anywhere on Onboard and drag it away from the top. This should snap it out of the maximisation.

Revision history for this message
Rocko (rockorequin) wrote :

@marmuta: alt-F4 is a feature of compiz, so it isn't available in unity-2d. Now, if only the unity launchers allowed you to minimize windows...

@Quang: If this happens, ctrl-alt-f1 should give you a tty session, ie a command prompt. From there you can login and try to kill the onboard keyboard with "killall onboard". ctrl-alt-f7 or -f8 then should take you back to your X session (you can log out of the tty session first if you want).

Revision history for this message
Francesco Fumanti (frafu) wrote :

Here is a work around that should work also for pointer only users; but if you are running Onboard 0.96.x, you also need a second onscreen keyboard; for Onboard up to 0.95.x included, a second onscreen keyboard is not necessary.

Steps to perform:

- Close Onboard; for example by using its indicator icon.

- Open one of your disks and navigate to /usr/bin

- If you are using Onboard 0.96.x, open the dconf-editor; if you are using a previous version of Onboard, open the gconf-editor. (I hope them to be installed on your system, because they are not installed by default.)

- In the dconf-editor\gconf-editor search for the entry containing the height of Onboard. (Onboard can be found under apps.)

- Reduce the height of the Onboard window. In the gconf-editor, you can use the spinning wheels to do so; in the dconf-editor, you need a second (onscreen) keyboard to do so.

Onboard will use the reduced height on its next start.

Remark about message 11 from Rocko: Onboard stores its dimensions when it is quit. Thus, if you kill Onboard before quitting it, it will restart with the dimensions used before the maximization; however, if you quitted Onboard in its maximized state, it has stored the values of the maximized window in its settings, and killing it will not help anymore. In that case, you will have to manually reduce its dimensions by using the dconf-editor or gconf-editor (depending on the version of Onboard used).

Revision history for this message
marmuta (marmuta) wrote :

@Rocko, Alt-F4 does not work because Onboard needs to be unfocusable, i.e. it calls set_accept_focus(False) for the main window.
However, Alt+Drag (with Alt held on a hardware keyboard) is definitely able to unmaximize Onboard in unity and unity2D.

Revision history for this message
Rocko (rockorequin) wrote :

@marmuta, that's right, but I what I meant to say is that alt+left-mouse-click is a feature of compiz and doesn't work in unity-2d. (I have tried it and nothing happens.) Unless you know of another key/mouse combination in unity-2d that implements drag?

Revision history for this message
marmuta (marmuta) wrote :

@Rocko, it ought to work in unity-2d too. As I understand it, metacity had that alt-left-click-drag thing long before compiz. I wonder if it had been disabled at some point in the release cycle. Try this:

gconftool-2 -s /apps/metacity/general/mouse_button_modifier -t string "<Alt>"

Does that enable it for you?

Revision history for this message
Rocko (rockorequin) wrote :

That setting is already set to "<Alt>". Alt does engage the 'mouse modifier' - for example, if you press it, you can no longer drag the window by clicking on its title bar. You can't drag the window at all.

Revision history for this message
marmuta (marmuta) wrote :

I wonder what's grabbing the Alt key there. I've tried, but wasn't able to break Alt-drag. Some more ideas:

Alt+<right click> opens the window menu, which has an unmaximize option
Alt+Shift+<left click&drag> moves the window to snapped positions
Alt+<left click&drag> moves the window (for completeness, not new)

If none work and you haven't done a lot of customization, perhaps try to reset the metacity configuration:
gconftool-2 --recursive-unset /apps/metacity

Careful though, this resets hot-keys and theme to their defaults.

If this fails too, try (temporarily, for testing) replacing Alt with Super, aka left windows key,
gconftool-2 -s /apps/metacity/general/mouse_button_modifier -t string "<Super>"
and see if Super+<right click>, Super+<left click>, Super+Shift+<left click> on Onboard does anything.

Revision history for this message
Rocko (rockorequin) wrote :

I tried modifying the mouse modifier to use Super instead of Alt, and *that* allows me to drag windows with the left mouse (it also makes numbers appear in the unity launcher icons, ie for a keyboard shortcut to select the app).

But none of those alt modifiers work in my VirtualBox unity-2d test machine, which was recently installed from a live disk and is using the default settings. Just in case, I tried the --recursive-unset command but it makes no difference. Alt just makes the (global) menu appear in preparation for a keyboard menu shortcut combination.

I've also checked Alt-left-mouse in my host system in unity-2d and it doesn't allow me to drag windows (it does, of course, in unity-3d).

Revision history for this message
marmuta (marmuta) wrote :

Ah, VirtualBox, that could explain it, at least for the guests. If Alt+click is intercepted by the host's window manager, VirtualBox guests don't get to see those events. You would have to make sure that both WMs use different mouse_modifiers.

For example, keep the guests at the default <Alt> and on the host run
gconftool-2 -s /apps/metacity/general/mouse_button_modifier -t string "<Super>"
Host at default and "<Ctrl>" for the guests appears to work too.

Anyway, Alt+drag was just meant to be a band-aid. The latest Onboard has window decoration disabled by default (by coincidence), which makes it harder to maximize in the first place. If you'd like to try it, Oneiric proposed has a slightly outdated version, testers welcome.

Revision history for this message
Fixitman Arizona (fixitmanarizona) wrote :

Had the same problem. I don't need an onboard keyboard, so I deleted Onboard with Synaptic Package manager. This should not have been included in Xubuntu 11.10 by default.
It was very frustrating, since I somehow maximized the damn thing by accident and then could do nothing, and I'd not even intended to use it!

tags: added: rls-mgr-p-tracking
Changed in onboard (Ubuntu Precise):
importance: Undecided → High
Revision history for this message
marmuta (marmuta) wrote :

Some progress, at last. I believe trunk dodges this bug now. The maximize function should be gone in unity-2d. Same in (unaffected) gnome, but not in (apparently unaffected) unity.
From testing on Precise (hope the table comes out right):

              maximize available fixed
unity yes not affected
unity-2d no yes
gnome-shell no not affected
gnome classic no not affected

The fix should be in soon-to-be-released 0.97.

Changed in onboard:
status: New → Fix Committed
Revision history for this message
marmuta (marmuta) wrote :

Another try, table of current state in Precise:

unity
   maximize available: yes
   fixed: not affected

unity-2d
   maximize available: no
   fixed: yes

gnome-shell
   maximize available: no
   fixed: not affected

gnome classic
   maximize available: no
   fixed: not affected

Revision history for this message
Francesco Fumanti (frafu) wrote :

Would it not be better to also remove the maximize button from the window decoration also in Unity? In fact, how am I supposed to unmaximize Onboard when the window decoration is available?

Changed in onboard:
status: Fix Committed → In Progress
Revision history for this message
marmuta (marmuta) wrote :

I don't know how, Francesco. The code to disable maximize makes no exception for unity. Compiz just ignores gdk_window_set_functions(), metacity and mutter don't. Window hints are too coarse and unpredictable across window managers.

In unity I can unmaximize onboard by double clicking the top bar though, which doesn't work in unity-2d. (Alt+drag, Alt-right click are still there too)

Revision history for this message
Francesco Fumanti (frafu) wrote :

Sorry; I was not aware that the maximize button was still available in Unity, because Compiz ignores the command to remove it.

I will change the title and description of this bug thread so that people can find the different ways to unmaximize it more easily.

description: updated
Changed in onboard:
status: In Progress → Confirmed
summary: - full-screen onboard keyboard commandeers entire desktop
+ Unable to unmaximize Onboard in Unity
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.2 KiB)

This bug was fixed in the package onboard - 0.97.0-0ubuntu1

---------------
onboard (0.97.0-0ubuntu1) precise; urgency=low

  * Request for sponsorship: New release available (LP: #932855)
  * debian/control:
      Build-Depends: add libdconf-dev
      Depends: add gir1.2-wnck-3.0, libdconf0
      Recommends: add gir1.2-atspi-2.0
  * debian/copyright: add year 2012
  * debian/patches: update onboard-defaults.conf file
  * Add improved scanning feature to osk extension
    - scanning works with all official layouts
    - different scan modes are available
    - support for 1, 2, 3 and 5 switches
    - devices can be configured to be used exclusively for scanning
  * Port osk extension to GTK3
  * Add auto-show with auto-move feature; requires at-spi2 (LP: #443986)
    - confirm activation of at-spi2 with a dialog
    - automatically move Onboard when it covers the input focus
    - no auto-move when the keyboard is manually shown
    - logging of focused at-spi accessibles through 'onboard -ddebug'
  * Hide and show Onboard with a middle click on the indicator icon
  * Add new icons for appindicator matching Ambiance and Radiance themes
  * Add lockdown options for kiosk mode (LP: #879944)
  * Silently embed into gnome-screen-saver if no app did so (LP: #857813)
  * Make Onboard aware of screen rotation (LP: 911821)
  * Protect against accidental resize/move of Onboard's windows (LP: #893644)
  * Add option to disable resize handles (LP: #930373)
  * Allow resizing with all mouse buttons
  * Show menu entry for Xubuntu/Xfce (LP: #833862)
  * Extend force-to-top mode to the Icon Palette
  * Allow /user/local/share/onboard as an alternative installation directory
  * Support starting onboard-settings in cli with non default language
  * Don't start more than one instance under normal usage
  * Fix onboard-settings crash in get_selected_layout_filename (LP: #913484)
  * Add double click and drag click also for non dwelling mode
  * Adjust category of the onboard-settings.desktop file (LP: #833873)
  * Add more modifier behaviors: cycle (default), dblclick, latch, lock
  * Add option to always show on visible workspace (LP: #803875)
  * Add Alan Bell's themes: Typist, ModelM
  * Add HighContrast, HighContrastInverse and LowContrast themes
  * Option to track GTK theme to have Onboard switch to matching theme
  * Make the colors of the icon of the Icon Palette adapt to the theme
  * Calculate corner radius of the Icon Palette based on it's size
  * Let Onboard draw itself the icon of Icon Palette instead of loading it
  * Make a newly created customized theme the active one
  * Stop selecting the default theme when resetting or deleting a theme
  * Remove overrides for font setting and key label from themes
  * Add format information to schemas, themes and colors files
  * Convert sticky-key-behavior and system-theme-associations to dicts
  * Show touch handles when activating drag click in dwell mode
  * Show touch handles on long press of the move button
  * Save window geometry 5 seconds after it was changed (LP: #819971)
  * Add option to keep aspect ratio of keyboard window
  * Update and fix system defaults example file
  * Give the AppIndic...

Read more...

Changed in onboard (Ubuntu Precise):
status: Confirmed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in onboard (Ubuntu Oneiric):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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