From 908ebf8964903d601e06c4a39c2a0eaf3e5d3d8a Mon Sep 17 00:00:00 2001 From: Utkarsh Verma Date: Sun, 2 Jan 2022 15:55:36 +0530 Subject: [PATCH 01/12] Use XDG_RUNTIME_DIR for storing Xauthority --- src/login.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/login.c b/src/login.c index 732ef76..5feb266 100644 --- a/src/login.c +++ b/src/login.c @@ -304,10 +304,10 @@ void remove_utmp_entry(struct utmp *entry) { endutent(); } -void xauth(const char* display_name, const char* shell, const char* dir) +void xauth(const char* display_name, const char* shell) { char xauthority[256]; - snprintf(xauthority, 256, "%s/%s", dir, ".lyxauth"); + snprintf(xauthority, 256, "%s/%s", getenv("XDG_RUNTIME_DIR"), "lyxauth"); setenv("XAUTHORITY", xauthority, 1); setenv("DISPLAY", display_name, 1); @@ -343,18 +343,10 @@ void xorg( const char* vt, const char* desktop_cmd) { - // generate xauthority file - const char* xauth_dir = getenv("XDG_CONFIG_HOME"); - - if ((xauth_dir == NULL) || (*xauth_dir == '\0')) - { - xauth_dir = pwd->pw_dir; - } - char display_name[4]; snprintf(display_name, 3, ":%d", get_free_display()); - xauth(display_name, pwd->pw_shell, xauth_dir); + xauth(display_name, pwd->pw_shell); // start xorg pid_t pid = fork(); @@ -531,7 +523,7 @@ void auth( if (pwd->pw_shell[0] == '\0') { setusershell(); - + char* shell = getusershell(); if (shell != NULL) @@ -552,7 +544,7 @@ void auth( if (pid == 0) { - // set user info + // set user info ok = initgroups(pwd->pw_name, pwd->pw_gid); if (ok != 0) @@ -658,21 +650,21 @@ void auth( // close pam session ok = pam_do(pam_close_session, handle, 0, buf); - + if (ok != PAM_SUCCESS) { return; } ok = pam_do(pam_setcred, handle, PAM_DELETE_CRED, buf); - + if (ok != PAM_SUCCESS) { return; } ok = pam_end(handle, 0); - + if (ok != PAM_SUCCESS) { pam_diagnose(ok, buf); From 77d186b8022711a32510176214309c4b5e2778ca Mon Sep 17 00:00:00 2001 From: Elisha Hollander Date: Tue, 17 May 2022 01:36:36 +0300 Subject: [PATCH 02/12] use `uint16_t` on `put_cell` iterations --- src/draw.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/draw.c b/src/draw.c index 9d16a81..81de187 100644 --- a/src/draw.c +++ b/src/draw.c @@ -129,7 +129,7 @@ void draw_box(struct term_buf* buf) struct tb_cell c1 = {buf->box_chars.top, config.fg, config.bg}; struct tb_cell c2 = {buf->box_chars.bot, config.fg, config.bg}; - for (uint8_t i = 0; i < buf->box_width; ++i) + for (uint16_t i = 0; i < buf->box_width; ++i) { tb_put_cell( box_x + i, @@ -145,7 +145,7 @@ void draw_box(struct term_buf* buf) c1.ch = buf->box_chars.left; c2.ch = buf->box_chars.right; - for (uint8_t i = 0; i < buf->box_height; ++i) + for (uint16_t i = 0; i < buf->box_height; ++i) { tb_put_cell( box_x - 1, @@ -163,9 +163,9 @@ void draw_box(struct term_buf* buf) { struct tb_cell blank = {' ', config.fg, config.bg}; - for (uint8_t i = 0; i < buf->box_height; ++i) + for (uint16_t i = 0; i < buf->box_height; ++i) { - for (uint8_t k = 0; k < buf->box_width; ++k) + for (uint16_t k = 0; k < buf->box_width; ++k) { tb_put_cell( box_x + k, From 767120c70194ad35e7bb6687fd9ba746aaa6ea45 Mon Sep 17 00:00:00 2001 From: Turion64 <49339966+AnErrupTion@users.noreply.github.com> Date: Wed, 18 May 2022 06:49:14 +0200 Subject: [PATCH 03/12] Add spectrwm --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fa5b09e..4c87805 100644 --- a/readme.md +++ b/readme.md @@ -37,6 +37,7 @@ The following desktop environments were tested with success - pantheon - maxx - windowmaker + - spectrwm Ly should work with any X desktop environment, and provides basic wayland support (sway works very well, for example). From f485840d89e1c45dccc27bb61e7f1d4fdd5bb941 Mon Sep 17 00:00:00 2001 From: KR1470R Date: Sun, 22 May 2022 22:26:32 +0300 Subject: [PATCH 04/12] add aur support --- readme.md | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/readme.md b/readme.md index fa5b09e..52df5ca 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,4 @@ + # Ly - a TUI display manager ![Ly screenshot](https://user-images.githubusercontent.com/5473047/88958888-65efbf80-d2a1-11ea-8ae5-3f263bce9cce.png "Ly screenshot") @@ -113,6 +114,130 @@ To enable the famous PSX DOOM fire described by [Fabien Sanglard](http://fabiens just uncomment `animate = true` in `/etc/ly/config.ini`. You may also disable the main box borders with `hide_borders = true`. +## Additional Information +The name "Ly" is a tribute to the fairy from the game Rayman. +Ly was tested by oxodao, who is some seriously awesome dude.# Ly - a TUI display manager +![Ly screenshot](https://user-images.githubusercontent.com/5473047/88958888-65efbf80-d2a1-11ea-8ae5-3f263bce9cce.png "Ly screenshot") + +Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. + +## Dependencies + - a C99 compiler (tested with tcc and gcc) + - a C standard library + - GNU make + - pam + - xcb + - xorg + - xorg-xauth + - mcookie + - tput + - shutdown + +On Debian-based distros running `apt install build-essential libpam0g-dev libxcb-xkb-dev` as root should install all the dependencies for you. + +## Support +The following desktop environments were tested with success + - bspwm + - budgie + - cinnamon + - deepin + - dwm + - enlightenment + - gnome + - i3 + - kde + - lxde + - lxqt + - mate + - qtile + - sway + - xfce + - pantheon + - maxx + - windowmaker + +Ly should work with any X desktop environment, and provides +basic wayland support (sway works very well, for example). + +## systemd? +Unlike what you may have heard, Ly does not require `systemd`, +and was even specifically designed not to depend on `logind`. +You should be able to make it work easily with a better init, +changing the source code won't be necessary :) + +## Cloning and Compiling +Clone the repository +``` +git clone --recurse-submodules https://github.com/nullgemm/ly.git +``` + +Compile +``` +make +``` + +Test in the configured tty (tty2 by default) +or a terminal emulator (but desktop environments won't start) +``` +sudo make run +``` + +Install Ly and the provided systemd service file +``` +sudo make install +``` + +Enable the service +``` +sudo 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 +``` + +## Arch Linux Installation +From AUR: +``` +yay -S ly-aur +``` + +## Configuration +You can find all the configuration in `/etc/ly/config.ini`. +The file is commented, and includes the default values. + +## Controls +Use the up and down arrow keys to change the current field, and the +left and right arrow keys to change the target desktop environment +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: +``` +#!/bin/sh +``` + +## Tips +The numlock and capslock state is printed in the top-right corner. +Use the F1 and F2 keys to respectively shutdown and reboot. +Take a look at your .xsession if X doesn't start, as it can interfere +(this file is launched with X to configure the display properly). + +## PSX DOOM fire animation +To enable the famous PSX DOOM fire described by [Fabien Sanglard](http://fabiensanglard.net/doom_fire_psx/index.html), +just uncomment `animate = true` in `/etc/ly/config.ini`. You may also +disable the main box borders with `hide_borders = true`. + ## Additional Information The name "Ly" is a tribute to the fairy from the game Rayman. Ly was tested by oxodao, who is some seriously awesome dude. + From 83c17b7b783ffd1114695ebaa067ed9b0b50b887 Mon Sep 17 00:00:00 2001 From: KRIPTOR Date: Mon, 23 May 2022 22:20:45 +0300 Subject: [PATCH 05/12] Update readme.md --- readme.md | 118 ------------------------------------------------------ 1 file changed, 118 deletions(-) diff --git a/readme.md b/readme.md index 52df5ca..7b0970e 100644 --- a/readme.md +++ b/readme.md @@ -81,123 +81,6 @@ disable getty on Ly's tty to prevent "login" from spawning on top of it sudo systemctl disable getty@tty2.service ``` -## Configuration -You can find all the configuration in `/etc/ly/config.ini`. -The file is commented, and includes the default values. - -## Controls -Use the up and down arrow keys to change the current field, and the -left and right arrow keys to change the target desktop environment -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: -``` -#!/bin/sh -``` - -## Tips -The numlock and capslock state is printed in the top-right corner. -Use the F1 and F2 keys to respectively shutdown and reboot. -Take a look at your .xsession if X doesn't start, as it can interfere -(this file is launched with X to configure the display properly). - -## PSX DOOM fire animation -To enable the famous PSX DOOM fire described by [Fabien Sanglard](http://fabiensanglard.net/doom_fire_psx/index.html), -just uncomment `animate = true` in `/etc/ly/config.ini`. You may also -disable the main box borders with `hide_borders = true`. - -## Additional Information -The name "Ly" is a tribute to the fairy from the game Rayman. -Ly was tested by oxodao, who is some seriously awesome dude.# Ly - a TUI display manager -![Ly screenshot](https://user-images.githubusercontent.com/5473047/88958888-65efbf80-d2a1-11ea-8ae5-3f263bce9cce.png "Ly screenshot") - -Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. - -## Dependencies - - a C99 compiler (tested with tcc and gcc) - - a C standard library - - GNU make - - pam - - xcb - - xorg - - xorg-xauth - - mcookie - - tput - - shutdown - -On Debian-based distros running `apt install build-essential libpam0g-dev libxcb-xkb-dev` as root should install all the dependencies for you. - -## Support -The following desktop environments were tested with success - - bspwm - - budgie - - cinnamon - - deepin - - dwm - - enlightenment - - gnome - - i3 - - kde - - lxde - - lxqt - - mate - - qtile - - sway - - xfce - - pantheon - - maxx - - windowmaker - -Ly should work with any X desktop environment, and provides -basic wayland support (sway works very well, for example). - -## systemd? -Unlike what you may have heard, Ly does not require `systemd`, -and was even specifically designed not to depend on `logind`. -You should be able to make it work easily with a better init, -changing the source code won't be necessary :) - -## Cloning and Compiling -Clone the repository -``` -git clone --recurse-submodules https://github.com/nullgemm/ly.git -``` - -Compile -``` -make -``` - -Test in the configured tty (tty2 by default) -or a terminal emulator (but desktop environments won't start) -``` -sudo make run -``` - -Install Ly and the provided systemd service file -``` -sudo make install -``` - -Enable the service -``` -sudo 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 -``` - ## Arch Linux Installation From AUR: ``` @@ -240,4 +123,3 @@ disable the main box borders with `hide_borders = true`. ## Additional Information The name "Ly" is a tribute to the fairy from the game Rayman. Ly was tested by oxodao, who is some seriously awesome dude. - From 38aacc6b1cdeaffa9bd7ffb22746b8e5fafb7b98 Mon Sep 17 00:00:00 2001 From: Utkarsh Verma Date: Tue, 24 May 2022 07:41:35 +0530 Subject: [PATCH 06/12] Implement fallback logic for XAUTHORITY --- src/login.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/login.c b/src/login.c index 5feb266..bbdcadc 100644 --- a/src/login.c +++ b/src/login.c @@ -304,10 +304,31 @@ void remove_utmp_entry(struct utmp *entry) { endutent(); } -void xauth(const char* display_name, const char* shell) +void xauth(const char* display_name, const char* shell, char* pwd) { + const char* xauth_file = ".lyxauth"; + char* xauth_dir = getenv("XDG_RUNTIME_DIR"); + if ((xauth_dir == NULL) || (*xauth_dir == '\0')) + { + xauth_dir = getenv("XDG_CONFIG_DIR"); + if ((xauth_dir == NULL) || (*xauth_dir == '\0')) + { + xauth_dir = pwd; + xauth_file = "lyxauth"; + } + } + else + { + xauth_file = "lyxauth"; + } + + // trim trailing slashes + int i = strlen(xauth_dir) - 1; + while (xauth_dir[i] == '/') i--; + xauth_dir[i + 1] = '\0'; + char xauthority[256]; - snprintf(xauthority, 256, "%s/%s", getenv("XDG_RUNTIME_DIR"), "lyxauth"); + snprintf(xauthority, 256, "%s/%s", xauth_dir, xauth_file); setenv("XAUTHORITY", xauthority, 1); setenv("DISPLAY", display_name, 1); @@ -346,7 +367,7 @@ void xorg( char display_name[4]; snprintf(display_name, 3, ":%d", get_free_display()); - xauth(display_name, pwd->pw_shell); + xauth(display_name, pwd->pw_shell, pwd->pw_dir); // start xorg pid_t pid = fork(); From 9e33f90d244b3d84805f845b8168e20f3c4a5e85 Mon Sep 17 00:00:00 2001 From: KRIPTOR Date: Wed, 25 May 2022 19:39:15 +0300 Subject: [PATCH 07/12] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 7b0970e..83c9083 100644 --- a/readme.md +++ b/readme.md @@ -84,7 +84,7 @@ sudo systemctl disable getty@tty2.service ## Arch Linux Installation From AUR: ``` -yay -S ly-aur +yay -S ly ``` ## Configuration From 1fad38aad99f278255f044f5fc043fc0e19629b9 Mon Sep 17 00:00:00 2001 From: The Arctesian <87273292+TheArctesian@users.noreply.github.com> Date: Mon, 30 May 2022 21:27:49 +0800 Subject: [PATCH 08/12] Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4c87805..6e820ec 100644 --- a/readme.md +++ b/readme.md @@ -34,6 +34,7 @@ The following desktop environments were tested with success - qtile - sway - xfce + - xmonad - pantheon - maxx - windowmaker From 079f68696bc425e178f56e9e1ad62dc1a681e7d5 Mon Sep 17 00:00:00 2001 From: Utkarsh Verma Date: Fri, 3 Jun 2022 07:43:19 +0530 Subject: [PATCH 09/12] Make xinitrc path configurable --- res/config.ini | 3 +++ src/config.c | 3 +++ src/config.h | 1 + src/inputs.c | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/res/config.ini b/res/config.ini index f9d9db4..690d927 100644 --- a/res/config.ini +++ b/res/config.ini @@ -94,6 +94,9 @@ # xorg server command #x_cmd = /usr/bin/X +# xinitrc +#xinitrc = ~/.xinitrc + # xorg setup command #x_cmd_setup = /etc/ly/xsetup.sh diff --git a/src/config.c b/src/config.c index 4b53055..334a234 100644 --- a/src/config.c +++ b/src/config.c @@ -189,6 +189,7 @@ void config_load(const char *cfg_path) {"wayland_specifier", &config.wayland_specifier, config_handle_bool}, {"waylandsessions", &config.waylandsessions, config_handle_str}, {"x_cmd", &config.x_cmd, config_handle_str}, + {"xinitrc", &config.xinitrc, config_handle_str}, {"x_cmd_setup", &config.x_cmd_setup, config_handle_str}, {"xauth_cmd", &config.xauth_cmd, config_handle_str}, {"xsessions", &config.xsessions, config_handle_str}, @@ -295,6 +296,7 @@ void config_defaults() config.wayland_specifier = false; config.waylandsessions = strdup("/usr/share/wayland-sessions"); config.x_cmd = strdup("/usr/bin/X"); + config.xinitrc = strdup("~/.xinitrc"); config.x_cmd_setup = strdup(DATADIR "/xsetup.sh"); config.xauth_cmd = strdup("/usr/bin/xauth"); config.xsessions = strdup("/usr/share/xsessions"); @@ -363,6 +365,7 @@ void config_free() free(config.wayland_cmd); free(config.waylandsessions); free(config.x_cmd); + free(config.xinitrc); free(config.x_cmd_setup); free(config.xauth_cmd); free(config.xsessions); diff --git a/src/config.h b/src/config.h index 87ae833..b63e3c4 100644 --- a/src/config.h +++ b/src/config.h @@ -93,6 +93,7 @@ struct config bool wayland_specifier; char* waylandsessions; char* x_cmd; + char* xinitrc; char* x_cmd_setup; char* xauth_cmd; char* xsessions; diff --git a/src/inputs.c b/src/inputs.c index d425c06..69a7e9b 100644 --- a/src/inputs.c +++ b/src/inputs.c @@ -82,7 +82,7 @@ void input_desktop(struct desktop* target) target->len = 0; input_desktop_add(target, strdup(lang.shell), strdup(""), DS_SHELL); - input_desktop_add(target, strdup(lang.xinitrc), strdup("~/.xinitrc"), DS_XINITRC); + input_desktop_add(target, strdup(lang.xinitrc), strdup(config.xinitrc), DS_XINITRC); #if 0 input_desktop_add(target, strdup(lang.wayland), strdup(""), DS_WAYLAND); #endif From 723a008adf9424849d3692a786bb1b6a2ff4021e Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 3 Jun 2022 09:59:33 +0200 Subject: [PATCH 10/12] Helpful message when doing --help (closes #391 #390 #346) --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 3518891..4d948e6 100644 --- a/src/main.c +++ b/src/main.c @@ -28,7 +28,7 @@ struct config config; // args handles void arg_help(void* data, char** pars, const int pars_count) { - printf("RTFM\n"); + printf("If you want to configure Ly, please check the config file, usually located at /etc/ly/config.ini.\n"); } void arg_version(void* data, char** pars, const int pars_count) From e158bb5e9dabbb74c30782191d39766f4a523cf2 Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 3 Jun 2022 10:13:54 +0200 Subject: [PATCH 11/12] Remove semicolons in language files --- res/lang/en.ini | 4 ++-- res/lang/es.ini | 4 ++-- res/lang/fr.ini | 4 ++-- res/lang/it.ini | 4 ++-- res/lang/pl.ini | 4 ++-- res/lang/pt.ini | 4 ++-- res/lang/ro.ini | 4 ++-- res/lang/ru.ini | 4 ++-- res/lang/sr.ini | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/res/lang/en.ini b/res/lang/en.ini index 134c637..ecdc9ca 100644 --- a/res/lang/en.ini +++ b/res/lang/en.ini @@ -36,10 +36,10 @@ err_xsessions_dir = failed to find sessions folder err_xsessions_open = failed to open sessions folder f1 = F1 shutdown f2 = F2 reboot -login = login: +login = login logout = logged out numlock = numlock -password = password: +password = password shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/es.ini b/res/lang/es.ini index 7323b6e..258c89d 100644 --- a/res/lang/es.ini +++ b/res/lang/es.ini @@ -36,10 +36,10 @@ err_xsessions_dir = error al buscar la carpeta de sesiones err_xsessions_open = error al abrir la carpeta de sesiones f1 = F1 apagar f2 = F2 reiniciar -login = iniciar sesion: +login = iniciar sesion logout = cerrar sesion numlock = Bloq Num -password = contraseña: +password = contraseña shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/fr.ini b/res/lang/fr.ini index f7a5cb1..7efa430 100644 --- a/res/lang/fr.ini +++ b/res/lang/fr.ini @@ -36,10 +36,10 @@ err_xsessions_dir = échec de la recherche du dossier de sessions err_xsessions_open = échec de l'ouverture du dossier de sessions f1 = F1 éteindre f2 = F2 redémarrer -login = identifiant : +login = identifiant logout = déconnection numlock = verr.num -password = mot de passe : +password = mot de passe shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/it.ini b/res/lang/it.ini index beb3531..637bd64 100644 --- a/res/lang/it.ini +++ b/res/lang/it.ini @@ -36,10 +36,10 @@ err_xsessions_dir = impossibile localizzare cartella sessioni err_xsessions_open = impossibile aprire cartella sessioni f1 = F1 arresto f2 = F2 riavvio -login = username: +login = username logout = scollegato numlock = numlock -password = password: +password = password shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/pl.ini b/res/lang/pl.ini index 6fbebef..1804669 100644 --- a/res/lang/pl.ini +++ b/res/lang/pl.ini @@ -36,10 +36,10 @@ err_xsessions_dir = nie udało się znaleźć folderu sesji err_xsessions_open = nie udało się otworzyć folderu sesji f1 = F1 wyłącz f2 = F2 uruchom ponownie -login = login: +login = login logout = wylogowano numlock = numlock -password = hasło: +password = hasło shell = powłoka wayland = wayland xinitrc = xinitrc diff --git a/res/lang/pt.ini b/res/lang/pt.ini index f25b33f..0213046 100644 --- a/res/lang/pt.ini +++ b/res/lang/pt.ini @@ -36,10 +36,10 @@ err_xsessions_dir = não foi possível encontrar a pasta das sessões err_xsessions_open = não foi possível abrir a pasta das sessões f1 = F1 desligar f2 = F2 reiniciar -login = conectar: +login = conectar logout = desconectado numlock = numlock -password = senha: +password = senha shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/ro.ini b/res/lang/ro.ini index 18c11a6..578f924 100644 --- a/res/lang/ro.ini +++ b/res/lang/ro.ini @@ -36,10 +36,10 @@ err_perm_user = nu s-a putut face downgrade permisiunilor de utilizator f1 = F1 opreşte sistemul f2 = F2 resetează -login = utilizator: +login = utilizator logout = opreşte sesiunea numlock = numlock -password = parolă: +password = parolă shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/ru.ini b/res/lang/ru.ini index 6a42bd7..657214b 100644 --- a/res/lang/ru.ini +++ b/res/lang/ru.ini @@ -36,10 +36,10 @@ err_xsessions_dir = не удалось найти сессионную папк err_xsessions_open = не удалось открыть сессионную папку f1 = F1 выключить f2 = F2 перезагрузить -login = логин: +login = логин logout = logged out numlock = numlock -password = пароль: +password = пароль shell = shell wayland = wayland xinitrc = xinitrc diff --git a/res/lang/sr.ini b/res/lang/sr.ini index 58c3257..04bd679 100644 --- a/res/lang/sr.ini +++ b/res/lang/sr.ini @@ -36,10 +36,10 @@ err_xsessions_dir = neuspijesno pronalazenje foldera sesija err_xsessions_open = neuspijesno otvaranje foldera sesija f1 = F1 ugasi f2 = F2 ponovo pokreni -login = korisnik: +login = korisnik logout = izlogovan numlock = numlock -password = lozinka: +password = lozinka shell = shell wayland = wayland xinitrc = xinitrc From 7d5eb449c325cf062f359086738da3472b95782c Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Fri, 3 Jun 2022 10:21:51 +0200 Subject: [PATCH 12/12] Add missing step in README --- readme.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d49a268..a37e2fa 100644 --- a/readme.md +++ b/readme.md @@ -53,7 +53,12 @@ changing the source code won't be necessary :) ## Cloning and Compiling Clone the repository ``` -git clone --recurse-submodules https://github.com/nullgemm/ly.git +git clone --recurse-submodules https://github.com/nullgemm/ly +``` + +Change the directory to ly +``` +cd ly ``` Compile