Wallpaper: file picker moved off the deprecated FileChooserDialog to gtk4::FileDialog, plus a "Browse ~/Pictures/Backgrounds" thumbnail grid (recursive scan, decoded previews) so picking a wallpaper isn't guessing blind from filenames. Fixed the app becoming unusable at Hyprland scale > 1.0: the sidebar's ~30-row nav list had no ScrolledWindow, so its unscrollable minimum height exceeded the logical screen size once scale shrank it below ~1000px, clipping the window (Save buttons included) with no way to reach the rest. Sidebar now scrolls independently; content column's minimum width also dropped 760->560 for the same reason at scale 2.0. Wi-Fi/saved-network password fields had no way to unhide what you typed. Swapped every masked Entry (network.rs, breadcrumbs.rs, and the shared password_row widget) to gtk4::PasswordEntry, which has a native reveal-icon toggle. Added a Keybinds editor for hypr/binds.json -- the one JSON Hyprland config (globals/common/per-layout binds) with no GUI anywhere in the app, despite Display/Appearance/Startup Apps all having one for their own JSON config. Action-specific fields (command/direction/workspace/ options/...) round-trip through a compact inline-JSON column rather than hardcoding a widget per action shape.
19 lines
720 B
TOML
19 lines
720 B
TOML
[package]
|
|
name = "bos-settings"
|
|
version = "0.6.3"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
gtk4 = { version = "0.11", features = ["v4_12"] }
|
|
glib = "0.22"
|
|
# Shared ecosystem theming — bos-settings loads the same generated stylesheet as
|
|
# breadbar/breadbox/breadpad so the whole desktop looks consistent.
|
|
bread-theme = { git = "https://github.com/Breadway/bread-ecosystem", tag = "v0.2.10", features = ["gtk"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "0.8"
|
|
# toml_edit drives non-destructive config editing: it preserves comments and
|
|
# any keys the UI doesn't model, so saving a single field never rewrites or
|
|
# drops the rest of the user's config file.
|
|
toml_edit = "0.22"
|
|
async-channel = "2"
|