Coder Social home page Coder Social logo

hertg / lightdm-neon Goto Github PK

View Code? Open in Web Editor NEW
128.0 5.0 1.0 26.51 MB

:art: A customizable theme for web-greeter in a nostalgic but modern neon look

Home Page: https://hertg.github.io/lightdm-neon/

License: GNU General Public License v3.0

Makefile 0.99% HTML 4.74% JavaScript 4.05% Svelte 52.26% TypeScript 35.20% Shell 2.76%
lightdm lightdm-theme web-greeter lightdm-web-greeter nody-greeter theme lightdm-web-theme web-greeter-theme lightdm-webkit2-greeter-theme svelte

lightdm-neon's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

rufi512

lightdm-neon's Issues

[FEATURE] Creation of config file with theme settings

It could be a good to have a feature where those default settings are loaded from a config file. In this manner, a user can easily changes programmatically text, fonts, backgrounds and other settings in very easy manner.

I don't have enough skills in JS or TypeScript and I think I'm not the best person to create PRs about it ^^'.

[FEATURE] Automatic detection of environment session

Currently, when this theme is applied at the installation of a OS (so before the installation of previous Display Managers or themes), the theme does not recognize the desktop environment session and the "window" icon at bottom-left is without any string. I'm using GNOME, so I have the following possible sessions: gnome (that is wayland), gnome-wayland (same as before) and gnome-xorg (Xorg session, the one I use more):
image

A newbie that does not know the concept of "sessions", if try to insert a password, get a popup window saying:
image

So the user must be aware of the functionality of the "window" icon, clicking there and selecting the right session:
image

Is there a way for the theme to automatically set one of the available sessions and provide a config file to set it programmatically?

Usually the session files are stored in /usr/share/xsessions for Xorg and /usr/share/wayland-sessions for Wayland.

Add multi-monitor support

On a multi-monitor setup, the login prompt is displayed on every monitor.
The non-primary monitors should just display the background image.

lightdm not found

When i use ligthdm webkit 2 greeter, lightdm object not found. This makes it load the mock by default, maybe I'm doing something wrong or the theme is not compatible with webkit2, if I can help in any way, I am at disposal

Logs Details:

cat /var/log/lightdm/seat0-greeter.log
file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:769846: CONSOLE DEBUG lightdm not found, api will be mocked file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:771517: CONSOLE DEBUG the web greeter is ready, initializing... file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:771576: CONSOLE DEBUG lightdm [object Object] file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:771616: CONSOLE DEBUG greeter_config [object Object] file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:770206: CONSOLE DEBUG connecting to lightdm signals using theme [object Object] file:///usr/share/lightdm-webkit/themes/neon/bundle.js:1:771892: CONSOLE DEBUG default_session is 'awesome'
cat /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.30.0, UID=0 PID=689
[+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
[+0.00s] DEBUG: [LightDM] contains unknown option display-setup-script
[+0.00s] DEBUG: Registered seat module local
[+0.00s] DEBUG: Registered seat module xremote
[+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
[+0.00s] DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
[+0.00s] DEBUG: Monitoring logind for seats
[+0.00s] DEBUG: New seat added from logind: seat0
[+0.00s] DEBUG: Seat seat0: Loading properties from config section Seat:*
[+0.00s] DEBUG: Seat seat0 has property CanMultiSession=no
[+0.00s] DEBUG: Seat seat0: Starting
[+0.00s] DEBUG: Seat seat0: Creating greeter session
[+0.01s] DEBUG: Seat seat0: Creating display server of type x
[+0.01s] DEBUG: Seat seat0: Plymouth is running on VT 1, but this is less than the configured minimum of 7 so not replacing it
[+0.01s] DEBUG: Quitting Plymouth
[+0.08s] DEBUG: Using VT 7
[+0.08s] DEBUG: Seat seat0: Starting local X display on VT 7
[+0.08s] DEBUG: XServer 0: Logging to /var/log/lightdm/x-0.log
[+0.08s] DEBUG: XServer 0: Writing X server authority to /run/lightdm/root/:0
[+0.08s] DEBUG: XServer 0: Launching X Server
[+0.08s] DEBUG: Launching process 699: /usr/bin/X :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[+0.08s] DEBUG: XServer 0: Waiting for ready signal from X server :0
[+0.08s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.08s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.24s] DEBUG: Loading users from org.freedesktop.Accounts
[+0.24s] DEBUG: User /org/freedesktop/Accounts/User1000 added
[+1.74s] DEBUG: Got signal 10 from process 699
[+1.74s] DEBUG: XServer 0: Got signal from X server :0
[+1.74s] DEBUG: XServer 0: Connecting to XServer :0
[+1.74s] DEBUG: Seat seat0: Display server ready, starting session authentication
[+1.74s] DEBUG: Session pid=804: Started with service 'lightdm-greeter', username 'lightdm'
[+1.78s] DEBUG: Session pid=804: Authentication complete with return value 0: Success
[+1.78s] DEBUG: Seat seat0: Session authenticated, running command
[+1.78s] DEBUG: Launching process 807: /usr/bin/numlockx on
[+1.79s] DEBUG: Process 807 exited with return value 0
[+1.79s] DEBUG: Seat seat0: Exit status of /usr/bin/numlockx on: 0
[+1.79s] DEBUG: Session pid=804: Running command /usr/bin/lightdm-webkit2-greeter
[+1.79s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
[+1.79s] DEBUG: Session pid=804: Logging to /var/log/lightdm/seat0-greeter.log
[+1.97s] DEBUG: Activating VT 7
[+1.97s] DEBUG: Activating login1 session c1
[+1.98s] DEBUG: Seat seat0 changes active session to c1
[+1.98s] DEBUG: Session c1 is already active
[+2.41s] DEBUG: Greeter connected version=1.30.0 api=1 resettable=false
[+2.66s] DEBUG: Greeter requests data directory for user s4rch
[+2.66s] DEBUG: Creating shared data directory /var/lib/lightdm-data/s4rch
[+20.95s] DEBUG: Greeter start authentication for s4rch
[+20.95s] DEBUG: Session pid=973: Started with service 'lightdm', username 's4rch'
[+20.97s] DEBUG: Session pid=973: Got 1 message(s) from PAM
[+20.97s] DEBUG: Prompt greeter with 1 message(s)
[+23.55s] DEBUG: Continue authentication
[+23.57s] DEBUG: Session pid=973: Authentication complete with return value 0: Success
[+23.57s] DEBUG: Authenticate result for user s4rch: Success
[+23.57s] DEBUG: User s4rch authorized
[+24.58s] DEBUG: Greeter requests session bspwm
[+24.58s] DEBUG: Seat seat0: Stopping greeter; display server will be re-used for user session
[+24.58s] DEBUG: Terminating login1 session c1
[+24.58s] DEBUG: Session pid=804: Sending SIGTERM
[+24.61s] DEBUG: Session pid=804: Exited with return value 0
[+24.61s] DEBUG: Seat seat0: Session stopped
[+24.61s] DEBUG: Seat seat0: Greeter stopped, running session
[+24.61s] DEBUG: Registering session with bus path /org/freedesktop/DisplayManager/Session0
[+24.62s] DEBUG: Session pid=973: Running command /etc/lightdm/Xsession bspwm
[+24.62s] DEBUG: Creating shared data directory /var/lib/lightdm-data/s4rch
[+24.62s] DEBUG: Session pid=973: Logging to .xsession-errors
[+25.22s] DEBUG: Activating VT 7
[+25.22s] DEBUG: Activating login1 session 2
[+25.23s] DEBUG: Seat seat0 changes active session to
[+25.23s] DEBUG: Seat seat0 changes active session to 2
[+25.23s] DEBUG: Session 2 is already active
cat /var/log/lightdm/x-0.log
X.Org X Server 1.21.1.3 X Protocol Version 11, Revision 0 Current Operating System: Linux archlinux 5.15.52-1-lts #1 SMP Sat, 02 Jul 2022 20:04:03 +0000 x86_64 Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=db87bcaa-ef02-4b9c-9df6-6b33fd1584e8 rw rootflags=subvol=@ loglevel=3 fbcon=nodefer quiet splash vt.global_cursor_default=0

Current version of pixman: 0.40.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Jul 25 01:29:43 2022
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: evdi
kmsro: driver missing
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: evdi
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
kmsro: driver missing
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: evdi
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
kmsro: driver missing
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri)
failed to load driver: evdi
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
kmsro: driver missing
(II) AIGLX: Suspending AIGLX clients for VT switch
(II) Server terminated successfully (0). Closing log file.

cat /var/log/lightdm/x-1.log

X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
Current Operating System: Linux archlinux 5.15.32-1-lts #1 SMP Mon, 28 Mar 2022 08:54:31 +0000 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=db87bcaa-ef02-4b9c-9df6-6b33fd1584e8 rw rootflags=subvol=@ loglevel=3 fbcon=nodefer quiet splash vt.global_cursor_default=0

Current version of pixman: 0.40.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Wed Apr 6 12:22:00 2022
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
The XKEYBOARD keymap compiler (xkbcomp) reports:
Warning: Could not resolve keysym XF86EmojiPicker
Errors from xkbcomp are not fatal to the X server
(II) AIGLX: Suspending AIGLX clients for VT switch
(II) Server terminated successfully (0). Closing log file.

Configuration details:

cat /etc/lightdm/lightdm.conf
[LightDM]
run-directory=/run/lightdm
display-setup-script = /etc/lightdm/screens.sh
[Seat:*]
greeter-session=lightdm-webkit2-greeter
session-wrapper=/etc/lightdm/Xsession
greeter-setup-script=/usr/bin/numlockx on
cat /etc/lightdm/lightdm-webkit2-greeter.conf
[greeter]
debug_mode = true
detect_theme_errors = true
screensaver_timeout = 300
secure_mode = true
time_format = LT
time_language = auto
webkit_theme = neon
[branding]
background_images = /usr/share/backgrounds
logo = /usr/share/pixmaps/archlinux-logo.svg
user_image = /usr/share/pixmaps/archlinux-user.svg
cat /etc/lightdm/screens.sh
xrandr --output eDP --primary --mode 1600x900 --pos 1080x1020 --rotate normal --output HDMI-A-0 --mode 1920x1080 --pos 0x0 --rotate right --output DVI-I-4-4 --off --output DVI-I-3-3 --off --output DVI-I-2-2 --off --output DVI-I-1-1 --off

Fix back button issue on password prompt page

The "back" button and the "change user" button don't do anything on the password prompt page, when there is only one single user available to choose from. This happens because the user selection page automatically redirects to the password prompt when there is only one user to choose from.

[bug] power buttons onclick not working

Hopefully it's not just me, but clicking on any of the power buttons doesn't do anything.

Not too familiar with svelte, but from my cursory glance at the source and comparing it to examples from documentation, it seems like it should work fine. From debugging the element, it seems like the event listener gets attached, but nothing happens if I click it.

Running window.lightdm.shutdown() and other similar methods from the debug console work fine.

Versions:

  • web-greeter: 3.5.1
  • lightdm: 1.32.0
  • lightdm-theme-neon-git: 1:r74.82fcdb7-1

Let me know if you want other logs as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.