diff --git a/readme.md b/readme.md index e389160..689cacb 100644 --- a/readme.md +++ b/readme.md @@ -20,6 +20,8 @@ On Debian-based distros running `apt install build-essential libpam0g-dev libxcb ## Support The following desktop environments were tested with success + + - awesome - bspwm - budgie - cinnamon @@ -32,14 +34,14 @@ The following desktop environments were tested with success - lxde - lxqt - mate + - maxx + - pantheon - qtile + - spectrwm - sway + - windowmaker - xfce - xmonad - - pantheon - - maxx - - windowmaker - - spectrwm Ly should work with any X desktop environment, and provides basic wayland support (sway works very well, for example). @@ -53,45 +55,45 @@ changing the source code won't be necessary :) ## Cloning and Compiling Clone the repository ``` -git clone --recurse-submodules https://github.com/nullgemm/ly +$ git clone --recurse-submodules https://github.com/nullgemm/ly ``` Change the directory to ly ``` -cd ly +$ cd ly ``` Compile ``` -make +$ make ``` Test in the configured tty (tty2 by default) or a terminal emulator (but desktop environments won't start) ``` -sudo make run +# make run ``` Install Ly and the provided systemd service file ``` -sudo make install +# make install ``` Enable the service ``` -sudo systemctl enable ly.service +# systemctl enable ly.service ``` If you need to switch between ttys after Ly's start you also have to disable getty on Ly's tty to prevent "login" from spawning on top of it ``` -sudo systemctl disable getty@tty2.service +# systemctl disable getty@tty2.service ``` ## Arch Linux Installation From [AUR](https://aur.archlinux.org/packages/ly): ``` -yay -S ly +# yay -S ly ``` ## Configuration @@ -124,12 +126,10 @@ while on the desktop field (above the login field). ## .xinitrc If your .xinitrc doesn't work make sure it is executable and includes a shebang. This file is supposed to be a shell script! Quoting from xinit's man page: -``` -If no specific client program is given on the command line, xinit will look for -a file in the user's home directory called .xinitrc to run as a shell script to -start up client programs. -``` -On ArchLinux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this: + +> If no specific client program is given on the command line, xinit will look for a file in the user's home directory called .xinitrc to run as a shell script to start up client programs. + +On Arch Linux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this: ``` #!/bin/sh ``` diff --git a/res/config.ini b/res/config.ini index 2e9e6e8..9d96840 100644 --- a/res/config.ini +++ b/res/config.ini @@ -1,113 +1,117 @@ -# animation enabled +# Animation enabled/disabled #animate = false -#animate = true -# the active animation +# The active animation # 0 -> PSX DOOM fire (default) # 1 -> CMatrix #animation = 0 -# the char used to mask the password -#asterisk = * -#asterisk = o -# background color id +# The character used to mask the password +#asterisk = * + +# Erase password input on failure +#blank_password = false + + +# Background color id #bg = 0 -# blank main box -#blank_box = true - -# erase password input on failure -#blank_password = false -#blank_password = true - -# console path -#console_dev = /dev/console - -# input active by default on startup -#default_input = 2 - -# foreground color id +# Foreground color id #fg = 9 -# remove main box borders +# Blank main box background +# Setting to false will make it transparent +#blank_box = true + +# Remove main box borders #hide_borders = false -#hide_borders = true -# remove f1 commands -#hide_f1_commands = false -#hide_f1_commands = true - -# number of visible chars on an input -#input_len = 34 - -# active language -#lang = en -#lang = fr - -# load the saved desktop and login -#load = true - -# main box margins +# Main box margins #margin_box_h = 2 #margin_box_v = 1 -# total input sizes +# Input boxes length +#input_len = 34 + +# Max input sizes #max_desktop_len = 100 #max_login_len = 255 #max_password_len = 255 -# cookie generator -#mcookie_cmd = /usr/bin/mcookie -# event timeout in milliseconds -#min_refresh_delta = 5 +# Input box active by default on startup +#default_input = 2 -# default path -#path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin +# Load the saved desktop and username +#load = true -# command executed when pressing F2 -#restart_cmd = /sbin/shutdown -r now - -# save the current desktop and login as defaults +# Save the current desktop and login as defaults #save = true -# file in which to save and load the default desktop and login +# File in which to save and load the default desktop and login #save_file = /etc/ly/save -# service name (set to ly to use the provided pam config file) -#service_name = ly -# command executed when pressing F1 +# Remove F1/F2 command hints +#hide_f1_commands = false + +# Command executed when pressing F1 #shutdown_cmd = /sbin/shutdown -a now -# terminal reset command (tput is faster) -#term_reset_cmd = /usr/bin/tput reset +# Command executed when pressing F2 +#restart_cmd = /sbin/shutdown -r now + + +# Active language +# Available languages are found in /etc/ly/lang/ +#lang = en + # tty in use #tty = 2 -# wayland setup command +# Console path +#console_dev = /dev/console + +# Default path +#path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin + + +# Event timeout in milliseconds +#min_refresh_delta = 5 + +# Service name (set to ly to use the provided pam config file) +#service_name = ly + +# Terminal reset command (tput is faster) +#term_reset_cmd = /usr/bin/tput reset + +# Cookie generator +#mcookie_cmd = /usr/bin/mcookie + + +# Wayland setup command #wayland_cmd = /etc/ly/wsetup.sh -# add wayland specifier to session names +# Add wayland specifier to session names #wayland_specifier = false -#wayland_specifier = true -# wayland desktop environments +# Wayland desktop environments #waylandsessions = /usr/share/wayland-sessions -# xorg server command -#x_cmd = /usr/bin/X # xinitrc #xinitrc = ~/.xinitrc -# xorg setup command +# Xorg server command +#x_cmd = /usr/bin/X + +# Xorg setup command #x_cmd_setup = /etc/ly/xsetup.sh -# xorg xauthority edition tool +# Xorg xauthority edition tool #xauth_cmd = /usr/bin/xauth -# xorg desktop environments +# Xorg desktop environments #xsessions = /usr/share/xsessions diff --git a/res/lang/cs.ini b/res/lang/cs.ini new file mode 100644 index 0000000..88fa6cf --- /dev/null +++ b/res/lang/cs.ini @@ -0,0 +1,45 @@ +capslock = capslock +err_alloc = alokace paměti selhala +err_bounds = index je mimo hranice pole +err_chdir = nelze otevřít domovský adresář +err_console_dev = chyba při přístupi do konzole +err_dgn_oob = zpráva protokolu +err_domain = neplatná doména +err_hostname = nelze získat název hostitele +err_mlock = uzamčení paměti hesel selhalo +err_null = nulový ukazatel +err_pam = pam transakce selhala +err_pam_abort = pam transakce přerušena +err_pam_acct_expired = platnost účtu vypršela +err_pam_auth = chyba autentizace +err_pam_authinfo_unavail = nelze získat informace o uživateli +err_pam_authok_reqd = platnost tokenu vypršela +err_pam_buf = chyba vyrovnávací paměti +err_pam_cred_err = nelze nastavit pověření +err_pam_cred_expired = platnost pověření vypršela +err_pam_cred_insufficient = nedostatečné pověření +err_pam_cred_unavail = nepodařilo se získat pověření +err_pam_maxtries = byl dosažen maximální počet pokusů +err_pam_perm_denied = přístup odepřen +err_pam_session = chyba relace +err_pam_sys = systemová chyba +err_pam_user_unknown = neznámý uživatel +err_path = nepodařilo se nastavit cestu +err_perm_dir = nepodařilo se změnit adresář +err_perm_group = nepodařilo se snížit skupinová oprávnění +err_perm_user = nepodařilo se snížit uživatelská oprávnění +err_pwnam = nelze získat informace o uživateli +err_user_gid = nastavení GID uživatele selhalo +err_user_init = inicializace uživatele selhala +err_user_uid = nastavení UID uživateli selhalo +err_xsessions_dir = nepodařilo se najít složku relací +err_xsessions_open = nepodařilo se otevřít složku relací +f1 = F1 vypnout +f2 = F2 restartovat +login = uživatel +logout = odhlášen +numlock = numlock +password = heslo +shell = příkazový řádek +wayland = wayland +xinitrc = xinitrc diff --git a/res/lang/ua.ini b/res/lang/ua.ini new file mode 100644 index 0000000..c716a7b --- /dev/null +++ b/res/lang/ua.ini @@ -0,0 +1,45 @@ +capslock = capslock +err_alloc = невдалий розділ пам'яті +err_bounds = поза межами індексу +err_chdir = не вдалося відкрити домашній каталог +err_console_dev = невдалий доступ до консолі +err_dgn_oob = повідомлення журналу (log) +err_domain = недійсний домен +err_hostname = не вдалося отримати ім'я хосту +err_mlock = збій блокування пам'яті +err_null = нульовий індекс +err_pam = невдала pam транзакція +err_pam_abort = pam транзакція перервана +err_pam_acct_expired = термін дії акаунту вичерпано +err_pam_auth = помилка автентифікації +err_pam_authinfo_unavail = не вдалося отримати дані користувача +err_pam_authok_reqd = термін дії токена вичерпано +err_pam_buf = помилка буферу пам'яті +err_pam_cred_err = не вдалося змінити облікові дані +err_pam_cred_expired = облікові дані вичерпано +err_pam_cred_insufficient = недостатньо облікових даних +err_pam_cred_unavail = не вдалося отримати облікові дані +err_pam_maxtries = вичерпано ліміт спроб +err_pam_perm_denied = доступ обмежено +err_pam_session = помилка сесії +err_pam_sys = системна помилка +err_pam_user_unknown = невідомий користувач +err_path = не вдалося змінити шлях +err_perm_dir = не вдалося змінити поточний каталог +err_perm_group = не вдалося понизити права доступу групи +err_perm_user = не вдалося понизити права доступу користувача +err_pwnam = не вдалося отримати дані користувача +err_user_gid = не вдалося змінити GID користувача +err_user_init = не вдалося ініціалізувати користувача +err_user_uid = не вдалося змінити UID користувача +err_xsessions_dir = не вдалося знайти теку сесій +err_xsessions_open = не вдалося відкрити теку сесій +f1 = F1 вимкнути +f2 = F2 перезавантажити +login = логін +logout = вийти +numlock = numlock +password = пароль +shell = оболонка +wayland = wayland +xinitrc = xinitrc