Customizable context menus (JSON file) #65

Closed
landroni opened this Issue Jan 13, 2014 · 24 comments

Comments

Projects
None yet
7 participants
@landroni

As in Opera12, right-click on anywhere on a page and you can access 'Copy Address'. I always thought that this item was misplaced, and would be more appropriate if included in the context menu that you access when doing right-click on that tab.

What do you think?

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jan 13, 2014

Member

It may make sense, especially if list of actions of context menu of tab bar could be configured (it was already planned for content context menu).

Member

Emdek commented Jan 13, 2014

It may make sense, especially if list of actions of context menu of tab bar could be configured (it was already planned for content context menu).

@zahek

This comment has been minimized.

Show comment
Hide comment
@zahek

zahek Jan 13, 2014

With customization will be easier, I think...

zahek commented Jan 13, 2014

With customization will be easier, I think...

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jan 20, 2014

For what I knew, the Otter GUI (toolbars, menu, etc...) will rely on something like the old good .ini files (and they will support all old customization, custom commands, etc...), so this Issue is quite useless to me.

If we have that kind of system then we can ship Otter with any menu setup we want and user can change it as he want without problem.

Just to say that I'm viewing here too much minor request that simply waste time that could be better used in "core issues" .... IMHO :)

lollox commented Jan 20, 2014

For what I knew, the Otter GUI (toolbars, menu, etc...) will rely on something like the old good .ini files (and they will support all old customization, custom commands, etc...), so this Issue is quite useless to me.

If we have that kind of system then we can ship Otter with any menu setup we want and user can change it as he want without problem.

Just to say that I'm viewing here too much minor request that simply waste time that could be better used in "core issues" .... IMHO :)

@ghost ghost assigned Emdek Jan 25, 2014

@Emdek Emdek referenced this issue Apr 21, 2014

Closed

Beta milestones #255

@Emdek Emdek added this to the Beta 2 milestone May 29, 2014

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 6, 2014

Hi

about custom menus I was wondering if you can accept these ideas for a very good enhancement of them. After many years developing custom menus for Opera I noticed how much limited I was sometimes because of lack of support for some small but very powerful and smart features. So here there is a full list (very simple as you can see) of stuff I'd like (really really like) to see implemented in Otter (for what I know QT5 should let us implement them without problems):

1 - normal item: the standard command that execute an action

2 - submenu: the standard menu voice that opens a submenu

3 - item + submenu: here there is the first addition. It consists in the combination of a clickable item plus an arrow to the right margin that will open a submenu (as you can find for example in Firefox): http://i.imgur.com/t4rU7Xg.png

4 - label + buttons: this is instead a very awesome feature that we can see in Chromium browsers, Maxthon, etc... http://i.imgur.com/W4GmQiy.png : As you can see in the attached image this feature is used here for cut/copy/paste buttons (the "Modifica" text is only a label without any action), and characters zoom, but if I could use it for my custom menu I've lot of idea about good exploitation :D (just for example: copy link (link URL; text label); copy text (plain text, formatted text), etc ... the limit is only in our imagination :)

5 - support for powerful main menu a là FF Australis and Maxthon: this is less important but still very interesting: as you can see in the image about Maxthon menu ( http://i.imgur.com/1Ne1n8p.png ), it support even more stuff than Chrome ... for example the first row is used for BIG buttons with label text, the Proxy item is a combination of point 3 and 4 , etc
In a similar way works the Australis main menu with BIG buttons, etc

Hope that these ideas (at least 3 and 4) could find their way in Otter because they're a big step forward in menu customization to me (and against the need of extensions)

Thanks in advance :)

lollox commented Jun 6, 2014

Hi

about custom menus I was wondering if you can accept these ideas for a very good enhancement of them. After many years developing custom menus for Opera I noticed how much limited I was sometimes because of lack of support for some small but very powerful and smart features. So here there is a full list (very simple as you can see) of stuff I'd like (really really like) to see implemented in Otter (for what I know QT5 should let us implement them without problems):

1 - normal item: the standard command that execute an action

2 - submenu: the standard menu voice that opens a submenu

3 - item + submenu: here there is the first addition. It consists in the combination of a clickable item plus an arrow to the right margin that will open a submenu (as you can find for example in Firefox): http://i.imgur.com/t4rU7Xg.png

4 - label + buttons: this is instead a very awesome feature that we can see in Chromium browsers, Maxthon, etc... http://i.imgur.com/W4GmQiy.png : As you can see in the attached image this feature is used here for cut/copy/paste buttons (the "Modifica" text is only a label without any action), and characters zoom, but if I could use it for my custom menu I've lot of idea about good exploitation :D (just for example: copy link (link URL; text label); copy text (plain text, formatted text), etc ... the limit is only in our imagination :)

5 - support for powerful main menu a là FF Australis and Maxthon: this is less important but still very interesting: as you can see in the image about Maxthon menu ( http://i.imgur.com/1Ne1n8p.png ), it support even more stuff than Chrome ... for example the first row is used for BIG buttons with label text, the Proxy item is a combination of point 3 and 4 , etc
In a similar way works the Australis main menu with BIG buttons, etc

Hope that these ideas (at least 3 and 4) could find their way in Otter because they're a big step forward in menu customization to me (and against the need of extensions)

Thanks in advance :)

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 6, 2014

Member

@lollox, ability to define submenus was planned from beginning. ;-)

  1. So this is both clickable action and submenu?
  2. This for sure is doable, but it could be hard to get it right, for example how decide how subactions should look like? Specify icon or widget type?
  3. Oh my... it looks like less colorful version of Kickoff or Windows 7 start menu. ;-)
    I'm not sure if I would like to go so far, but it could be reconsidered later, as something optional.
Member

Emdek commented Jun 6, 2014

@lollox, ability to define submenus was planned from beginning. ;-)

  1. So this is both clickable action and submenu?
  2. This for sure is doable, but it could be hard to get it right, for example how decide how subactions should look like? Specify icon or widget type?
  3. Oh my... it looks like less colorful version of Kickoff or Windows 7 start menu. ;-)
    I'm not sure if I would like to go so far, but it could be reconsidered later, as something optional.
@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 6, 2014

well, don't look at the "look" of the menus but at the "under the hood" stuff ;) ... about your questions I'm not sure about your numbered list :P , so taking current Otter as example, look at the view menu as reference to explain what I mean in each point:

  1. View > Reload (a normal item... click on it and execute a command)
  2. View > User agent (mouse over it to open a submenu)
  3. Exactly as the image of the Help menu posted above (click on Help execute an action; move on the > to the right to open instead a submenu)
  4. As explained in previous message: imagine for example a row with "Copy" label (it's only text, no actions) and 2 buttons (as icons) "copy plain text" and "copy formatted text" ... it could be very useful for lot of things
  5. not much to say... if I could build something like that (Maxthon or FF main menu) I will be the king of the world XD

lollox commented Jun 6, 2014

well, don't look at the "look" of the menus but at the "under the hood" stuff ;) ... about your questions I'm not sure about your numbered list :P , so taking current Otter as example, look at the view menu as reference to explain what I mean in each point:

  1. View > Reload (a normal item... click on it and execute a command)
  2. View > User agent (mouse over it to open a submenu)
  3. Exactly as the image of the Help menu posted above (click on Help execute an action; move on the > to the right to open instead a submenu)
  4. As explained in previous message: imagine for example a row with "Copy" label (it's only text, no actions) and 2 buttons (as icons) "copy plain text" and "copy formatted text" ... it could be very useful for lot of things
  5. not much to say... if I could build something like that (Maxthon or FF main menu) I will be the king of the world XD
@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 6, 2014

Member

@lollox, OK, now it's clear for me.
I really don't like clickable action plus submenu (3.), I don't think it's compatible with any HIG. ;-)
What about submenu plus item with subactions (these widgets on label) instead?

Member

Emdek commented Jun 6, 2014

@lollox, OK, now it's clear for me.
I really don't like clickable action plus submenu (3.), I don't think it's compatible with any HIG. ;-)
What about submenu plus item with subactions (these widgets on label) instead?

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 6, 2014

Oh well, I can only make feature request but what to implement or not it's up to you :P

I can only say that when I build something like a menu.ini I always use all the tools available in my toolbox, so the more the better ;)

lollox commented Jun 6, 2014

Oh well, I can only make feature request but what to implement or not it's up to you :P

I can only say that when I build something like a menu.ini I always use all the tools available in my toolbox, so the more the better ;)

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 7, 2014

Member

@lollox, sure, but I would like to know if such solution would be good enough replacement. ;-)

Member

Emdek commented Jun 7, 2014

@lollox, sure, but I would like to know if such solution would be good enough replacement. ;-)

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 7, 2014

can you explain better (or with some example, if already available in some software) what do you mean? I didn't understand what it should be

PS
am I the only one with problems with the "cursor indicator" while typing here on GitHib? (latest release of Otter) .... it often disappears (even moving with arrows keys there's no visually feedback) or makes lot of artifacts

lollox commented Jun 7, 2014

can you explain better (or with some example, if already available in some software) what do you mean? I didn't understand what it should be

PS
am I the only one with problems with the "cursor indicator" while typing here on GitHib? (latest release of Otter) .... it often disappears (even moving with arrows keys there's no visually feedback) or makes lot of artifacts

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 7, 2014

Member

@lollox, by combining this:
http://i.imgur.com/W4GmQiy.png
With submenus.

Basically action (or label, if it does nothing) would be able to have both these "subactions" (this how I call these buttons / widgets shown on the right in some entries) and submenu.

About that issue with cursor, I cannot reproduce that.
Does it behave in similar way with other line edits?

Member

Emdek commented Jun 7, 2014

@lollox, by combining this:
http://i.imgur.com/W4GmQiy.png
With submenus.

Basically action (or label, if it does nothing) would be able to have both these "subactions" (this how I call these buttons / widgets shown on the right in some entries) and submenu.

About that issue with cursor, I cannot reproduce that.
Does it behave in similar way with other line edits?

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 7, 2014

About the menu, yes it could be a good addiction to me ;)

For the cursor, I'm not sure (it doesn't happen everytime but random) but maybe it happens on Disquis too ... I don't recall if even normal text fileds (no javascript at all) have this issue ... So I will open a new ticket when I'll identify the problem with more accuracy

lollox commented Jun 7, 2014

About the menu, yes it could be a good addiction to me ;)

For the cursor, I'm not sure (it doesn't happen everytime but random) but maybe it happens on Disquis too ... I don't recall if even normal text fileds (no javascript at all) have this issue ... So I will open a new ticket when I'll identify the problem with more accuracy

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 7, 2014

Member

@lollox, OK, it's most probably upstream issue (especially if it will be confirmed using other line edits) but separate ticket is always better to link in report send upstream. ;-)

Member

Emdek commented Jun 7, 2014

@lollox, OK, it's most probably upstream issue (especially if it will be confirmed using other line edits) but separate ticket is always better to link in report send upstream. ;-)

@Chocimier

This comment has been minimized.

Show comment
Hide comment
@Chocimier

Chocimier Jun 9, 2014

Contributor

@Emdek: How submenu with action difers from submenu with subactions? Isn't it just a special case?

Contributor

Chocimier commented Jun 9, 2014

@Emdek: How submenu with action difers from submenu with subactions? Isn't it just a special case?

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 9, 2014

Member

@Chocimier, I'm using "subactions " to refer to these actions that are drawn on parent entry, like zoom actions here:
http://i.imgur.com/W4GmQiy.png

Member

Emdek commented Jun 9, 2014

@Chocimier, I'm using "subactions " to refer to these actions that are drawn on parent entry, like zoom actions here:
http://i.imgur.com/W4GmQiy.png

@lollox

This comment has been minimized.

Show comment
Hide comment
@lollox

lollox Jun 9, 2014

Is the point 4 in my list, isn't it? ... because I understood so

lollox commented Jun 9, 2014

Is the point 4 in my list, isn't it? ... because I understood so

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 9, 2014

Member

@lollox, yes, but also allowing submenu.

Member

Emdek commented Jun 9, 2014

@lollox, yes, but also allowing submenu.

@Chocimier

This comment has been minimized.

Show comment
Hide comment
@Chocimier

Chocimier Jun 9, 2014

Contributor

@Emdek: Take a look please:

----------------------------------------------------
| 1. action and submenu                        | > |
----------------------------------------------------
| ( 2. long-name subaction and no-name submenu ) > |
----------------------------------------------------

Why is 1. bad and 2. is good?

Contributor

Chocimier commented Jun 9, 2014

@Emdek: Take a look please:

----------------------------------------------------
| 1. action and submenu                        | > |
----------------------------------------------------
| ( 2. long-name subaction and no-name submenu ) > |
----------------------------------------------------

Why is 1. bad and 2. is good?

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jun 9, 2014

Member

@Chocimier, submenus should be consistent, all should be shown on hover, without need to click something.

Member

Emdek commented Jun 9, 2014

@Chocimier, submenus should be consistent, all should be shown on hover, without need to click something.

@Emdek Emdek modified the milestones: Beta 2, Beta 3 Aug 1, 2014

@Emdek Emdek changed the title from Customizable menus (INI file) to Customizable menus (JSON file) Sep 22, 2014

@Emdek Emdek closed this in 9b0fdd2 Sep 22, 2014

@Emdek Emdek reopened this Sep 22, 2014

@Emdek Emdek modified the milestones: Beta 4, Beta 3 Nov 1, 2014

@Emdek Emdek added this to the 1.0 milestone Dec 28, 2014

@Emdek Emdek removed this from the Beta 4 milestone Dec 28, 2014

@ersi-dnd

This comment has been minimized.

Show comment
Hide comment
@ersi-dnd

ersi-dnd Feb 1, 2015

Sorry about yet another duplicate :)

In Opera they were all normal menus which I saw as an advantage. For example IE and FF et al. have made the effort to make the items in bookmarks menu right-clickable, aand Otter has the same thing now too. For me, the right-click properly belonged to bookmarks manager and bookmarks toolbar, not to bookmarks menu.

The problem is consistency - if one menu, such as bookmarks menu, is right-clickable, why not other menus, such as Tabs menu or History list or any other menu item?

ersi-dnd commented Feb 1, 2015

Sorry about yet another duplicate :)

In Opera they were all normal menus which I saw as an advantage. For example IE and FF et al. have made the effort to make the items in bookmarks menu right-clickable, aand Otter has the same thing now too. For me, the right-click properly belonged to bookmarks manager and bookmarks toolbar, not to bookmarks menu.

The problem is consistency - if one menu, such as bookmarks menu, is right-clickable, why not other menus, such as Tabs menu or History list or any other menu item?

@Frenzie

This comment has been minimized.

Show comment
Hide comment
@Frenzie

Frenzie Feb 1, 2015

Member

@ersi-dnd

The problem is consistency - if one menu, such as bookmarks menu, is right-clickable, why not other menus, such as Tabs menu or History list or any other menu item?

On the flipside, I don't think any of them allow you to use modifiers like Shift and Ctrl on the menu while Opera does. Otter merely adds an extra way of accessing that functionality.

Member

Frenzie commented Feb 1, 2015

@ersi-dnd

The problem is consistency - if one menu, such as bookmarks menu, is right-clickable, why not other menus, such as Tabs menu or History list or any other menu item?

On the flipside, I don't think any of them allow you to use modifiers like Shift and Ctrl on the menu while Opera does. Otter merely adds an extra way of accessing that functionality.

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Feb 1, 2015

Member

@ersi-dnd, need for yet another special case for alternate stylesheets menu was the last straw, it motivated me to take care of #42. ;-)
So we could let scriptlets to get modifiers and other stuff so they would decide what to do themselves.

The only missing part is nice way to generate entire menus using that concept, trying to combine power of C++ and flexibility of JS without defining everything in JS (which would be bad bad, especially in our case).

Anyway, we already try to take modifiers and button into account everywhere where it makes sense right now, see:
https://github.com/Emdek/otter/blob/master/src/core/WindowsManager.cpp#L761

BTW, hints (as set of flags instead of few, inconsistent and non-flexible bool variables) are based on idea by @bajasoft.

Member

Emdek commented Feb 1, 2015

@ersi-dnd, need for yet another special case for alternate stylesheets menu was the last straw, it motivated me to take care of #42. ;-)
So we could let scriptlets to get modifiers and other stuff so they would decide what to do themselves.

The only missing part is nice way to generate entire menus using that concept, trying to combine power of C++ and flexibility of JS without defining everything in JS (which would be bad bad, especially in our case).

Anyway, we already try to take modifiers and button into account everywhere where it makes sense right now, see:
https://github.com/Emdek/otter/blob/master/src/core/WindowsManager.cpp#L761

BTW, hints (as set of flags instead of few, inconsistent and non-flexible bool variables) are based on idea by @bajasoft.

@Emdek Emdek changed the title from Customizable menus (JSON file) to Customizable context menus (JSON file) Mar 27, 2015

@Emdek Emdek modified the milestones: Beta 6, Beta 5 Mar 27, 2015

@Emdek Emdek modified the milestones: Beta 7, Beta 6 May 25, 2015

@Chocimier Chocimier closed this in 0b51c92 Jul 9, 2015

@Chocimier

This comment has been minimized.

Show comment
Hide comment
@Chocimier

Chocimier Jul 9, 2015

Contributor

During implementing this function I've changed custom main and button menu location.
If you have customized this menus, please move files menuBar.json and menuButton.json (if you have them) from main Otter's configuration directory to menu/ subdirectory.
Thank you for your understanding.

Contributor

Chocimier commented Jul 9, 2015

During implementing this function I've changed custom main and button menu location.
If you have customized this menus, please move files menuBar.json and menuButton.json (if you have them) from main Otter's configuration directory to menu/ subdirectory.
Thank you for your understanding.

@Emdek

This comment has been minimized.

Show comment
Hide comment
@Emdek

Emdek Jul 9, 2015

Member

Also note that subactions are still planned, probably they will get own ticket later.

Member

Emdek commented Jul 9, 2015

Also note that subactions are still planned, probably they will get own ticket later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment