Zim

Trayicon/systemtray/statusbar - needs to have Quit option

Bug #291339 reported by Peter Morgan
2
Affects Status Importance Assigned to Milestone
Zim
Status tracked in Pyzim
Pyzim
Fix Released
Low
Jaap Karssenberg

Bug Description

Selecting Quit from the trayicon currently closes EVERYTHING.

It should have the following choices:

//** This first option is to have checkboxes
1) You have all these notebooks open
[ ] Mad idea #1
[ ] Sillier Idea
[ ] Letter to dubdob

//** These are the buttons
do you want to
[ ] - Keep Zim launcher on taskbar
<Keep open selected> <Quit all Notebooks>

Tags: gui
Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

The trayicon is not the place to fix this.

What you want is a way to close one specific notebook while running in daemon mode with trayicon. Current behavior is that Close (<Ctrl>W) only hides the window (and thus it still shows in the trayicon menu) while Quit (<Ctrl>Q) closes the whole application. Seems to me you either want a third option or a different behavior for Close.

Changed in zim:
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
dotancohen (dotancohen) wrote :

I do not know if GTK supports this, but a solution would be an [X] next to each open notebook in the tray icon context menu:

Mad idea #1 [X]
Sillier Idea [X]
Letter to dubdob [X]
--------------------------------
Other...
--------------------------------
Quit

When the user clicks on "Sillier Idea" that notebook is brought to focus, as is now. But when the user clicks the [X] then that notebook is closed. The [X] should be right-aligned to give visual spatial separation between the different actions (focus, close).

This idea is directly from Tillanosoft's excellent Smallmenu program for the PocketPC:
http://tillanosoft.com/ce/smenu.html

Here is a screenshot showing open applications in Smallmenu and the [X] that closes them:
http://tillanosoft.com/ce/smlevel5.gif

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Suggestion by dotan seems do-able to me

Changed in zim:
status: Incomplete → Confirmed
Revision history for this message
Alexander Wolf (launchpad-awchip) wrote :

If you change it, please add a configuration option to keep the old behaviour. There are reasons to ask for this confirmation: If there is unsaved data, or on the PocketPC where there is no window bar or window list. But not here.
If I accidentally closed a notebook, I can simply re-open it. This happens rarely. Having to confirm every quit is annoying the user much more often.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Alexander: there is no talk here about having a confirmation on quit. As zim always saves data and state automatically that would be needless anyway. Not sure how your comment relates to the above proposal to have "close" buttons in the trayicon menu.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Checked in daemon and tray icon code for the python branch. Now the "quit" item in the trayicon menu quits the whole program (so all windows + the background daemon) while "quit" in a single notebook only quits that specific notebook. Quiting the notebook windows one by one will really exit their processes, but keeps the daemon and tray icon running.

The tray icon has two different menus, one with open notebooks, which is trigger on mouse button 1, and one with all notebooks (as defined in the notebook list) triggered with mouse button 3. In the case there are no notebooks mouse button 1 also shows all notebooks. In the case there is only one open notebook mouse button 1 directly pops up that notebook.

( TODO: "close" for a single window is still wired directly to "quit", should hide the window instead when tray icon is in effect )

Not sure if this completely fulfills this request, does the current design allow for all use cases?

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.