{"id":13875990,"url":"https://github.com/svenstaro/wmfocus","last_synced_at":"2025-04-07T14:04:43.351Z","repository":{"id":37733406,"uuid":"134962542","full_name":"svenstaro/wmfocus","owner":"svenstaro","description":"Visually focus windows by label","archived":false,"fork":false,"pushed_at":"2024-10-04T04:24:23.000Z","size":807,"stargazers_count":231,"open_issues_count":19,"forks_count":20,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-31T13:04:32.335Z","etag":null,"topics":["i3","i3wm","manager","window","wm"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svenstaro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"svenstaro"}},"created_at":"2018-05-26T13:13:10.000Z","updated_at":"2025-03-20T14:42:00.000Z","dependencies_parsed_at":"2023-12-16T01:27:39.573Z","dependency_job_id":"dae5883b-76f2-4a90-af28-f70030507301","html_url":"https://github.com/svenstaro/wmfocus","commit_stats":{"total_commits":308,"total_committers":12,"mean_commits":"25.666666666666668","dds":0.5551948051948052,"last_synced_commit":"5fe5b67cd76139e91003700a4a88d5c8a8aed5d4"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenstaro%2Fwmfocus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenstaro%2Fwmfocus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenstaro%2Fwmfocus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenstaro%2Fwmfocus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svenstaro","download_url":"https://codeload.github.com/svenstaro/wmfocus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247666004,"owners_count":20975787,"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","i3wm","manager","window","wm"],"created_at":"2024-08-06T06:00:54.994Z","updated_at":"2025-04-07T14:04:43.323Z","avatar_url":"https://github.com/svenstaro.png","language":"Rust","funding_links":["https://github.com/sponsors/svenstaro"],"categories":["Rust","others"],"sub_categories":[],"readme":"# wmfocus - Visually focus windows by label\n\n[![CI](https://github.com/svenstaro/wmfocus/workflows/CI/badge.svg)](https://github.com/svenstaro/wmfocus/actions)\n[![Crates.io](https://img.shields.io/crates/v/wmfocus.svg)](https://crates.io/crates/wmfocus)\n[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/svenstaro/wmfocus/blob/master/LICENSE)\n[![Stars](https://img.shields.io/github/stars/svenstaro/wmfocus.svg)](https://github.com/svenstaro/wmfocus/stargazers)\n[![Lines of Code](https://tokei.rs/b1/github/svenstaro/wmfocus)](https://github.com/svenstaro/wmfocus)\n\nThis tool that allows you to rapidly choose a specific window directly without having to use the mouse or directional keyboard navigation.\n\n![Screen cast](cast.apng)\n\nThanks to cairo, it should work on all kinds of screens and automatically display at the correct size according to your DPI.\n\n\n## Installation\n\n\u003ca href=\"https://repology.org/project/wmfocus/versions\"\u003e\u003cimg align=\"right\" src=\"https://repology.org/badge/vertical-allrepos/wmfocus.svg\" alt=\"Packaging status\"\u003e\u003c/a\u003e\n\n**On Arch Linux**: `pacman -S wmfocus`\n\n**With Cargo**: `cargo install --features i3 wmfocus`\n\n## Usage\n\nDraw labels on the upper-left corner of all windows:\n\n    wmfocus\n\nCompletely fill out windows and draw the label in the middle (try it with transparency!):\n\n    wmfocus --fill\n\nUse a different font (as provided by fontconfig):\n\n    wmfocus -f \"Droid Sans\":100\n\nChange up the default colors:\n\n    wmfocus --textcolor red --textcoloralt \"#eeeeee\" --bgcolor \"rgba(50, 50, 200, 0.5)\"\n\nwmfocus will make use of a compositor to get real transparency.\n\n## Full help\n```\nwmfocus 1.5.0\n\nSven-Hendrik Haase \u003csvenstaro@gmail.com\u003e\n\nVisually focus windows by label\n\nUSAGE:\n    wmfocus [OPTIONS]\n\nOPTIONS:\n        --textcolor \u003cTEXT_COLOR\u003e                          Text color (CSS notation) [default: #dddddd]\n        --textcoloralt \u003cTEXT_COLOR_ALT\u003e                   Text color alternate (CSS notation) [default: #666666]\n        --bgcolor \u003cBG_COLOR\u003e                              Background color (CSS notation) [default: \"rgba(30, 30, 30, 0.9)\"]\n        --textcolorcurrent \u003cTEXT_COLOR_CURRENT\u003e           Text color current window (CSS notation) [default: #333333]\n        --textcolorcurrentalt \u003cTEXT_COLOR_CURRENT_ALT\u003e    Text color current window alternate (CSS notation) [default: #999999]\n        --bgcolorcurrent \u003cBG_COLOR_CURRENT\u003e               Background color current window (CSS notation) [default: \"rgba(200, 200, 200, 0.9)\"]\n        --halign \u003cHORIZONTAL_ALIGN\u003e                       Horizontal alignment of the box inside the window [default: left] [possible values: left, center, right]\n        --valign \u003cVERTICAL_ALIGN\u003e                         Vertical alignment of the box inside the window [default: top] [possible values: top, center, bottom]\n        --fill                                            Completely fill out windows\n    -c, --chars \u003cHINT_CHARS\u003e                              Define a set of possbile values to use as hint characters [default: sadfjklewcmpgh]\n    -e, --exit-keys \u003cEXIT_KEYS\u003e...                        List of keys to exit application, sequences separator is space, key separator is '+', eg Control_L+g\n                                                          Shift_L+f\n    -f, --font \u003cFONT\u003e                                     Use a specific TrueType font with this format: family:size [default: Mono:72]\n    -h, --help                                            Print help information\n    -m, --margin \u003cMARGIN\u003e                                 Add an additional margin around the text box (value is a factor of the box size) [default: 0.2]\n    -o, --offset \u003cOFFSET\u003e                                 Offset box from edge of window relative to alignment (x,y) [default: 0,0]\n    -p, --print-only                                      Print the window id only but don't change focus\n    -V, --version                                         Print version information\n```\n\n## Troubleshooting\n\nIf there's some funky stuff, you can try to track it down by running `wmfocus` with `RUST_LOG=trace`:\n\n    RUST_LOG=trace wmfocus\n\nThis will print quite some useful debugging info.\n\n\n## Compiling\n\nYou need to have recent versions of `rust`, `cargo`, `xcb-util-keysyms`, `libxkbcommon-x11` and `cairo` installed.\n\nThen, just clone it like usual and `cargo run` to get output:\n\n    git clone https://github.com/svenstaro/wmfocus.git\n    cd wmfocus\n    cargo run --features i3\n\n\n## Window manager support\n\nWhile this tool is window manager-independent, an implementation for your favorite window manager might not yet be available. Current support:\n\n- i3\n- sway (partial, accepting PRs)\n\nIf you want to implement support for more window managers, have a look at the [i3 implementation](https://github.com/svenstaro/wmfocus/blob/master/src/wm_i3.rs).\n\nThis tool is heavily inspired by [i3-easyfocus](https://github.com/cornerman/i3-easyfocus).\n\n\n## Releasing\n\nThis is mostly a note for me on how to release this thing:\n\n- `cargo release`\n- `cargo release --execute`\n- Release will automatically be deployed by GitHub Actions.\n- Update Arch package.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenstaro%2Fwmfocus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvenstaro%2Fwmfocus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenstaro%2Fwmfocus/lists"}