AnErrupTion
7ce8ff61fe
Unify ini parsing logic
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-01 10:41:06 +01:00
AnErrupTion
1a04a608a1
Remove dummy animation
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-31 22:51:44 +01:00
AnErrupTion
b0dcc12785
Move UI drawing to separate function
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-31 22:35:28 +01:00
AnErrupTion
b672d04dc6
Improve authentication logging
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-31 11:46:55 +01:00
AnErrupTion
2e04ea4d79
Add time, severity & category in logs
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-31 11:17:36 +01:00
AnErrupTion
0c12008327
Move more termbox usage into TerminalBuffer
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-31 10:36:08 +01:00
AnErrupTion
a158098df0
Add config.x_vt option ( fixes #910 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-26 20:45:33 +01:00
AnErrupTion
5bfa1670cc
Better systemd-homed user detection ( fixes #913 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-26 20:36:44 +01:00
hynak
a4076b83da
[dur] Add support for alignments and negative offsets + Ly logo ( #893 )
...
## What are the changes about?
Add support for letting a user use a negative offset (#880 ), alignment, and logo. Below is example of the logo file, I hope it is what was request :). It has no padding so a user can move the alignment and offset to get it how they want on screen.
This technically is good to go, except I didn't upload the logo file as I'm not sure where to add the animation file to get it to here: $CONFIG_DIRECTORY/ly/example.dur

## What existing issue does this resolve?
#880
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/893
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: hynak <hynak@noreply.codeberg.org>
Co-committed-by: hynak <hynak@noreply.codeberg.org>
2026-01-25 23:08:42 +01:00
AnErrupTion
2eea683078
Fix wrong session being chosen in autologin ( closes #911 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-18 21:35:49 +01:00
AnErrupTion
d7f64676ee
Split core code into ly-core library
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-01-18 21:07:53 +01:00
AnErrupTion
8e893932f2
Clamp user session index if invalid
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-30 18:09:46 +01:00
AnErrupTion
26e7585b0b
Don't forget to allocate :D
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-30 17:43:00 +01:00
AnErrupTion
b1cb576f67
Check for session file name in autologin ( closes #895 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-30 17:38:22 +01:00
AnErrupTion
e6966a628c
Fix wrong session index + save file corruption
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-06 14:25:01 +01:00
AnErrupTion
92beb24c80
Fix save file initialisation & incorrect saved session index
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-05 19:49:27 +01:00
hynak
7e18d906c4
[Feature] Add support for .dur file format and animations ( closes #719 ) ( #833 )
...
Adds support for durdraw's .dur file format. Supports ascii, animations, and 16/256 color display.
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/833
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: hynak <hynak@noreply.codeberg.org>
Co-committed-by: hynak <hynak@noreply.codeberg.org>
2025-12-05 19:46:42 +01:00
AnErrupTion
3bfdc75a70
Add option to run command after inactivity delay ( closes #747 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-03 20:39:27 +01:00
AnErrupTion
1c99574f73
Add option to run command before UI is initialised ( closes #798 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-12-02 22:23:10 +01:00
radsammyt
6cb53b6e38
Refactor active_input field-jumping logic ( #873 )
...
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/873
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: radsammyt <radsammyt@noreply.codeberg.org>
Co-committed-by: radsammyt <radsammyt@noreply.codeberg.org>
2025-12-01 20:07:59 +01:00
AnErrupTion
d82fa82a87
Always add hostname last in the info line
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-11-30 23:50:39 +01:00
AnErrupTion
4df2382698
Add possibility to disable auth_fails animation ( closes #835 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-11-30 22:19:38 +01:00
AnErrupTion
fe354a4809
Add fallback UID range options at compile-time
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-11-30 09:47:50 +01:00
AnErrupTion
8c964d9ce5
Don't crash when failing to crawl a session directory ( closes #870 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-11-30 09:30:33 +01:00
AnErrupTion
10854e643a
Don't crash when failing to parse arguments
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-11-30 09:14:10 +01:00
ebits
1980b2e479
Feature: Added option for hibernate between sleep and brightness down ( #867 ) ( closes #866 )
...
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/867
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: ebits <tspamiitesh@gmail.com>
Co-committed-by: ebits <tspamiitesh@gmail.com>
2025-11-28 19:05:17 +01:00
AnErrupTion
3c0c84d067
Fix build error
...
I really should test PRs before merging them, shouldn't I?
2025-11-15 20:02:59 +01:00
notiant
cc07c4870a
Add option to hide CapsLock and NumLock states ( #864 )
...
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/864
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: notiant <codeberg.cizj4@simplelogin.com>
Co-committed-by: notiant <codeberg.cizj4@simplelogin.com>
2025-11-15 16:32:42 +01:00
ferreo
0cf752f3b8
[Feature] Add autologin support ( #841 ) ( closes #200 )
...
This is the simplest change I could come up with to add working autologin, only bit I really dislike is the event but it seemed like the cleanest way without refactoring.
Co-authored-by: ferreo <harderthanfire@gmail.com>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/841
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: ferreo <ferreo@noreply.codeberg.org>
Co-committed-by: ferreo <ferreo@noreply.codeberg.org>
2025-10-25 23:09:24 +02:00
AnErrupTion
38173d8557
Add edge margin to numlock & capslock
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-25 20:39:34 +02:00
AnErrupTion
95d1d9378c
Add edge margin to top-right clock
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-23 22:53:58 +02:00
ebits
106f157a2c
[Feature] Add edge margin option ( #856 ) ( closes #848 )
...
Allows setting a balanced margin on all sides.
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/856
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: ebits <tspamiitesh@gmail.com>
Co-committed-by: ebits <tspamiitesh@gmail.com>
2025-10-23 19:07:54 +02:00
AnErrupTion
1fbcb10110
Open new log file after every fork() where necessary
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-18 15:29:47 +02:00
AnErrupTion
44c8acff16
Open new log file handle after fork()
...
This would also need to be done in the
nested fork() calls.
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-18 12:03:48 +02:00
AnErrupTion
02f5aa702d
Implement /etc/login.defs in interop, TODO for FreeBSD
...
We should be able to parse the "minuid" and "maxuid"
values in /etc/rc.conf to get the UID range of the
system, with default values of 1000 to 32000 (as
they don't seem to be present by default).
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-18 00:28:12 +02:00
AnErrupTion
657daafec8
Fix crash after reading saved credentials for first time
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-17 22:58:50 +02:00
AnErrupTion
e36872baa6
Don't spam battery status error if already tried once
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-15 16:32:57 +02:00
AnErrupTion
e577c454da
Fix merge conflict
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-14 21:10:17 +02:00
AnErrupTion
b3f1e91cf6
Remember last session for each user ( closes #619 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-10-14 21:05:54 +02:00
nyraa
cb4f1952cd
Move version string to bottom-left corner ( #846 )
...
In #834 , it was decided to move the version string to the bottom-left corner, and a new PR was opened to address it.
Co-authored-by: nyraa <112930946+nyraa@users.noreply.github.com>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/846
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: nyraa <nyraa@noreply.codeberg.org>
Co-committed-by: nyraa <nyraa@noreply.codeberg.org>
2025-10-11 09:24:15 +02:00
ebits
81a17f2904
Fix: Default battery status to row 1 when hide_key_hints and hide_version_string is true ( fixes #844 ) ( #845 )
...
Default battery status behaviour to usize 0 when hide_key_hints and hide_version_string is true as a fix to issue [#844 ](https://codeberg.org/fairyglade/ly/issues/844 )
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/845
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: ebits <tspamiitesh@gmail.com>
Co-committed-by: ebits <tspamiitesh@gmail.com>
2025-10-11 08:47:13 +02:00
ebits
339e39d496
Adding the battery status for the top bar alongside brightness controls ( closes #821 ) ( #826 )
...
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/826
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: ebits <tspamiitesh@gmail.com>
Co-committed-by: ebits <tspamiitesh@gmail.com>
2025-10-09 18:48:46 +02:00
AnErrupTion
7a0520687d
Add fallback TTY option ( closes #838 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-09-29 21:30:51 +02:00
AnErrupTion
cee0e0ca4b
Log more detailed config error messages ( closes #801 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-09-26 09:54:38 +02:00
AnErrupTion
3edd1ff1be
Log error name when zigini fails to parse config
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-09-25 13:35:28 +02:00
AnErrupTion
145ad5142c
Clean up redundant authentication & session code
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-09-25 08:32:30 +02:00
AnErrupTion
ee97f3b5e1
Automatically detect TTY ( closes #795 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-09-07 17:44:50 +02:00
AnErrupTion
5924db58e1
Use std.mem.span + remove useless dupeZ()
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-30 13:17:19 +02:00
AnErrupTion
36e220e2ff
Remove usage of std.c.stat() for xauth code
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-30 02:09:51 +02:00
AnErrupTion
0a9ceca822
Don't dupeZ() in main
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-30 01:09:12 +02:00
AnErrupTion
230874abd1
Don't forget to flush... :)
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-29 22:54:05 +02:00
AnErrupTion
a7d6b06d21
Add partial logging in authentication process ( closes #822 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-29 09:28:29 +02:00
AnErrupTion
69d39dc035
Remove config.load
...
config.save already makes it redundant. Besides, who would want
to save the current username & session, but not want to load it
at the next boot?
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-29 00:32:49 +02:00
AnErrupTion
7cfb947187
Reduce libc usage & move more stuff to interop
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-28 01:39:19 +02:00
AnErrupTion
ff9b6279d3
Update to Zig 0.15.0 ( closes #829 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-27 23:44:39 +02:00
AnErrupTion
cd0accfb28
Show error name instead of error if shutdown/reboot fails
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-05 08:26:13 +02:00
Matthew Rothlisberger
a7ff18aa16
Add option for eight-color terminal output ( #802 )
...
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/802
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: Matthew Rothlisberger <mattjrothlis@gmail.com>
Co-committed-by: Matthew Rothlisberger <mattjrothlis@gmail.com>
2025-08-03 23:37:53 +02:00
AnErrupTion
c3d180c213
Add basic general log file
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-03 15:59:47 +02:00
AnErrupTion
3f891d7f0d
Workaround for session process not exiting immediately
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-03 14:56:16 +02:00
AnErrupTion
dee055748c
Format code properly
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-03 13:47:53 +02:00
RadsammyT
b382d74969
bigclock: add 12-hour & seconds support ( #805 )
...
Added P,A,M characters to bigclock and added 12hr and seconds support to bigclock via `bigclock_12hr` and `bigclock_seconds` in the config.

Image has bigclock_12hr and bigclock_seconds enabled.
Farsi characters for P,A,M are blank since I don't know what it would look like in their language. (should i have just used the english characters as a placeholder?)
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/805
Reviewed-by: AnErrupTion <anerruption@disroot.org>
Co-authored-by: RadsammyT <radsammyt@gmail.com>
Co-committed-by: RadsammyT <radsammyt@gmail.com>
2025-08-03 11:16:04 +02:00
AnErrupTion
4fbbb6f0f2
Reduce nesting a bit
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-02 22:59:34 +02:00
AnErrupTion
ef64029795
Only clear TTY under certain circumstances
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-02 22:57:47 +02:00
AnErrupTion
b35c055e7b
Fix clock string length issues ( fixes #716 )
...
Co-authored-by: Plash <plash@noreply.codeberg.org>
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-08-02 13:08:07 +02:00
AnErrupTion
1d4e32ba82
List all users in the system ( fixes #373 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-07-10 10:06:19 +02:00
AnErrupTion
04920e1b1b
Implement custom session support ( fixes #757 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-07-08 22:39:14 +02:00
AnErrupTion
918e9ad5ac
Only show lang.err_lock_state once
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-07-08 12:47:24 +02:00
Matthew Rothlisberger
99f3ab96ba
changes fire parameters
2025-07-07 21:02:58 -04:00
Matthew Rothlisberger
ab23631e66
reimplements PSX Doom fire animation; adds flame height control
2025-07-07 21:02:58 -04:00
AnErrupTion
d08b9a916e
Remove config.console_dev option + handle ioctl errors
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-07-07 21:45:54 +02:00
thoxy
e7aad8de88
remove gameoflife_randomize_colors argument in main for gameoflife
2025-06-17 12:40:49 +02:00
thoxy
9b00df4337
Merge branch 'master' into master
2025-06-17 12:36:17 +02:00
Dusan
14aae40fda
Use existing label value for x
2025-06-10 14:34:20 +02:00
Dusan
3504180e95
Option to hide version string
2025-06-10 06:12:48 +02:00
thoxy
b4952cdc51
Merge branch 'master' into master
2025-05-31 18:04:56 +02:00
AnErrupTion
a8b8292318
Add name of unknown error instead of generic string
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-05-31 11:04:46 +02:00
thoxy
78ed67b35f
Merge branch 'master' into master
2025-05-30 20:07:32 +02:00
thoxy
fa46155f72
make gameoflife more configurable and fix pull reviews
2025-05-30 20:04:52 +02:00
AnErrupTion
cedb7a3b02
Fix TTY not being cleared sometimes ( closes #696 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-05-30 14:18:29 +02:00
AnErrupTion
d9204131aa
Fix brightness up key not working ( closes #763 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-05-30 09:24:07 +02:00
thoxy
98af3a98c8
Add GameOfLife Animation
2025-05-27 07:07:37 +02:00
jack-avery
fecc688418
snake case
2025-03-28 11:01:33 -04:00
jack-avery
be5a68dd1d
allow specify multiple dirs
2025-03-28 00:47:12 -04:00
AnErrupTion
9ded9fd765
Remove use of deprecated aliases/types + use upstream zigini
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-16 22:45:46 +01:00
AnErrupTion
13ba52319c
Clean termbox2 usage + fix animation bug
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-16 11:40:27 +01:00
AnErrupTion
1672d4a9ec
Make main code less directly dependent on termbox2
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-16 11:17:38 +01:00
AnErrupTion
e0ed1b4eb1
Add animation framework
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-16 10:54:06 +01:00
AnErrupTion
86ea38f460
Split session crawling from TUI component
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-16 00:24:56 +01:00
AnErrupTion
9efb734fd5
Show Ly version string at top-left
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-13 13:27:18 +01:00
AnErrupTion
ac1d828a5f
Stop spamming err_console_dev when first time didn't work
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 22:02:01 +01:00
AnErrupTion
92845268af
Add option to allow empty password or not ( closes #577 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 22:00:46 +01:00
AnErrupTion
4e859e56cb
Allow modifying DOOM animation fire colors ( closes #239 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 20:40:53 +01:00
AnErrupTion
d80ec8fd1f
Allow changing matrix animation min/max codepoints ( closes #615 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 19:48:11 +01:00
AnErrupTion
d12fa27168
Added new error and updated French translation
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 19:41:05 +01:00
AnErrupTion
6079c01a4b
Allow disabling the brightness control commands ( closes #664 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 19:16:47 +01:00
AnErrupTion
9c79137c9f
Remove all deprecated calls to tb_cell_buffer()
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 15:42:33 +01:00
AnErrupTion
9168266cca
Don't shutdown termbox2 if authentication fails
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 15:29:56 +01:00
AnErrupTion
55abc4d7f1
Decouple TerminalBuffer and auth from Config
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 14:32:05 +01:00
AnErrupTion
d0ccaa4d69
Enable true color output ( closes #705 )
...
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2025-03-06 12:47:28 +01:00
AnErrupTion
c9a416b8a2
Merge branch 'master' into winlith/colormix
2025-03-05 20:53:53 +00:00