Git Product home page Git Product logo

eromatiya / lightdm-webkit2-theme-glorious Goto Github PK

View Code? Open in Web Editor NEW
604.0 12.0 54.0 19.15 MB

A sleek, modern and glorified LightDM webkit2 theme

Home Page: https://manilarome.github.io/lightdm-webkit2-theme-glorious/

License: GNU General Public License v3.0

CSS 19.74% HTML 14.75% JavaScript 65.51%
lightdm-webkit2-greeter-theme lightdm linux lightdm-greeter unixporn javascript webkit unix lightdm-theme

lightdm-webkit2-theme-glorious's Introduction

glorious - a lightdm webkit2 theme

maintained contributions HitCount Codacy Badge

A sleek, modern, and glorified lightdm webkit2 theme

Demo password: toor

glorious
glorious - a lightdm webkit 2 theme

Dependencies

Please make sure you don't have an ancient version of these.

  • lightdm
  • lightdm-webkit2-greeter

Installation

  1. If you're using systemd, make sure that lightdm.service or lightdm-plymouth.service is enabled and running. There's a bunch of guides on the internet. Archwiki is recommended.

  2. Install it. You can get the theme by cloning this repo or by installing it from AUR using makepkg or an AUR helper like yay.

    • AUR route.

       # AUR Helper
       yay -Syu lightdm-webkit2-theme-glorious
      
       # Makepkg route
       git clone https://aur.archlinux.org/lightdm-webkit2-theme-glorious.git
       cd lightdm-webkit2-theme-glorious
       makepkg -sri
    • Clone the repo route.

      1. Download and extract the latest stable release from here.

      2. Copy it to the lightdm-webkit theme folder:

        cp -r lightdm-webkit2-theme-glorious /usr/share/lightdm-webkit/themes/glorious
  3. Set lightdm greeter session to webkit2.

    # Set default lightdm greeter to lightdm-webkit2-greeter
    sudo sed -i 's/^\(#?greeter\)-session\s*=\s*\(.*\)/greeter-session = lightdm-webkit2-greeter #\1/ #\2g' /etc/lightdm/lightdm.conf
  4. Set it as the lightdm webkit2 theme then enable debug_mode by setting it to true. Why do we need to enable debug_mode? Sometimes you will be greeted by an error. And this error is due to a race condition where the theme is trying to access the lightdm object even though it doesn't exist yet. Debug mode will allow you to right-click and reload the greeter just like a webpage.

    # Set default lightdm-webkit2-greeter theme to Glorious
    sudo sed -i 's/^webkit_theme\s*=\s*\(.*\)/webkit_theme = glorious #\1/g' /etc/lightdm/lightdm-webkit2-greeter.conf
    sudo sed -i 's/^debug_mode\s*=\s*\(.*\)/debug_mode = true #\1/g' /etc/lightdm/lightdm-webkit2-greeter.conf

Uninstall

  1. Follow the installation instruction in reverse order.

Features

  • Multi-user support
  • Customization and Settings
  • Keyboard navigation
  • Remappable keybindings
  • Swipe gestures
  • Vanilla Javascript!

Swipe gestures

Why do we have this? Linux can be installed on almost anything. Yes, even on a potato. So it exists to save myself some time if someone (including myself) decided to use this theme on a touch screen device (like touch screen potato? Who knows).

  • Swiping up on the greeter screen will close it.
  • Swiping down on the login screen will open the greeter screen.
  • Swiping left will open the dashboard.
  • Swiping right will close the dashboard.

Keybinds

The default modifier is Alt. You can change it in the settings.

  • Modifier + s opens the dashboard.
  • Modifier + e opens the session selection.
  • Modifier + x opens the power selection.
  • Modifier + y opens the account selection.
  • Escape to close or go back.

Customization and Settings

  • Color customization supports #RGB, #RRGGBB, and #RRGGBBAA.
  • Blur strength settings only allows an integer with px suffix.
  • Animation speed supports s and ms.
  • Background image selection. Supports randomness.

Changing clock mode

There are two clock modes available - 24-hour and 12-hour. Switch between clock modes by just clicking on the clock. Simple.

Notes

  • Add more background images by putting your wallpapers/images in /usr/share/backgrounds/.
  • Non-image and directory inside /usr/share/backgrounds/ will cause an error! You will likely encounter this if you installed a package (for example archlinux-wallpaper that includes AUTHORS file).
  • Set your profile image in system settings or by using mugshot.
  • Missing DE/WM logo? Submit a pull request!
  • Translations are not yet supported. PR's are welcome!

Credits

Background image by Jr Korpa on Unsplash

lightdm-webkit2-theme-glorious's People

Contributors

cybardev avatar eromatiya avatar jezerm avatar poorpocketsmcnewhold avatar pwall2222 avatar seidensr avatar supermavster avatar walker007 avatar

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightdm-webkit2-theme-glorious's Issues

Blank Screen on bootup

After a long time of usage with no problems today I experienced the following issue:

The greeter did not load on bootup.
In /var/log/lightdm/seat0-greeter.log we could find:

file:///usr/share/lightdm-webkit/themes/glorious/js/authenticate.js:165:15: CONSOLE LOG Start authentication
Gdk-Message: 11:45:03.100: lightdm-webkit2-greeter: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.

To ensure it is a greeter Problem I temporarily changed the greeter to 'antergos' and now everything works fine at boot.

System

  • Linux:
    5.9.13-arch1-1
  • Software Versions:
    lightdm-webkit2-greeter 2.2.5-4
    lightdm-webkit2-theme-glorious 2.0.5-3
    qt5-webkit 5.212.0alpha4-8
    webkit2gtk 2.30.3-1

Recent updates that might have an impact here:

2020-12-11T22:31:45+0100] [ALPM] upgraded aom (2.0.0-1 -> 2.0.1-1)
[2020-12-11T22:31:45+0100] [ALPM] upgraded archlinux-keyring (20201028-1 -> 20201210-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded lz4 (1:1.9.2-2 -> 1:1.9.3-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded curl (7.73.0-1 -> 7.74.0-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded lib32-curl (7.73.0-1 -> 7.74.0-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded lib32-vulkan-icd-loader (1.2.158-1 -> 1.2.162-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded libmagick6 (6.9.11.45-1 -> 6.9.11.48-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded vulkan-icd-loader (1.2.158-1 -> 1.2.162-1)
[2020-12-11T22:31:47+0100] [ALPM] upgraded xorg-server-common (1.20.10-1 -> 1.20.10-2)
[2020-12-11T22:31:48+0100] [ALPM] upgraded xorg-server (1.20.10-1 -> 1.20.10-2)
[2020-12-11T22:31:48+0100] [ALPM] upgraded steam (1.0.0.67-1 -> 1.0.0.68-1)
[2020-12-11T22:31:48+0100] [ALPM] upgraded xorg-server-xephyr (1.20.10-1 -> 1.20.10-2)
[2020-12-12T21:15:56+0100] [ALPM] upgraded libcap-ng (0.8-1 -> 0.8.2-1)
[2020-12-12T21:15:56+0100] [ALPM] upgraded git-lfs (2.12.1-1 -> 2.13.1-1)
[2020-12-12T21:15:56+0100] [ALPM] upgraded lib32-openssl (1:1.1.1.h-1 -> 1:1.1.1.i-1)
[2020-12-12T21:15:57+0100] [ALPM] upgraded python-language-server (0.36.1-1 -> 0.36.2-1)

An error was detected in the current theme

Following a guide from here: https://youtu.be/oQ8RWtD3MTQ?t=1031
I was attempting to install the lightdm-webkit2-theme-glorious but encounter the error:
An error was detected in the current theme that could interfere with the system login process ... similar to looking like this:
epps75d0zwu41
Looking over https://github.com/manilarome/lightdm-webkit2-theme-glorious and seeing the mention of the race condition, I attempted to enable debug mode, upon reboot I still get the dialog and am not able to right click until I select "Load Default Theme" (I also seem to have to make the same selection multiple times before it will allow me to continue on) after selecting "Load Default Theme" I'm able to right click and choose "reload" but it's still not the glorious theme.

Greeter theme error detected

lightdm-webkit2-greeter

(lightdm-webkit2-greeter:8592): Gtk-WARNING **: 11:45:03.624: Theme parsing error: gtk.css:4070:23: Junk at end of value for color

(WebKitWebProcess:8601): Gtk-WARNING **: 11:45:03.736: Theme parsing error: gtk.css:4070:23: Junk at end of value for color

(WebKitWebProcess:8601): Gtk-WARNING **: 11:45:03.789: Theme parsing error: gtk.css:4070:23: Junk at end of value for color
file:///usr/share/lightdm-webkit/themes/glorious/js/debug.js:33:15: CONSOLE LOG Debug!
file:///usr/share/lightdm-webkit/themes/glorious/js/accounts.js:110:14: CONSOLE LOG Users [object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

it does not load my account info after clicking cancel
image

Language Pack Germany missing comma

There is a missing comma in the german language section of the vars.js here

Error looks like this in the logs

file:///usr/share/lightdm-webkit/themes/glorious/lang/vars.js:139: CONSOLE JS ERROR SyntaxError: Unexpected identifier 'de_de'. Expected '}' to end an object literal.
CONSOLE JS ERROR SyntaxError: Can't create duplicate variable: 'Language'
file:///usr/share/lightdm-webkit/themes/glorious/js/accounts.js:110:14: CONSOLE LOG Users [object LightDMUser]
undefined:12955:7: CONSOLE JS ERROR Unhandled Promise Rejection: TypeError: Right side of assignment cannot be destructured

Seems like there is also an Error in the Console log that follows the syntax error.

missing dependencies on Ubuntu

First of all, I congratulate you on your project. It looks sleek.
I am on Ubuntu 20.04 Mate Desktop. I wanted to try this theme, unfortunately it seems that Ubuntu dropped lightdm-webkit2-greeter package. However, it's still installable using the following guide . I also noticed that /etc/lightdm/lightdm.conf doesn't exist in Ubuntu but I think Unity Greeter still honour the settings in it if it's created.
Is this theme usable in Ubuntu?

Is it possible to delay logging in after successful authentication?

Hey, I was wondering if there was an option to delay logging in the user after successful authentication? My reason for asking is that I like changing the default authentication messages and I would like it if there was a slight delay so I can actually read the messages.

image

log in just gives me the index

When i set it to be my login greeter, it just shows me the index that you have as an example on the Readme. It doesn't actually log me in, show me my profile, or see which desktop environments i'm using. Using ubuntu 20.4

Couldn't change the profile picture

I really love this theme but I was unable to change the profile picture that is being displayed at the very beginning. At the starting by default user.svg is used which is located in /assets/profiles. I tried to look into users-screen.js but couldn't deduce as to how to set the profile picture.
My path to the profile picture is set in the lightdm.conf. So is there anyway to use my profile picture in the greeter?

Blank Dark Screen/No login

I am running Linux Mint 20.03 Uma with Cinnamon DE and when I try to use this these, I get a blank black screen with no way to login. I know that the issue is with the theme and not the lightDM because when I use the Antergos login theme it works just fine. Does anyone know how to fix this?

Modify authentication messages

Didn't know any other way to contact...

What's with the authentication messages?
Can I remove some or add a few of my own without modifying too much code? (Is the number of them set / required?)

P.S. Sorry for the bother.

Disable swipe screen

Is there a way to disable swipe screen? I just want to see login and not do useless things like swiping.

gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed

i cloned this repo into my /usr/share/lightdm-webkit/themes and changed the greeter-session parameter in my lightdm.conf file to greeter-session=lightdm-webkit2-greeter and set the webkit-theme in my /etc/lightdm/lightdm-webkit2-greeter.conf file to webkit_theme = glorious #antergos and ran lightdm-webkit2-greeter where the theme failed and gave
** (lightdm-webkit2-greeter:6410): WARNING **: 16:34:16.596: [ERROR] :: A problem was detected with the current theme. Falling back to default theme...

(lightdm-webkit2-greeter:6410): Gtk-CRITICAL **: 16:34:16.597: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
as an error

how do i fix it

ALSO
ArchCraft actually uses a fork of this theme for their login theme. I tried using that and it worked for whatever reason

Missing option to disable swipe gesture

When you use the desktop, it's quite annoying to swipe with the mouse pointer/cursor, so, could you add a way to disable this and going directly to the password area?

Xinitrc

How to use this webkit theme with xinitrc? i don't have any DE and my WM is dwm.
When I want to log in, I get error on authenticate.js on line 92.

Profile Picture Not Updating

I used a ~/.face file and updated accountservices info. Can't seem to get my avatar off of the default avatar image. Any help would be greatly appreciated. Also tried mugshot to no avail. I'm using Arch with bspwm if that's of any significance.

Login Error

If you type a wrong password couple of times at first, then even if you type the correct password afterward, it is counted as wrong

Window Manager Not Lauching

Every time I login to my desktop, instead of sending me to either i3 or MATE it sends me back to the Login screen.

no conf file

there is no lightdm-webkit2-greeter.conf file in /etc/lightdm/ directory instead there is web-greeter.yml file
Screenshot from 2021-07-29 08-26-19
Screenshot from 2021-07-29 08-27-07

Backdrop container for input field and username label

  1. Nice project, very cool theme!

  2. When choosing a background it's often VERY hard (especially with the provided hex-input field) to pick a foreground-color harmonizing with the chosen background image, in a sense of readability.

Following suggestions occurred to me to improve this:

  • Embed the input fields/labels a square container in it (probably with rounded corners and a configurable opacity) to create a higher contrast between the background image and the written text.
  • Integrate a simple color picker for choosing colors and get rid of the Apply button to immediately see the results of your chosen color.

Still, big fan! Keep up the work and thanks for your contribution! :)

Upgrading to webkit2gtk-2.42.0-1 breaks the theme

Recently lightdm broke on my laptop. Digging in to the issue revealed that upgrading to webkit2gtk-2.42.0-1 the breaks the theme so that when lightdm loads, only a black screen is displayed. Interaction with the greeter is stil possible, even though it's done in the blind.

Downgrading to webkit2gtk to version 2.40.5-2 fixed the issue for me.

null is not an object

Hi, seem to be having an issue loading this theme in arch after following the manual instructions on the readme. Attached is the greeter log that was generated. Wondering if you could take a look into it...

seat0-greeter.log

An error was detected in the current theme that could interfere with the system login process error

I'm trying put lightdm-webkit2 with glorious theme but when start give me _"An error was detected in the current theme that could interfere with the system login process error" i have this config:

lightdm.conf:
greeter-session=lightdm-webkit2-greeter

lightdm-webkit2-greeter.conf
debug_mode=true
detect_theme_errors=true
screensaver_timeout=300
secure_mode=true
time_format=LT
time_language=auto
webkit_theme=glorious

/usr/share/lightdm/lightdm.conf.d/01_debian.conf
greeter_session=lightdm-webkit2-greeter

and in /usr/share/backgrounds have only pictures

when start, show this message and when select "Load Fallback" i can't to anything, when load "default theme" it starts with antergos theme, i also tried open from terminal but show me this.

image
I need help, thank you

Session not launched after authentication. Errors in Logs

After my most recent system update, I can no longer login using this theme.

Here are the error logs:

file:///usr/share/lightdm-webkit/themes/glorious/js/authenticate.js:167:15: CONSOLE LOG Start authentication
undefined:1:12: CONSOLE JS ERROR ReferenceError: Can't find variable: show_prompt
ASSERTION FAILED: vm.currentThreadIsHoldingAPILock()
../Source/JavaScriptCore/runtime/VM.cpp(1347) : void JSC::sanitizeStackForVM(JSC::VM&)
ERROR: 0x7f475f4f9000 - [pageProxyID=6, webPageID=7, PID=825] WebPageProxy::processDidTerminate: (pid 825), reason 3
../Source/WebKit/UIProcess/WebPageProxy.cpp(7330) : void WebKit::WebPageProxy::resetStateAfterProcessTermination(WebKit::ProcessTerminationReason)
ERROR: 0x7f475f4f9000 - [pageProxyID=6, webPageID=7, PID=825] WebPageProxy::dispatchProcessDidTerminate: reason=3
../Source/WebKit/UIProcess/WebPageProxy.cpp(7384) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(WebKit::ProcessTerminationReason)

I enter my password successfully, then the screen just becomes black with a mouse cursor. It does not start my default session, window manager (BSPWM)

Encoundered error after update

Recently I downloaded the latest git repository but I continuously get An error was detected in the current theme that could interfere with the system login process.
To know more about the error I ran lightdm-webkit2-greeter and I got the following error

file:///usr/share/lightdm-webkit/themes/glorious/js/sessions.js:35:27: CONSOLE ERROR TypeError: undefined is not an object (evaluating 'this._sessionsObject[0].key')

I tried to install through AUR as well as through git clone but for both cases I get similar error. I would be really glad if anyone can help me out with this

Unlock Key Non-Remappable

It should be possible to set a different key, like "Return" to open the unlock screen rather than just "Escape". For example, my laptop's escape key is broken so I need an external keybpard to log in.

~/.face and /var/lib/AccountsService/icons/$(whoami) not working properly

Hey, thanks for making this amazing theme!

I've set up these two files via mugshot - when running lightdm-webkit2-greeter from the terminal the image is displayed correctly, but at startup it's not displayed.

Strangely however when I go to the settings section in the top right it's there - just not on the main splash screen.

From the terminal it also displays my full name as configured via mugshot rather than just my username.

image

$ file /var/lib/AccountsService/icons/$(whoami)
/var/lib/AccountsService/icons/mark: PNG image data, 250 x 250, 8-bit/color RGB, non-interlaced

$ file ~/.face
/home/mark/.face: PNG image data, 250 x 250, 8-bit/color RGB, non-interlaced

any idea what this might be?

permissions on both files are 644

Not scaling on high dpi monitors

The theme does not appear to scale to high dpi monitors (in my case, 15" 3000x2000 screen):
signal-2020-11-29-144226

The litarvan theme on the other hand scales fine without any config changes, which makes me think it has something to do with the glorious theme.
dpi is set to 240 inside the lightdm.conf file. However that appears to be ignored.

Animations not smooth

When I boot and get into the login screen, there is this animation before I can enter my login data.
This animation is buggy and runs with estimated 5 fps
I have the newest drivers installed
I use arch, fresh installed and updated

Can't log into XFCE4 Session

When i try to login nothing happends and the seat0-greeter.log says:
"..glib/glib/giounix.c:412Error while getting flags for FD: Bad file descriptor (9)"
"Invalid file descriport"
"lightdm_greeter_ensure_shared_data_dir_sync: assertion 'priv->connected' failed
file:///usr/share/lightdm-webkit/themes/glorious/js/authenticate.js:167:15: CONSOLE LOG Start authentication"

Wrong session id

File: js/sessions-screen.js
Line: 105
Code: this._defaultSession = lightdm.default_session || this._sessionsObject[0].key;

I'm using i3 window manager, and although the value of this._sessionsObject[0].key is indeed equal to i3, lightdm.default_session value is equal to xfce. Thus the variables this._defaultSession in line 105 is xfce and defaultSessionItem in line 112 is null, which breaks the code.

Edit: typos

Set custom background dynamically by copying image to `/usr/share/backgrounds` using a script

ln -sf $(find /home/chaitanya/Pictures/ -type f \( -name "*.png" -or -name "*.jpg" -or -name "*.jpeg" \) | shuf -n1) "/home/chaitanya/.wallpaper"
# sudo cp $(readlink $HOME/.wallpaper) /usr/share/backgrounds/mirage.png
nitrogen --set-scaled $HOME/.wallpaper

I am using the above script to change the wallpaper of my wm.
I would like to dynamically change the greeter background by copying the symlinked image to /usr/share/background
currently doing this results in a gray background.

Error in Theme Preview

I noticed the gear button didn't work, so I checked out the devtools console. I found a few errors in the output.

[Error]
Uncaught SyntaxError: missing } after property list
note: { opened at line 1, column 21
https://manilarome.github.io/lightdm-webkit2-theme-glorious/lang/vars.js :1
https://manilarome.github.io/lightdm-webkit2-theme-glorious/lang/vars.js :129

[Output]
Debug!

[Output]
Users Array(6) [ {…}, {…}, {…}, {…}, {…}, {…} ]

[Error]
Uncaught (in promise) ReferenceError: languagePack is not defined
    _getLanguagePack      https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/language.js  :32
    Language              https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/language.js  :9
    _createPowerObject    https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/power.js     :22
    _init                 https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/power.js     :115
    Power                 https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/power.js     :6
    initGreeter           https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/script.js    :44
    <anonymous>           https://manilarome.github.io/lightdm-webkit2-theme-glorious/js/script.js    :85

Unable to change avatar

I've opened this issue after making a comment on a previously closed issue about the same matter. Here's a screenshot of mugshot:
image

And here's a screenshot of lightdm-webkit2-greeter being run from my terminal:
image

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.