Commit Graph

162 Commits

Author SHA1 Message Date
AnErrupTion
1db780c7a7 Better handle screen resizes
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 22:18:00 +01:00
AnErrupTion
941b7e0dae Properly calculate string lengths
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 22:04:09 +01:00
AnErrupTion
e9e2d51261 Better bigclock positioning
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 21:36:18 +01:00
AnErrupTion
769aefd6e9 Add separate big label widget for bigclock
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 21:14:49 +01:00
AnErrupTion
f678e3bb28 Add update function for Label
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 19:50:32 +01:00
AnErrupTion
f22593f828 Add Label component & make colors custom
This commit also makes Ly more resilient to (impossible) screen
resolutions.

Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 17:40:50 +01:00
AnErrupTion
bca38856b1 Completely refactor widget placement code
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-08 14:53:36 +01:00
AnErrupTion
fd81da7cbd Organise imports
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-07 17:01:11 +01:00
AnErrupTion
950eeed3ee Log which VT is used
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-07 10:48:05 +01:00
AnErrupTion
7744745f09 Don't try to switch TTY with KMSCON
It can do it automatically (see the corresponding service file).

Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-05 19:55:40 +01:00
AnErrupTion
11735290b8 Fix active TTY detection for KMSCON
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-05 19:50:48 +01:00
AnErrupTion
2b46a81796 Add basic KMSCON support (closes #886)
It's not perfect yet, but at least it works!

Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-05 15:01:45 +01:00
AnErrupTion
b00d6899e5 Fix buffer not resizing with no animation
Signed-off-by: AnErrupTion <anerruption@disroot.org>
2026-02-04 20:16:53 +01:00
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

![logo-preview](/attachments/5a829dbd-7708-4d0a-9841-d024902ede68)

## 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