mirror of
https://github.com/labi-le/chiasma.git
synced 2026-08-22 11:04:03 +03:00
dynamically manages wallpapers based on browser history or search phrases
- Go 96%
- Shell 3.3%
- Makefile 0.4%
- Nix 0.3%
|
|
||
|---|---|---|
| .github | ||
| cmd | ||
| internal | ||
| pkg | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yaml | ||
| generate_context.sh | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
| shell.nix | ||
chiasma
dynamically manages wallpapers based on browser history or search phrases
features
- source:
- browser history: extracts last search query (chromium-based/firefox).
- manual phrase: static keyword search.
- api:
- unsplash
- nasa
- backends:
swwwswaybg
- output:
- auto-detection via
xrandr. - multi-monitor support.
- auto-detection via
- modes:
- one-shot.
- daemon (
--follow).
dependencies
- wayland
- backend (one of):
swwwswaybg
- resolution:
xrandr(optional, for auto-detection).
- browser (optional):
- chromium-based (chrome, brave, vivaldi, opera, etc.)
- firefox
installation
usage
chiasma [flags]
flags
--api string image source api (default "nasa")
--browser string browser name (default "google-chrome")
--follow enable periodic updates
--history-file string path to history file
--interval duration update interval (default 1h0m0s)
--output monitor monitor output (e.g. eDP-1)
--phrase string search phrase
--resolution resolution target resolution (e.g. 1920x1080) (default 0x0)
--save-dir string save directory (default "/home/$USER/Pictures/chiasma")
--tool string wallpaper tool (default "swaybg")
--verbose enable verbose logs
examples
1. one-shot update using last google search from vivaldi:
chiasma --browser vivaldi --api unsplash
2. daemon mode (update every 30 minutes) using specific keyword:
chiasma --phrase "cyberpunk city" --follow --interval 30m --tool swww
3. specific monitor and resolution with nasa api:
chiasma --output HDMI-A-1 --resolution 2560x1440 --api nasa
4. firefox usage (requires manual history path):
chiasma --browser firefox --history-file ~/.mozilla/firefox/PROFILE_ID/formhistory.sqlite
5. chromium-based browser with custom history path:
chiasma --browser brave --history-file ~/.config/BraveSoftware/Brave-Browser/Default/History
supported providers
browsers
- chromium-based:
google-chrome,vivaldi,chromium,brave,opera. - firefox:
firefox.
apis
- nasa
- unsplash
tools
- swww
- swaybg
todo
- add swaybg tool
- add swww tool
- unsplash image provider
- nasa image provider
- chromium based browser support
- firefox support
- resolution auto detection
- refactor codebase
- add more providers