Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start menu improvement: favourite apps #1196

Closed
ghost opened this issue Nov 20, 2016 · 30 comments
Closed

Start menu improvement: favourite apps #1196

ghost opened this issue Nov 20, 2016 · 30 comments

Comments

@ghost
Copy link

ghost commented Nov 20, 2016

start-menu

@tsujan
Copy link
Member

tsujan commented Nov 20, 2016

Although I'm not against adding favorite apps to start menu, LXQt offers other ways for that. For example, you could add an auto-hiding panel with only Quick Launch plugin on it and then add your favorite apps to it.

@ghost
Copy link
Author

ghost commented Nov 20, 2016

That's right, thanks for your answer, @tsujan. I don't use auto-hiding feature because it feels unpredictable when accidental cursor move activates something on the screen. (By the way, it's a design drawback for beginner users). Also Quick Lunch plug-in visible all the time is to much distracting for me. Favourite apps in menu seems the best option for me.

@tsujan
Copy link
Member

tsujan commented Nov 20, 2016

@testify4
OK! However, I don't think favorite apps can be added to the current main menu as in your attached image because it's a "classic" menu. So, either another start menu plugin is needed or, more preferably, favorite apps should be added to the current menu as a submenu (this is already possible but only manually).

As for auto-hiding panels, see lxqt/lxqt-panel#375.

There are also two other ways: (1) drag-and-dropping from main menu to desktop and then moving the created link to a fixed position; and (2) assigning keyboard shortcuts. However, having favorite apps on the main menu is a valid feature request, IMO.

@palinek
Copy link
Contributor

palinek commented Nov 21, 2016

Please, elaborate more.

What does "favorte app" mean in this context?
Is it an application started from menu more than "threshold" times in "last X days"?
Is it an application manually set to be in visible in top menu?
Or even something else...?

@tsujan
Copy link
Member

tsujan commented Nov 21, 2016

@palinek
I think "favorite" means an app that is added to the favorite list by the user -- as is the case with KDE.

@ghost
Copy link
Author

ghost commented Nov 22, 2016

Yes, by "favourite" I mean apps chosen by the user. For "frequently used" (perhaps "recently used") apps there is another issue: #100. A nice example of advanced menu is very popular Whisker Menu for Xfce (screenshot below), although I prefer hidden categories because the menu with them becomes overcomplicated.

whisker-menu

@tsujan
Copy link
Member

tsujan commented Nov 22, 2016

I think the cleanest way to do so for a classic menu is adding a "favorites" submenu. @palinek, do you have another design in mind?

@ghost
Copy link
Author

ghost commented Nov 22, 2016

I think the cleanest way to do so for a classic menu is adding a "favorites" submenu.

Sorry, I'm totally against submenu. Submenus are very difficult in terms of usability; access to apps will be slow. It doesn’t make sense any more. That's why I created the mockup. It will be better to create alternative plugin for advanced menu as suggested by @jleclanche here: #101 (comment)

@Esclapion
Copy link

Esclapion commented Nov 22, 2016

You can call applications only if you know than they exist. Where can the user find the whole list, in your mockup ?

@tsujan
Copy link
Member

tsujan commented Nov 22, 2016

@Esclapion, any kind of implementation of favorite apps should automatically remove an uninstalled app from the list. The idea is that the user would be able to add existing (installed) apps to the list, for example, by right clicking on their menu-items.

IMHO, this is a nice feature and, with the current main menu, a favorite submenu is enough.

@Esclapion
Copy link

Esclapion commented Nov 22, 2016

I'm for a favorite list at the first or 2nd level. What I would say is than we can't avoid submenus.

@tsujan
Copy link
Member

tsujan commented Nov 22, 2016

What I would say is than we can't avoid submenus.

And I agree.

@ghost
Copy link
Author

ghost commented Nov 22, 2016

@Esclapion, there is All applications... position in my mockup, which may show traditional menu or, even better, a list of categories like in KDE (screenshots below). OK, we may call this "submenus", but it's more like a list of items (bigger targets for mouse navigation, without submenu flashing).

2016-11-22-183330_1920x1200_scrot

2016-11-22-183518_1920x1200_scrot

@tsujan
Copy link
Member

tsujan commented Nov 22, 2016

@testify4
I don't think there's any LXQt dev that hasn't seen the KDE menu. Whether you reach a submenu by moving the mouse or by clicking, it's still a submenu. It's just a matter of taste which way is more comfortable (for me, the first one -- no extra click).

Anyhow, the KDE menu is technically an item view, not a menu, while LXQt's main menu is really a menu.

@Esclapion
Copy link

Esclapion commented Nov 22, 2016

Your "All applications" is so almost our current Menu. The problem I see is than some elements, like Lxqt Settings, will be at the 4th or 5th level.

Menu -> All applications -> Settings -> Lxqt Settings -> Control Center

(edit)

I prefer have Applications and Favorites on the 1st level...

@tsujan
Copy link
Member

tsujan commented Nov 23, 2016

Before doing anything about this, I'd have a suggestion:

If "Favorites" is going to be a submneu on the main menu, a more general utility app might be a better choice, i.e. a Qt app for creating/modifying submenus and menu-items. Such an app wouldn't depend on the LXQt panel or main menu and could be used under any DE. If it doesn't exist, I might make one (on my GitHub page).

@palinek
Copy link
Contributor

palinek commented Nov 23, 2016

Showing an app in top level menu is relatively easy task (if you know how to edit a .menu file :)). Consider this example:

diff --git a/menu/lxqt-applications.menu b/menu/lxqt-applications.menu
index 2cd802d..6939cfd 100644
--- a/menu/lxqt-applications.menu
+++ b/menu/lxqt-applications.menu
@@ -223,6 +223,14 @@
                </Include>
        </Menu> <!-- End Screensaver -->
 
+       <Menu>
+               <Name>Favorites</Name>
+               <Include>
+                               <Filename>pavucontrol-qt.desktop</Filename>
+                               <Filename>doublecmd.desktop</Filename>
+               </Include>
+       </Menu>
+
        <Layout>
                <Merge type="files"/>
                <Merge type="menus"/>
@@ -232,6 +240,8 @@
                <Separator/>
                <Menuname show_empty="false">X-Leave</Menuname>
                <Menuname show_empty="false" inline="true">Screensaver</Menuname>
+               <Separator/>
+               <Menuname show_empty="false" inline="true">Favorites</Menuname>
        </Layout>
 
 </Menu> <!-- End Applications -->

But sure we can not expect regular user to know this.

We can handle it this way:

  • change the lxqt-applications.menu in lxqt-common to have an empty Favorites menu with <AppDir>.</AppDir>
  • allow user to "paste" an .desktop file into the top level menu -> lxqt-panel will then
    • (if not already using the private $XDG_CONFIG_HOME version of .menu file) copy the default lxqt-applications.menu into e.g. $XDG_CONFIG_HOME/lxqt-panel/menu
    • make a symbolic link in $XDG_CONFIG_HOME/lxqt-panel/menu to the dropped file
    • update Favorite section of the the private .menu file

But of course this is completely fragile and involves too many fullfilled prerequisities :(

  • user can have set different .menu file
  • handling of multiple panel and/or multiple menu
  • applications removal -> dead symlinks
  • $XDG_CONFIG_HOME/lxqt-panel/menu cleanup
    ...

@tsujan
Copy link
Member

tsujan commented Nov 23, 2016

@palinek
A hard-coded "favorites" submenu plus a mechanism for adding/removing/watching items may be a complex task too. It seems that adding a "favorites" section requires an item-view instead of QMenu. On the other hand, the main menu should remain a QMenu, IMO. So, what remains is the possibility of writing another main-menu widget based on item-view.

@palinek
Copy link
Contributor

palinek commented Nov 23, 2016

A hard-coded "favorites" submenu plus a mechanism for adding/removing/watching items may be a complex task too. It seems that adding a "favorites" section requires an item-view instead of QMenu.

No. The described "copy-edit-link" solution wil be still a QMenu. The changes made in .menu file will be handled by the menu-cache.

@tsujan
Copy link
Member

tsujan commented Nov 23, 2016

No. The described "copy-edit-link" solution wil be still a QMenu.

It would be very unusual. A context menu with an "Add to Favorites" item is the easy way of adding an item to the list and I don't think it would be possible with QMenu.

@ghost
Copy link
Author

ghost commented Nov 23, 2016

Thank you for your attention and reflections on the matter. PS. I like to have big and happy icons. ;-) So this is another attempt (alternative to simple menu).

start-menu

@tsujan
Copy link
Member

tsujan commented Nov 24, 2016

I don't like item-view start menus (because of extra clicks) but, sooner or later, more users might request such a menu under various titles ("modern" menu, slide menu, KDE-like menu, etc.). IMHO, we'd better start to make such a widget for the panel and make it stylable like the default main menu. Then "favorites" and "recently used" can be added to it. It's not an easy task at all but may be worth the effort.

@jamsilva
Copy link

jamsilva commented Dec 1, 2016

Allow me to suggest looking at the StartApplet plugin of https://github.com/developing4all/hdepanel. Perhaps you could port it to lxqt-panel or even merge the two projects.

@tsujan
Copy link
Member

tsujan commented Dec 1, 2016

@jamsilva
Thank you! I'll try it.

@tsujan
Copy link
Member

tsujan commented Dec 1, 2016

I tried hdepanel. It's a good start but not ready for use yet. That's while lxqt-panel is not only quite mature but also advanced. The start menu of hdepanel uses an item-view, exactly as I proposed above:

2016-12-01-23 55 31-scrot

@palinek
Copy link
Contributor

palinek commented Dec 2, 2016

The start menu of hdepanel uses an item-view, exactly as I proposed above:

I had a look also.... the first, what is completely different from our panel's mainmenu, the categories are hardcoded and not driven by some XDG menu file.

@tsujan
Copy link
Member

tsujan commented Dec 2, 2016

.. is completely different from our panel's mainmenu...

Yes, it is! I don't think a merge would have meaning.

@maverick74
Copy link

Personal opinion:

If i didn't like the actual menu, i would suggest something like the "lite" kde menu present in plasma, which has cattegories and recent docs and recent apps in a submenu and the favourite apps on the left just as icons...

But i don't really see the point for lxqt! One can create shortcuts for apps on the desktop and on the panel. And you even need one less click to get to them!

I only missed a search function that's been added in 0.11. So, to me, the menu is just fine.

@stefonarch
Copy link
Member

I agree, personally the menu for me is just an overview for what is installed, I start every app or whith a shortkey (ALT+q = qupzilla ecc) or using the runner (using ALT+space instead of the uncomfortable ALt+F2).

But users are different so if anyone writes a kind of whisker-kde-menu panel-plugin I see only benefits.

@stefonarch
Copy link
Member

Done in lxqt/lxqt-panel#1975

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Closed
Development

No branches or pull requests

7 participants