## What are the changes about?
Add corner customization (what is in which corner of the screen)
## What existing issue does this resolve?
Issue #961
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
- [x] I have run `zig fmt` throughout my changes
Co-authored-by: AnErrupTion <anerruption@disroot.org>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/963
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
Add an option to allow user manually input username, instead of selecting from a list of discovered users.
I have not tested the changes yet since I wasnt able to get it build locally. Will try to resolve this asap.
## What existing issue does this resolve?
#891
## Pre-requisites
- [ ] I have tested & confirmed the changes work locally
- [x] I have run `zig fmt` throughout my changes
Co-authored-by: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com>
Co-authored-by: AnErrupTion <anerruption@disroot.org>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1012
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
So far ly only supported showing battery capacity on Linux. This adds support for FreeBSD as well using `sysctlbyname()` instead of reading from `/sys/...`
## What existing issue does this resolve?
No battery shown on FreeBSD.
_Replace this with a reference to an existing issue, or N/A if there is none_
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
- [x] I have run `zig fmt` throughout my changes
Co-authored-by: AnErrupTion <anerruption+codeberg@disroot.org>
Co-authored-by: AnErrupTion <anerruption@disroot.org>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/988
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
PR is an edit of the repo readme. See commit message.
Co-authored-by: AnErrupTion <anerruption+codeberg@disroot.org>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1019
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
Remove the line "auth include login" from ly-freebsd-autologin
## What existing issue does this resolve?
The autologin at the beginning and further logins with password always failed with this message in the log: "failed to authenticate: PamAuthError". When I removed the line "auth include login" from ly-freebsd-autologin, autologin and login worked great.
## Pre-requisites
- [X] I have tested & confirmed the changes work locally
- [X] I have read and fully adhere to the rules set in the contributing guidelines found in `CONTRIBUTING.md`
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1020
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
TL;DR:

Slaps the entire LuaJIT runtime onto Ly, allowing for the creation of custom dynamic animations like GameOfLife, ColorWave, Doom, etc.
This PR adds the [ziglua](https://github.com/natecraddock/ziglua?ref=zig-0.16) dependency for its zig bindings and considerable buildtime config (mainly lua version selection).
### Example
<video src="/attachments/3f91cf72-ae24-459c-8ef6-099f71e866fd" title="Screencast_20260519_172320" controls></video>
```lua
ly.frame_delay = 5
local timer = 0
local clock = os.clock()
local clock_diff = 0
function draw()
timer = timer + 1
byte = string.byte(' ')
clock_diff = os.clock() - clock
clock = os.clock()
timer = timer + clock_diff
for x = 0, ly.width-1 do
for y = 0, ly.height-1 do
local xc = 0xFF
if x < 255 then xc = ((x + math.floor(timer / 2)) * 3) % 255 else xc = 0 end
local yc = 0xFF
if y < 255 then yc = ((y) * 3) % 255 else yc = 0 end
ly.putCell(byte, xc, bit.bor(xc, yc), x, y)
end
end
end
```
### The API
The API that Ly gives to the user is minimal. A table is globally available, named `ly`, which provides the following:
| Member | Purpose |
|---------|---------|
| `ly.width` & `ly.height` | Respective Width/Height from the `TerminalBuffer` |
| `ly.putCell(byte, fg, bg, x, y)` | Literally `Cell.init(byte, fg, bg).put(x, y)`.|
| `ly.clock()` | The current real-time, in microseconds. |
### Error Handling
On a Lua Error, Ly won't quit but will instead paint the entire background red. The lua error in question can be found in the Ly log file and on-screen.
```log
2026-05-19 16:13:40 [err/Lua] Error (Cannot call draw()): attempt to call a nil value
2026-05-19 11:05:51 [err/Lua] Lua Error: ...dsammyt/programming/probe/ly/scratch/testConfig/test.lua:30: bad argument #1 to 'ipairs' (table expected, got number)
```
## Pre-requisites
- [X] I have tested & confirmed the changes work locally
- [X] I have run `zig fmt` throughout my changes
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1001
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
Changed two sentences to sound more natural to Brazilian Portuguese speakers.
- Token to masculine adj. Token is often (if not always) described as masculine subject (e.g [Wikipedia](https://pt.wikipedia.org/wiki/Token_(an%C3%A1lise_l%C3%A9xica)))
- Moved sentence to be written using "falhou" always in the end of a phrase to follow the same pattern as the other similar sentences. Also, using "falhou" at the beginning of the sentence is not wrong, but sounds a bit weird and it's not common in formal texts
## What existing issue does this resolve?
Just translation related issues
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
- [x] I have read and fully adhere to the rules set in the contributing guidelines found in `CONTRIBUTING.md`
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1018
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
I fixed some incorrect inflections and typos in the readme
## What existing issue does this resolve?
N/A
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
- [x] I have read and fully adhere to the rules set in the contributing guidelines found in `CONTRIBUTING.md`
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1017
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
I modified getUserIdRange(), so it checks if either of UID_MIN and UID_MAX is set in /etc/login.defs. If any, but not both, is not set, it uses fallback value. I don't know zig build system, so I added ugly fallback values passthrough.
## What existing issue does this resolve?
#1013
## Pre-requisites
- [X] I have tested & confirmed the changes work locally
- [X] I have read and fully adhere to the rules set in the contributing guidelines found in `CONTRIBUTING.md`
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/1014
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
- Added sr_Cyrl.ini as new Cyrillic variant for the Serbian Language
- Added zh_TW.ini (Traditional Chinese)
- Completed ALL missing keys in EVERY translation
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/997
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>
## What are the changes about?
There have been quite a few issues about the required zig version which
have appeared on codeberg recently. Largely these issues are opened
(like mine, #995) because individuals attempt to build using development
versions of zig and not the tagged releases.
The lack of a locked version (only a minimum) creates these issues.
Barring a locking mechanism, which I do not feel is my place to
implement, we should be clear to newer developers in Zig that you need
this specific version, not a development/master versioned release.
This is WIP mainly because I feel that a version file would be a better solution
than a README note, and I don't have enough zig experience or knowledge of
this repo to make a guess at what is best for this scenario.
## What existing issue does this resolve?
N/A
## Pre-requisites
- [x] I have tested & confirmed the changes work locally
- [x] I have run `zig fmt` throughout my changes
Co-authored-by: Louis Pate <louispate@gmail.com>
Reviewed-on: https://codeberg.org/fairyglade/ly/pulls/996
Reviewed-by: AnErrupTion <anerruption+codeberg@disroot.org>