{"id":21194480,"url":"https://github.com/imhemish/wallman","last_synced_at":"2026-01-11T13:38:51.754Z","repository":{"id":56841795,"uuid":"458724452","full_name":"imhemish/wallman","owner":"imhemish","description":"A dart library to get and set backgrounds on multiple GUI linux platforms.","archived":false,"fork":false,"pushed_at":"2023-07-12T04:28:11.000Z","size":15,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-14T22:02:31.380Z","etag":null,"topics":["background","cinnamon","dart","gnome","linux","wallpaper","wallpaper-changer"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imhemish.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-13T06:00:25.000Z","updated_at":"2024-02-29T18:46:57.000Z","dependencies_parsed_at":"2024-11-14T22:01:13.185Z","dependency_job_id":"99e51e22-c977-4aa6-955d-3e910c0105d4","html_url":"https://github.com/imhemish/wallman","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imhemish%2Fwallman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imhemish%2Fwallman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imhemish%2Fwallman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imhemish%2Fwallman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imhemish","download_url":"https://codeload.github.com/imhemish/wallman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225616392,"owners_count":17497161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["background","cinnamon","dart","gnome","linux","wallpaper","wallpaper-changer"],"created_at":"2024-11-20T19:22:28.620Z","updated_at":"2026-01-11T13:38:51.741Z","avatar_url":"https://github.com/imhemish.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"A Dart library for linux platforms to get and set backgrounds, which supports multiple desktop environments and window managers\n\n## Features\n\n- Can automatically sense desktop environments and return the respective backend\n- Get list of wallpaper(s) set\n- Set a wallpaper\n- Provides a way to write your own custom backend and add it to lib/src/backends directory\n\n## Getting started\n\nYou just require a working GUI linux system, satisfy all the dependencies and then see the usage.\n\n## Usage\nIf you dont wanna read any documentation and just want to use this package, just headup to example/example.dart and just copy-paste required code from there. Otherwise, you can read the following documentation.\n\nFirst, import the wallman library.\n```dart\nimport 'package:wallman/wallman.dart';\n```\n\n- Auto detect backend (this is what you would generally want to do):\n```dart\nvar wall = getBackend();\n```\n- Specifically use a backend (if you want it to use it for specific desktop/WM):\n```dart\nvar wall = GnomeBackend();\n```\n\nThe wallman library exposes a variable (property) called \"availableBackends\" which returns list of names of available backends.\n\nThe Backend object exposes a 'name' property of String type which gives the name of backend currently in use.\n\n```dart\nprint(wall.name)\n```\n\nYou can use getWall and setWall functions as given:\n\n```dart\nprint(await wall.getWall());\n\nwall.setWall(\"/usr/share/backgrounds/xfce/xfce-teal.jpg\");\n```\n\nThe getWall function returns a ```Future\u003cList\u003cString\u003e\u003e```.\n\nThe setWall function is of ```Future\u003cvoid\u003e``` type.\n\n## Additional information\n\n- The library code during execution would return empty values if any error occurs and would not fail, but would write warnings, information to STDERR. So, if you are using it in some program, be sure to discard STDERR or redirect it to /dev/null.\n- setWall of WlrootsBackend is currently unusable. Although I implemented it, still I can't figure out how can I detach swaybg process. Current implementation uses 'setsid'.\n- To create your own custom backend, see documentation or source of Backend class (present in lib/src/generic_backend.dart). To see examples of backends and analyse how they are created, analyse the code of lib/src/backends. The simplest to understand would be backman.dart. Understanding gsettings.dart would help a lot.\n- If your custom backend would anyhow utilise gsettings, better check gsettings.dart and analyse the implementation of MateBackend in lib/src/backends/gsettings.dart and implement your own taking it as example, instead of creating your backend from scratch. You can also use gsettings without implementing new backend class, you can just use Gsettings class and set interface, key, and value type in your program itself in which you are gonna use this library; for doing that see example/custom_gsettings.dart\n- Pull requests adding new backends are welcome.\n- Any general pull requests are also welcome.\n- Pull requests are accepted at [https://github.com/securearth/wallman](https://github.com/securearth/wallman)\n\n## Todo:\n - Write warnings\n - Fix backgroundExec in utils.dart which is making setWall of WlrootsBackend unusable.\n - Check if the user has set solid color instead of picture and return the colour","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimhemish%2Fwallman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimhemish%2Fwallman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimhemish%2Fwallman/lists"}