PATCH: close button + tray icon

Bug #584119 reported by Toby Dickenson on 2010-05-22
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Onboard
Undecided
Unassigned
onboard (Ubuntu)
Undecided
Unassigned
Oneiric
Undecided
Unassigned
Precise
Undecided
Unassigned

Bug Description

Hi,

I am using Onboard with the joggler tablet PC.

My use case involves intermittent use of Onboard. It is visible briefly, for example to enter a web address, then closed while I click round that web site. The tray icon is a great way to toggle the visibility of the on screen keyboard, however I find that I often click the close button on Onboard's window out of habit. This closes the window and, unexpectedly, removes the tray icon.

The attached patch simply hides the main window in this case, and the tray icon remains.

Toby Dickenson (toby-tarind) wrote :
Francesco Fumanti (frafu) wrote :

Hi Toby,

Thanks for your interest in onboard and especially thanks for the patch.

Unfortunately, I don't like your approach very much because the behaviour of the close button depends on the visibility of the tray icon.

Would a solution to the following bug not also help with your problem?
https://bugs.edge.launchpad.net/onboard/+bug/564040
I am aware that it does not directly solve your problem, but I assume that once there is a bigger "hide"-button available, it should not take long for you to get the habit to use that hide button to hide onboard.

Another solution that might suit you could come with the implementation of rfe-bug:
https://bugs.edge.launchpad.net/onboard/+bug/443986

Please, let me know if you would like to help us with one of these two bugs, because in that case I will start a discussion with the other maintainers about where to place the big hide button or how the automatic showing and hiding should behave.

Thanks again for your interest in onboard.

On Saturday 22 May 2010, you wrote:
> Hi Toby,
>
> Thanks for your interest in onboard and especially thanks for the patch.

Thanks for the quick reply.

> Unfortunately, I don't like your approach very much because the
> behaviour of the close button depends on the visibility of the tray
> icon.

I agree that maintaining consistent behaviour should be a goal, and I am
interested in understanding specifically where you think my patch falls short.

From the user's point of view, the window's close button makes the window "go
away". In one case the window is closed, in the other case it is hidden. I
dont think the difference is visible to the user, and I agree any differences
should be fixed.

Again from a user's point of view, I believe my patch improves the consistency
with other tray icons. network management, screen brightness, and volume tray
icons can all be used to show a window, but in no other case is the icon
removed when that window is closed.

If you meant inconsistent behaviour from an implementation point of view....
well, I'm happy to take implementation advice. This is my first trip into GTK.

> Would a solution to the following bug not also help with your problem?
> https://bugs.edge.launchpad.net/onboard/+bug/564040
> I am aware that it does not directly solve your problem, but I assume that
> once there is a bigger "hide"-button available, it should not take long
> for you to get the habit to use that hide button to hide onboard.

That bug calls for a "big (easily clickable) button to hide onboard", but in
my usage Onboard already has *two* such buttons; the [x] button in the title
bar, and the tray icon.

> Another solution that might suit you could come with the implementation of
> rfe-bug: https://bugs.edge.launchpad.net/onboard/+bug/443986

That would be a great enhancement. Given a gentle push in the right direction
I may be able to contribute.

However, I dont think it eliminates the need for this patch. A new auto-
show/hide feature wont totaly eliminate the need for manual hiding.

--
Toby Dickenson

Francesco Fumanti (frafu) wrote :
Download full text (3.3 KiB)

Hi,

On 05/22/2010 02:17 PM, Toby Dickenson wrote:
> On Saturday 22 May 2010, you wrote:
>> Hi Toby,
>>
>> Thanks for your interest in onboard and especially thanks for the
>> patch.
>
> Thanks for the quick reply.
>
>> Unfortunately, I don't like your approach very much because the
>> behaviour of the close button depends on the visibility of the
>> tray icon.
>
> I agree that maintaining consistent behaviour should be a goal, and I
> am interested in understanding specifically where you think my patch
> falls short.

What is disturbing me, is the fact that the close button quits onboard if the tray icon is not activated in the preferences; but the same button only hides/iconifies the window of onboard when the tray icon is enabled. Thus, two different bahaviours for the same button, and this behaviour depends on the activation or deactivation of another feature. That is not an evident behaviour in my opinion.

>>> From the user's point of view, the window's close button makes
>>> the window "go
> away". In one case the window is closed, in the other case it is
> hidden. I dont think the difference is visible to the user, and I
> agree any differences should be fixed.
>
> Again from a user's point of view, I believe my patch improves the
> consistency with other tray icons. network management, screen
> brightness, and volume tray icons can all be used to show a window,
> but in no other case is the icon removed when that window is closed.

So you are proposing to remove the option in the onboard preferences to activate and deactivate the tray icon and have it always visible. That would indeed make the close button have only one behaviour: hiding the onboard window. But it does not make sense to me to remove the option of the tray icon, to have at the end (after applying your patch) another button that behaves like the minimize button.

However, I will ping the other two maintainers for their opinion...

> If you meant inconsistent behaviour from an implementation point of
> view.... well, I'm happy to take implementation advice. This is my
> first trip into GTK.

No, I was arguing only from the point of view of the user.

>> Would a solution to the following bug not also help with your
>> problem? https://bugs.edge.launchpad.net/onboard/+bug/564040 I am
>> aware that it does not directly solve your problem, but I assume
>> that once there is a bigger "hide"-button available, it should not
>> take long for you to get the habit to use that hide button to hide
>> onboard.
>
> That bug calls for a "big (easily clickable) button to hide onboard",
> but in my usage Onboard already has *two* such buttons; the [x]
> button in the title bar, and the tray icon.

This are not two target that I would call big; to call it big, I would rather think at a button of the size of 4 keys with the letters.

>> Another solution that might suit you could come with the
>> implementation of rfe-bug:
>> https://bugs.edge.launchpad.net/onboard/+bug/443986
>
> That would be a great enhancement. Given a gentle push in the right
> direction I may be able to contribute.
>
> However, I dont think it eliminates the need for this patch. A new
> auto- show/hide feature...

Read more...

Toby Dickenson (toby-tarind) wrote :

On Saturday 22 May 2010, you wrote:

> What is disturbing me, is the fact that the close button quits onboard if
> the tray icon is not activated in the preferences; but the same button
> only hides the window of onboard when the tray icon is enabled.

But from the user's point of view the result is the same. The window is gone.

> So you are proposing to remove the option in the onboard preferences to
> activate and deactivate the tray icon and have it always visible.

No, I was proposing:

* Without the tray icon, pressing close makes the window go away. It can be re-shown by restarting the program.

* With the tray icon, pressing close makes the window go away. It can be re-shown by either restarting the program, or clicking on that tray icon.

I have just discovered a couple of inconsistencies in my patch so far:

1. Restarting the program in that second case would lead to two copies running, rather than re-showing the window from the first process. I should fix that.

2. Maybe my new logic for the tray icon should also apply if the IconPalette window is used.

--
Toby Dickenson

Francesco Fumanti (frafu) wrote :

I could imagine an option "Do not quit onboard when closing the keyboard window", but I am still reluctant to add it because there already is the minimize button to hide onboard. Moreover, I suppose that after using the minimize button for some time, it will become a habit to use it instead of the close button.

Thus, I do not see a real compelling reason to add your patch (or more precisely my updated version of the patch because your was using an older version of onboard) to onboard; but I will leave the thread open for the other maintainers in case they see it differently.

Chris Jones (tortoise) wrote :

I think we should keep the current behavior. Although other tray icons behave differently, they are attached to an application that performs some task in the background.

There's no real need for Onboard to have a tray icon at all. You could just put a launcher for Onboard on the panel and use that to get the behavior you want.

If we were to implement https://bugs.launchpad.net/onboard/+bug/564040 it would probably replace the current window decorations. So the close and minimize buttons would be replaced with something more intuitive.

marmuta (marmuta) wrote :

I realize I'm already outnumbered :), but for the record I'm in favor of keeping onboard running when hitting close if the panel icon is visible. Only slightly in favor however, I am still ok with how it currently works.

Assuming a tray icon is visible, I believe 'Quit' doesn't need to or even shouldn't be easy to reach. I usually don't ever want to exit onboard because I would lose, if only temporarily, an essential input device. I hit the close button only by accident (outside of development) and I believe having 'Quit' only in the panel menu would occasionally safe me from having to hunt for a launcher. I don't have a special launcher because onboard either autostarts on login or I run it from a terminal.

Then, somehow I'm still _expecting_ applications with icons in the panel to stick around when hitting close. This could be remnants of my Windows conditioning, but I've looked around for Ubuntu's policy and the closest I could find is
https://lists.launchpad.net/ayatana/msg02146.html, where sabdfl appears to support leaving some apps, presumably apps providing services when minimized, running.

Onboard may not provide something resembling a service when minimized right now, but it might be, if only barely, if/when auto showing/hiding gets implemented
https://bugs.edge.launchpad.net/onboard/+bug/443986.
That would most likely require having onboard running and rule out a launcher-only solution.

Sam Jacobs (sammyjayuk) wrote :

I must admit to being in favour as well. I'm also using onboard on a Joggler (right now, in fact), and this behaviour is really ticking me off!

Logically, at least to me, the tray icon "owns" the window. The icon always exists, but the window doesn't. The window needs the icon, not the other way round. The icon is for showing and hiding the window, therefore the icon shouldn't disappear when the window gets closed.

I'm not sure it's entirely useful to try and make comparisons with other applications--there is no analogue I can think of for what onboard and other on screen keyboards do. They're a software implementation of a hardware device that is generally, under traditional desktop conventions, expected to always be present. Admittedly, it's been a few years since I last regularly used a PC, but I seem to remember that they won't even boot without a keyboard present!

So it seems completely barmy that it should be so easy to accidentally remove the virtual keyboard!

Sam

In reply to Sam Jacobs
"They're a software implementation of a hardware device that is generally, under traditional desktop conventions, expected to always be present."
I second that as I use onboard on WVGA touchscreen only device without hardware keyboard. It is essential that it's always present.

In my opinion the best solution will be to add the big hide button https://bugs.edge.launchpad.net/onboard/+bug/564040 . As I commented in that bug, with such hide button one could start onboard without window decoration. This would save display space (essential on 800x480 device) and remove the danger to unintentionally close onboard.

The auto show/hide feature would as well be an enormous improvement for small screen device: https://bugs.edge.launchpad.net/onboard/+bug/443986

Regards

Tails Developers (tails.live) wrote :

For what it's worth, please find as an attachment the patch we apply to onboard in TAILS (https://amnesia.boum.org).

It adds an option to iconify the keyboard window when the close button in the window title bar is clicked.

Jan-Åke Larsson (jalar) wrote :

That last patch would suit everyone. Including me.

Thomas (t.c) wrote :

I will be happy to see this patch upstream ;-)

I also set up a tablet with ubuntu and onboard and the fact that the close button end the application is really frustrating

Francesco Fumanti (frafu) wrote :

Onboard has been enhanced to run without decoration. In this mode, there is not anymore a quit button on the first layer. Thus, I think that it also solves this issue; if it is not the case, please reopen this bug.

Changed in onboard:
status: New → Fix Committed

Hello Toby, or anyone else affected,

Accepted onboard into oneiric-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 onboard (Ubuntu Oneiric):
status: New → Fix Committed
tags: added: verification-needed
Jeremy Bicha (jbicha) wrote :

The new close button works just fine here in Unity and in GNOME Fallback.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

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

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

  * New bugfix release (LP: #880085)
  * Make the Hover Click also work in the Unity Greeter
  * Add some shortcuts to the Preferences dialog
  * Fix the return key of the scanning layout (LP: #877385)
  * Fix black corner issue when auto-starting in unity (LP: #877604)
  * Fix starting of the Preferences of Onboard in the LiveCD (LP: #877592)
  * Improve handling of gsettings events (LP: #877601)
  * Silently embed into gnome-screen-saver if no app did so (LP: #857813)
  * Remove redundant hook check
  * Remove unused pictures
  * Make a few small visual adjustments
  * Improve or fix some tooltips and key names
  * Add Gerd to AUTHORS file and order the names alphabetically
  * Merge translations from the Ubuntu translators from the 22-10-2011
  * debian/patches: update onboard-defaults.conf file

onboard (0.96.0-0ubuntu0.1) oneiric-proposed; urgency=low

  * Feature Freeze exception request (LP: #872374)
  * Uses gobject introspection (GTK3), (LP: #858988)
  * Uses gsettings rather than gconf (LP: #801208)
  * Show on new lock screen (LP: #857813)
  * Make Caps Lock stick on single click, (LP: #68716)
  * Use dh_python2 (LP: #788514)
  * Make Caps Lock stick on single click (LP: #68716)
  * Add a hide button (LP: #564040 , LP: #584119)
  * Add options for transparency of the onscreen keyboard window (LP: #643204)
  * Add option to use a window without decoration
  * Add tooltips to some keys of Onboard
  * Add option to force Onboard window to top (work around bug 739812)
  * Add possibility to differentiate snippets with custom labels
  * Add buttons to control the hover click eature provided by the system
  * Enhance the layout creation with parts that are visible on all layer
  * Reworked the layouts and renamed Classic Onboard layout to Compact layout
  * Many other little fixes and adjustments (details in commits on launchpad)
  * debian/control:
      Build-Depends: add python-all-dev, libgtk-3-dev, libxi-dev, libxtst-dev
                     remove libxi6
      Depends: add ${shlibs:Depends}, python-dbus, gir1.2-gtk-3.0,
                   gir1.2-pango-1.0 (>= 1.29.3), gir1.2-glib-2.0,
                   gir1.2-gdkpixbuf-2.0, libgtk-3-0, libxtst6
               remove python-gtk2, python-gconf, python-gobject, libx11-6
  * debian/copyright: add Gerd Kohlberger to the list of authors
  * debian/rules: uncomment clean target
  * debian/patches: update onboard-defaults.conf file
                    remove onboard_autostart.patch
  * debian: remove outdated README.source file
 -- Francesco Fumanti <email address hidden> Sat, 22 Oct 2011 22:10:54 +0200

Changed in onboard (Ubuntu Precise):
status: New → Fix Released
marmuta (marmuta) on 2011-11-14
Changed in onboard:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package onboard - 0.96.1-0ubuntu0.1

---------------
onboard (0.96.1-0ubuntu0.1) oneiric-proposed; urgency=low

  * New bugfix release (LP: #880085)
  * Make the Hover Click also work in the Unity Greeter
  * Add some shortcuts to the Preferences dialog
  * Fix the return key of the scanning layout (LP: #877385)
  * Fix black corner issue when auto-starting in unity (LP: #877604)
  * Fix starting of the Preferences of Onboard in the LiveCD (LP: #877592)
  * Improve handling of gsettings events (LP: #877601)
  * Silently embed into gnome-screen-saver if no app did so (LP: #857813)
  * Remove redundant hook check
  * Remove unused pictures
  * Make a few small visual adjustments
  * Improve or fix some tooltips and key names
  * Add Gerd to AUTHORS file and order the names alphabetically
  * Merge translations from the Ubuntu translators from the 22-10-2011
  * debian/patches: update onboard-defaults.conf file

onboard (0.96.0-0ubuntu0.1) oneiric-proposed; urgency=low

  * Feature Freeze exception request (LP: #872374)
  * Uses gobject introspection (GTK3), (LP: #858988)
  * Uses gsettings rather than gconf (LP: #801208)
  * Show on new lock screen (LP: #857813)
  * Make Caps Lock stick on single click, (LP: #68716)
  * Use dh_python2 (LP: #788514)
  * Make Caps Lock stick on single click (LP: #68716)
  * Add a hide button (LP: #564040 , LP: #584119)
  * Add options for transparency of the onscreen keyboard window (LP: #643204)
  * Add option to use a window without decoration
  * Add tooltips to some keys of Onboard
  * Add option to force Onboard window to top (work around bug 739812)
  * Add possibility to differentiate snippets with custom labels
  * Add buttons to control the hover click eature provided by the system
  * Enhance the layout creation with parts that are visible on all layer
  * Reworked the layouts and renamed Classic Onboard layout to Compact layout
  * Many other little fixes and adjustments (details in commits on launchpad)
  * debian/control:
      Build-Depends: add python-all-dev, libgtk-3-dev, libxi-dev, libxtst-dev
                     remove libxi6
      Depends: add ${shlibs:Depends}, python-dbus, gir1.2-gtk-3.0,
                   gir1.2-pango-1.0 (>= 1.29.3), gir1.2-glib-2.0,
                   gir1.2-gdkpixbuf-2.0, libgtk-3-0, libxtst6
               remove python-gtk2, python-gconf, python-gobject, libx11-6
  * debian/copyright: add Gerd Kohlberger to the list of authors
  * debian/rules: uncomment clean target
  * debian/patches: update onboard-defaults.conf file
                    remove onboard_autostart.patch
  * debian: remove outdated README.source file
 -- Francesco Fumanti <email address hidden> Sat, 22 Oct 2011 22:10:54 +0200

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

Other bug subscribers