{"id":18096150,"url":"https://github.com/bbilly1/i3_cockpit","last_synced_at":"2025-10-27T05:31:18.616Z","repository":{"id":131864429,"uuid":"332235243","full_name":"bbilly1/i3_cockpit","owner":"bbilly1","description":"Loose collections of scripts for i3 and i3blocks.","archived":false,"fork":false,"pushed_at":"2022-02-05T07:47:02.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-19T11:13:59.282Z","etag":null,"topics":["i3","i3blocks-scripts","mpc","mpd"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbilly1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-01-23T14:55:03.000Z","updated_at":"2022-02-05T07:47:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"3fba1a77-0cf3-4bf0-9b4c-a935895f6848","html_url":"https://github.com/bbilly1/i3_cockpit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbilly1%2Fi3_cockpit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbilly1%2Fi3_cockpit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbilly1%2Fi3_cockpit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbilly1%2Fi3_cockpit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbilly1","download_url":"https://codeload.github.com/bbilly1/i3_cockpit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238444814,"owners_count":19473596,"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":["i3","i3blocks-scripts","mpc","mpd"],"created_at":"2024-10-31T19:12:49.900Z","updated_at":"2025-10-27T05:31:18.253Z","avatar_url":"https://github.com/bbilly1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# loose collection of scripts related to i3 and i3blocks\n\n## mpd_controller \nA set of Python scripts to manage mpd (Music Player Daemon). It uses notify-send to display the current song playing with cover art if embeded in the metadata. Is meant to run as a scritp from i3blocks  \nbut can also be called via the media keys on your keyboard.\n\n### how to use\nThe main file is **mpd_main.py**, called without arguments, it will just output the current status.  \nThe script expects mpd to be running on localhost:6600, and will try to start the daemon  \nif it looks like it is not running already.\nAdditionaly the following arguments can be passed:\n\n* **toggle**: if mpd is playing, it will pause, if is paused it will resume\n* **next**: jump to next song in playlist\n* **prev**: jump to previous song in playlist\n\n### Config:\nin mpd_main.py edit *signal_id* to change to the id used in your i3blocks.conf file so the script can be called from anywhere.\n\n### Install:\nNone standard Python dependencies:\n**python-mpd** [python-mpd2](https://pypi.org/project/python-mpd2/)\n* On Arch: `sudo pacman -S python-mpd2`\n* Via Pip: `pip install python-mpd2`\n\n### Additional:\n`notify-send` will get called via subprocess, works best with [Dunst](https://dunst-project.org/documentation/) to show current song playing with cover art extracted from metadata.\n\n\n## i3block_py\nA collection of standalone python scripts for the slightly more complicated things.  \n* **energy.py**: parses `acpi` to output current battery status. Uses `notify-send` to send messages on changes.\n* **cpu.py**: parses `/proc/loadavg` to output load average values for last 1, last 5 and last 15 min.\n    * call `cpu.py 1` to get the avg from last min\n    * call `cpu.py 5` to get the avg from last 5 min\n    * call `cpu.py 15` to get the avg from last 15 min\n* **volume.py**: Now compatible with *pipewire*, parses output of `pactl` to output activ sink and current volume to i3blocks and manages music volume hotkeys.\n    * call `volume.py` without args to output status for i3blocks\n    * call `volume.py vol_up` to increase volume by 5%\n    * call `volume.py vol_down` to decrease volume by 5%\n    * call `volume.py mute` to toggle mute\n\n\n## i3block_shell\nA bunch of simple bash scripts to be called via i3blocks.\n* **coretemp.sh**: Echos average temperature of all CPU cores by parsing output of `sensors` from package *lm_sensors*, uses icons from [fontawesome.com](https://fontawesome.com/).\n* **date.sh**: Echos the current date.\n    * on left click: uses notify-send to print current three month calendar.\n* **df.sh**: Echos current diskfree level of the root partition.\n    * on left click: uses notify-send to print the df of all relevant connected partitions.\n* **ip.sh**: Echos current ip addresses in use or inactive when offline.\n* **updates.sh**: Echos how many updates are pending.\n    * on left click: echos the complete list of all pending updates.\n    * on right click: refreshes the current pending updates and echos result.\n* **wifiinfo.sh**: Echos current db level of signal strength.\n    * on left click: Uses nmcli to echo all device status.\n\n\n## weather_applet\nStandalone script that pulls weather data from [openweathermap.org](https://openweathermap.org/) and prints out \ncurrent temperature and weather. Meant to be used from i3blocks.  \nIcons used to display the current weather condition are from [fontawesome.com](https://fontawesome.com/).\n* on left click: Get three days forecast, use `notify-send` to send message, works best with *dunst* setup.\n\n### Config:\nGet your free openweathermap API key from [here](https://home.openweathermap.org/api_keys).  \nCreate a file called *config* in the same directory as the *weather.py* script and copy the sample \ndata from *config.sample*:\n* Replace the dummy *openweathermap_api_key* with your key.\n* Add *lat* and *lon* values with the latitude and longitude values from your location.\n* Add unit of measurement: *metric* or *imperial* to get results in C° or F°.\n\n### Install:\nNone standard Python dependencies:\n**python-requests** [requests](https://requests.readthedocs.io/en/master/)\n* On Arch: `sudo pacman -S python-requests`\n* Via Pip: `pip install requests`\n\nFontawesome font pakage:\n* On Arch: `sudo pacman -S ttf-font-awesome`\n* On Ubuntu: `sudo apt install fonts-font-awesome`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbilly1%2Fi3_cockpit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbilly1%2Fi3_cockpit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbilly1%2Fi3_cockpit/lists"}