Skip to content

Modernize#7

Open
mathstuf wants to merge 39 commits intosystemd:mainfrom
mathstuf:modernize
Open

Modernize#7
mathstuf wants to merge 39 commits intosystemd:mainfrom
mathstuf:modernize

Conversation

@mathstuf
Copy link
Copy Markdown
Collaborator


GTK4 port. Also now supports the system and user password request directories.

@mathstuf
Copy link
Copy Markdown
Collaborator Author

One more thing to do here: if the ask.* password is deleted, withdraw the notification as well.

@AsciiWolf
Copy link
Copy Markdown
Contributor

Is this ready?

@mathstuf
Copy link
Copy Markdown
Collaborator Author

mathstuf commented Sep 7, 2025

No, the "rescind the notification on deletion" is not implemented. But I suppose an issue could be raised for that.

Would you mind testing it as well? My use case is quite narrow and it works there, but I'm sure there are other cases that may have issues.

@AsciiWolf
Copy link
Copy Markdown
Contributor

Thanks for the info! Sure, I plan to test this GTK4 port in upcoming weeks (after next week's vacation).

@AsciiWolf
Copy link
Copy Markdown
Contributor

AsciiWolf commented Dec 12, 2025

screenshot

It compiles and runs fine, however it does look like it still uses GTK3 (and it still requires the gtk+-3.0 dependency).

Also, it should be rebased against the latest code from main for the AppStream/desktop fixes.

By the way, "Snapshots" are still listed in the unit types drop-down box (and there is also a "Take Snapshot" button). Are you sure snapshots are still supported by systemd?

@AsciiWolf
Copy link
Copy Markdown
Contributor

One more thing. This is what appears in my app list:

screenshot

I think that the "systemd GNOME ask password agent" desktop entry should probably stay hidden.

@mathstuf
Copy link
Copy Markdown
Collaborator Author

mathstuf commented Dec 12, 2025

I've not used systemdadm at all. It still builds, but my interests are completely in the "ask password agent" side. One thing is blocking this from actually working in practice: systemd/systemd#40070

@AsciiWolf
Copy link
Copy Markdown
Contributor

Wait... I am not sure whether I understand. I thought that this whole PR was about porting systemadm to GTK4 and improving this whole (systemd-ui) project. I thought that systemd-gnome-ask-password* was just some helper tool used mostly by systemadm.

Do you have any examples what systemd-gnome-ask-password-agent is actually useful for? Thanks!

Anyway, I still think that displaying its desktop entry is incorrect. It should probably have something like NoDisplay=true added to its desktop file.

@mathstuf
Copy link
Copy Markdown
Collaborator Author

It is used for this: https://systemd.io/PASSWORD_AGENTS/

It's the reason I picked up maintenance of the project. I have openvpn ask over that protocol to set up a system-wide VPN. I'd like to answer its queries without using sudo :) .

I thought that this whole PR was about porting systemadm to GTK4

It needed no other changes to compile.

AsciiWolf and others added 9 commits December 12, 2025 16:21
Also convert both metainfo and desktop file names to rDNS format
Update the links
The "man" option is defined as a meson feature option. Feature options
possess tristate values, but using the .allowed() method casts it to a
dual-valued option. Effectively, both "auto" and "enabled" were treated
as boolean true, and disabled was treated as boolean false.

find_program was informed that it should always check for the manpage
generator, but with a boolean `required:` kwarg, it is nonfatal if not
found. That meant configuring with "man=disabled", the manpage would be
automatically built if the generator program was available, and with
"man=auto" the project would fatally error when configuring but the
generator program was not available. This is clearly confusing/wrong, so
pass the option value directly instead.

The default value of the option was formerly effectively set to "auto".
Change its value to truly be that, so that the default behavior is
preserved.
This is needed to use `GIO.Notification`, the replacement for
`Gtk.StatusIcon`.
This separates the watching for things to send notifications from the
handling of actual requests.
@mathstuf
Copy link
Copy Markdown
Collaborator Author

Ah, the GTK4 bit is not yet done. This is just to make GTK3 not have deprecation warnings. GTK4 will come later.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants