Support for third party gui providers #9991
Unanswered
WhySoBad
asked this question in
Feature requests - Protocols / Integrations
Replies: 1 comment
-
in general, I am against, and there are various problems with such an approach. Hyprland has to be able to monitor the popup. Furthermore, in the future, I want to add special properties to Hyprland-spawned popups, to make them harder to imitate. I18n can be done (and should be done) in Hyprland. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the feature
In my opinion it's a bit weird that the current gui elements like dialogs, donate screen and update screen are hard-coded in the backend. I think it would be nice if there was the possibility to use third party gui providers for those things which are currently done using
hyprland-qtutils
. The current gui elements could then be moved to a standard implementation of a gui provider similar how it's done with the share picker in the desktop portal.The idea is that there is a standard interface for each gui element which is used by hyprland to communicate with a gui provider. It should be possible to specify a custom gui provider binary in the config (again, like it's done with share pickers in the desktop portal).
Also stuff like localization (#9949) could then be done in the gui provider rather than in hyprland itself.
An example for this interface for e.g. the permission manager dialog (#9930) looks like this:
Request: (JSON-ish, however serialization format does not matter as long as
type
is the first field)The bodies of all requests would share the
type
field and based on this the specific fields for the gui element can be determined.In this example the request type is
DIALOG
and therefore adialogType
field is also added. Depending on thetype
field value, there could be anactions
field containing action enum variants. The gui provider needs to return one of those actions in it's response if it's present.Response:
If there is an
actions
field in the request then the last line in the stdout of the gui provider needs to be one of those actions when it exits. If there are noactions
defined, the server does not expect a response and simply waits for termination of the gui provider.Should an invalid action be returned we could either show a dialog (using the gui provider) or send a hyprland notification (probably better since when an invalid action is returned, the gui provider is probably not correctly implemented)
Why would it be beneficial
Beta Was this translation helpful? Give feedback.
All reactions