# `rlr`: a pixel screen ruler ![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) ![./rlr.png](./rlr.png) Rust + GTK interactive pixel screen ruler with protractor mode. ```shell cargo install rlr-gtk ``` ## Demo
![./demo.png](./demo.png)
![./demo.gif](./demo.gif) ![./demo_move.gif](./demo_move.gif)
## Use To use application settings, the app's settings schema but be installed in your system. It 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. `rlr` includes a command-line argument `--install-gsettings-schema` that creates the settings schema at the given directory. If directory is `-`, it will be printed to standard output instead. *Note*: The directory values should probably be one of: `${HOME}/.local/share/glib-2.0/schemas/`, `/usr/share/glib-2.0/schemas/` or similar. For the settings schema to be discoverable, it must be compiled with `glib-compile-schemas`. An example usage: ```shell rlr --install-gsettings-schema "${HOME}/.local/share/glib-2.0/schemas/" ``` and then: ```shell glib-compile-schemas "${HOME}/.local/share/glib-2.0/schemas/" ``` ### Shortcuts If you are on macOS, use (Command) key instead of Ctrl. - **Quit** with q or Ctrl + Q. - Click to **drag**. - Press ? or F1 to **open the About and Help window**. - Press s or F2 to **open the Settings window**. - Press r to **rotate** 90 degrees. Press Shift + r to **flip (mirror)** the marks without rotation. - Press p to toggle **protractor mode**. - Press f or Space to toggle **freezing the measurements**. - Press Ctrl and drag the angle base side to **rotate it while in protractor mode**. - Press Ctrl continuously to **disable precision** (measurements will snap to nearest integer). - Press + to **increase size**. Press - to **decrease size**. - Press Ctrl + +, Ctrl + + to **increase font size**. Press Ctrl + -, Ctrl + - to **decrease font size**. - Press Up, Down, Left, Right to **move window position by 10 pixels**. Also hold down Ctrl to **move by 1 pixel**. ## Build ```shell cargo build --release ``` ## Packaging To help packagers in OSes that support the XDG Desktop standards, a `.desktop` app launcher filer, an application icon and a symbolic application icon are included. - `rlr.desktop` should be installed in any of the following: `/usr/share/applications/`, `/usr/local/share/applications/` or `$HOME/.local/share/applications/`. - `rlr.svg` should be installed in `/usr/share/icons/hicolor/scalable/apps/rlr.svg`. - `rlr.symbolic.svg` should be installed in `/usr/share/icons/hicolor/symbolic/apps/rlr.svg`. The files have been contributed by .