{"id":17223843,"url":"https://github.com/bartobri/bmenu","last_synced_at":"2025-04-05T09:05:48.598Z","repository":{"id":55909786,"uuid":"54437931","full_name":"bartobri/bmenu","owner":"bartobri","description":"A general purpose terminal menu that focuses on ease of configuration and use.","archived":false,"fork":false,"pushed_at":"2024-12-18T03:47:37.000Z","size":101,"stargazers_count":138,"open_issues_count":5,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T08:07:03.055Z","etag":null,"topics":["menu","simple","terminal"],"latest_commit_sha":null,"homepage":"","language":"C","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/bartobri.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"bartobri"}},"created_at":"2016-03-22T02:10:02.000Z","updated_at":"2025-03-23T03:45:18.000Z","dependencies_parsed_at":"2024-12-18T04:35:42.418Z","dependency_job_id":null,"html_url":"https://github.com/bartobri/bmenu","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartobri%2Fbmenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartobri%2Fbmenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartobri%2Fbmenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartobri%2Fbmenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bartobri","download_url":"https://codeload.github.com/bartobri/bmenu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312077,"owners_count":20918344,"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":["menu","simple","terminal"],"created_at":"2024-10-15T04:09:23.367Z","updated_at":"2025-04-05T09:05:48.560Z","avatar_url":"https://github.com/bartobri.png","language":"C","funding_links":["https://github.com/sponsors/bartobri"],"categories":[],"sub_categories":[],"readme":"![Version](https://img.shields.io/badge/Version-0.2.1-green.svg)\n\nLike this project? Consider sponsoring me: [https://github.com/sponsors/bartobri](https://github.com/sponsors/bartobri)\n\nB-Menu\n======\n\n![Screenshot](http://www.brianbarto.info/static/bmenu/bmenu.png)\n\nB-Menu is a minimalistic general purpose terminal menu written in C. It was designed to replace\nterminal-based login managers such as CDM. However, it can easily serve as a simple terminal menu for\nany situation where you would like to execute a command from a set of menu selections.\n\nB-Menu has zero dependencies and it is intentionally feature-minimal. This keeps it easy to install, \nconfigure, and run. \n\nNote that bmenu uses ANSI/VT100 terminal escape sequences to draw the menu\nin the terminal window. Most modern terminal programs support these sequences\nso this should not be an issue for most users. If yours does not, the menu\nmay not render properly in your terminal window.\n\nTable of Contents\n-----------------\n\n1. [Download and Install](#download-and-install)\n2. [Configuration](#configuration)\n3. [Usage](#usage)\n4. [Run as a Login Manager](#run-as-a-login-manager)\n5. [License](#license)\n\nDownload and Install\n--------------------\n\nTo install this project from source, you will need to have the tools `git`,\n`gcc`, and `make` to download and build it. Install them from your package\nmanager if they are not already installed.\n\nOnce you have the necessary tools installed, follow these instructions:\n\n```\ngit clone https://github.com/bartobri/bmenu.git\ncd ./bmenu\nmake\nsudo make install\n```\n\nThis will build and install `bmenu` in to the /usr/local/bin directory.\n\nUninstall:\n\n```\nsudo make uninstall\n```\n\nConfiguration\n-------------\n\nBy default, b-menu looks for menu options in $HOME/.bmenu. This file\nshould consist of one menu option and one command on each line, seperated by a colon.\n\nExample:\n\n```\nClear Screen:/usr/bin/clear\nDir Listing:/usr/bin/ls -l\n```\n\nUsage\n-----\n\nUse the `-c` option to override the default menu file path:\n```\nbmenu -c /full/path/to/menu/file\n```\n\nUse the `-t` option to override the default menu prompt:\n```\nbmenu -t 'Choose an Option:'\n```\n\nRun as a Login Manager\n----------------------\n\nTo run b-menu when you login, place the following code in `$HOME/.bash_profile`:\n\n```\nif [[ \"$(tty)\" == '/dev/tty1' ]]; then\n    [[ -n \"$BMENU_SPAWN\" ]] \u0026\u0026 return\n    export BMENU_SPAWN=1\n    # Avoid executing bmenu when X11 has already been started.\n    [[ -z \"$DISPLAY$SSH_TTY$(pgrep xinit)\" ]] \u0026\u0026 exec bmenu\nfi\n```\n\nIf you do this, it is best to include a menu option to launch a shell. Add the following to your menu\noptions file:\n\n```\nShell:/bin/bash --login\n```\n\nLicense\n-------\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU \nGeneral Public License as published by the Free Software Foundation; either version 3 of the License,\nor (at your option) any later version.  See [LICENSE](LICENSE) for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartobri%2Fbmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbartobri%2Fbmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartobri%2Fbmenu/lists"}