{"id":17028016,"url":"https://github.com/slotthe/hmenu","last_synced_at":"2025-04-12T12:07:46.091Z","repository":{"id":39333234,"uuid":"457254017","full_name":"slotThe/hmenu","owner":"slotThe","description":"Dmenu wrapper for fun and profit! // GitHub Mirror ","archived":false,"fork":false,"pushed_at":"2024-07-13T20:34:33.000Z","size":164,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T06:51:07.945Z","etag":null,"topics":["dmenu","haskell","yeganesh"],"latest_commit_sha":null,"homepage":"https://gitlab.com/slotThe/hmenu","language":"Haskell","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/slotThe.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":"2022-02-09T07:30:48.000Z","updated_at":"2024-07-13T20:34:36.000Z","dependencies_parsed_at":"2024-01-13T22:18:06.971Z","dependency_job_id":"3fd758af-12e8-4d1d-aee0-07f3ab7bf82f","html_url":"https://github.com/slotThe/hmenu","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/slotThe%2Fhmenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slotThe%2Fhmenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slotThe%2Fhmenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slotThe%2Fhmenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slotThe","download_url":"https://codeload.github.com/slotThe/hmenu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565063,"owners_count":21125416,"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":["dmenu","haskell","yeganesh"],"created_at":"2024-10-14T07:51:58.604Z","updated_at":"2025-04-12T12:07:46.066Z","avatar_url":"https://github.com/slotThe.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hdmenu\n\n`hdmenu` is a small wrapper around dmenu—it can't do very much, though I\nguess that's the point. It might be most notable for being a discount\n`yeganesh`.\n\n## Features\n\n1. Display commands in order of usage and, optionally, apply a frequency decay every time an item is selected.\n2. Specify extra files to consider, which will be opened by a program of your choice (e.g., `xdg-open`).\n3. Open certain executables inside of your terminal.\n\n## Configuration\n\nHdmenu is configured using a [TOML] file inside the `$XDG_CONFIG_HOME/hdmenu` directory (probably `~/.config/hdmenu`).\nSee `example.toml` for an example configuration.\n\nNote that, while having a config file is optional,\nthe `$XDG_CONFIG_HOME/hdmenu` directory will be created in either case,\nin order to store the history file there.\n\n### Configuration option\n\nThe configuration file takes the following arguments:\n\n  - `open` : A custom opening script (default: `xdg-open`).\n\n  - `files`: Files one wishes to edit; they will be opened according to\n    `open`. This can also take directories\n\n    ``` toml\n    files = [ \"~/.config/emacs/\" ]\n    ```\n\n    in which case all *files* in that directory will be added to the list of files that `hdmenu` cares about.\n    Directories can also be traversed recursively:\n\n    ``` toml\n    # Files from `~/.config/emacs/' and all of its subdirectories.\n    files = [ \"~/.config/emacs/\" ]\n    ```\n\n  - `executable`: Custom dmenu executable (default: `dmenu`).\n\n  - `terminal`: A terminal emulator (default: `xterm`).\n\n  - `tty-programs`: A list of programs to be opened in the above\n    terminal emulator. For example, specifying\n\n    ``` toml\n    tty-programs = [ \"htop\" ]\n    ```\n\n    will effectively enable one to start `htop` directly from dmenu without having to open an extraneous terminal.\n\n  - `decay`: A frequency decay; all non-selected items will be multiplied by this number (default: `1`).\n    A good value may be something like `0.997`\n\n### Command line options\n\n  - `--histFile`\n      - Short: `-f`\n      - Description: Path to the history file to use.\n\n  - `--files-only`\n      - Short: `-o`\n      - Description: Whether to only show the user-specified files.\n\n  - `--decay`\n      - Short: `-d`\n      - Description: A frequency decay; all non-selected items will be\n        multiplied by this\n\nAll options after `--` will be directly forwarded to `dmenu`, so you may\nspecify options in the following way:\n\n    hdmenu -f /path/to/file -- -i -f -nb '#282A36' -nf '#BBBBBB' -sb '#8BE9FD' -sf '#000000' -fn 'Inconsolata Regular-10'\n\n# Installation\n\n## Stack\n\nBuild with `stack build`, then copy the executable to a convenient\nlocation (or just use `stack install`, to copy the executable to the\nlocal-bin-path).\n\n## Cabal\n\nBuild with `cabal install`.\n\n[TOML]: https://github.com/toml-lang/toml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslotthe%2Fhmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslotthe%2Fhmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslotthe%2Fhmenu/lists"}