{"id":21206631,"url":"https://github.com/oncomouse/rivercarro","last_synced_at":"2025-10-08T01:42:33.629Z","repository":{"id":149628455,"uuid":"405670836","full_name":"oncomouse/rivercarro","owner":"oncomouse","description":null,"archived":false,"fork":false,"pushed_at":"2021-09-12T14:55:53.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-21T15:48:41.491Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Zig","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/oncomouse.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-12T14:55:32.000Z","updated_at":"2021-11-27T10:29:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"7d4ffd44-76cd-4fe0-998a-39b33473270b","html_url":"https://github.com/oncomouse/rivercarro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Frivercarro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Frivercarro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Frivercarro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Frivercarro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oncomouse","download_url":"https://codeload.github.com/oncomouse/rivercarro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658270,"owners_count":20326467,"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-11-20T20:56:16.402Z","updated_at":"2025-10-08T01:42:28.606Z","avatar_url":"https://github.com/oncomouse.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rivercarro\n\nA slightly modified version of _rivertile_ layout generator for\n**[river][]**\n\nCompared to _rivertile_, _rivercarro_ add:\n\n-   monocle layout\n-   smart gaps\n-   \"true\" inner gaps instead of padding around views\n\nI don't want to add too much complexity, the only thing I intend\nto add now is `smart borders`, after that I'll consider _rivercarro_\nfeatures complete. If you want a layout generator with more features\nand configuration, have a look at some others great community\ncontributions like [stacktile][] or [kile][].\n\n[river]: https://github.com/ifreund/river\n[stacktile]: https://sr.ht/~leon_plickat/stacktile/\n[kile]: https://gitlab.com/snakedye/kile\n\n# Building\n\nSame requirements as **[river][]**, use [zig 0.8.0][] too, if **[river][]** and\n_rivertile_ works on your machine you shouldn't have any problems\n\nInit submodules:\n\n    git submodule update --init\n\nBuild, `e.g.`\n\n    zig build --prefix ~/.local\n\n[river]: https://github.com/ifreund/river#building\n[zig 0.8.0]: https://ziglang.org/download/\n\n# Usage\n\nWorks exactly as _rivertile_, you can just replace _rivertile_ name by\n_rivercarro_ in your config, and read `rivertile(1)` man page\n\n`e.g.` In your **river** init (usually `$XDG_CONFIG_HOME/river/init`)\n\n```bash\n# Mod+H and Mod+L to decrease/increase the main ratio of rivercarro\nriverctl map normal $mod H send-layout-cmd rivercarro \"main-ratio -0.05\"\nriverctl map normal $mod L send-layout-cmd rivercarro \"main-ratio +0.05\"\n\n# Mod+Shift+H and Mod+Shift+L to increment/decrement the main count of rivercarro\nriverctl map normal $mod+Shift H send-layout-cmd rivercarro \"main-count +1\"\nriverctl map normal $mod+Shift L send-layout-cmd rivercarro \"main-count -1\"\n\n# Mod+{Up,Right,Down,Left} to change layout orientation\nriverctl map normal $mod Up    send-layout-cmd rivercarro \"main-location top\"\nriverctl map normal $mod Right send-layout-cmd rivercarro \"main-location right\"\nriverctl map normal $mod Down  send-layout-cmd rivercarro \"main-location bottom\"\nriverctl map normal $mod Left  send-layout-cmd rivercarro \"main-location left\"\n# And for monocle\nriverctl map normal $mod M     send-layout-cmd rivercarro \"main-location monocle\"\n\n# Set and exec into the default layout generator, rivercarro.\n# River will send the process group of the init executable SIGTERM on exit.\nriverctl default-layout rivercarro\nexec rivercarro\n```\n\n## Command line options\n\n```\n$ rivercarro -help\nUsage: rivercarro [options]\n\n  -help           Print this help message and exit.\n  -view-padding   Set the padding around views in pixels. (Default 6)\n  -outer-padding  Set the padding around the edge of the layout area in\n                  pixels. (Default 6)\n\n  The following commands may also be sent to rivercarro at runtime:\n\n  -main-location  Set the initial location of the main area in the\n                  layout. (Default left)\n  -main-count     Set the initial number of views in the main area of the\n                  layout. (Default 1)\n  -main-ratio     Set the initial ratio of main area to total layout\n                  area. (Default: 0.6)\n  -no-smart-gaps  Disable smart gaps\n```\n\n# Contributing\n\nFor patches, questions or discussion use [git send-email][] to send\na mail to my [public inbox][] [~novakane/public-inbox@lists.sr.ht][]\nwith project prefix set to `rivercarro`:\n\n```\ngit config sendemail.to \"~novakane/public-inbox@lists.sr.ht\"\ngit config format.subjectPrefix \"PATCH rivercarro\"\n```\n\nRun `zig fmt` and wrap line at 100 columns unless it helps the\nreadability.\n\nYou can also found me on _IRC_ `irc.libera.chat` as `novakane`, mostly on\n`#river`\n\n[git send-email]: https://git-send-email.io\n[public inbox]: https://lists.sr.ht/~novakane/public-inbox\n[~novakane/public-inbox@lists.sr.ht]: mailto:~novakane/public-inbox@lists.sr.ht\n\n# Thanks\n\nAlmost all credits go to [Isaac Freund][] and [Leon Henrik Plickat][]\n\n**Thanks to them!**\n\n[isaac freund]: https://github.com/ifreund\n[leon henrik plickat]: https://sr.ht/~leon_plickat/\n\n# License\n\n[GNU General Public License v3.0][]\n\n[gnu general public license v3.0]: LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foncomouse%2Frivercarro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foncomouse%2Frivercarro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foncomouse%2Frivercarro/lists"}