JezerM / web-greeter

A modern, visually appealing greeter for LightDM.
https://web-greeter-page.vercel.app
GNU General Public License v3.0
216 stars 12 forks source link

Terminate web-greeter gracefully #76

Open JezerM opened 7 months ago

JezerM commented 7 months ago

Fixes #68

As we're gracefully quitting the Application after a successful start_session, the QWebEngineProfile is able to flush persistent data to disk (like LocalStorage).

Changed

Here's a preview where I set localStorage.setItem("Completed", "true"); before a start_session:

https://github.com/JezerM/web-greeter/assets/59768785/15b6dff2-9571-4027-8469-7c090c6537b6

tuurep commented 7 months ago

Thanks so much for this,

I was able to test by creating two extra dummy users, the caching now works and can retrieve the last authenticated user & session (in my theme).

So yes, seems like localStorage issue successfully fixed,

However I notice a lock-screen specific functionality I've been trying to add recently seems to have broken:

window.loginbutton = document.querySelector("form button");

if (lightdm.lock_hint) {
    window.loginbutton.textContent = "Unlock";
}

No longer changes the login button's text from "Login" to "Unlock"

But this may be related to light-locker

Also seems to now briefly flash the last moment before successfully logging in (can see that password box is filled) before switching to lightdm on light-locker-command --lock, whereas before it would flash a black screen with cursor in the middle

I've had another issue with light-locker prior to this though and so have you, I see :smile: Honest question.. do you think it's a bit of a deprecated project, in case I might wanna try something else for a lock screen?

JezerM commented 7 months ago

Hmm, I'll check that issue with light-locker, but yeah it's an outdated project (wouldn't say deprecated as it still works) so it's kind of expected that it won't work in the future.

tuurep commented 7 months ago

Oh, I notice another thing:

I have a startup script for lightdm like this:

/etc/lightdm/greeter-startup:

#!/bin/bash

# Map capslock to esc
setxkbmap -option caps:escape

# Key repeat: ms, interval
xset r rate 315 25

/etc/lightdm/lightdm.conf:

greeter-setup-script=/etc/lightdm/greeter-startup

Prior to this PR it would set key repeat on the greeter screen, and it would remain in the logged in session.

Now it's set for the greeter only, and doesn't carry over to the session.

Was I using it as intended? I could repeat it in a WM autostart script of course, but since that used to carry over, I thought that's how it should work.

JezerM commented 7 months ago

About light-locker, I didn't have any issue with web-greeter, everything works as it should. Although, after logging in a gray background appears but I think that's light-locker's fault.

https://github.com/JezerM/web-greeter/assets/59768785/ffd49465-03a1-4a5a-b5fd-15a450470300

Maybe, could you share your /var/log/lightdm/seat0-greeter.log file? (After unlocking the screen with light-locker)

tuurep commented 7 months ago

Yeah although was the Gruvbox theme supposed to also have some indicator when lightdm has lock_hint? Looking at the theme it seemed to me like the word "Lock" should be somewhere, but looks missing in the video

Also the locking and unlocking works on my theme, but lightdm doesn't seem to have lock_hint on (I just have a bit of a test to turn Login button text to "Unlock" on lightdm lock_hint)

Here's my log after rebooting and light-locker-command -l:

2024-04-01 22:07:16 [ ERROR ] acpi - acpi.py:20 : __init__ | ACPI: acpi_listen does not exists
2024-04-01 22:07:16 [ DEBUG ] Greeter - Greeter.py:117 : __init__ | LightDM API connected
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:185 : create_windows | Browser Window created
2024-04-01 22:07:16 [ DEBUG ] screensaver - screensaver.py:57 : set_screensaver | Screensaver timeout set
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:248 : init | Initializing Browser Window
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:268 : load_theme | Theme loaded
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:230 : show | Web Greeter started win: 6054
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:234 : run | Web Greeter started
2024-04-01 22:07:21 [ DEBUG ] Greeter - Greeter.py:378 : start_session | Session "openbox" started
2024-04-01 22:07:21 [ DEBUG ] screensaver - screensaver.py:70 : reset_screensaver | Screensaver reset

This time it didn't flash the previous login, but when I tried locking again a couple times, it flashes it. For you it seems to give you kind of a double cursor with black background for a second? I used to have that, but just one cursor in the middle.

Btw I should test properly whether flashing previous login ever happens prior to this PR.

tuurep commented 7 months ago

Btw it's a little painful switching between AUR package and manual build, with yay -S web-greeter giving this:

error: failed to commit transaction (conflicting files)
web-greeter: /etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf exists in filesystem
web-greeter: /usr/lib/web-greeter/README.md exists in filesystem
web-greeter: /usr/lib/web-greeter/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/__main__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/_screensaver.so exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/screensaver.c exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/screensaver.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/Config.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/Greeter.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/GreeterComm.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/ThemeUtils.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/bridge.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/browser.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/browser_interfaces.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/error_prompt.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/interceptor.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/url_scheme.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/window.py exists in filesystem
web-greeter: /usr/lib/web-greeter/config.py exists in filesystem
web-greeter: /usr/lib/web-greeter/globales.py exists in filesystem
web-greeter: /usr/lib/web-greeter/logger.py exists in filesystem
web-greeter: /usr/lib/web-greeter/requirements.txt exists in filesystem
web-greeter: /usr/lib/web-greeter/resources.py exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/css/style.css exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/GreeterComm.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/ThemeUtils.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/bootstrap.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/bundle.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/Greeter.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/GreeterConfig.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/LightDMObjects.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/resources.qrc exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/acpi.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/battery.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/brightness.py exists in filesystem
web-greeter: /usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/LICENSE.txt exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/all.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/all.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/brands.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/brands.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/fontawesome.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/fontawesome.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/regular.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/regular.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/solid.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/solid.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/svg-with-js.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/svg-with-js.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/v4-shims.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/v4-shims.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/all.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/all.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/brands.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/brands.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/conflict-detection.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/conflict-detection.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/fontawesome.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/fontawesome.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/regular.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/regular.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/solid.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/solid.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/v4-shims.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/v4-shims.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fonts/TTF/OpenSans-Light.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fonts/TTF/OpenSans-Regular.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/js/js.cookie.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/LICENSE exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.css.map exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.min.css.map exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/.gitignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/.prettierignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/dracula.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-1.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-2.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-3.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/window-blurred.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/css/DRACULA exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/css/style.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/accounts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/accounts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/authenticate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/authenticate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/backgrounds.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/backgrounds.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/battery.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/battery.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/brightness.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/brightness.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/index.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/index.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/layouts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/layouts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/mock.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/power.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/power.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/secondary.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/secondary.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sessions.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sessions.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sidebar.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sidebar.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/timeDate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/timeDate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/secondary.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/accounts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/authenticate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/backgrounds.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/battery.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/brightness.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/index.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/layouts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/mock.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/power.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/secondary.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/sessions.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/sidebar.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/timeDate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/tsconfig.json exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/.gitignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/bubbles.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/death star.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-1.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-2.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-3.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/topography.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/users/Arsene.jpg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/users/Ice princess.jpg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/background.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/style.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/top-container.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/accounts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/accounts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/authenticate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/authenticate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/background.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/background.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/battery.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/battery.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/brightness.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/brightness.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/data.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/data.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/index.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/index.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/layouts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/layouts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/mock.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/power.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/power.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/secondary.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/secondary.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/sessions.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/sessions.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/timeDate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/timeDate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/secondary.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/accounts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/authenticate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/background.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/battery.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/brightness.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/data.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/index.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/layouts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/mock.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/power.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/secondary.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/sessions.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/timeDate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/tsconfig.json exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/power_button.png exists in filesystem
Errors occurred, no packages were upgraded.
 -> error installing: [/home/tuure/.cache/yay/web-greeter/web-greeter-3.5.3-1-any.pkg.tar.zst] - exit status 1

Do you think for example make uninstall_all could remove all this as well?

(Sorry a little offtopic here)

TL;DR

/usr/share/web-greeter/*
/usr/lib/web-greeter/*
/usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg
/etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf
tuurep commented 7 months ago

Ok testing now with AUR package (build prior to this PR)

My theme shows "Unlock" and gruvbox shows the large text "Lock" in the top left corner

Would I be right to assume the lock_hint is lost?

Also I don't think it flashes the previous login prior to this PR

JezerM commented 7 months ago

Btw it's a little painful switching between AUR package and manual build, with yay -S web-greeter giving this:

Do you think for example make uninstall_all could remove all this as well?

Yep, doing sudo make uninstall_all removes everything related to web-greeter.

JezerM commented 7 months ago

Would I be right to assume the lock_hint is lost?

Yep, I'm even having problems with the idle and reset signals from LightDM...

Also, the main issue about LocalStorage is commented here. There's no way to force-flush the LocalStorage data to disk unless the app closes normally or we wait a minute for it to be flushed.

tuurep commented 7 months ago

Yep, doing sudo make uninstall_all removes everything related to web-greeter.

Yeah but looks like it misses the ones I listed above:

/usr/share/web-greeter/*
/usr/lib/web-greeter/*
/usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg
/etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf

I had to delete those by hand, and also remembered it was the same situation ~2 years back.

I'm a little unfamiliar with some stuff in that Makefile but might be interested to look further why it doesn't delete those.

Yep, I'm even having problems with the idle and reset signals from LightDM..

Ah, in general, or after this PR?

Thanks for the link, good to know.

JezerM commented 7 months ago

Ah, in general, or after this PR?

In general.

tuurep commented 7 months ago

Ok, good to know

Lets see what we can do :D

tuurep commented 7 months ago

I don't oppose going forward with this PR though since it fixes the bug it's meant to fix.

Seems like the signals would need a separate effort, don't you think?

FWIW I've found a pretty ideal lock screen replacement for my own use case in this:

https://github.com/google/xsecurelock

I've used https://tools.suckless.org/slock/ before and always felt like in that one minimalism goes a bit too far :smile:

I'm interested in getting stuff like lock_hint fixed, but don't currently rely on it.