{"id":13645906,"url":"https://github.com/fd0/grobi","last_synced_at":"2025-03-17T08:36:49.849Z","repository":{"id":47637647,"uuid":"43595398","full_name":"fd0/grobi","owner":"fd0","description":"Automatically configure monitors/outputs for Xorg via RANDR","archived":false,"fork":false,"pushed_at":"2021-08-20T08:35:49.000Z","size":717,"stargazers_count":131,"open_issues_count":7,"forks_count":24,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T20:49:27.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fd0.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":"2015-10-03T10:23:05.000Z","updated_at":"2024-11-30T21:10:03.000Z","dependencies_parsed_at":"2022-09-06T15:21:06.034Z","dependency_job_id":null,"html_url":"https://github.com/fd0/grobi","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fd0%2Fgrobi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fd0%2Fgrobi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fd0%2Fgrobi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fd0%2Fgrobi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fd0","download_url":"https://codeload.github.com/fd0/grobi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243852425,"owners_count":20358270,"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":[],"created_at":"2024-08-02T01:02:44.716Z","updated_at":"2025-03-17T08:36:49.453Z","avatar_url":"https://github.com/fd0.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"[![Build Status](https://github.com/fd0/grobi/workflows/test/badge.svg)](https://github.com/fd0/grobi/actions?query=workflow%3Atest)\n\n# grobi\n\nThis program watches for changes in the available outputs (e.g. when a monitor\nis connected/disconnected) and will automatically configure the currently used\noutputs via RANDR according to configurable profiles.\n\n# Installation\n\nGrobi requires Go version 1.11 or newer to compile. To build grobi, run the\nfollowing command:\n\n```shell\n$ go build\n```\n\nAfterwards please find a binary of grobi in the current directory:\n```\n$ ./grobi --help\nUsage:\n  grobi [OPTIONS] \u003ccommand\u003e\n\nApplication Options:\n  -v, --verbose   Be verbose (false)\n  -C, --config=   Read config from this file\n  -n, --dry-run   Only print what commands would be executed without actually\n                  runnig them\n  -i, --interval= Number of seconds between polls, set to zero to disable\n                  polling (5)\n  -p, --pause=    Number of seconds to pause after a change was executed (2)\n  -l, --logfile=  Write log to file\n\nHelp Options:\n  -h, --help      Show this help message\n\nAvailable commands:\n  apply    apply a rule\n  update   update outputs\n  version  display version\n  watch    watch for changes\n\n```\n\n# Configuration\n\nHave a look at the sample configuration file provided at\n[`doc/grobi.conf`](doc/grobi.conf). By default, `grobi` uses the [XDG directory\nstandard](https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)\nto search for the config file. Most users will probably put the config file to\n`~/.config/grobi.conf`.\n\nIf you have any questions, please open an issue on GitHub.\n\nThere is also a [sample systemd](doc/grobi.service) unit file you can run as a\nuser. This requires that the `PATH` and `DISPLAY` environment variables can be\naccessed, so run the following command in e.g. your `~/.xsession` file just\nbefore starting the window manager:\n\n```\nsystemctl --user import-environment DISPLAY PATH\n```\n\nRun the command once to import the environment for the current session, then\nexecute the following commands to install and start the unit:\n\n```\nmkdir ~/.config/systemd/user\ncp doc/grobi.service ~/.config/systemd/user\nsystemctl --user enable grobi\nsystemctl --user start grobi\n```\n\nYou can then use `systemctl` to check the current status:\n\n```\nsystemctl --user status grobi\n```\n\n# Compatibility\n\nGrobi follows [Semantic Versioning](http://semver.org) to clearly define which\nversions are compatible. The configuration file and command-line parameters and\nuser-interface are considered the \"Public API\" in the sense of Semantic\nVersioning.\n\n# Development\n\n## Release New Version\n\nRough steps for releasing a new version:\n * Update version number in `cmd_version.go`, remove the `-dev` suffix\n * Commit and tag version\n * Add `-dev` suffix to version in `cmd_version.go`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffd0%2Fgrobi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffd0%2Fgrobi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffd0%2Fgrobi/lists"}