coastalwhite / lemurs Goto Github PK
View Code? Open in Web Editor NEWA customizable TUI display/login manager written in Rust ๐
License: Apache License 2.0
A customizable TUI display/login manager written in Rust ๐
License: Apache License 2.0
When logging in, the PWD isn't set to the home directory. I think this is a symptom of a bigger problem of using the pam
crate.
A configuration file should extend the default configuration. This should remove the need for all options to be set.
An array with options could expose scripts to execute or just a plain list of xinitrcs
Check whether a lemurs session is already running and stop it from running if it's already running
First part of #39
Add a theme
section to the configuration file that sets a number of general colors. Other configuration options should then be able to refer to these keys. At runtime, the configuration value will then get replaced by the color value specified in the theme.
An example user-configuration (config.toml
) would be
[theme]
border = "white"
border-active = "orange"
# ...
The default configuration would then include:
# ...
[username_field.style]
border_color = "${theme.border}"
border_color_focused = "${theme.border_focused}"
[password_field.style]
border_color = "${theme.border}"
border_color_focused = "${theme.border_focused}"
The changes to the code would essentially all take place in config.rs
.
Alternatively, a user could provide a theme.toml
file in the /etc/lemurs
directory. This would override any existing [theme]
section within the config.toml
. However, A warn!
log could be thrown when there is both a theme.toml
file and a [theme]
section. This file can help with portability and easily changing themes through for example symlinks.
The theme file would be a toml
file without headers.
border = "white"
border-active = "orange"
# ...
theme.key
or theme::key
).On shutdown, reboot or a crash the graphical environment should be shutdown properly. This is somewhat connected to #23.
Since logind is not considered within it isn't set up properly. This prohibits reboot and shutdown commands from being used and probably has other problems as well.
Add a logout command. This should probably communicate to the original process to kill the X process.
Just like the username, the post-login environment should be rememberable after successfully login in.
Instead of using a hard timer waiting for X to start, use the rust xcb crate to check when it has started.
As the final step for 0.1, the codebase should be tidied up.
Documentation for #7
When an external script is called, and it failed to properly execute the stdout and stderr should combined
Add a -sc
or --show-configuration
flag which shows the used configuration.
This should just display a large list of all the configuration options and what their values are.
Make the tty shell a possible post-login environment
The maximum width of the input fields should be able to be constrained within the configuration file.
Have been using Lemurs for over a few weeks now, appreciate it and plan to not shift back to Ly.
Suggesting a few features.
Right now, most styles are created on every frame which is unnecessary. They should probably be created on the new call.
The logs should display when the xsetup.sh script is not in the correct place
includes = ["switcher-config.toml", "username-config.toml"]
The xmodmap
is not properly triggered for some reason. Maybe the X server is not ready yet?
#! /bin/sh
# Executed by startx (run your window manager from here)
# Map Caps Lock to Control
xmodmap $HOME/.config/X11/Xmodmap
# Run window manager
sxhkd &
exec bspwm
The following project can convert images to color text using just python. https://github.com/TheScienceElf/Video-to-Text this can be used for backgrounds or profile pics
Shutdown key could use a key sequence instead of a single key.
Documentation for #2
The border selection should be configurable
The position of the power options should be customizable.
Options should include "inline-left", "inline-right", "above-left", "above-center" and "above-right"
Currently, the environment variables are not set properly. This should be fixed. This also contains #20.
Many files which are used are now not configurable.
E.g.
/var/etc/lemurs
/var/log/lemurs.log
SIGTERM, SIGSEGV should be handled properly by logging out
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.