{"id":30802056,"url":"https://github.com/numbleroot/i3blocks-go","last_synced_at":"2025-09-15T07:05:43.641Z","repository":{"id":57597902,"uuid":"83036724","full_name":"numbleroot/i3blocks-go","owner":"numbleroot","description":"Scripts for i3blocks block functionality. Written in Go.","archived":false,"fork":false,"pushed_at":"2019-04-28T17:05:51.000Z","size":90,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-31T20:54:30.147Z","etag":null,"topics":["go","golang","i3bar","i3blocks","i3wm"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/numbleroot.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2017-02-24T11:54:05.000Z","updated_at":"2025-05-02T04:56:05.000Z","dependencies_parsed_at":"2022-08-28T10:22:03.377Z","dependency_job_id":null,"html_url":"https://github.com/numbleroot/i3blocks-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/numbleroot/i3blocks-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numbleroot%2Fi3blocks-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numbleroot%2Fi3blocks-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numbleroot%2Fi3blocks-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numbleroot%2Fi3blocks-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/numbleroot","download_url":"https://codeload.github.com/numbleroot/i3blocks-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numbleroot%2Fi3blocks-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273820982,"owners_count":25174126,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["go","golang","i3bar","i3blocks","i3wm"],"created_at":"2025-09-05T21:12:28.172Z","updated_at":"2025-09-05T21:12:38.920Z","avatar_url":"https://github.com/numbleroot.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# i3blocks-go\n\n[![License: GPLv3](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://github.com/numbleroot/i3blocks-go/blob/master/LICENSE) [![Go Report Card](https://goreportcard.com/badge/github.com/numbleroot/i3blocks-go)](https://goreportcard.com/report/github.com/numbleroot/i3blocks-go)\n\nScripts for alternative [i3blocks](https://github.com/vivien/i3blocks) blocklets to be used in the [i3 window manager](https://i3wm.org/). I wanted to modify and expand the default blocklets available with i3blocks. Additionally, I preferred them to be in ELF format and not an interpreted scripting language which is why they are implemented in Go. My final i3blocks setup looks like:\n\n![Screenshot of numbleroot's i3blocks configuration using i3blocks-go](screenshot.png)\n\n\n## Requirements\n\nIf you want to build this project from source, you need to have a working [Go](https://golang.org/) installation. If you do not currently have Go installed and configured, please find out your distribution's recommended way of doing so and follow it through.\n\nAs this project provides alternative blocklets for a configured i3blocks bar in an i3 window manager, both i3 and i3blocks are required to be present. [Fira Mono](https://mozilla.github.io/Fira/) is used in later examples, so install the font on your system if you would like to configure your bar to look like the one in above screenshot.\n\n\n## Installation\n\n### Build From Source\n\nFirst, retrieve this project by running:\n```\n$ go get -u github.com/numbleroot/i3blocks-go\n```\n\nChange into the newly created directory and `make install` the provided source files:\n```\n$ cd ${GOPATH}/src/github.com/numbleroot/i3blocks-go\n$ make install\n```\n\nNow, all compiled blocklets will be ready to be executed at `~/.config/i3blocks-go/`:\n```\n$ ls ~/.config/i3blocks-go\nbattery  date-time  internal-ip  load-average  public-ip  temperature  uptime\n```\n\n\n## Usage in i3blocks\n\nProvided will be a minimum needed configuration to integrate this project's blocklets into i3 and i3blocks.\n\nThe `bar` section of your `~/.config/i3/config` file should at least contain the following:\n```\nbar {\n        status_command i3blocks\n        font pango:Fira Mono 20\n}\n```\n\nNext, consult provided [i3blocks example config](https://github.com/numbleroot/i3blocks-go/blob/master/example-i3blocks.conf) to select, configure, and display the blocklets you would like to use.\n\nReload i3 and enjoy beautiful blocklets.\n\n\n## Blocklet Specifics\n\n**public-ip**: Queries [ifconfig.co/ip](https://ifconfig.co/ip) in defined interval to determine your public IP address. Pass `-city` flag to get name of the city instead of IP\n\n**internal-ip**: Displays the first found IP address associated with the first network interface marked as being active and not the loopback interface of your machine.\nIt is possible to specify an interface name to use by passing an argument. `-ifaceName wlp2s0` Look up interface names by running `ip addr show`\n\n**uptime**: By default, shows your machine's uptime in format `hh:mm`. If you would like to see the seconds value as well, change the `command` value of blocklet `uptime` to `command=~/.config/i3blocks-go/uptime -showSeconds`. Consults your system's `/proc/uptime` file.\n\n**load-average**: If enough space is available, shows your machine's load average for the last 1, 5, and 15 minutes provided by `/proc/loadavg` file. If space is limited, only shows the load average of the last minute.\n\n**temperature**: Reads the CPU temperature from `/sys/class/hwmon/hwmon0/temp1_input` and displays the value. The font color is set accordingly to provided `-highTemp XX` and `-criticalTemp YY` temperature values.\n\n**battery**: Consults three files located at `/sys/class/power_supply/` to simply show your machine's current charge percentage appropriately colored. Exclude this blocklet if your machine does not feature a battery.\n\n**volume**: Executes `amixer sget Master` and extracts volume level in percent as well as whether your speakers are currently muted. Outputs fitting icon and volume level.\n\n**date-time**: Displays current date and time formatted as `yyyy-mm-dd hh:mm`. If you would like to see seconds as well, append flag `-showSeconds` to `command`.\n\n\n## License\n\nThis project is [GPLv3](https://github.com/numbleroot/i3blocks-go/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumbleroot%2Fi3blocks-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnumbleroot%2Fi3blocks-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumbleroot%2Fi3blocks-go/lists"}