25 Commits

Author SHA1 Message Date
68037d7f24 Icon badge and Notification widget
- Add badge feature to `SquareIconWidget`
- Badges for notifications, weather alerts, etc.
2025-11-23 19:12:05 +05:30
2a1beab0e8 Add: Weather widget
- Use OWM daemon's cache file
- OWM icon codes
- Add dependency: serde_json
2025-11-23 12:48:43 +05:30
61f7020fd3 Add: Wifi widget
- Use `nmcli`
2025-11-23 12:14:40 +05:30
8851869f07 Add widget: Brightness
- Use `/sys/class/backlight/` values
2025-11-23 01:12:58 +05:30
fa206d7f42 Add: Volume widget
- Use `amixer` command
- Comment out bg color lines to use default vals
2025-11-23 00:45:00 +05:30
3dca171063 Refactor SquareIconWidget & remove redundant classes
- Eliminate `BatteryWidget`
- Pass all properties to reusable `SquareIconWidget`
- Eliminate need for duplication
2025-11-22 23:00:56 +05:30
42ee42b904 Refactor BatteryWidget
- Update tooltip from the rust code instead of slint
2025-11-21 22:17:08 +05:30
962bed3dad Add reusable SquareIconWidget
- Avoid code duplication
- Base square icon button component with common appearance, properties, callbacks
- Refactor BatteryWidget to inherit SquareIconWidget
2025-11-21 19:47:25 +05:30
b0eaa42063 Add BatteryWidget
- Working battery icon
- Read from `sys` files
- Calculate values in Rust and pass it to Slint
2025-11-20 22:44:56 +05:30
48a116c547 Add DateWidget
- Working date widget
- Update at midnight or on date change
- `src/widgets/datewidget.rs` module
2025-11-20 19:41:19 +05:30
497288c585 Update timer
- Change time-updater from 1-minute timer to 1-second timer
- More accuracy
2025-11-20 19:00:25 +05:30
de1bd068d6 Modularize the widegets module
- Divide into sub-modules
- Seperate the logic of different widgets
- Better readability and maintainability
2025-11-20 18:56:09 +05:30
4f75b3164e Comments 2025-11-20 13:07:51 +05:30
5b79941341 Minor refactoring
- Return `SharedString` from `format_time()`
- Avoid repetition
2025-11-20 12:45:38 +05:30
c878c7f678 Make the time widget work
- Show real time, not dummy text
- Update time every minute
- Use slint's Timer
2025-11-20 12:28:26 +05:30
95790db098 Add Config module
- Load config from .toml file
- Adjust code in slint and rust accordingly
2025-11-19 23:42:10 +05:30
1d222795a3 Refactor for simplicity & modularity
- Write `run_cmd()` to run commands
- Separate command execution from Slint callbacks
- Rename `TimeWidget`'s callback `open_program()` as `show_clock()`
2025-11-19 21:51:13 +05:30
34ccdb6ba0 Move callbacks to separate module
- Modularity
- Redability
- Separation of logic
2025-11-19 17:42:28 +05:30
47efaa2d08 Dummy widget: Time widget
- Time widget module
- Configure layout and callback
- Dummy: Not real time yet
2025-11-19 16:16:38 +05:30
798f9593b2 Refactor main window setup for clarity
- Extract WindowAttributes modification into a named closure
- Simplify and clean up winit/Slint imports
- Explanatory comments
- rustfmt and clippy cleanup
2025-11-18 23:21:18 +05:30
7b82e65493 Remove unwanted dependencies
- Remove `winit` from dependencies because it is already re-exported in `i-slint-backend-winit`
- Cargo fmt and clippy fixes
2025-11-18 22:04:21 +05:30
04f2050af0 Set window type to dock
- `_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK`
- This lets an X11 WM treat it as a panel/dock
2025-11-18 16:15:44 +05:30
d587a9866b Minimal bar
- Is not of the type "dock" yet
2025-11-18 12:16:18 +05:30
d7504bce1d Update README.md 2025-11-18 06:10:35 +00:00
84c29e57e6 Initial commit 2025-11-18 06:09:30 +00:00