Commit Graph

13 Commits

Author SHA1 Message Date
5405d3081e Increase dialog exit status parsing safety in the locker
This also stops using -1 as auth failed, and moves all failure statuses
to positive numbers.  It looks like Exiting with -1 ends up setting the
status to 255 on exit, but then in the locker, it sees this as 255 and
not -1, since things get coerced into 32-bit integers.
2022-05-30 18:43:29 -07:00
057eaf7c85 Ensure we don't exit successfully if the main loop exits
We never quit the main loop, but if something odd happens that causes it
to quit outside our control, ensure that we don't return the "auth
success" status code.
2022-05-30 17:48:49 -07:00
32cb674e7a Codify dialog exit statuses and make them less error-prone 2022-05-30 17:47:56 -07:00
762fdc3912 Use clone!() macro instead of Rc 2022-05-30 17:30:29 -07:00
f0bbc9d982 Show auth is happening after clicking Unlock
Changes the auth failed label into an auth status label, and prints a
dot once every half second while authenticating.

Also reduces the post-auth-failed pause to 1 second; 2 seconds is longer
than it seems.
2022-05-30 17:27:43 -07:00
dda1a53856 Make the new login button stuff more automatic
By default it'll look at your environment to try to figure out which
display manager is used in order to start a new session.  We first try
the org.freedesktop.DisplayManager dbus interface, and if that fails,
inspect XDG_SESSION_DESKTOP to try to figure out which display manager
is running.

The user can also still specify the correct display manager, or a custom
command.
2022-05-15 20:50:45 -07:00
99ffa88657 Add "auth failed" message to unlock dialog 2022-05-14 18:19:11 -07:00
050bf5cbac Support more versions of glib and gtk 2022-05-14 00:17:50 -07:00
fcb997bfb3 Move config parsing to util crate 2022-05-04 16:15:39 -07:00
2ae04ff91a Add example config 2022-05-04 00:49:24 -07:00
92504d279a Add 'New Login' button to unlock dialog 2022-05-04 00:48:53 -07:00
832b381421 Implement dialog timeout & timeout bar 2022-05-03 23:47:06 -07:00
2e86445c3d Initial import. Most things seem working.
This includes an abortive attempt to do a gtk4 dialog (which I don't
think is possible, as gtk4 doesn't allow embedding toplevels anymore),
and an iced dialog, which I just never started writing.
2022-05-03 17:05:06 -07:00