{"id":15723733,"url":"https://github.com/epilys/rlr","last_synced_at":"2025-04-05T14:06:16.111Z","repository":{"id":57661031,"uuid":"437497847","full_name":"epilys/rlr","owner":"epilys","description":"interactive pixel screen ruler and protractor","archived":false,"fork":false,"pushed_at":"2024-12-01T16:01:32.000Z","size":3433,"stargazers_count":63,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T13:08:55.438Z","etag":null,"topics":["design","graphic-design","gtk","ruler","rust","rust-gtk","screen-ruler"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/rlr-gtk","language":"Rust","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/epilys.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-12-12T09:03:40.000Z","updated_at":"2025-01-25T06:31:30.000Z","dependencies_parsed_at":"2025-01-15T04:29:29.994Z","dependency_job_id":"fe4bfa51-558b-4b49-a1e6-0b286a9170a1","html_url":"https://github.com/epilys/rlr","commit_stats":{"total_commits":31,"total_committers":3,"mean_commits":"10.333333333333334","dds":"0.16129032258064513","last_synced_commit":"463c61732b16285a3854449bdecb9cf57a14d376"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Frlr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Frlr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Frlr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epilys%2Frlr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epilys","download_url":"https://codeload.github.com/epilys/rlr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345852,"owners_count":20924102,"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":["design","graphic-design","gtk","ruler","rust","rust-gtk","screen-ruler"],"created_at":"2024-10-03T22:13:06.289Z","updated_at":"2025-04-05T14:06:16.082Z","avatar_url":"https://github.com/epilys.png","language":"Rust","funding_links":[],"categories":["Graphics"],"sub_categories":["Technical Graphics"],"readme":"# `rlr`: a pixel screen ruler\n\n![Minimum Supported Rust Version](https://img.shields.io/badge/MSRV-1.70.0-blue) [![GitHub license](https://img.shields.io/github/license/epilys/rlr)](https://github.com/epilys/rlr/blob/master/LICENSE) [![Crates.io](https://img.shields.io/crates/v/rlr-gtk)](https://crates.io/crates/rlr-gtk)\n\n![./rlr.png](./rlr.png)\n\nRust + GTK interactive pixel screen ruler with protractor mode.\n\n```shell\ncargo install rlr-gtk\n```\n\nAlternatively, a flatpak manifest file is included so that you can build and install as a flatpak bundle.\n\n## Demo\n\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd colspan=2 align=\"center\"\u003e\u003ckbd\u003e\n\n![./demo.png](./demo.png)\n\u003c/kbd\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ckbd\u003e\n\n![./demo.gif](./demo.gif)\n\n\u003c/kbd\u003e\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003e\n\n![./demo_move.gif](./demo_move.gif)\n\n\u003c/kbd\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n## Use\n\nTo use application settings, the app's settings schema but be installed in your system.\nIt is possible to attempt to do this automatically via the Settings menu, which will install the schema to `${HOME}/.local/share/glib-2.0/schemas/` and subsequently attempt to compile it; but the directory must exist beforehand, it won't be created.\n\n`rlr` includes a command-line argument `--install-gsettings-schema` that creates the settings schema at the given directory.\nIf directory is `-`, it will be printed to standard output instead.\n\n*Note*: The directory values should probably be one of: `${HOME}/.local/share/glib-2.0/schemas/`, `/usr/share/glib-2.0/schemas/` or similar.\n\nFor the settings schema to be discoverable, it must be compiled with `glib-compile-schemas`.\n\nAn example usage:\n\n```shell\nrlr --install-gsettings-schema \"${HOME}/.local/share/glib-2.0/schemas/\"\n```\n\nand then:\n\n```shell\nglib-compile-schemas \"${HOME}/.local/share/glib-2.0/schemas/\"\n```\n\n### Shortcuts\n\nIf you are on macOS, use \u003ckbd\u003e⌘\u003c/kbd\u003e (Command) key instead of \u003ckbd\u003eCtrl\u003c/kbd\u003e.\n\n- **Quit** with \u003ckbd\u003eq\u003c/kbd\u003e or \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e.\n- Click to **drag**.\n- Press \u003ckbd\u003e?\u003c/kbd\u003e or \u003ckbd\u003eF1\u003c/kbd\u003e to **open the About and Help window**.\n- Press \u003ckbd\u003es\u003c/kbd\u003e or \u003ckbd\u003eF2\u003c/kbd\u003e to **open the Settings window**.\n- Press \u003ckbd\u003er\u003c/kbd\u003e to **rotate** 90 degrees. Press \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003er\u003c/kbd\u003e to **flip (mirror)** the marks without rotation.\n- Press \u003ckbd\u003ep\u003c/kbd\u003e to toggle **protractor mode**.\n- Press \u003ckbd\u003ef\u003c/kbd\u003e or \u003ckbd\u003eSpace\u003c/kbd\u003e to toggle **freezing the measurements**.\n- Press \u003ckbd\u003eCtrl\u003c/kbd\u003e and drag the angle base side to **rotate it while in protractor mode**.\n- Press \u003ckbd\u003eCtrl\u003c/kbd\u003e continuously to **disable precision** (measurements will snap to nearest integer).\n- Press \u003ckbd\u003e+\u003c/kbd\u003e to **increase size**. Press \u003ckbd\u003e-\u003c/kbd\u003e to **decrease size**.\n- Press \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e+\u003c/kbd\u003e, \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e+\u003c/kbd\u003e to **increase font size**. Press \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e-\u003c/kbd\u003e, \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e-\u003c/kbd\u003e to **decrease font size**.\n- Press \u003ckbd\u003eUp\u003c/kbd\u003e, \u003ckbd\u003eDown\u003c/kbd\u003e, \u003ckbd\u003eLeft\u003c/kbd\u003e, \u003ckbd\u003eRight\u003c/kbd\u003e to **move window position by 10 pixels**. Also hold down \u003ckbd\u003eCtrl\u003c/kbd\u003e to **move by 1 pixel**.\n\n## Build\n\n```shell\ncargo build --release\n```\n\nBuild as flatpak and install:\n\n```shell\nflatpak-builder --install repo com.github.epilys.rlr.json --force-clean --user -y\n```\n\nAfterwards you can run from your desktop's application menu (under category \"Graphics\") or from the terminal with:\n\n```shell\nflatpak run com.github.epilys.rlr\n```\n\n## Packaging\n\nTo help packagers in OSes that support the XDG Desktop standards, a `.desktop`\napp launcher filer, an application icon and a symbolic application icon are\nincluded.\n\n- `data/com.github.epilys.rlr.desktop` should be installed in any of the following:\n  `/usr/share/applications/`, `/usr/local/share/applications/` or\n  `$HOME/.local/share/applications/`.\n- `data/com.github.epilys.rlr.svg` should be installed in\n  `/usr/share/icons/hicolor/scalable/apps/com.github.epilys.rlr.svg`.\n- `data/com.github.epilys.rlr.symbolic.svg` should be installed in\n  `/usr/share/icons/hicolor/symbolic/apps/com.github.epilys.rlr.svg`.\n\nThe files have been contributed by \u003chttps://github.com/somepaulo\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepilys%2Frlr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepilys%2Frlr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepilys%2Frlr/lists"}