bumblebee-status/doc/LIST-OF-MODULES.md

89 lines
38 KiB
Markdown
Raw Normal View History

# Table of modules
|Name |Description |
|-----|------------|
|__pulseaudio |Displays volume and mute status and controls for PulseAudio devices. Use wheel up and down to change volume, left click mutes, right click opens pavucontrol.<br><br>Aliases: pasink (use this to control output instead of input), pasource<br><br>Parameters:<br> * pulseaudio.autostart: If set to 'true' (default is 'false'), automatically starts the pulseaudio daemon if it is not running<br> * pulseaudio.percent_change: How much to change volume by when scrolling on the module (default is 2%)<br> * pulseaudio.limit: Upper limit for setting the volume (default is 0%, which means 'no limit')<br> Note: If the left and right channels have different volumes, the limit might not be reached exactly.<br> * pulseaudio.showbars: 1 for showing volume bars, requires --markup=pango;<br> 0 for not showing volume bars (default)<br><br>Requires the following executable:<br> * pulseaudio<br> * pactl<br> * pavucontrol |
|amixer |get volume level<br><br>Parameters:<br> * amixer.device: Device to use, defaults to "Master,0" |
|apt |Displays APT package update information (\<to upgrade\>/\<to remove \>)<br>Requires the following packages:<br> * aptitude |
|arch-update |Check updates to Arch Linux.<br><br>Requires the following executable:<br> * checkupdates (from pacman-contrib) |
|battery |Displays battery status, remaining percentage and charging information.<br><br>Parameters:<br> * battery.device : Comma-separated list of battery devices to read information from (defaults to auto for auto-detection)<br> * battery.warning : Warning threshold in % of remaining charge (defaults to 20)<br> * battery.critical : Critical threshold in % of remaining charge (defaults to 10)<br> * battery.showdevice : If set to 'true', add the device name to the widget (defaults to False)<br> * battery.decorate : If set to 'false', hides additional icons (charging, etc.) (defaults to True)<br> * battery.showpowerconsumption: If set to 'true', show current power consumption (defaults to False)<br> * battery.compact-devices : If set to 'true', compacts multiple batteries into a single entry (default to False) |
|battery-upower |Displays battery status, remaining percentage and charging information.<br><br>Parameters:<br> * battery-upower.warning : Warning threshold in % of remaining charge (defaults to 20)<br> * battery-upower.critical : Critical threshold in % of remaining charge (defaults to 10)<br> * battery-upower.showremaining : If set to true (default) shows the remaining time until the batteries are completely discharged |
|bluetooth |Displays bluetooth status (Bluez). Left mouse click launches manager app,<br>right click toggles bluetooth. Needs dbus-send to toggle bluetooth state.<br><br>Parameters:<br> * bluetooth.device : the device to read state from (default is hci0)<br> * bluetooth.manager : application to launch on click (blueman-manager)<br> * bluetooth.dbus_destination : dbus destination (defaults to org.blueman.Mechanism)<br> * bluetooth.dbus_destination_path : dbus destination path (defaults to /)<br> * bluetooth.right_click_popup : use popup menu when right-clicked (defaults to True) |
|bluetooth2 |Displays bluetooth status. Left mouse click launches manager app,<br>right click toggles bluetooth. Needs dbus-send to toggle bluetooth state and<br>python-dbus to count the number of connections<br><br>Parameters:<br> * bluetooth.manager : application to launch on click (blueman-manager) |
|brightness |Displays the brightness of a display<br><br>Parameters:<br> * brightness.step: The amount of increase/decrease on scroll in % (defaults to 2) |
|caffeine |Enable/disable automatic screen locking.<br><br>Requires the following executables:<br> * xdg-screensaver<br> * xdotool<br> * xprop (as dependency for xdotool)<br> * notify-send |
|cmus |Displays information about the current song in cmus.<br><br>Requires the following executable:<br> * cmus-remote<br><br>Parameters:<br> * cmus.format: Format string for the song information. Tag values can be put in curly brackets (i.e. {artist})<br> Additional tags:<br> * {file} - full song file name<br> * {file1} - song file name without path prefix<br> if {file} = '/foo/bar.baz', then {file1} = 'bar.baz'<br> * {file2} - song file name without path prefix and extension suffix<br> if {file} = '/foo/bar.baz', then {file2} = 'bar'<br> * cmus.layout: Space-separated list of widgets to add. Possible widgets are the buttons/toggles cmus.prev, cmus.next, cmus.shuffle and cmus.repeat, and the main display with play/pause function cmus.main.<br> * cmus.server: The address of the cmus server, either a UNIX socket or host[:port]. Connects to the local instance by default.<br> * cmus.passwd: The password to use for the TCP/IP connection. |
|cpu |Displays CPU utilization across all CPUs.<br><br>Parameters:<br> * cpu.warning : Warning threshold in % of CPU usage (defaults to 70%)<br> * cpu.critical: Critical threshold in % of CPU usage (defaults to 80%)<br> * cpu.format : Format string (defaults to '{:.01f}%') |
|cpu2 |Multiwidget CPU module<br><br>Can display any combination of:<br><br> * max CPU frequency<br> * total CPU load in percents (integer value)<br> * per-core CPU load as graph - either mono or colored<br> * CPU temperature (in Celsius degrees)<br> * CPU fan speed<br><br>Requirements:<br><br> * the psutil Python module for the first three items from the list above<br> * sensors executable for the rest<br><br>Parameters:<br> * cpu2.layout: Space-separated list of widgets to add.<br> Possible widgets are:<br> * cpu2.maxfreq<br> * cpu2.cpuload<br> * cpu2.coresload<br> * cpu2.temp<br> * cpu2.fanspeed<br> * cpu2.colored: 1 for colored per core load graph, 0 for mono (default)<br> if this is set to 1, use --markup=pango<br> * cpu2.temp_pattern: pattern to look for in the output of 'sensors -u';<br> required if cpu2.temp widged is used<br> * cpu2.fan_pattern: pattern to look for in the output of 'sensors -u';<br> required if cpu2.fanspeed widged is used<br><br>Note: if you are getting 'n/a' for CPU temperature / fan speed, then you're<br>lacking the aforementioned pattern settings or they have wrong values. |
|currency |Displays currency exchange rates. Currently, displays currency between GBP and USD/EUR only.<br><br>Requires the following python packages:<br> * requests<br><br>Parameters:<br> * currency.interval: Interval in minutes between updates, default is 1.<br> * currency.source: Source currency (ex. 'GBP', 'EUR'). Defaults to 'auto', which infers the local one from IP address.<br> * currency.destination: Comma-separated list of destination currencies (defaults to 'USD,EUR')<br> * currency.sourceformat: String format for source formatting; Defaults to '{}: {}' and has two variables,<br> the base symbol and the rate list<br> * currency.destinationdelimiter: Delimiter used for separating individual rates (defaults to '|')<br><br>Note: source and destination names right now must correspond to the names used by the API of https://markets.ft.com |
|date |Displays the current date and time.<br><br>Parameters:<br> * date.format: strftime()-compatible formatting string<br> * date.locale: locale to use rather than the system default |
|datetime |Displays the current date and time.<br><br>Parameters:<br> * datetime.format: strftime()-compatible formatting string<br> * datetime.locale: locale to use rather than the system default |
|datetimetz |Displays the current date and time with timezone options.<br><br>Parameters:<br> * datetimetz.format : strftime()-compatible formatting string<br> * datetimetz.timezone : IANA timezone name<br> * datetz.format : alias for datetimetz.format<br> * timetz.format : alias for datetimetz.format<br> * timetz.timezone : alias for datetimetz.timezone<br> * datetimetz.locale : locale to use rather than the system default<br> * datetz.locale : alias for datetimetz.locale<br> * timetz.locale : alias for datetimetz.locale<br> * timetz.timezone : alias for datetimetz.timezone |
|datetz |Displays the current date and time.<br><br>Parameters:<br> * date.format: strftime()-compatible formatting string<br> * date.locale: locale to use rather than the system default |
|deadbeef |Displays the current song being played in DeaDBeeF and provides<br>some media control bindings.<br>Left click toggles pause, scroll up skips the current song, scroll<br>down returns to the previous song.<br><br>Requires the following library:<br> * subprocess<br>Parameters:<br> * deadbeef.format: Format string (defaults to '{artist} - {title}')<br> Available values are: {artist}, {title}, {album}, {length},<br> {trackno}, {year}, {comment},<br> {copyright}, {time}<br> This is deprecated, but much simpler.<br> * deadbeef.tf_format: A foobar2000 title formatting-style format string.<br> These can be much more sophisticated than the standard<br> format strings. This is off by default, but specifying<br> any tf_format will enable it. If both deadbeef.format<br> and deadbeef.tf_format are specified, deadbeef.tf_format<br> takes priority.<br> * deadbeef.tf_format_if_stopped: Controls whether or not the tf_format format<br> string should be displayed even if no song is paused or<br> playing. This could be useful if you want to implement<br> your own stop strings with the built in logic. Any non-<br> null value will enable this (by default the module will<br> hide itself when the player is stopped).<br> * deadbeef.previous: Change binding for previous song (default is left click)<br> * deadbeef.next: Change binding for next song (default is right click)<br> * deadbeef.pause: Change binding for toggling pause (default is middle click)<br> Available options for deadbeef.previous, deadbeef.next and deadbeef.pause are:<br> LEFT_CLICK, RIGHT_CLICK, MIDDLE_CLICK, SCROLL_UP, SCROLL_DOWN |
|debug |Shows that debug is enabled |
|deezer |Displays the current song being played<br>Requires the following library:<br> * python-dbus<br>Parameters:<br> * deezer.format: Format string (defaults to '{artist} - {title}')<br> Available values are: {album}, {title}, {artist}, {trackNumber}, {playbackStatus}<br> * deezer.previous: Change binding for previous song (default is left click)<br> * deezer.next: Change binding for next song (default is right click)<br> * deezer.pause: Change binding for toggling pause (default is middle click)<br> Available options for deezer.previous, deezer.next and deezer.pause are:<br> LEFT_CLICK, RIGHT_CLICK, MIDDLE_CLICK, SCROLL_UP, SCROLL_DOWN |
|disk |Shows free diskspace, total diskspace and the percentage of free disk space.<br><br>Parameters:<br> * disk.warning: Warning threshold in % of disk space (defaults to 80%)<br> * disk.critical: Critical threshold in % of disk space (defaults ot 90%)<br> * disk.path: Path to calculate disk usage from (defaults to /)<br> * disk.open: Which application / file manager to launch (default xdg-open)<br> * disk.format: Format string, tags {path}, {used}, {left}, {size} and {percent} (defaults to '{path} {used}/{size} ({percent:05.02f}%)') |
|dnf |Displays DNF package update information (\<security\>/\<bugfixes\>/\<enhancements\>/\<other\>)<br><br>Requires the following executable:<br> * dnf<br><br>Parameters:<br> * dnf.interval: Time in minutes between two consecutive update checks (defaults to 30 minutes) |
|docker_ps |Displays the number of docker containers running<br><br>Requires the following python packages:<br> * docker |
|dunst |Toggle dunst notifications. |
|error |Shows bumblebee-status errors |
|getcrypto |Displays the price of a cryptocurrency.<br><br>Requires the following python packages:<br> * requests<br><br>Parameters:<br> * getcrypto.interval: Interval in seconds for updating the price, default is 120, less than that will probably get your IP banned.<br> * getcrypto.getbtc: 0 for not getting price of BTC, 1 for getting it (default).<br> * getcrypto.geteth: 0 for not getting price of ETH, 1 for getting it (default).<br> * getcrypto.getltc: 0 for not getting price of LTC, 1 for getting it (default).<br> * getcrypto.getcur: Set the currency to display the price in, usd is the default. |
|git |Print the branch and git status for the<br>currently focused window.<br><br>Requires:<br> * xcwd<br> * Python module 'pygit2' |
|github |Displays the unread GitHub notifications for a GitHub user<br><br>Requires the following library:<br> * requests<br><br>Parameters:<br> * github.token: GitHub user access token, the token needs to have the 'notifications' scope.<br> * github.interval: Interval in minutes between updates, default is 5. |
|gpmdp |Displays information about the current song in Google Play music player.<br><br>Requires the following executable:<br> * gpmdp-remote |
|hddtemp |Fetch hard drive temeperature data from a hddtemp daemon<br>that runs on localhost and default port (7634) |
|hostname |Displays the system hostname. |
|http_status |Display HTTP status code<br><br>Parameters:<br> * http__status.label: Prefix label (optional)<br> * http__status.target: Target to retrieve the HTTP status from<br> * http__status.expect: Expected HTTP status |
|indicator |Displays the indicator status, for numlock, scrolllock and capslock <br><br>Parameters:<br> * indicator.include: Comma-separated list of interface prefixes to include (defaults to 'numlock,capslock')<br> * indicator.signalstype: If you want the signali type color to be 'critical' or 'warning' (defaults to 'warning') |
|kernel |Shows Linux kernel version information |
|layout |Displays and changes the current keyboard layout<br><br>Requires the following executable:<br> * setxkbmap |
|layout-xkb |Displays the current keyboard layout using libX11<br><br>Requires the following library:<br> * libX11.so.6<br>and python module:<br> * xkbgroup<br><br>Parameters:<br> * layout-xkb.showname: Boolean that indicate whether the full name should be displayed. Defaults to false (only the symbol will be displayed)<br> * layout-xkb.show_variant: Boolean that indecates whether the variant name should be displayed. Defaults to true. |
|layout-xkbswitch |Displays and changes the current keyboard layout<br><br>Requires the following executable:<br> * xkb-switch |
|libvirtvms |Displays count of running libvirt VMs.<br>Required the following python packages:<br> * libvirt |
|load |Displays system load.<br><br>Parameters:<br> * load.warning : Warning threshold for the one-minute load average (defaults to 70% of the number of CPUs)<br> * load.critical: Critical threshold for the one-minute load average (defaults to 80% of the number of CPUs) |
|memory |Displays available RAM, total amount of RAM and percentage available.<br><br>Parameters:<br> * memory.warning : Warning threshold in % of memory used (defaults to 80%)<br> * memory.critical: Critical threshold in % of memory used (defaults to 90%)<br> * memory.format: Format string (defaults to '{used}/{total} ({percent:05.02f}%)')<br> * memory.usedonly: Only show the amount of RAM in use (defaults to False). Same as memory.format='{used}' |
|mocp |Displays information about the current song in mocp. Left click toggles play/pause. Right click toggles shuffle.<br><br>Requires the following executable:<br> * mocp<br><br>Parameters:<br> * mocp.format: Format string for the song information. Replace string sequences with the actual information:<br> %state State<br> %file File<br> %title Title, includes track, artist, song title and album<br> %artist Artist<br> %song SongTitle<br> %album Album<br> %tt TotalTime<br> %tl TimeLeft<br> %ts TotalSec<br> %ct CurrentTime<br> %cs CurrentSec<br> %b Bitrate<br> %r Sample rate |
|mpd |Displays information about the current song in mpd.<br><br>Requires the following executable:<br> * mpc<br><br>Parameters:<br> * mpd.format: Format string for the song information.<br> Supported tags (see `man mpc` for additional information)<br> * {name}<br> * {artist}<br> * {album}<br> * {albumartist}<br> * {comment}<br> * {composer}<br> * {date}<br> * {originaldate}<br> * {disc}<br> * {genre}<br> * {performer}<br> * {title}<br> * {track}<br> * {time}<br> * {file}<br> * {id}<br> * {prio}<br> * {mtime}<br> * {mdate}<br> Additional tags:<br> * {position} - position of currently playing song<br> not to be confused with %position% mpc tag<br> * {duration} - duration of currently playing song<br> * {file1} - song file name without path prefix<br> if {file} = '/foo/bar.baz', then {file1} = 'bar.baz'<br> * {file2} - song file name without path prefix and extension suffix<br> if {file} = '/foo/bar.baz', then {file2} = 'bar'<br> * mpd.host: MPD host to connect to. (mpc behaviour by default)<br> * mpd.layout: Space-separated list of widgets to add. Possible widgets are the buttons/toggles mpd.prev, mpd.next, mpd.shuffle and mpd.repeat, and the main display with play/pause function mpd.main. |
|network_traffic |Displays network traffic<br>* No extra configuration needed |
|nic |Displays the name, IP address(es) and status of each available network interface.<br><br>Requires the following python module:<br> * netifaces<br><br>Parameters:<br> * nic.exclude: Comma-separated list of interface prefixes to exclude (defaults to 'lo,virbr,docker,vboxnet,veth,br')<br> * nic.include: Comma-separated list of interfaces to include<br> * nic.states: Comma-separated list of states to show (prefix with '^' to invert - i.e. ^down -\> show all devices that are not in state down)<br> * nic.format: Format string (defaults to '{intf} {state} {ip} {ssid}') |
|notmuch_count |Displays the result of a notmuch count query<br> default : unread emails which path do not contained 'Trash' (notmuch count 'tag:unread AND NOT path:/.*Trash.*/')<br><br>Parameters:<br> * notmuch_count.query: notmuch count query to show result <br><br>Errors:<br> if the notmuch query failed, the shown value is -1<br><br>Dependencies:<br> notmuch (https://notmuchmail.org/) |
|nvidiagpu |Displays GPU name, temperature and memory usage.<br><br>Parameters:<br> * nvidiagpu.format: Format string (defaults to '{name}: {temp}°C %{usedmem}/{totalmem} MiB')<br> Available values are: {name} {temp} {mem_used} {mem_total} {fanspeed} {clock_gpu} {clock_mem}<br><br>Requires nvidia-smi |
|pacman |Displays update information per repository for pacman.<br><br>Parameters:<br> * pacman.sum: If you prefere displaying updates with a single digit (defaults to 'False')<br><br>Requires the following executables:<br> * fakeroot<br> * pacman |
|pihole |Displays the pi-hole status (up/down) together with the number of ads that were blocked today<br>Parameters:<br> * pihole.address : pi-hole address (e.q: http://192.168.1.3)<br> * pihole.pwhash : pi-hole webinterface password hash (can be obtained from the /etc/pihole/SetupVars.conf file) |
|ping |Periodically checks the RTT of a configurable host using ICMP echos<br><br>Requires the following executable:<br> * ping<br><br>Parameters:<br> * ping.address : IP address to check<br> * ping.timeout : Timeout for waiting for a reply (defaults to 5.0)<br> * ping.probes : Number of probes to send (defaults to 5)<br> * ping.warning : Threshold for warning state, in seconds (defaults to 1.0)<br> * ping.critical: Threshold for critical state, in seconds (defaults to 2.0) |
|pomodoro |Display and run a Pomodoro timer.<br>Left click to start timer, left click again to pause.<br>Right click will cancel the timer.<br><br>Parameters:<br> * pomodoro.work: The work duration of timer in minutes (defaults to 25)<br> * pomodoro.break: The break duration of timer in minutes (defaults to 5)<br> * pomodoro.format: Timer display format with '%m' and '%s' for minutes and seconds (defaults to '%m:%s')<br> Examples: '%m min %s sec', '%mm', '', 'timer'<br> * pomodoro.notify: Notification command to run when timer ends/starts (defaults to nothing)<br> Example: 'notify-send 'Time up!''. If you want to chain multiple commands,<br> please use an external wrapper script and invoke that. The module itself does<br> not support command chaining (see https://github.com/tobi-wan-kenobi/bumblebee-status/issues/532<br> for a detailled explanation) |
|prime |Displays and changes the current selected prime video card<br><br>Left click will call 'sudo prime-select nvidia'<br>Right click will call 'sudo prime-select nvidia'<br><br>Running these commands without a password requires editing your sudoers file<br>(always use visudo, it's very easy to make a mistake and get locked out of your computer!)<br><br>sudo visudo -f /etc/sudoers.d/prime<br><br>Then put a line like this in there:<br><br> user ALL=(ALL) NOPASSWD: /usr/bin/prime-select<br><br>If you can't figure out the sudoers thing, then don't worry, it's still really useful.<br><br>Parameters:<br> * prime.nvidiastring: String to use when nvidia is selected (defaults to 'intel')<br> * prime.intelstring: String to use when intel is selected (defaults to 'intel')<br><br>Requires the following executable:<br> * prime-select |
|progress |Show progress for cp, mv, dd, ...<br><br>Parameters:<br> * progress.placeholder: Text to display while no process is running (defaults to 'n/a')<br> * progress.barwidth: Width of the progressbar if it is used (defaults to 8)<br> * progress.format: Format string (defaults to '{bar} {cmd} {arg}')<br> Available values are: {bar} {pid} {cmd} {arg} {percentage} {quantity} {speed} {time}<br> * progress.barfilledchar: Character used to draw the filled part of the bar (defaults to '#'), notice that it can be a string<br> * progress.baremptychar: Character used to draw the empty part of the bar (defaults to '-'), notice that it can be a string<br><br>Requires the following executable:<br> * progress |
|publicip |Displays public IP address |
|redshift |Displays the current color temperature of redshift<br><br>Requires the following executable:<br> * redshift<br><br>Parameters:<br> * redshift.location : location provider, either of 'auto' (default), 'geoclue2',<br> 'ipinfo' or 'manual'<br> 'auto' uses whatever redshift is configured to do<br> * redshift.lat : latitude if location is set to 'manual'<br> * redshift.lon : longitude if location is set to 'manual' |
|rotation |Shows a widget for each connected screen and allows the user to loop through different orientations.<br><br>Requires the following executable:<br> * xrandr |
|rss |RSS news ticker<br><br>Fetches rss news items and shows these as a news ticker.<br>Left-clicking will open the full story in a browser.<br>New stories are highlighted.<br><br>Parameters:<br> * rss.feeds : Space-separated list of RSS URLs<br> * rss.length : Maximum length of the module, default is 60 |
|sensors |Displays sensor temperature<br><br>Parameters:<br> * sensors.path: path to temperature file (default /sys/class/thermal/thermal_zone0/temp).<br> * sensors.json: if set to 'true', interpret sensors.path as JSON 'path' in the output<br> of 'sensors -j' (i.e. \<key1\>/\<key2\>/.../\<value\>), for example, path could<br> be: 'coretemp-isa-00000/Core 0/temp1_input' (defaults to 'false')<br> * sensors.match: (fallback) Line to match against output of 'sensors -u' (default: temp1_input)<br> * sensors.match_pattern: (fallback) Line to match against before temperature is read (no default)<br> * sensors.match_number: (fallback) which of the matches you want (default -1: last match).<br> * sensors.show_freq: whether to show CPU frequency. (default: true) |
|sensors2 |Displays sensor temperature and CPU frequency<br><br>Parameters:<br><br> * sensors2.chip: 'sensors -u' compatible filter for chip to display (default to empty - show all chips)<br> * sensors2.showcpu: Enable or disable CPU frequency display (default: true)<br> * sensors2.showtemp: Enable or disable temperature display (default: true)<br> * sensors2.showfan: Enable or disable fan display (default: true)<br> * sensors2.showother: Enable or display 'other' sensor readings (default: false)<br> * sensors2.showname: Enable or disable show of sensor name (default: false)<br> * sensors2.chip_include: Comma-separated list of chip to include (defaults to '' will include all by default, example: 'coretemp,bat')<br> * sensors2.chip_exclude:Comma separated list of chip to exclude (defaults to '' will exlude none by default)<br> * sensors2.field_include: Comma separated list of chip to include (defaults to '' will include all by default, example: 'temp,fan')<br> * sensors2.field_exclude: Comma separated list of chip to exclude (defaults to '' will exclude none by default)<br> * sensors2.chip_field_exclude: Comma separated list of chip field to exclude (defaults to '' will exclude none by default, example: 'coretemp-isa-0000.temp1,coretemp-isa-0000.fan1')<br> * sensors2.chip_field_include: Comma-separated list of adaper field to include (defaults to '' will include all by default) |
|shell |Execute command in shell and print result<br><br>Few command examples:<br> 'ping -c 1 1.1.1.1 | grep -Po '(?\<=time=)\d+(\.\d+)? ms''<br> 'echo 'BTC=$(curl -s rate.sx/1BTC | grep -Po '^\d+')USD''<br> 'curl -s https://wttr.in/London?format=%l+%t+%h+%w'<br> 'pip3 freeze | wc -l'<br> 'any_custom_script.sh | grep arguments'<br><br>Parameters:<br> * shell.command: Command to execute<br> Use single parentheses if evaluating anything inside (sh-style)<br> For example shell.command='echo $(date +'%H:%M:%S')'<br> But NOT shell.command='echo $(date +'%H:%M:%S')'<br> Second one will be evaluated only once at startup<br> * shell.interval: Update interval in seconds<br> (defaults to 1s == every bumblebee-status update)<br> * shell.async: Run update in async mode. Won't run next thread if<br> previous one didn't finished yet. Useful for long<br> running scripts to avoid bumblebee-status freezes<br> (defaults to False) |
|shortcut |Shows a widget per user-defined shortcut and allows to define the behaviour<br>when clicking on it.<br><br>For more than one shortcut, the commands and labels are strings separated by<br>a demiliter (; semicolon by default).<br><br>For example in order to create two shortcuts labeled A and B with commands<br>cmdA and cmdB you could do:<br><br> ./bumblebee-status -m shortcut -p shortcut.cmd='ls;ps' shortcut.label='A;B'<br><br>Parameters:<br> * shortcut.cmds : List of commands to execute<br> * shortcut.labels: List of widgets' labels (text)<br> * shortcut.delim : Commands and labels delimiter (; semicolon by default) |
|smartstatus |Displays HDD smart status of different drives or all drives<br><br>Parameters:<br> * smartstatus.display: how to display (defaults to 'combined', other choices: 'seperate' or 'singles')<br> * smartstauts.drives: in the case of singles which drives to display, separated comma list value, multiple accepted (defaults to 'sda', example:'sda,sdc') |
|spaceapi |Displays the state of a Space API endpoint<br>Space API is an API for hackspaces based on JSON. See spaceapi.io for<br>an example.<br><br>Requires the following libraries:<br> * requests<br> * regex<br><br>Parameters:<br> * spaceapi.url: String representation of the api endpoint<br> * spaceapi.format: Format string for the output<br><br>Format Strings:<br> * Format strings are indicated by double %%<br> * They represent a leaf in the JSON tree, layers seperated by '.'<br> * Boolean values can be overwritten by appending '%true%false'<br> in the format string<br> * Example: to reference 'open' in '{'state':{'open': true}}'<br> you would write '%%state.open%%', if you also want<br> to say 'Open/Closed' depending on the boolean you<br> would write '%%state.open%Open%Closed%%' |
|spacer |Draws a widget with configurable text content.<br><br>Parameters:<br> * spacer.text: Widget contents (defaults to empty string) |
|spotify |Displays the current song being played<br>Requires the following library:<br> * python-dbus<br>Parameters:<br> * spotify.format: Format string (defaults to '{artist} - {title}')<br> Available values are: {album}, {title}, {artist}, {trackNumber}, {playbackStatus}<br> * spotify.previous: Change binding for previous song (default is left click)<br> * spotify.next: Change binding for next song (default is right click)<br> * spotify.pause: Change binding for toggling pause (default is middle click)<br> Available options for spotify.previous, spotify.next and spotify.pause are:<br> LEFT_CLICK, RIGHT_CLICK, MIDDLE_CLICK, SCROLL_UP, SCROLL_DOWN |
|stock |Display a stock quote from worldtradingdata.com<br><br>Requires the following python packages:<br> * requests<br><br>Parameters:<br> * stock.symbols : Comma-separated list of symbols to fetch<br> * stock.change : Should we fetch change in stock value (defaults to True) |
|sun |Displays sunrise and sunset times<br><br>Requires the following python packages:<br> * requests<br> * suntime<br><br>Parameters:<br> * cpu.lat : Latitude of your location<br> * cpu.lon : Longitude of your location |
|system |system module<br><br>adds the possibility to<br> * shutdown<br> * reboot<br>the system.<br> <br>Per default a confirmation dialog is shown before the actual action is performed.<br> <br>Parameters:<br> * system.confirm: show confirmation dialog before performing any action (default: true) <br> * system.reboot: specify a reboot command (defaults to 'reboot')<br> * system.shutdown: specify a shutdown command (defaults to 'shutdown -h now')<br> * system.logout: specify a logout command (defaults to 'i3exit logout')<br> * system.switch_user: specify a command for switching the user (defaults to 'i3exit switch_user')<br> * system.lock: specify a command for locking the screen (defaults to 'i3exit lock')<br> * system.suspend: specify a command for suspending (defaults to 'i3exit suspend')<br> * system.hibernate: specify a command for hibernating (defaults to 'i3exit hibernate') |
|taskwarrior |Displays the number of pending tasks in TaskWarrior.<br><br>Requires the following library:<br> * taskw<br><br>Parameters:<br> * taskwarrior.taskrc : path to the taskrc file (defaults to ~/.taskrc) |
|test |Test module |
|time |Displays the current date and time.<br><br>Parameters:<br> * time.format: strftime()-compatible formatting string<br> * time.locale: locale to use rather than the system default |
|timetz |Displays the current date and time.<br><br>Parameters:<br> * time.format: strftime()-compatible formatting string<br> * time.locale: locale to use rather than the system default |
|title |Displays focused i3 window title.<br><br>Requirements:<br> * i3ipc<br><br>Parameters:<br> * title.max : Maximum character length for title before truncating. Defaults to 64.<br> * title.placeholder : Placeholder text to be placed if title was truncated. Defaults to '...'.<br> * title.scroll : Boolean flag for scrolling title. Defaults to False |
|todo |Displays the number of todo items from a text file<br><br>Parameters:<br> * todo.file: File to read TODOs from (defaults to ~/Documents/todo.txt) |
|traffic |Displays network IO for interfaces.<br><br>Parameters:<br> * traffic.exclude: Comma-separated list of interface prefixes to exclude (defaults to 'lo,virbr,docker,vboxnet,veth')<br> * traffic.states: Comma-separated list of states to show (prefix with '^' to invert - i.e. ^down -\> show all devices that are not in state down)<br> * traffic.showname: If set to False, hide network interface name (defaults to True)<br> * traffic.format: Format string for download/upload speeds.<br> Defaults to '{:.2f}'<br> * traffic.graphlen: Graph lenth in seconds. Positive even integer. Each<br> char shows 2 seconds. If set, enables up/down traffic<br> graphs |
|twmn |Toggle twmn notifications. |
|uptime |Displays the system uptime. |
|vault |Copy passwords from a password store into the clipboard (currently supports only 'pass')<br><br>Many thanks to [@bbernhard](https://github.com/bbernhard) for the idea!<br><br>Parameters:<br> * vault.duration: Duration until password is cleared from clipboard (defaults to 30)<br> * vault.location: Location of the password store (defaults to ~/.password-store)<br> * vault.offx: x-axis offset of popup menu (defaults to 0)<br> * vault.offy: y-axis offset of popup menu (defaults to 0) |
|vpn |Displays the VPN profile that is currently in use.<br><br>Left click opens a popup menu that lists all available VPN profiles and allows to establish<br>a VPN connection using that profile.<br><br>Prerequisites:<br> * tk python library (usually python-tk or python3-tk, depending on your distribution)<br> * nmcli needs to be installed and configured properly.<br> To quickly test, whether nmcli is working correctly, type 'nmcli -g NAME,TYPE,DEVICE con' which<br> lists all the connection profiles that are configured. Make sure that your VPN profile is in that list!<br><br> e.g: to import a openvpn profile via nmcli:<br> sudo nmcli connection import type openvpn file \</path/to/your/openvpn/profile.ovpn\> |
|watson |Displays the status of watson (time-tracking tool)<br><br>Requires the following executable:<br> * watson |
|weather |Displays the temperature on the current location based on the ip<br><br>Requires the following python packages:<br> * requests<br><br>Parameters:<br> * weather.location: Set location, defaults to 'auto' for getting location automatically from a web service<br> If set to a comma-separated list, left-click and right-click can be used to rotate the locations.<br> Locations should be city names or city ids.<br> * weather.unit: metric (default), kelvin, imperial<br> * weather.showcity: If set to true, show location information, otherwise hide it (defaults to true)<br> * weather.showminmax: If set to true, show the minimum and maximum temperature, otherwise hide it (defaults to false)<br> * weather.apikey: API key from http://api.openweathermap.org |
|xkcd |Opens a random xkcd comic in the browser. |
|xrandr |Shows a widget for each connected screen and allows the user to enable/disable screens.<br><br>Parameters:<br> * xrandr.overwrite_i3config: If set to 'true', this module assembles a new i3 config<br> every time a screen is enabled or disabled by taking the file '~/.config/i3/config.template'<br> and appending a file '~/.config/i3/config.\<screen name\>' for every screen.<br> * xrandr.autoupdate: If set to 'false', does *not* invoke xrandr automatically. Instead, the<br> module will only refresh when displays are enabled or disabled (defaults to true)<br><br>Requires the following python module:<br> * (optional) i3 - if present, the need for updating the widget list is auto-detected<br><br>Requires the following executable:<br> * xrandr |
|yubikey |Shows yubikey information<br><br>Requires: https://github.com/Yubico/python-yubico<br><br>The output indicates that a YubiKey is not connected or it displays<br>the corresponding serial number. |
|zpool |Displays info about zpools present on the system<br><br>Parameters:<br> * zpool.list: Comma-separated list of zpools to display info for. If empty, info for all zpools<br> is displayed. (Default: '')<br> * zpool.format: Format string, tags {name}, {used}, {left}, {size}, {percentfree}, {percentuse},<br> {status}, {shortstatus}, {fragpercent}, {deduppercent} are supported.<br> (Default: '{name} {used}/{size} ({percentfree}%)')<br> * zpool.showio: Show also widgets detailing current read and write I/O (Default: true)<br> * zpool.ioformat: Format string for I/O widget, tags {ops} (operations per seconds) and {band}<br> (bandwidth) are supported. (Default: '{band}')<br> * zpool.warnfree: Warn if free space is below this percentage (Default: 10)<br> * zpool.sudo: Use sudo when calling the `zpool` binary. (Default: false)<br><br>Option `zpool.sudo` is intended for Linux users using zfsonlinux older than 0.7.0: In pre-0.7.0<br>releases of zfsonlinux regular users couldn't invoke even informative commands such as<br>`zpool list`. If this option is true, command `zpool list` is invoked with sudo. If this option<br>is used, the following (or ekvivalent) must be added to the `sudoers(5)`:<br><br>```<br>\<username/ALL\> ALL = (root) NOPASSWD: /usr/bin/zpool list<br>```<br><br>Be aware of security implications of doing this! |