diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 09511f9..6918954 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,3 +1,14 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Describe the bug](#describe-the-bug) +- [Expected behavior](#expected-behavior) +- [Desktop (please complete the following information):](#desktop-please-complete-the-following-information) +- [Additional context](#additional-context) + + + --- name: Bug report about: Create a report to help us improve diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 627f12d..c9341cb 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,3 +1,14 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Is your feature request related to a problem? Please describe.](#is-your-feature-request-related-to-a-problem-please-describe) +- [Describe the solution you'd like](#describe-the-solution-youd-like) +- [Describe alternatives you've considered](#describe-alternatives-youve-considered) +- [Additional context](#additional-context) + + + --- name: Feature request about: Suggest an idea for this project diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 05b9a19..b5c2440 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,14 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Description](#description) +- [Type of changes](#type-of-changes) +- [Checklist](#checklist) +- [License Acceptance](#license-acceptance) + + + # Description diff --git a/.github/workflows/awesomebot.yml b/.github/workflows/awesomebot.yml index caf7436..c54db57 100644 --- a/.github/workflows/awesomebot.yml +++ b/.github/workflows/awesomebot.yml @@ -15,4 +15,4 @@ jobs: - uses: actions/checkout@v4 - uses: docker://dkhamsing/awesome_bot:latest with: - args: /github/workspace/README.md --allow-dupe --allow-redirect --request-delay 1 --white-list https://github,https://img.shields.io \ No newline at end of file + args: /github/workspace/README.md --allow-dupe --allow-redirect --request-delay 1 --white-list https://github,https://img.shields.io diff --git a/.github/workflows/megalinter.yml b/.github/workflows/megalinter.yml index 10d0dc2..d690377 100644 --- a/.github/workflows/megalinter.yml +++ b/.github/workflows/megalinter.yml @@ -55,7 +55,11 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DISABLE_LINTERS: SPELL_CSPELL # SPELL_MISSPELL_FILTER_REGEX_EXCLUDE: '(\.yml)' - + ACTION_ACTIONLINT_DISABLE_ERRORS: true + REPOSITORY_CHECKOV_DISABLE_ERRORS: true + REPOSITORY_KICS_DISABLE_ERRORS: true + REPOSITORY_TRIVY_DISABLE_ERRORS: true + YAML_YAMLLINT_DISABLE_ERRORS: true # Upload Mega-Linter artifacts. They will be available on Github action page "Artifacts" section - name: Archive production artifacts if: ${{ success() }} || ${{ failure() }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..5f90466 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,38 @@ +--- +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +ci: + skip: + - poetry-lock +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: check-added-large-files + - id: check-docstring-first + - id: check-executables-have-shebangs + - id: check-merge-conflict + - id: check-shebang-scripts-are-executable + - id: check-symlinks + - id: debug-statements + - id: end-of-file-fixer + - id: trailing-whitespace + - repo: https://github.com/astral-sh/ruff-pre-commit + # Ruff version. + rev: v0.11.0 + hooks: + # Run the linter. + - id: ruff + args: + - "--fix" + # Run the formatter. + - id: ruff-format + - repo: https://github.com/thlorenz/doctoc + rev: v2.2.0 + hooks: + - id: doctoc + - repo: https://github.com/python-poetry/poetry + rev: 2.1.1 + hooks: + - id: poetry-check + - id: poetry-lock diff --git a/Changelog.md b/Changelog.md index 02abd19..1db7e9e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,18 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Lima Xbar/Swiftbar changelog](#lima-xbarswiftbar-changelog) + - [0.0.1 - 1.0.0](#001---100) + - [1.1.1](#111) + - [1.2.0](#120) + - [1.3.0](#130) + - [1.3.1](#131) + - [1.3.2](#132) + - [1.3.3](#133) + + + # Lima Xbar/Swiftbar changelog ## 0.0.1 - 1.0.0 @@ -34,4 +49,4 @@ dd more candidate directories to be added to $PATH is installed in a user's home directory. Closes https://github.com/unixorn/lima-xbar-plugin/issues/28 - While we're in there, check for `/usr/local/sbin`, `/opt/homebrew/sbin`, `/opt/local/sbin`, `~/bin` and `~/sbin` - directories too. \ No newline at end of file + directories too. diff --git a/README.md b/README.md index f49054b..205d2b1 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ ## Table of Contents - [Description](#description) + - [Screen shots](#screen-shots) + - [Theme](#theme) - [Installation](#installation) - [Dependencies](#dependencies) diff --git a/lima-plugin b/lima-plugin index 3547e34..12013b7 100755 --- a/lima-plugin +++ b/lima-plugin @@ -37,7 +37,7 @@ STOPPED_VM_COLOR = "#ff0033" VERSION = "1.3.3a" # Is plugin run in Swiftbar or not -IN_SWIFTBAR = 'SWIFTBAR' in os.environ +IN_SWIFTBAR = "SWIFTBAR" in os.environ """ Theme configuration dict @@ -54,323 +54,368 @@ lima-plugin.sf_simple.10s -> sf_simple lima-plugin.sf_simple.10s.py -> sf_simple """ MENU_TITLE_ICON_CONF = { - - 'default': { - 'swiftbar': { - 'main': { - 'stopped': (f"🐋❗ | color={STOPPED_VM_COLOR}", ''), - 'running': (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"▶️ Start {vm} VM", ''), - 'stop': (lambda vm: f"⭕️ Stop {vm} VM", ''), - 'edit': (lambda vm: f"⚙️ Edit {vm} VM", ''), - 'delete': (lambda vm: f"❌ Delete {vm} VM", ''), - 'run': ('🐚 Run lima command', ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "default": { + "swiftbar": { + "main": { + "stopped": (f"🐋❗ | color={STOPPED_VM_COLOR}", ""), + "running": (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"▶️ Start {vm} VM", ""), + "stop": (lambda vm: f"⭕️ Stop {vm} VM", ""), + "edit": (lambda vm: f"⚙️ Edit {vm} VM", ""), + "delete": (lambda vm: f"❌ Delete {vm} VM", ""), + "run": ("🐚 Run lima command", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - - 'xbar-light': { - 'main': { - 'stopped': (f"🐋❗ | color={STOPPED_VM_COLOR}", ''), - 'running': (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"▶️ Start {vm} VM", ''), - 'stop': (lambda vm: f"⭕️ Stop {vm} VM", ''), - 'edit': (lambda vm: f"⚙️ Edit {vm} VM", ''), - 'delete': (lambda vm: f"❌ Delete {vm} VM", ''), - 'run': ('🐚 Run lima command', ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-light": { + "main": { + "stopped": (f"🐋❗ | color={STOPPED_VM_COLOR}", ""), + "running": (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"▶️ Start {vm} VM", ""), + "stop": (lambda vm: f"⭕️ Stop {vm} VM", ""), + "edit": (lambda vm: f"⚙️ Edit {vm} VM", ""), + "delete": (lambda vm: f"❌ Delete {vm} VM", ""), + "run": ("🐚 Run lima command", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - 'xbar-dark': { - 'main': { - 'stopped': (f"🐋❗ | color={STOPPED_VM_COLOR}", ''), - 'running': (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"▶️ Start {vm} VM", ''), - 'stop': (lambda vm: f"⭕️ Stop {vm} VM", ''), - 'edit': (lambda vm: f"🔨 Edit {vm} VM", ''), - 'delete': (lambda vm: f"❌ Delete {vm} VM", ''), - 'run': ('🐚 Run lima command', ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-dark": { + "main": { + "stopped": (f"🐋❗ | color={STOPPED_VM_COLOR}", ""), + "running": (f"🐋 🏃 | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"▶️ Start {vm} VM", ""), + "stop": (lambda vm: f"⭕️ Stop {vm} VM", ""), + "edit": (lambda vm: f"🔨 Edit {vm} VM", ""), + "delete": (lambda vm: f"❌ Delete {vm} VM", ""), + "run": ("🐚 Run lima command", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, }, - - 'sf_simple': { - 'swiftbar': { - 'main': { - 'stopped': ('', 'sfimage=externaldrive.badge.exclamationmark sfconfig=eyJyZW5kZXJpbmdNb2RlIjoiUGFsZXR0ZSIsImNvbG9ycyI6WyJyZWQiXSwic2NhbGUiOiJsYXJnZSIsIndlaWdodCI6ImJvbGQifQ=='), - 'running': ('', 'sfimage=externaldrive.fill.badge.checkmark'), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", 'sfimage=play.circle.fill'), - 'stop': (lambda vm: f"Stop {vm} VM", 'sfimage=stop.circle.fill'), - 'edit': (lambda vm: f"Edit {vm} VM", 'sfimage=gear'), - 'delete': (lambda vm: f"Delete {vm} VM", 'sfimage=trash.circle.fill'), - 'run': ('Run lima command', 'sfimage=command.circle.fill'), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, 'sfimage=hockey.puck.fill'), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, 'sfimage=shippingbox.fill'), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "sf_simple": { + "swiftbar": { + "main": { + "stopped": ( + "", + "sfimage=externaldrive.badge.exclamationmark sfconfig=eyJyZW5kZXJpbmdNb2RlIjoiUGFsZXR0ZSIsImNvbG9ycyI6WyJyZWQiXSwic2NhbGUiOiJsYXJnZSIsIndlaWdodCI6ImJvbGQifQ==", + ), + "running": ("", "sfimage=externaldrive.fill.badge.checkmark"), + }, + "vm": { + "start": (lambda vm: f"Start {vm} VM", "sfimage=play.circle.fill"), + "stop": (lambda vm: f"Stop {vm} VM", "sfimage=stop.circle.fill"), + "edit": (lambda vm: f"Edit {vm} VM", "sfimage=gear"), + "delete": (lambda vm: f"Delete {vm} VM", "sfimage=trash.circle.fill"), + "run": ("Run lima command", "sfimage=command.circle.fill"), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, "sfimage=hockey.puck.fill"), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, "sfimage=shippingbox.fill"), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - - 'xbar-light': { - 'main': { - 'stopped': ('', 'image=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'), - 'running': ('', 'image=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'), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", 'image=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'), - 'stop': (lambda vm: f"Stop {vm} VM", 'image=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'), - 'edit': (lambda vm: f"Edit {vm} VM", 'image=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'), - 'run': ('Run lima command', 'image=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'), - 'delete': (lambda vm: f"Delete {vm} VM", ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, 'image=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'), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, 'image=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'), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-light": { + "main": { + "stopped": ( + "", + "image=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", + ), + "running": ( + "", + "image=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", + ), + }, + "vm": { + "start": ( + lambda vm: f"Start {vm} VM", + "image=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", + ), + "stop": ( + lambda vm: f"Stop {vm} VM", + "image=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", + ), + "edit": ( + lambda vm: f"Edit {vm} VM", + "image=iVBORw0KGgoAAAANSUhEUgAAACkAAAAoCAYAAABjPNNTAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKaADAAQAAAABAAAAKAAAAADveEx6AAAACXBIWXMAABYlAAAWJQFJUiTwAAACMmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTU5PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2MTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K9ogctQAABjRJREFUWAmtl1moVlUUx6+VjRbNqTlQaRNSQWUTJmg0Wj0UEvVWQRHUQ0RUkAahvTQQBVEKBRVUSuRLFCpoSCAFWRSpaRkVhfZQ2aDNv9/5zv9r33PPd+93tQX/b6299pr22sO5d8xAfzQGs33Bn7X5/vCLwBwwE8wAE4B2od8QtoINYB1YDbaA0H4IiRfdHnODhaYgLAZfgH9GCQuy0Pkg5ML3yWBPuF1JgYciPwZ2gRT3F/LvwOR/F/rMy7X5o0ap/xjdtSCUPBn3xV1dtm4e8rcgSSzM5Bn3y12IC7Lo+CxHPhxIYzusv9+y/YtwScDdyL06Fpt+eVmsDTinLq2vQtM9fV4CJjWg6LeA0di5K7G/HFkatlALTJEp8P/sXopp8nL751ZlDlNoDm+22AKbAR3bVTuQS9NmU+pyebS3oLYjk50y5ylA8uYPohToJUkhzWAma7swJmjapsiyS9ElfjlWjq03P/ei2lmrVTCJz8xKMA7oFEPEaj43fi3jZWA98PxMAsbQpwoKl4xp/G/AK+Bt8B2YBvRzwWUOZbs9ARwEVgGbZ5zuW/gosok0lAfp3k50V4Am3Ywitulotm8Jc36dSprK4H2gT+ya/o5PA1J3IZMZ+BlzMonimCKvYq5J6dydTGhv0iR+s2lcjH0btwN9Ej/50qSXa/scxYGHa4cYxCEJ360dZEeCF8CT4EAgGWgb0C9n60Lk0K0Ib4HzooAvBKV9cqZJxjkx9p6bz2qH5qqS8OkYw5+qbQ16W6FfUev1+R6Mr+dOrvXabwXmk64B6tKIFClPsx5Arvb7fPg04Aq6+49c0sHFwAWFpkSAx8au5lPn9HH+1LQJbiOk7IJFNSl1uJBqm2bXFm1FxnguNnbABHZyC5gO1oDQIwivATvpe/cDkDaC28Eu8AYwprnmgV6UvGdgMFmj14GrydYql4jev4LayMuTC9Sc76W/EkNzWKwo80XOMbiM+YFPaiO7FIMmz9yL2JwKfMd8WnK+EKuxeuFWpkC5tgcA38B7QeKFN/M5TnN8OaptUdlrRQlQBnS7d4A7QOg5BHXbwAfgKCCdBbYBfX4GbfGiK3kuz2IP+TggZeWd0dBfz4lbYPdOqqdTiEO7dHSNI+Dpsl2dCkKJkXMXfZOnnnEjGTYdHcdZufRPUeqVYxeuXmqOO9phfu3kT8CV2+peAbIN2ntLPwWHgK9AyOfFN/EX4M32TEk7wQbgcZkMjgWSx6tcZKUsfswpWd/AR0BFeeZSVHjOq1+ZiaAtuAsswXAQOecfMbeAX8FIOXNxqnPv26ZDlCks3DOk/BBooxTWa65NPwtl4qcBGYenaZd4dqaCS0Fb+9Vp4828DkiObwTzgR35Gkg+zleDc8GZwCPhwr1QdwH1W4E+X4LjwdnAYpo7Y6HqfA0WgMpZZduK0t2lGtZ0HzyrXRwlfFWht/vj67mLC/3aWie7vtZrm3jh0b2jodW+B3zQ3TYLbSPfrJDPTGhzBLgdkkzwYyV1fuy03ZKOAemaDehFqWNFaXA/A1dhMVmNPCtyISHf1cfBAuBtl/yaWIw+6f5s5JBd8+/DGVHAF4HSXllYoNxFTwJdcoU+G6VRnHKAb+haDxWySBeVha0ZatbVTETqlS+NWlJbV41INxaitLDdNU+RWZnON4Em3YOiaZtClzHnG1ySf9lsBPrErulvrhOAVB0Pz6I0FmwBbc7ppnM+zEvB82AzaCbIOAXYseXgGbCysM987OVp0IPIUho4aDCLkcZ2Lx1MEMdtgdU1beOT85lxeFucbPN64oXSwIy7Vd+NxmA6tSW3qyYXZYdTQJMbI/a9FpTF2PVJQPI9bqVMPMGsyXRuK7RZyN6M00EX4IMvDdrmjuq/X9ubFvuXuMnTib0ppJdvzqDPzQVA8m6MSGWhfs6SwBX3s72xH46XR2UTcafXVfVVYG1bdTNbPxOlX6Qktdi2g5/5Xjw7Uvo+Syz/tZBGVWDHpfMbR7vre7gdlEX0uhAWZNctSJuyMP39Js8CoTQk41HzMsBhePuPkZ/Jsth+ZG/uq2AOCHlBcgeiG8JHNKg9tLNYOxLyOzwbeBxOB1OAXxcTexHs+ufgQ7Cuxg645FfEmHZ7RPoXNldZJPT5POgAAAAASUVORK5CYII=", + ), + "run": ( + "Run lima command", + "image=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", + ), + "delete": (lambda vm: f"Delete {vm} VM", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": ( + lambda img: img, + "image=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", + ), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": ( + lambda container: container, + "image=iVBORw0KGgoAAAANSUhEUgAAACUAAAAoCAYAAAB5ADPdAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJaADAAQAAAABAAAAKAAAAAB6YCQrAAAACXBIWXMAABYlAAAWJQFJUiTwAAACMmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTcyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2MDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KzTa2MgAABQtJREFUWAnNl32o3mMYx59hhjBbNFvIy0y0sCa25RBrRZHyzyIrpSiUmliOJUkpRXnbPzTKW2qFLTT7B6VN0iT8tcWKTkZmZ+Z1zOdz+n2fLr/OOZ7znBlXfc59Xdf9dt3X/fJ7zpTOxGQKzeXP0m0x+sUwA76ATfAlKGm/H13+dbmUGd6DTJjyN3xrYA5EDkE5NMaBKA9jEInMR3kOEsQ+9F8L8e/GtxKOgIjjTCo4O0/NaE25gHIXZOJh9D+KrV/75+L7FP1aqHI4hlvbs9h4WmntSk2/YpBXwOuQwAzil2LH/zu+GtwG7EUQMWsG949iMDU7l2G/C+vhQqhyI8ZWSBAG5nmKndLA3GJtF/AknA4RF12PR/wjzqO6VqdzDvqzkIEtHfwxmAeRE1Duga8gbfeij7al+tNmCP1uOAYizt/d0myNlTPhAfgOMsBP6BJ7B/pdMB0iLuIJSKbMTO2TvtbXLTXT10OVbmBOcAuMtx3esEzqJB/CdVBlAOM1SBAGUPvE71ZnS/W9CsugJqizFEc6OPmeYvtQpk69fajbB9hz6W37uPQza3Ucx3OLfyhtPkI/HrriLVgIL0MCaK8mfktXWTNgRp6CWRA5FuUO+B7S1wWrWyZTP6IPwsnQFR/DKldi1G10gPYqM4kDZ3B9HmADqTIHw/OWPj4V0Z9HPxMivo1naTjpWjhRoxGv6G1QD7yTjxacPuvqjXNRvmdVzsPYCAb0AVwCVZZgbAd3qxv1MPqdUN8M9/jx0sYBnXys4Kyrwa3DngtVLsLwbYqcivISJHvqIxPUlH6G72orirjKNyEdLcfKnHWetzrmKmylLvho7NXgebSPO2b5InQncoWpsNJPicFU8VZ9AtaLGXPyZM4xajDaPhEDUGU5xjbIOC4ic/8tqNrARpn0YfSTIOJh9PH8GtLHQBw0wenfAldBlUUYGyH9zJKBa48bVDrUF9kAboXpEDkFxe+YVzp9LM3A7VAfQm/UGkg7A0gQ8SURo2YqjSz3wd4y2Gb0a8BsRVz9ehgCszobIrNQVsG3kHHrYuOz7DmodPIhrSt7BXsxRMzKaTEop8EKaL/qLjJjtssJB+UAnpe6yj3Yj0C98n5Ml8IbkEmdzEXFHqvsK6gM5qH2gMY2GwnsBvR6+2xXD3/6jFZ2g6qHkf49iW+Nj59nTZkPM0e0TudsSusNzEls1/0pgt6TOEC/4rlRdoFnRfEmKlPBDPUl/WQqE7kFigEkG/VWjlT282cyQfUzX099/rdB9b33PS174o32m6lvmn5+g/5LyWXZaVAbmki8xqk4mMF5YXw+jmwmfcug7odt4JviE+Hn5GBlLYnwfwTladhkUH5IB2AdKL4/+vNp0HegxUU7vs+J+M/FINwMI6Iz4i/O9yGfgfaHOP6k3NJ/kxaCshrSxomjp8z3M58ej8tamAeR7ltndvIAGqS/nbZDBvOT4gCxLfOt6jUoj0Wyb/+34XKIGEM3oDh15LDpmw0PQX5PZZUJrNegXEzGsO/nsAKSBEvP87hipuqWnovtfxgJxtUaUDI3Xqbqr4Td9BmEGRAZNTupbJdGnxuRumUomyHBDTe6k7XPlLeq/rx5BvsMiHjL+/4x4C2snbVvgiFIcDvRE9S9xW/9O7AEqjhetq76J6x73gwochzKg5DAFjQV9zW+HZTLG1+K9hjxT7o0sBrc+dgvwAXNyCspH4V6cNt9mqZjF38BjGBv56Mxtf8AAAAASUVORK5CYII=", + ), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - 'xbar-dark': { - 'main': { - 'stopped': ('', 'image=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'), - 'running': ('', 'image=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'), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", 'image=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'), - 'stop': (lambda vm: f"Stop {vm} VM", 'image=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'), - 'edit': (lambda vm: f"Edit {vm} VM", 'image=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'), - 'run': ('Run lima command', 'image=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'), - 'delete': (lambda vm: f"Delete {vm} VM", ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, 'image=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'), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, 'image=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'), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-dark": { + "main": { + "stopped": ( + "", + "image=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", + ), + "running": ( + "", + "image=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", + ), + }, + "vm": { + "start": ( + lambda vm: f"Start {vm} VM", + "image=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", + ), + "stop": ( + lambda vm: f"Stop {vm} VM", + "image=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", + ), + "edit": ( + lambda vm: f"Edit {vm} VM", + "image=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", + ), + "run": ( + "Run lima command", + "image=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", + ), + "delete": (lambda vm: f"Delete {vm} VM", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": ( + lambda img: img, + "image=iVBORw0KGgoAAAANSUhEUgAAADUAAAAoCAYAAABerrI1AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAJAAAAABAAAAkAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANaADAAQAAAABAAAAKAAAAABtMb1WAAAACXBIWXMAABYlAAAWJQFJUiTwAAACMmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTIzPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2MjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4Kt2q2OwAABoRJREFUaAXVmVmIllUYx2fGmWkPw7IotZxsGSIU0haCnAtpoaIFMYrAm+4yiKKrLsKLKFDrwoKggsQuWkBpu4ksaNUbS72YpJKptMkWW0bLZZZ+vzPv83a+d+bTaZjGbx74f89zznvec57/Oc/Z3q+56RgyNDTUTJFpYKi5uXkgL86z00mfD+aBC8EcMBvMBNMLnIBuBy3gSIH96N/APvAD2A12ga8LvYe2BrFLoa02EoNVH8oCmaHDowqV6EQLlfRHAfJmYF8JFoOrQCc4G0yk/E1lPeAL8DH4CB92oJOEXyQGyB8qsmvUCFK8ZF4rL9irTaRPQd0MlgHJnAmq4gjas1GfOlAta1pnwqFcGxF2ZlW2k/E2eA2/tsVDfNPPstMjv0ZbKDKwzwWPg90glwESh8ERoD3RMkiF/SDaqNa/iYzbMz9bSUdnRvaw5oEx68i0gZWgD4RIIEjY6GRKTjJvdzMJIycJtqP8r5CRRgi9COwEIfbW/zEaUf94tJ3rSIasDSZkJGLNGCku0c6ZV4sCh9ESHS2+iyLHXTmXDDuJfAJuZH7tl1iKRYxbyHwLKC4QKRRTqrF/XGQcALeNzeBaiA22QMgleT1QphIh/XVQJHQIXA3WgBReD6PdKGU8VUYIV2sk/L6fQepwztxZPC6X85riUyMhD+eY5G4wcQFQGnlRGPZwbL9zJdJXlI2dfWyvNl6p8L9PUp8V/h39uNF4JHKPJBSRtkXjueJpWt7zklPIdkDcr7azpL/rKfxNEhuAC4VL41QTD9Ox+j2o8zFk92J/DlzzXdojPjEbWtxX09EI/QAD9AFLequbbzsJ7zDXgU3AC52h6AuNSs5rTn5QuA8Oz0io9JmEI5QE+zEQ4gm5kQ61cVsI/7ZjLNJxdMnBxE1FZjt2Gkr0ZWADyCUq9NQ+WdeP/NqRt7kHH9L8KXz3IpsutOR3aSgrzFSwTx62kr2Q9ItgH8jFBoKk14C8wbzcf7Gtww6zXqMjv16QTLKVX49Cpxa+TsN2uuj3dODIPR+ksNPInJcROjGzz+L5crAR7AWjiU7FjVWngnQ9bZkoV+/OZn3bwCpwTfijJp37t4x0L1Ce9D7lpHNZdJJ5ungCrGXi+cXHl11IXBGTkPbwewXwVGw8XwTmgNR76PGKi1Iv6AF+k9giaLsbnYS2Xbr9qpUOCqRtfyVIUygVamp6SlKxwuWriZ+t3JTXUcF3ReERBM3ndeehn8Rmg1nA0TZ9BrADnMCGiOXsHNuxw/w85mcy29oDbKeX9v5El0L9djbZwx+CfEDeEpRT5jbTiIMiUdtaY4FcDANDIuQAxutgKZjBCzVCnh89Yp+oeTbeRFFn7J9lNeRfDh4FhmNIzG3Thrmy2pGSYdWxCMnYqa38V/ApeB94y+ym9/5AjyrU614XqJYxOgyjiJKa57wrKUN6AVgMugoblUT/hKMYIg/TqyRlHJ8DLFTtoXhZ56rE95K3ExjzX4JdwLp+Ar8Dj1xHcNzQKKUga2cJl2IjwPYN3YtBJ7gUdICTQC46ri/6qc4lSD0iKc9+t4LIzAvmtr0aDuY9lJfRPgj+As6NA0Xa93zfjpGMzp5WwFWsXn2+F51d7VQelWLdQrJLJLUc4yVwLFIUKcUKbEydSz3n8jKj2RER8SzCtho58byqJS/pHtDpS68AQ0eHJDYWiXD0nRy+K9EgbWMB6w5bHZ1iWf3I69HBsRKiaBlBzxLuB1NcMlp38MDrhw1bYTVeyWpYia1oBx4ugFT6RObHzI1kPA3sLQtVw4qshpQg5KJ0l4QYoFaH2FBwd3sItQ64UUaYYDasxCc9w/h6/O+GUBt6eAqRKOMXezUIOYQh+0YSz4Ox0f6IvdBuR7uq1gqZXhhjjnlAzE/mnjKOJznbjsMyZpI3+E2nHPRIQkGPhy7xziuZzwQvgFwkZ+WTJXFsy9v8hsbvznxO/ka6rualkjn2fLAeHAQh9lx+bZiIUbQOSUggriuYpThnVgDnvJ1uZJXTJidTd+kuXij/8yU9lxfvAUuBZ7KquLjEHmW9Oaplo5yTXLGsDlad9BT/HngZvMMikBY1fHFBcOUbVazsqEIFad8qVxVKkyepJaALzAezwESIx6qvgAdmyXxIuz+jk0gGo5+8o245xyRV1CeREeR8Rr6Xw3ngkgIdaEn6F5F3Kp8bMrbVD/xy5bnwF+AB+FsgEQ/HO3H4e3Qp0S4Zdf+NLwsXxj+adXR3d3Pl6QAAAABJRU5ErkJggg==", + ), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": ( + lambda container: container, + "image=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", + ), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, }, - - 'text': { - 'swiftbar': { - 'main': { - 'stopped': (f"Lima | color={STOPPED_VM_COLOR}", ''), - 'running': (f"Lima | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", ''), - 'stop': (lambda vm: f"Stop {vm} VM", ''), - 'edit': (lambda vm: f"Edit {vm} VM", ''), - 'run': ('Run lima command', ''), - 'delete': (lambda vm: f"Delete {vm} VM", ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "text": { + "swiftbar": { + "main": { + "stopped": (f"Lima | color={STOPPED_VM_COLOR}", ""), + "running": (f"Lima | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"Start {vm} VM", ""), + "stop": (lambda vm: f"Stop {vm} VM", ""), + "edit": (lambda vm: f"Edit {vm} VM", ""), + "run": ("Run lima command", ""), + "delete": (lambda vm: f"Delete {vm} VM", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - - 'xbar-light': { - 'main': { - 'stopped': (f"Lima | color={STOPPED_VM_COLOR}", ''), - 'running': (f"Lima | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", ''), - 'stop': (lambda vm: f"Stop {vm} VM", ''), - 'edit': (lambda vm: f"Edit {vm} VM", ''), - 'run': ('Run lima command', ''), - 'delete': (lambda vm: f"Delete {vm} VM", ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-light": { + "main": { + "stopped": (f"Lima | color={STOPPED_VM_COLOR}", ""), + "running": (f"Lima | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"Start {vm} VM", ""), + "stop": (lambda vm: f"Stop {vm} VM", ""), + "edit": (lambda vm: f"Edit {vm} VM", ""), + "run": ("Run lima command", ""), + "delete": (lambda vm: f"Delete {vm} VM", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, - 'xbar-dark': { - 'main': { - 'stopped': (f"Lima | color={STOPPED_VM_COLOR}", ''), - 'running': (f"Lima | color={RUNNING_VM_COLOR}", ''), - }, - 'vm': { - 'start': (lambda vm: f"Start {vm} VM", ''), - 'stop': (lambda vm: f"Stop {vm} VM", ''), - 'edit': (lambda vm: f"Edit {vm} VM", ''), - 'run': ('Run lima command', ''), - 'delete': (lambda vm: f"Delete {vm} VM", ''), - }, - 'image': { - 'pull_new': ('pull new image', ''), - 'image': (lambda img: img, ''), - 'pull': ('pull', ''), - 'rm': ('rm', ''), - }, - 'container': { - 'container': (lambda container: container, ''), - 'Running': ('Running', ''), - 'stop': ('stop', ''), - 'kill': ('kill', ''), - 'pause': ('pause', ''), - - 'Stopped': ('Stopped', ''), - 'rm': ('rm', ''), - 'start': ('start', ''), - 'unpause': ('unpause', ''), - } + "xbar-dark": { + "main": { + "stopped": (f"Lima | color={STOPPED_VM_COLOR}", ""), + "running": (f"Lima | color={RUNNING_VM_COLOR}", ""), + }, + "vm": { + "start": (lambda vm: f"Start {vm} VM", ""), + "stop": (lambda vm: f"Stop {vm} VM", ""), + "edit": (lambda vm: f"Edit {vm} VM", ""), + "run": ("Run lima command", ""), + "delete": (lambda vm: f"Delete {vm} VM", ""), + }, + "image": { + "pull_new": ("pull new image", ""), + "image": (lambda img: img, ""), + "pull": ("pull", ""), + "rm": ("rm", ""), + }, + "container": { + "container": (lambda container: container, ""), + "Running": ("Running", ""), + "stop": ("stop", ""), + "kill": ("kill", ""), + "pause": ("pause", ""), + "Stopped": ("Stopped", ""), + "rm": ("rm", ""), + "start": ("start", ""), + "unpause": ("unpause", ""), + }, }, }, } -def buildMenuItem(title: 'tuple[str, str]', *params) -> str: +def buildMenuItem(title: "tuple[str, str]", *params) -> str: """ Build a menu item string """ label, icon = title - sp = '' if '|' in label else ' | ' + sp = "" if "|" in label else " | " return f"{label}{sp}{icon} {' '.join(params)}" -def getMenuTitle(type: 'tuple[str, tuple]', action: str, theme: 'str | None' = None) -> 'tuple[str, str]': +def getMenuTitle( + type: "tuple[str, tuple]", action: str, theme: "str | None" = None +) -> "tuple[str, str]": """ Get a menu title tuple from MENU_TITLE_ICON_CONF dict If the key not exists, return a tuple: ('!Undefined!', '') """ if IN_SWIFTBAR: - plugin_type = 'swiftbar' + plugin_type = "swiftbar" else: - plugin_type = 'xbar-dark' if os.environ.get('XBARDarkMode') == 'true' else 'xbar-light' + plugin_type = ( + "xbar-dark" if os.environ.get("XBARDarkMode") == "true" else "xbar-light" + ) if theme is None: theme = getCurrentTheme() - - label, icon = MENU_TITLE_ICON_CONF.get(theme, {}).get(plugin_type, {}).get(type[0], {}).get(action, ('!Undefined!', '')) + + label, icon = ( + MENU_TITLE_ICON_CONF.get(theme, {}) + .get(plugin_type, {}) + .get(type[0], {}) + .get(action, ("!Undefined!", "")) + ) if callable(label): return label(*type[1]), icon else: @@ -387,12 +432,12 @@ def getCurrentTheme() -> str: lima-plugin.sf_simple.10s -> sf_simple lima-plugin.sf_simple.10s.py -> sf_simple """ - filename = __file__.split('/')[-1] - ps = filename.split('.') + filename = __file__.split("/")[-1] + ps = filename.split(".") if len(ps) >= 3 and ps[1] in MENU_TITLE_ICON_CONF.keys(): return ps[1] else: - return 'default' + return "default" def logSetup(level: str = "INFO"): @@ -754,12 +799,12 @@ def vmOps(action: str, vm: str = "default"): rosetta = None if action == "create": create_vm = inputDialog( - user_prompt=f"Profile name for VM? (default=default)" + user_prompt="Profile name for VM? (default=default)" ) if create_vm: vm = create_vm rosetta = inputDialog( - user_prompt=f"(Can not be changed once created) Use rosetta2 or not(y/n)? Requirement Lima >= 0.14, macOS >= 13.0, ARM, and rosetta2 installed.(default=n)" + user_prompt="(Can not be changed once created) Use rosetta2 or not(y/n)? Requirement Lima >= 0.14, macOS >= 13.0, ARM, and rosetta2 installed.(default=n)" ) command = ["limactl", "start", vm] cpu = inputDialog( @@ -771,7 +816,7 @@ def vmOps(action: str, vm: str = "default"): disk = inputDialog( user_prompt=f"Disk size in GiB for {vm} VM? (default=100)" ) - if rosetta == 'y': + if rosetta == "y": command.extend(["--vm-type=vz", "--rosetta"]) if cpu: command.extend(["--cpus", cpu]) @@ -785,7 +830,7 @@ def vmOps(action: str, vm: str = "default"): command_stop = ["limactl", "stop", vm] runCommand(command=command_stop, env=env) if disk: - settings = f'.disk = \"{disk}GiB\"' + settings = f'.disk = "{disk}GiB"' command_edit_disk = ["limactl", "edit", vm, f"--set={settings}"] runCommand(command=command_edit_disk, env=env) else: @@ -872,32 +917,47 @@ def vmContainerSubMenu(vm: str = "default"): for container in containers: if containers[container]["Status"] == "Up": container_params = f"color={RUNNING_VM_COLOR}" - print(f"---- {buildMenuItem( getMenuTitle(('container', (container,)), 'container'), container_params)}") - - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'Running'))}") - + print( + f"---- {buildMenuItem(getMenuTitle(('container', (container,)), 'container'), container_params)}" + ) + + print(f"------ {buildMenuItem(getMenuTitle(('container', ()), 'Running'))}") + stop_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=stop param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'stop'), stop_params )}") - + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'stop'), stop_params)}" + ) + kill_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=kill param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'kill'), kill_params )}") - + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'kill'), kill_params)}" + ) + pause_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=pause param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'pause'), pause_params )}") + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'pause'), pause_params)}" + ) else: container_params = f"color={STOPPED_VM_COLOR}" - print(f"---- {buildMenuItem( getMenuTitle(('container', (container,)), 'container'), container_params)}") - - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'Stopped'))}") + print( + f"---- {buildMenuItem(getMenuTitle(('container', (container,)), 'container'), container_params)}" + ) + + print(f"------ {buildMenuItem(getMenuTitle(('container', ()), 'Stopped'))}") rm_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=rm param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'rm'), rm_params )}") - + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'rm'), rm_params)}" + ) + start_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=start param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'start'), start_params )}") - + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'start'), start_params)}" + ) + unpause_params = f'shell="{plugin_f}" param1="--vm" param2={vm} param3="--container-action" param4=unpause param5="--target" param6={container} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('container', ()), 'unpause'), unpause_params )}") - + print( + f"------ {buildMenuItem(getMenuTitle(('container', ()), 'unpause'), unpause_params)}" + ) def vmImageSubMenu(vm: str = "default"): @@ -914,16 +974,20 @@ def vmImageSubMenu(vm: str = "default"): print("-- Images") pull_new_params = f'bash="{plugin_f}" param1=--vm param2={vm} param3=--pull-new-image terminal=false refresh=true' - print(f"---- {buildMenuItem( getMenuTitle(('image', ()), 'pull_new'), pull_new_params)}") + print( + f"---- {buildMenuItem(getMenuTitle(('image', ()), 'pull_new'), pull_new_params)}" + ) for image in images: print(f"---- {buildMenuItem(getMenuTitle(('image', (image,)), 'image'))}") pull_params = f'bash="{plugin_f}" param1=--vm param2={vm} param3=--image-action=pull param4=--target={image} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('image', ()), 'pull'), pull_params)}") + print( + f"------ {buildMenuItem(getMenuTitle(('image', ()), 'pull'), pull_params)}" + ) rm_params = f'bash="{plugin_f}" param1=--vm param2={vm} param3=--image-action=rm param4=--target={image} terminal=false refresh=true' - print(f"------ {buildMenuItem( getMenuTitle(('image', ()), 'rm'), rm_params)}") + print(f"------ {buildMenuItem(getMenuTitle(('image', ()), 'rm'), rm_params)}") def vmMenu(vmData: dict = {}): @@ -934,31 +998,40 @@ def vmMenu(vmData: dict = {}): logging.debug("vmMenu") logging.debug("vmData: %s", vmData) - if len(vmData)>0: + if len(vmData) > 0: for vm in vmData: - logging.debug("status %s", vmData[vm]["status"]) edit_params = f"""shell=\"{plugin_f}\" param1='--vm={vm}' param2='--vm-action=edit' terminal=false refresh=true""" - info = f"CPUS={vmData[vm]['cpus']}, MEMORY={vmData[vm]['memory']//1073741824}GiB, DISK={vmData[vm]['disk']//1073741824}GiB" + info = f"CPUS={vmData[vm]['cpus']}, MEMORY={vmData[vm]['memory'] // 1073741824}GiB, DISK={vmData[vm]['disk'] // 1073741824}GiB" if vmData[vm]["status"] != "Running": print("%s VM is stopped | color=%s" % (vm, STOPPED_VM_COLOR)) print(f"-- {info}") delete_params = f"""shell=\"{plugin_f}\" param1='--vm={vm}' param2='--vm-action=delete' terminal=false refresh=true""" - print(f"---- {buildMenuItem( getMenuTitle(('vm', (vm,)), 'delete'), delete_params)}") + print( + f"---- {buildMenuItem(getMenuTitle(('vm', (vm,)), 'delete'), delete_params)}" + ) start_params = f"""shell=\"{plugin_f}\" param1='--vm={vm}' param2='--vm-action=start' terminal=false refresh=true""" - print(f"-- {buildMenuItem( getMenuTitle(('vm', (vm,)), 'start'), start_params)}") - print(f"-- {buildMenuItem( getMenuTitle(('vm', (vm,)), 'edit'), edit_params)}") + print( + f"-- {buildMenuItem(getMenuTitle(('vm', (vm,)), 'start'), start_params)}" + ) + print( + f"-- {buildMenuItem(getMenuTitle(('vm', (vm,)), 'edit'), edit_params)}" + ) else: print(f"{vm} VM (running) | color={RUNNING_VM_COLOR}") print(f"-- {info}") stop_params = f"""color={STOPPED_VM_COLOR} shell=\"{plugin_f}\" param1='--vm={vm}' param2='--vm-action=stop' terminal=false refresh=true""" - print(f"-- {buildMenuItem( getMenuTitle(('vm', (vm,)), 'stop'), stop_params)}") + print( + f"-- {buildMenuItem(getMenuTitle(('vm', (vm,)), 'stop'), stop_params)}" + ) run_params = f"""shell=\"{plugin_f}\" param1='--vm={vm}' param2='--vm-action=lima' terminal=false refresh=true""" - print(f"-- {buildMenuItem( getMenuTitle(('vm', (vm,)), 'run'), run_params)}") + print( + f"-- {buildMenuItem(getMenuTitle(('vm', (vm,)), 'run'), run_params)}" + ) vmContainerSubMenu(vm=vm) vmImageSubMenu(vm=vm)