Skip to main content

A Powerline segment.This segment shows the execution of complex command line defined by user.

Project description

POWERLINE SWISSARMYKNIFE

A Powerline segment. This segment shows the execution of complex command line defined by user.

By Miguel de Dios Matias.

Installation

Using pip

pip install powerline-swissarmyknife

Configuration

You can activate the Powerline Slotmachine segment by adding it to your segment configuration, for example in .config/powerline/themes/shell/default.json:

{
    "function": "powerline_swissarmyknife.execute",
    "priority": 30,
    "args": {
        "commandLine": "ps aux --no-headers | wc -l",
        "postContent": "⚙️"
    }
},

Show the number of processes running in your system.

screenshot number processes

Arguments

  • commandLine (string): The command line to execute, it can be complex (with pipes) (remember python3 runs as /bin/sh, not bash).
  • line (string): The string to format the content of segment.
    • Default: "{preContent}{output}{err}{postContent}"
  • preContent (string): The string to show before the result.
    • Default: ""
  • postContent (string): The string to show after the result.
    • Default: "🤖"
  • successCodes (list(int) or None): The values are success code return (normally 0), the background change to critical success.
    • Default: None
  • failureCodes (list(int) or None): The values are fail code return, the background change to critical failture.
    • Default: None

Examples

Shows the upload and download rate and count of torrents download in Deluge.

{
    "function": "powerline_swissarmyknife.execute",
    "priority": 30,
    "args": {
        "commandLine": "deluge-console status | awk '/Total upload:/{print $3$4} /Total download:/{print $3$4} /Downloading:/{print $2\"D\"}' | tr '\n' ' '",
        "postContent": "️"
    }
},

screenshot deluge

Show a random pornstar from redtube api.

{
    "function": "powerline_swissarmyknife.execute",
    "priority": 30,
    "args": {
        "commandLine": "if [ -f /tmp/list.redtube.json ]; then list=$(cat /tmp/list.redtube.json); else list=$(curl 'https://api.redtube.com/?data=redtube.Stars.getStarList&output=json'); echo $list > /tmp/list.redtube.json; fi; list_length=$(echo $list | jq '.stars | length'); rand=$(echo 'ibase=16;' $(openssl rand -hex 4 | tr '[a-z]' '[A-Z]')  | bc); echo $list | jq \".stars[$(echo \\\"$rand % $list_length\\\" | bc)].star.star_name\" -r",
        "postContent": " 🎥"
    }
},

screenshot pornstar

License

Licensed under the GPL3 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

powerline_swissarmyknife-1.0.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

powerline_swissarmyknife-1.0.0-py2-none-any.whl (16.9 kB view details)

Uploaded Python 2

File details

Details for the file powerline_swissarmyknife-1.0.0.tar.gz.

File metadata

  • Download URL: powerline_swissarmyknife-1.0.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.5rc1

File hashes

Hashes for powerline_swissarmyknife-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0dc56711bd7c5058283457075f9dd2b6d4f6c1b26ff317ea8f20d6eb550b8391
MD5 fc385c80efb582c0be7ed10a3253f261
BLAKE2b-256 3d6258e50220aa2f6a0e4a67d8d2e3f1e2a3582f37f79fd85c2144e977bce6ce

See more details on using hashes here.

File details

Details for the file powerline_swissarmyknife-1.0.0-py2-none-any.whl.

File metadata

  • Download URL: powerline_swissarmyknife-1.0.0-py2-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.5rc1

File hashes

Hashes for powerline_swissarmyknife-1.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 4d8e135111d31f44595ba823364e7db0fc68134664cb3a86424f9e2a7aecdb11
MD5 0134f10cc36fbb4300ff3900e9ec9087
BLAKE2b-256 d5579d07948c4990e36af6b28e2c243de1daa6b024303965966cf31d61eb25e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page