Commit Graph

112 Commits

Author SHA1 Message Date
javalsai 0b2d0bdf03 fixes: improve login environment handling (#114)
* chore(organization): allow nested header and c files

* feat: add shell login "middleware" & etc:
  * lidm now calls `bash` (or other shells, depends on PACKAGE cfg) in
  login mode as a session wrapper to source most env (can be disabled)
  * this fixes a lot of env problems with all `/etc/profile` and more

Extra:
* implemented a musl compatible version of `execvpe` and now lidm should
  search for PATH everywhere it needs to
* `search_path` now also checks if the found binary is properly
  executable
* lidm now uses `confstr` for a decent PATH default if none is found
* logs are unbuffered for cases where debug logs appear empty (exit
  without handlers moment)

* chore: one-time evaluate certain makefile vars

---------

Co-authored-by: grialion <48643945+grialion@users.noreply.github.com>
2026-02-07 17:12:03 +01:00
javalsai aa2feb3462 fix(cfg): string.opts* not applying to user (#110) 2026-02-04 22:33:17 +01:00
javalsai 978aaad199 chore: misc (#100) (this makes 2.0.0)
Co-authored-by: grialion <48643945+grialion@users.noreply.github.com>

- Fix license ambiguity (#88)
  - just the only/or-later ambiguity point, not adding SPDX identifyiers unless more people request it
- Better document kmscon (#91)
- Make 2.0.0 already to close #86
- Add a changelog
- Add packagers info (acutally just add them to install guide)
- Add AUR service packages (I'll take care of systemd and dinit, let others package the rest and leave systemd open for someone who actually uses it in docs)
- Make sure all makefile installs to `/usr/local` by default
- Simplify Makefile complexity by several orders
2026-01-20 23:33:28 +01:00
javalsai 9cf5297205 fix: building with -flto=auto (#102)
I need this to finish the AUR packages at #100.

It probably also broke the current lidm-git package
2026-01-20 22:29:58 +01:00
javalsai 7e7a297e2e feat: support Xorg & better auth logic (#80)
Co-authored-by: grialion <48643945+grialion@users.noreply.github.com>
2026-01-19 21:17:45 +01:00
Martin Bogdanov d65bd7a8ee feat: get sessions from /usr/local/share/{x,wayland-}sessions (#99)
Co-authored-by: javalsai <jvssxxi@gmail.com>
2026-01-19 20:35:44 +01:00
creations a7a1f42f0a feat: add support for fido yubikeys (#89)
* add support for fido keybind

* add to themes

* fix clang format

* Update ui.c

* docs: add misc stuff about the yubikey

---------

Co-authored-by: javalsai <jvssxxi@gmail.com>
2025-12-13 21:37:58 +01:00
dariuskl feeba5c41b feat: don't trunc long hostnames if there is space (#87)
Instead of restricting the length of the hostname field to the size of
the column, the hostname is allowed to utilize all space that is not
taken up by the time string.

Co-authored-by: Darius Kellermann <kellermann@pm.me>
2025-11-16 17:29:59 +01:00
javalsai ddc38ef27f fix: stupid logic bug
https://github.com/javalsai/lidm/issues/77#issuecomment-3225642519
2025-08-26 22:33:13 +02:00
grialion b3c8d3cbea feat: exec parser for desktop entries (#78)
Feature-rich Exec= parser implementation for .desktop files
* backslash stripping (e.g '\ ' -> ' ')
* percentage stripping (e.g '%u' -> '', '%%' -> '%')
* quote string handling (e.g 'arg1 "arg 2"' -> "arg1", "arg 2")
The current implementation strips all "percentage codes", instead
of handling them.
Argument count is limited at 100.

---------

Co-authored-by: javalsai <jvssxxi@gmail.com>
2025-08-26 21:19:25 +02:00
javalsai 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
SpamixOfficial 589f33ffec feat(PAM service configuration) (#62)
* docs(typo): fix typo in Contributing.md

* add optional PAM service name

* feat(PAM service name): Add ENV variable configuration for the PAM service name

* feat(PAM service name): Implement suggested changes + update README instructions

* docs(remove segment)
2025-07-16 14:53:23 +02:00
Ar1gin 8fc6bff60f fix: hostname truncation (#63)
Co-authored-by: javalsai <javalsai@proton.me>
2025-07-16 14:19:58 +02:00
grialion cd5a3ede52 fix(auth.c): use POSIX pid_t
Use standard pid_t type instead of libc specific __pid_t type.
2025-07-09 23:14:36 +02:00
javalsai 2f2a2c2696 fix(cfg): parser bugs on missing final newline 2025-07-06 23:03:41 +02:00
javalsai 689c962cc9 fix: necessary code changes for nix configurability 2025-07-06 05:13:09 +02:00
javalsai 6cac2f91ed fix: neccessary code changes for nix 2025-07-06 04:21:49 +02:00
javalsai 65bbb7d1b4 Merge branch 'master' into update_rate 2025-07-04 19:33:43 +02:00
javalsai 5f7e412408 Merge branch 'master' into feat-help-version-menu 2025-07-04 19:25:59 +02:00
javalsai 736e816509 style: satisfy clang-tidy 2025-07-04 15:50:18 +02:00
javalsai 19a1355b06 dev: automatic version.h generation
also added compiler information as a feature
2025-07-04 15:22:22 +02:00
javalsai 9c022c5813 feat(cfg): add ellipsis to config 2025-07-04 04:48:20 +02:00
javalsai a316afecb2 fix: possible memory issues 2025-07-04 04:47:32 +02:00
javalsai 5a6471dd00 feat: utf8 hostname and ellipsis 2025-07-04 04:40:10 +02:00
javalsai 5b5adf76b7 feat: support long hostnames
close #49
2025-07-04 03:56:51 +02:00
javalsai ba836e5cd4 feat: add refresh_rate option for clock 2025-07-04 03:30:29 +02:00
javalsai 9f905622a2 chore: dry and modularize a bit 2025-07-04 01:43:32 +02:00
grialion afd23657c0 feat: help, version menu 2025-07-04 00:15:14 +02:00
rmntgx f5445248d3 Merge branch 'master' into ui-improvements 2025-07-02 14:02:40 +05:00
rmntgx 68ed11fb2d feat: cool resize implementation 2025-07-02 13:50:17 +05:00
javalsai 6c6769b2b3 chore: clean some auth logic 2025-07-01 01:16:08 +02:00
javalsai 99e27dd0c0 fix(likely): #45 2025-07-01 01:09:49 +02:00
rmntgx b653fdcc57 feat: buggy resize implementation 2025-06-29 23:32:04 +05:00
javalsai 11e9257c4a Merge pull request #43 from javalsai/improvements
fix: broken cfg parser (blame 8403bfc2)
2025-06-29 18:57:49 +02:00
javalsai 64e088884d fix: broken cfg parser (blame 8403bfc2) 2025-06-29 18:51:53 +02:00
javalsai bceb13b844 feat: save user and session as strings 2025-06-29 18:50:35 +02:00
rmntgx f0e962ad50 fix: create directory 2025-06-29 11:51:42 +05:00
rmntgx 16d1325f96 style: formatting and linter satisfaction 2025-06-29 10:56:31 +05:00
rmntgx 1714b477ad fix: compilation error after rebase 2025-06-29 10:24:58 +05:00
rmntgx a08ffa5a75 fix: simplified code 2025-06-29 10:20:01 +05:00
rmntgx 4a83e5d825 feature: saving previous selection 2025-06-29 10:20:00 +05:00
javalsai b2d25198e0 chore: handle all posible malloc failures 2025-06-22 00:32:35 +02:00
javalsai 6ddbb407da fix(ui): custom input not taking all width 2025-06-21 05:25:03 +02:00
javalsai 8403bfc26c fix: strlcpy usage & changes 2025-06-21 05:16:07 +02:00
javalsai 55e58b46d9 fix(ui): some missing utf8 support 2025-06-21 04:21:10 +02:00
javalsai cd1f44ec41 feat: support custom format dates 2025-06-21 03:10:29 +02:00
javalsai 938166366f lint: fix code for clang-tidy 2025-06-21 01:29:43 +02:00
javalsai 6d30e889d5 fix: language & format 2025-06-21 00:54:36 +02:00
javalsai e7ef64cd16 feat: ithnk full utf8 support & ui 100% consistent 2025-06-21 00:52:30 +02:00
javalsai 787b412005 feat: utf8 support & partial ui.c refactor 2025-06-20 21:31:49 +02:00