{"id":19903668,"url":"https://github.com/regolith-linux/remontoire","last_synced_at":"2026-09-13T05:30:17.829Z","repository":{"id":37022773,"uuid":"230026694","full_name":"regolith-linux/remontoire","owner":"regolith-linux","description":"A keybinding viewer for i3 and other programs.","archived":false,"fork":false,"pushed_at":"2026-07-12T17:09:57.000Z","size":101,"stargazers_count":74,"open_issues_count":5,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-09-04T06:24:01.343Z","etag":null,"topics":["i3-wm","tiling-window-manager","vala"],"latest_commit_sha":null,"homepage":"","language":"Vala","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/regolith-linux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2019-12-25T02:07:47.000Z","updated_at":"2026-07-12T17:10:30.000Z","dependencies_parsed_at":"2026-09-04T06:35:46.534Z","dependency_job_id":null,"html_url":"https://github.com/regolith-linux/remontoire","commit_stats":{"total_commits":56,"total_committers":5,"mean_commits":11.2,"dds":0.0714285714285714,"last_synced_commit":"68d562c78d6e0094ca744bd7161c308f583e93e4"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/regolith-linux/remontoire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regolith-linux%2Fremontoire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regolith-linux%2Fremontoire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regolith-linux%2Fremontoire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regolith-linux%2Fremontoire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/regolith-linux","download_url":"https://codeload.github.com/regolith-linux/remontoire/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regolith-linux%2Fremontoire/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37259491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-13T02:00:22.117Z","response_time":122,"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":["i3-wm","tiling-window-manager","vala"],"created_at":"2024-11-12T20:24:49.954Z","updated_at":"2026-09-13T05:30:17.823Z","avatar_url":"https://github.com/regolith-linux.png","language":"Vala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remontoire\n\n## Summary\n\n| Summary | Screenshot |\n| ------- | ---------- | \n| Remontoire is a small (~71Kb) GTK app for presenting keybinding hints in a compact form suitable for tiling window environments.  It is intended for use with the i3 window manager but it's also able to display keybindings from any suitably formatted config file. The program functions by scanning and parsing comments in a specific format (described directly below), then displaying them in a one-layer categorized list view.  The program stores the state of which sections are expanded, allowing for use on screens with limited resolution. | ![screenshot](https://regolith-linux.org/images/releases/regolith-remontoire-screenshot-131.png) |\n\n## Model\n\nRemontoire utilizes the concept of a `category` to group items, `action` to denote the human description, and `keybinding` to define the specific keys corresponding to the action.  The format is designed to be both easily parsable by program but also readable in it's native form by people:\n\n```\n## \u003ccategory\u003e // \u003caction\u003e // \u003ckeybinding\u003e ## \u003creserved for user notes\u003e\n```\n\nText within `\u003ccategory\u003e`, `\u003caction\u003e`, and `\u003ckeybinding\u003e` must not contain the sequences `##`, `//`, or line feeds.\n\nExamples:\n\n```\n...\n## Navigate // Relative Window // \u003cSuper\u003e ↑ ↓ ← → ##\nbindsym $mod+Left focus left\n...\n```\n\n```\n...\n## Launch // Application // \u003cSuper\u003e Space ## some extra notes that are ignored by Remontoire but maybe of interest to those reading the config file.\nbindsym $mod+space exec $i3-wm.program.launcher.app\n```\n\nAny line that doesn't contain the structure listed here will be ignored.\n\n## Usage\n\n```\nUsage:\n  remontoire [OPTION?]\n\nHelp Options:\n  -h, --help                           Show help options\n\nApplication Options:\n  -v, --version                        Display version number\n  -s, --socket=\u003cSocket URI\u003e            Socket path for i3\n  -c \u003cPath to config file\u003e             Config file\n  -i \u003cRead from standard input\u003e        Read from standard input\n  -t \u003cPath to style file\u003e              CSS file\n  -p \u003ccomment line prefix\u003e             Prefix of comment line\n\n```\n\nWith `-s`, Remontoire communicates with i3 via domain sockets to retrieve the active i3 config file.  To determine the socket path on a system running i3:\n```bash\n$ i3 --get-socketpath\n```\n\nOr altogether:\n```bash\n$ remontoire -s `i3 --get-socketpath`\n```\n\nRemontoire can also be passed a file path and will read from that instead of the i3 socket.  In this mode, Remontoire can be used to display keybindings from any file that utilize the comment format.\n\n```bash\n$ remontoire -c /etc/something/interesting.conf\n```\n\nAs a third option to provide your config files, Remontoire can read from STDIN. Use this option\nif you want to pass in the contents of multiple config files.\n\nOnce executed Remontoire will display a sticky floating window on the right-center of the primary monitor. Upon first launch, all categories are collapsed.  User selections to open categories are persisted across instantiations of the program.\n\n### Toggle\n\nIt is suggested to use a small shell script to allow the dialog to be toggled on and off with a hotkey.  Here is one such script from Regolith:\n\n```\n#!/bin/bash\n# If remontoire is running, kill it.  Otherwise start it.\n\nremontoire_PID=$(pidof remontoire)\n\nif [ -z \"$remontoire_PID\" ]; then\n    /usr/bin/remontoire -s $(printenv I3SOCK) \u0026\nelse\n    kill $remontoire_PID\nfi\n```\n\n## Configuration\n\nRemontoire utilizes GLib settings to store configuration using the namespace `org.regolith-linux.remontoire`.  The following settings are available for user customization:\n\n### Window Position\n```\nwindow-position \u003cnorth|south|east|west\u003e\n```\n\n#### Example\n\n```bash\n$ gsettings set org.regolith-linux.remontoire window-position \"west\"\n```\n\n### Padding\n\nVertical and horizontal padding can be specified independently, allowing for bars or other UI widgets to be accounted for when placing the window.  The keys for padding are `window-padding-width` and `window-padding-height` and the value units are pixels.\n\n#### Example\n\n```bash\n$ gsettings set org.regolith-linux.remontoire window-padding-width 10\n$ gsettings set org.regolith-linux.remontoire window-padding-height 20\n```\n\n## Style\n\nYou can specify a custom CSS file to change the look of the dialog.  The built-in CSS as of version 1.3.0:\n\n```css\n.window {\n  margin: 4px;\n}\n\n*:selected {\n  background-color: @theme_bg_color;\n  color: @theme_text_color;\n}\n\n.category {\n  padding-top: 2px;\n  padding-bottom: 2px;\n  font-weight: bold;\n  font-size: .95em;\n  color: @theme_unfocused_fg_color;\n}\n\n.action {\n  padding-right: 10px;\n  padding-left: 15px;\n  font-weight: lighter;\n}\n\n.error {\n  padding: 15px;\n  font-size: 1.2em;\n  font-weight: bold;\n}\n\n.metakey {\n  font-family: monospace;\n  font-weight: normal;\n  background-color: @insensitive_bg_color;\n  border: 1px solid;\n  border-color: @insensitive_base_color;\n  color: @theme_unfocused_fg_color;\n\n  padding: 2px;\n  margin: 2px;\n  font-size: .9em;\n}\n\n.rangekey {\n  font-family: monospace;\n  font-weight: normal;\n  background-color: @insensitive_bg_color;\n  border: 1px solid;\n  border-color: @insensitive_base_color;\n  color: @theme_unfocused_fg_color;\n\n  padding: 2px;\n  margin: 2px;\n  font-size: .9em;\n}\n\n.key {\n  font-family: monospace;\n  font-weight: normal;\n  background-color: @insensitive_bg_color;\n  border: 1px solid;\n  border-color: @insensitive_base_color;\n  color: @theme_unfocused_fg_color;\n\n  padding: 2px;\n  margin: 2px;\n  font-size: .9em;\n}\n\n.detail {\n  margin: 2px;\n}\n```\n\n## Using Remontoire to view keybindings for arbitrary config files\n\nSince Remontoire parses comments and not actual keybindings, it can be used as a keybinding viewer for any app that stores keybindings in plain text and supports comments, like Sway or Vim. Use the `-c` or  `-i` options documented above to supply the config files. If config doesn't use `#` as a comment prefix, you use the `-p` option to supply comment prefix to go immediately before '##'. Here's an example of parsing a comment using Vim's quote character as a prefix:\n\n    echo '\"## Category // Description // \u003cSuper\u003e J ##' | remontoire -i -p '\"'\n\n## Install Package\n\n### Ubuntu\n\nRemontoire is available from the Regolith Linux `stable` PPA:\n\n```\n$ sudo add-apt-repository ppa:regolith-linux/stable\n$ sudo apt install remontoire\n```\n\n### openSUSE\n\nRemontoire is available from the X11:Utilities devel project:\n\n```\n$ sudo zypper ar -f obs://X11:Utilities X11Utilities\n$ sudo zypper ref\n$ sudo zypper in remontoire\n```\n\n### Fedora\n\nRemontoire is available in [X3MBoy's Copr](https://copr.fedorainfracloud.org/coprs/x3mboy/remontoire/). Install is available for Fedora 40, 41, 42 and rawhide:\n\n```\nsudo dnf copr enable x3mboy/remontoire\nsudo dnf install remontoire\n```\n\n## Build from Source\n\nMeson, Vala and Gtk+ libraries are required to build.  After downloading sources, from within the project root, execute the following:\n\n```bash\n$ meson build\n$ cd build\n$ ninja\n$ src/remontoire -c \u003cpath to your config\u003e\n... or ...\n$ src/remontoire -s `i3 --get-socketpath`\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregolith-linux%2Fremontoire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fregolith-linux%2Fremontoire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregolith-linux%2Fremontoire/lists"}