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


Release history Release notifications

Download files

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

Files for powerline-swissarmyknife, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size powerline_swissarmyknife-1.0.0-py2-none-any.whl (16.9 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size powerline_swissarmyknife-1.0.0.tar.gz (3.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page