Commit Graph

20 Commits

Author SHA1 Message Date
Kalagmitan b00c601d0a refactor: enforce stricter type hints (#91)
LSP was screaming at me so I decided to just address it to get it off my
screen.

+ Fixed the type hints
:= Modified and added type hints for certain functions and variables in
most of the files in the utils/ folder (and some in the subcommands/
folder) for clarity and so pyright's type checker wouldn't cry.
:+ To resolve certain type issues, I had to add a bit more tiny
additional code such as, additional checks if a variable is None, a tiny
class in utils/material/generator.py to resolve the constructor usage
mismatch between what the DynamicScheme accepts and what the code
actually passes, and etc.
- Renamed certain functions and variables for clarity and also for some
to not collide with pre-existing definitions from well-known library
imports.
+ PIL has reorganized their code a bit, so the code is made to reflect
their new definitions.
= Reorganized the single import statement for "colourfulness" in
utils/wallpaper.py to be close to the top.
(I think that's it)

Side Effects?:
Everything should work the same as no logic change was done whatsover
(unless we consider the added if statements for type checking as a logic
change). I've tested it, everything seems to be in urdir.
2026-03-15 22:56:05 +11:00
2 * r + 2 * t d890f7c3af feat: add dynamic hard flavour
Someone requested idk who tho
2026-02-15 00:24:14 +11:00
2 * r + 2 * t cc458bf859 scheme: ignore empty lines in schemes 2025-10-25 22:41:34 +11:00
2 * r + 2 * t f47b4fe661 internal: more lazy importing
Also fix some stuff with scheme checking
2025-06-24 23:47:53 +10:00
2 * r + 2 * t 01c0182a46 scheme: no mem cache 2025-06-24 23:11:18 +10:00
2 * r + 2 * t 82f98a4f6a [!B] colours: better colours
Also remove multiple dynamic flavours
Add extended material (success colours)
2025-06-24 00:11:20 +10:00
2 * r + 2 * t 8903b1d1ab scheme: handle no wallpaper dynamic scheme
Throw actually readable error and notify
2025-06-18 17:34:11 +10:00
2 * r + 2 * t 1ab61223c6 scheme: dump scheme data when no args to list 2025-06-17 14:03:51 +10:00
2 * r + 2 * t 8b6ed5e403 scheme: error notif critical urgency 2025-06-17 13:03:19 +10:00
2 * r + 2 * t 2c94c42cbd scheme: add notify opt
For sending a notification on error
2025-06-17 12:49:16 +10:00
2 * r + 2 * t c043a14ca2 feat: impl wallpaper 2025-06-12 21:35:05 +10:00
2 * r + 2 * t a53a2568ec scheme: fix not saving atomically
Causes programs which rely on the save file (e.g. the shell) to fail occasionally as they try to read while the cli is writing
2025-06-12 16:49:01 +10:00
2 * r + 2 * t e75e727262 scheme: add variant option
Remove variant subcommand
2025-06-12 16:23:14 +10:00
2 * r + 2 * t e701e85af0 scheme: better print 2025-06-12 16:18:01 +10:00
2 * r + 2 * t 672ef4a2d9 scheme: impl random + fix single schemes 2025-06-12 16:00:43 +10:00
2 * r + 2 * t 194826efaa feat: generate dynamic schemes 2025-06-12 15:48:02 +10:00
2 * r + 2 * t 464334136c scheme: better error messages
Print valid flavours/modes when invalid flavour/mode is given
2025-06-11 21:45:18 +10:00
2 * r + 2 * t f43987ef2f feat: impl scheme command (partial) 2025-06-11 18:07:34 +10:00
2 * r + 2 * t dc855e1b01 internal: refactor scheme
Also use a single file to store scheme data
2025-06-11 17:37:04 +10:00
2 * r + 2 * t f663e6f690 internal: refactor for packaging
Package using python-build, python-installer and hatch
2025-06-11 00:41:05 +10:00