{"id":15529104,"url":"https://github.com/marcinorlowski/plasmoid-tools","last_synced_at":"2026-01-16T07:32:47.809Z","repository":{"id":45147817,"uuid":"327110075","full_name":"MarcinOrlowski/plasmoid-tools","owner":"MarcinOrlowski","description":"Helper tools and scripts I wrote to help me while working on KDE QML Plasmoids.","archived":false,"fork":false,"pushed_at":"2026-01-13T17:59:59.000Z","size":54,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-13T19:26:44.344Z","etag":null,"topics":["bash","developer-tools","kde","plasma","plasmoid","qml","tools"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarcinOrlowski.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"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":"2021-01-05T20:21:11.000Z","updated_at":"2026-01-13T18:00:41.000Z","dependencies_parsed_at":"2024-12-08T13:42:18.513Z","dependency_job_id":"bce33157-ef0b-43f0-8efe-63694dd80fb1","html_url":"https://github.com/MarcinOrlowski/plasmoid-tools","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"043bef46dce9d7df4c7b5a57f9b878dea6f47550"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/MarcinOrlowski/plasmoid-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcinOrlowski%2Fplasmoid-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcinOrlowski%2Fplasmoid-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcinOrlowski%2Fplasmoid-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcinOrlowski%2Fplasmoid-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarcinOrlowski","download_url":"https://codeload.github.com/MarcinOrlowski/plasmoid-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarcinOrlowski%2Fplasmoid-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bash","developer-tools","kde","plasma","plasmoid","qml","tools"],"created_at":"2024-10-02T11:16:21.532Z","updated_at":"2026-01-16T07:32:47.782Z","avatar_url":"https://github.com/MarcinOrlowski.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](img/logo.png)\n\n# KDE Plasma 6 Applet Developer Tools #\n\nHelper tools and scripts to help while working on KDE Plasma 6 Plasmoids (widgets).\n\n# Tools #\n\nBy design all the tools are \"location agnostic\" and can be invoked from any directory.\nthey will try to determine proper root directory of QML plasmoid if needed, based on\nyour current working directory (traversing up if needed). This means that your working\ndirectory **must** be one of plasmoid's directories. You currently cannot manually\nspecify where plasmoid is manually, but that's mostly because I do not work that way\nand it was not needed by my workflow (adding support for that is trivial though).\n\n# Determining plasmoid root directory #\n\nWhen you invoke i.e. `test.sh` script, it will try to determine root folder of the plasmoid.\nThis is done by looking for `metadata.json` file in current directory. If file is not\npresent, the parent dir is checked and so on.\n\n# Tools #\n\nAvailable tools:\n\n* `test.sh`: runs your plasmoid in `plasmaviewer`. When invoked without arguments,\n  will try to use `CompactRepresentation` by enforcing smaller widget area, which\n  mimics docking plasmoid in the Panel. When invoked with any argument (literaly\n  any will work, i.e. `test.sh foo`), will run you plasmoid as it is installed as\n  desktop widget (so `FullRepresentation` should kick in).\n* `meta.sh`: This is my work around for Plasma API not exposing metadata file content\n  in any other way. It parses project's `metadata.json` and creates `/contents/js/meta.js`\n  containing extracted information, that can be later imported and used in your JavaScript\n  code. Currently exposes metadata's `KPlugin.Version` as `version`,\n  `KPlugin.Name` as `title`, `KPlugin.Website` as `url`, `KPlugin.Authors[0].Name` as `authorName`.\n  It also looks for additional, non-standard fields: `X-KDE-PluginInfo-Author-Url` (exported\n  as `authorUrl`), `X-KDE-PluginInfo-UpdateChecker-Url` (exported as `updateCheckerUrl`) and\n  `X-KDE-PluginInfo-FirstReleaseYear` exported as `firstReleaseYear`.\n* `install.sh`: installs/upgrades your plasmoid in `~/.local/share/plasma/plasmoids/`\n  folderm then restarts plasmashell. Please note it will upgrade existing installation\n  without any confirmation. Note: it automatically updates `meta.js` file.\n* `release.sh`: packs plasmoid sources and creates release file. Target file name is\n  going to be `PACKAGE-VERSION.plasmoid` and  constructed using `metadata.json` information.\n  Note: it automatically updates `meta.js` file.\n\n\n# Dependencies #\n\n* `jq` - JSON parser (install with `sudo apt install jq`)\n\n# Installation #\n\nAs mentioned, scripts are \"location agnostic\" and can be invoked from any directory.\nYou can add it to your `$PATH`. I personally use [Fish shell](https://fishshell.com/)\nand added following aliases to my `~/.config/fish/config.fish`:\n\n```\nalias otest \"\u003cTOOLS_DIR\u003e/bin/test.sh\"\nalias oinstall \"\u003cTOOLS_DIR\u003e/bin/install.sh\"\nalias orelease \"\u003cTOOLS_DIR\u003e/bin/release.sh\"\nalias ometa \"\u003cTOOLS_DIR\u003e/bin/meta.sh\"\n```\n\n# Tips #\n\n* If your plasmoid misbehave, you may want to run it using \"desktop\" mode (`test.sh foo`).\n  That will make any syntax error related messages nicely visible in plasmaviewer window.\n* You can easily customize QT log entries (thrown by `console.xxx()` calls) and i.e.\n  add file name or line number to it by setting `QT_MESSAGE_PATTERN`. See `test.sh` souces\n  for details and additional links.\n\n## License ##\n\n* Written and copyrighted \u0026copy;2020-2026 by Marcin Orlowski \u003cmail (#) marcinorlowski (.) com\u003e\n* Plasmoid Tools is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinorlowski%2Fplasmoid-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcinorlowski%2Fplasmoid-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcinorlowski%2Fplasmoid-tools/lists"}