30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
# 日の入りsetr
|
||
|
||
a little daemon to control screen temperature and gamma using hyprsunset
|
||
|
||
has a unix socket (`/tmp/hinoirisetr.sock`) that accepts four commands
|
||
|
||
- status - prints the current status
|
||
- status_notify - sends the current status via a notification
|
||
- enable - toggles the filter on
|
||
- disable - toggles the filter off
|
||
- toggle - toggles the filter
|
||
- reload - reloads the config
|
||
|
||
## TODO
|
||
|
||
- [x] добавить логгинг нормальный
|
||
- [x] избавиться от env_logger и написать свой собственный
|
||
- [x] сделать файл конфига а не блять компайлтайм конфиг(suckless🤢🤢🤮)
|
||
- [x] сделать свой парсер для конфига после serde
|
||
- [x] заебашить автоматический хотрелоад конфига
|
||
- [x] вместо юзания notify-rust напрямую пользоваться libnotify.so и грузить её через dlopen(чтоб бинарник был маленький ваще)
|
||
- [x] переползти с chrono на time потому что мне похуй не нужна суперточность(а мб и на std::time)
|
||
- [ ] fix `status` command crash
|
||
|
||
Notify: Replaced tokio::sync::Notify with smol::channel::unbounded. The Sender is used to signal, and Receiver is polled in the main loop.
|
||
UnixListener: Switched to smol::net::UnixListener.
|
||
Signal Handling: Used signal-hook with smol::spawn for async signal processing.
|
||
Timers: Replaced tokio::time::sleep with smol::Timer.
|
||
Main Loop: Used smol::future::or to combine timer and notification events, replacing tokio::select!.
|
||
Executor: Switched from #[tokio::main] to smol::block_on.
|