helloSystem / Menu

Global menu bar written in Qt
43 stars 14 forks source link

Also search in untranslated menu labels #101

Open probonopd opened 2 years ago

probonopd commented 2 years ago

Can we also search untranslated menu text, so that "Copy" can be found even though e.g., the German translation,"Kopieren", is shown?

If we knew the untranslated text, we could do action->setProperty("untranslatedText", untranslatedText); - but the untranslated text is not received via DBus from the application... most likely because there is no concept of "untranslated label" in https://github.com/AyatanaIndicators/libdbusmenu/blob/master/libdbusmenu-glib/dbus-menu.xml, only "label", which is translated.

However, that file also says

Vendor specific properties can be added by prefixing them with x-<vendor>-.

So we could possibly introduce a x-hello-untranslated-label, but we would have to implement it in all places... so maybe the better approach would be to suggest untranslated-label to become an official, optional part of the DBusMenu spec. Who maintains that spec? @sunweaver seems to be active in https://github.com/AyatanaIndicators/ where DBusMenu seems to originate from and @agateau seems to have created it originally, so maybe they know where or by whom the DBusMenu spec is maintained?

sunweaver commented 2 years ago

@probonopd We are not (yet) official upstream of dbusmenu.This is still pending on my todo list. The official upstream stil is Canonical Ltd.

probonopd commented 2 years ago

Thanks @sunweaver, great to know.

By the way, I have started to collect documentation regarding the subject of global menus. It's far from perfect, but it's a start: https://hellosystem.github.io/docs/developer/menu - let me know if you'd be interested in (re-) using some of that content e.g., for https://ayatana-indicators.org/ (and if you catch any mistakes I have certainly made).

sunweaver commented 2 years ago

@probonopd: I have forwarded the above links to @flexiondotorg from Ubuntu MATE who is also very interested in Ayatana Indicators. This looks really like an interesting project.

What I am most of all asking myself: Are you interested in using Ayatana Indicators in your panel? I don't think we have any hard dependency on systemd, but it's probably worth double checking. However, it looks like your panel already has a clock and sound indicator icon built-in. Just wondering.

I am currently overloaded with other work, so I will not be able to work on documentation inclusion, but I'll be happy to do a review of your docs. And indeed, we should pull some of that stuff over to ayatana-indicators.org (which needs a refresh desperately).

Please note, that stuff originially brought forth by Canonical Ltd. is really unmaintained upstream. So libappindicator should be marked as such and libayatana-appindicator is the current upstream. Also, unity-gtk-module is dead upstream (sort of) and appmenu-gtk-module is the actively maintained code (although I don't know how active for real).

probonopd commented 2 years ago

Are you interested in using Ayatana Indicators in your panel?

I can answer this once I know what Ayatana Indicators are. Part of this whole global menu thing is that many names are floating around which may or may not describe the same or similar concepts, depending where you read about them. So in terms of documentation, I think having a concise glossary would already be very helpful.

Menu (this project) needs (and has) these things ("global menu", the contents of which are coming from the applications)

image

and these things ("mini apps with icons in the menu bar")

image

If Ayatana Indicators are helpful for these things, then I'm interested :)

agateau commented 2 years ago

Hi, I used to have a Doxygen-based spec for dbusmenu. It was hosted on people.canonical.com/~agateau, but that site is gone.

I just unearthed my backup of it and pushed it there: https://gitlab.com/agateau/people.canonical.com-agateau. The dbusmenu spec is here: https://gitlab.com/agateau/people.canonical.com-agateau/-/tree/master/dbusmenu/spec. Hope you find this useful.