2 Commits

Author SHA1 Message Date
7e1ec83c7f version: bump to v1.2.3 2025-07-20 21:53:47 +02:00
8f0213db74 misc batch of fixes before v1.2.3 (#65)
* fix some formatter and linter issues
* make clang-tidy/clang-format fail with error status and output in github error format
* docs, add kmscon thing
* and some CI stuff
2025-07-20 21:50:12 +02:00
10 changed files with 45 additions and 23 deletions

View File

@@ -30,14 +30,22 @@ jobs:
clangcheck: clangcheck:
name: Clang name: Clang
runs-on: ubuntu-24.04 runs-on: ubuntu-latest
container:
image: ubuntu:25.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest - run: apt -y update && apt install -y clang-format clang-tidy make gcc git bear libpam0g-dev
with:
packages: "clang-format clang-tidy bear libpam0g-dev"
version: 1.0
- run: bear -- make - run: bear -- make
- run: clang-format -ni src/*.c include/*.h - run: clang-format -version && clang-format -dump-config
- run: clang-tidy -p . src/*.c include/*.h - run: |
set -euo pipefail
clang-format -ni src/*.c include/*.h -Werror 2>&1 | \
sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/'
- run: clang-tidy -version && clang-tidy -dump-config
- run: |
set -euo pipefail
clang-tidy -p . src/*.c include/*.h -warnings-as-errors=\* 2>&1 1>/dev/null |
sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/'

View File

@@ -1,4 +1,4 @@
VERSION = 1.2.2 VERSION = 1.2.3
.DEFAULT_GOAL := lidm .DEFAULT_GOAL := lidm
CDIR=src CDIR=src

View File

@@ -10,7 +10,18 @@ LiDM is like any [Display Manager](https://en.wikipedia.org/wiki/X_display_manag
![demo gif](assets/media/lidm.gif) ![demo gif](assets/media/lidm.gif)
> _shown as in a featured terminal emulator, actual linux console doesn't support as much color and decorations_ <blockquote><details>
<summary><i>
shown as in a featured terminal emulator, actual linux console doesn't support as much color and decorations
</i></summary>
If you want to add fancy color and font support to your TTYs you can wrap lidm in [`kmscon`](https://wiki.archlinux.org/title/KMSCON). (edit appropriate service files). e.g:
```sh
kmscon -l --vt /dev/tty7 --font-name "Cascadia Code" -- /usr/bin/lidm
```
</details></blockquote>
> _however, all colors and strings are fully customizable_ > _however, all colors and strings are fully customizable_

View File

@@ -13,8 +13,9 @@ make -j"$(nproc)" "$@" 2> /tmp/stderr || ERR=$?
BSIZE=$(stat --printf="%s" lidm) BSIZE=$(stat --printf="%s" lidm)
HSIZE=$(numfmt --to=iec-i<<<"$BSIZE")B HSIZE=$(numfmt --to=iec-i<<<"$BSIZE")B
WARNS=$( WARNS=$(
{ grep -E '^[^ ]+\.[ch]:[0-9]+:[0-9]+: [a-z]+:' /tmp/stderr || :; } \ sed -nE \
| sed -E 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/' 's/^([^ ]+\.[ch]):([0-9]+):([0-9]+): ([a-z]+): (.*)$/::\4 file=\1,line=\2,col=\3::\5/p' \
/tmp/stderr
) )
WARNS_NUM=$({ [[ "$WARNS" == "" ]] && echo 0; } || wc -l <<<"$WARNS") WARNS_NUM=$({ [[ "$WARNS" == "" ]] && echo 0; } || wc -l <<<"$WARNS")

View File

@@ -3,10 +3,12 @@
#include <stdio.h> #include <stdio.h>
void log_init(FILE* fd); #include "macros.h"
void log_puts(const char* msg);
void log_printf(const char* fmt, ...); void log_init(FILE* NNULLABLE fd);
void log_puts(const char* NNULLABLE msg);
void log_printf(const char* NNULLABLE fmt, ...);
// NOLINTNEXTLINE(readability-identifier-length) // NOLINTNEXTLINE(readability-identifier-length)
void log_perror(const char* s); void log_perror(const char* NNULLABLE s);
#endif #endif

View File

@@ -243,7 +243,7 @@ int parse_config(struct config* NNULLABLE config, char* NNULLABLE path) {
if (fd == NULL) { if (fd == NULL) {
log_perror("fopen"); log_perror("fopen");
log_printf(" [I] No config, place one at " LIDM_CONF_PATH log_printf(" [I] No config, place one at " LIDM_CONF_PATH
" or set the LIDM_CONF env variable"); " or set the LIDM_CONF env variable\n");
return 0; // Its fine now anyways return 0; // Its fine now anyways
} }

View File

@@ -32,7 +32,7 @@ void log_perror(const char* s) {
if (!logger_out) return; if (!logger_out) return;
if (s) if (s)
(void)fprintf(logger_out, "%s: %s", s, strerror(errno)); (void)fprintf(logger_out, "%s: %s\n", s, strerror(errno));
else else
(void)fprintf(logger_out, "%s", strerror(errno)); (void)fprintf(logger_out, "%s\n", strerror(errno));
} }

View File

@@ -121,7 +121,7 @@ char* trunc_gethostname(const size_t MAXLEN, const char* const ELLIPSIS) {
} }
if (utf8len(buf) > MAXLEN) { if (utf8len(buf) > MAXLEN) {
int end = utf8trunc(buf, MAXLEN - utf8len(ELLIPSIS)); size_t end = utf8trunc(buf, MAXLEN - utf8len(ELLIPSIS));
strcpy(&buf[end], ELLIPSIS); strcpy(&buf[end], ELLIPSIS);
} }
return buf; return buf;