{"id":17483551,"url":"https://github.com/xandkar/pista","last_synced_at":"2025-07-17T13:33:17.988Z","repository":{"id":142071091,"uuid":"253616673","full_name":"xandkar/pista","owner":"xandkar","description":"PIped STAtus: the ii of status bars! Event loop over N FIFOs, reading line streams and writing into N segments of your status buffer. After a TTL without updates, a segment is blanked-out.","archived":false,"fork":false,"pushed_at":"2025-02-26T23:51:59.000Z","size":109,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T14:56:56.277Z","etag":null,"topics":["dwm","dwm-status","statusbar","suckless"],"latest_commit_sha":null,"homepage":"https://xandkar.net/proj/pista/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xandkar.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-04-06T21:12:52.000Z","updated_at":"2024-03-12T14:34:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"5d870e44-d677-45c5-969c-ad92a612b939","html_url":"https://github.com/xandkar/pista","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/xandkar/pista","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xandkar%2Fpista","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xandkar%2Fpista/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xandkar%2Fpista/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xandkar%2Fpista/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xandkar","download_url":"https://codeload.github.com/xandkar/pista/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xandkar%2Fpista/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265611296,"owners_count":23797852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dwm","dwm-status","statusbar","suckless"],"created_at":"2024-10-19T00:05:52.402Z","updated_at":"2025-07-17T13:33:17.969Z","avatar_url":"https://github.com/xandkar.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"                                    PiSta\n                                    =====\n                      Piped Status: the ii of status bars!\n\n\nDESCRIPTION\n-----------\n\nIntended for use with dwm, but can just as well be adopted to anything else\nwith a textual status area (like tmux).\n\nAsynchronously reads lines from N FIFOs and routes to N corresponding slots on\nthe bar:\n\n    b +--------------+--------------+- ... ---+-------------+\n    a | slot_1       | slot_2       |         | slot_N      |\n    r +--------------+--------------+- ... ---+-------------+\n        ^              ^                        ^\n        |              |                        |\n       +-+            +-+                      +-+\n       | |            | |                      | |\n       |F|            |F|                      |F|\n       |I|            |I|                      |I|\n       |F|            |F|                      |F|\n       |O|            |O|                      |O|\n       | |            | |                      | |\n       |1|            |2|                      |N|\n       | |            | |                      | |\n       +-+            +-+                      +-+\n        ^              ^                        ^\n        |              |                        |\n    process_1      process_2           ...  process_N\n\n\nEach slot is given a TTL, after which, if there was no update - the slot is\ncleared - helping you spot broken sensors and not fool yourself with stale\ndata.\n\nWhat is a sensor?\nAny process that outputs lines of text.\n\nWhat goes into a FIFO?\nLines of text. Each new line filling the slot corresponding to the sensor.\n\n\nUSAGE\n-----\n\n    pista [OPTION ...] SPEC [SPEC ...]\n\n      SPEC       = FILE_PATH DATA_WIDTH DATA_TTL\n      FILE_PATH  = string\n      DATA_WIDTH = int    /* (positive) number of characters */\n      DATA_TTL   = float  /* (positive) number of seconds */\n      OPTION     = -i INTERVAL\n                 | -s SEPARATOR\n                 | -x     /* Output to X root window */\n                 | -l LOG_LEVEL\n                 | -e EXPIRY_CHARACTER\n      SEPARATOR  = string\n      INTERVAL   = float  /* (positive) number of seconds */\n      LOG_LEVEL  = int    /* 0 (nothing)\n                           * 1 (error)\n                           * 2 (warn)\n                           * 3 (info)\n                           * 4 (debug)\n                           */\n      EXPIRY_CHARACTER = string  /* Character with which to fill the slot\n                                  * upon expiration.\n                                  */\n\nEXAMPLES\n--------\n\nSee demo file for a working example.\n\n### dwm\n\nFor dwm there's an -x flag which causes the status to be sent directly to\nthe X11 root window name (which is what dwm uses as its status):\n\n    pista -x a 10 15 b 20 5 \u0026\n\n### other\n\nFor other things you'll need to route pista's stdout output lines to the\ndesired location.\n\n#### tmux\n\nLet's say tmux for example:\n\n1. Run pista from somewhere (like ~/.xinitrc):\n\n    pista a 10 15 b 20 5 | while read line; do echo \"$line\" \u003e ~/.status; done \u0026\n\n2. Then in ~/.tmux.conf\n\n    set -g status-right \"#(cat ~/.status)\"\n\n\nLINKS\n-----\n\n- [dwm](https://dwm.suckless.org/)\n- [ii](https://tools.suckless.org/ii/)\n- [tmux](https://tmux.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxandkar%2Fpista","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxandkar%2Fpista","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxandkar%2Fpista/lists"}