{"id":17954793,"url":"https://github.com/nukeop/based-launcher","last_synced_at":"2025-03-25T01:30:46.759Z","repository":{"id":59410693,"uuid":"525558916","full_name":"nukeop/based-launcher","owner":"nukeop","description":"Feature-rich Linux app launcher (work in progress)","archived":false,"fork":false,"pushed_at":"2023-10-23T16:06:26.000Z","size":16777,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-19T06:32:17.326Z","etag":null,"topics":["application-launcher","dmenu","hacktoberfest","launcher","rice","ricing","rofi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nukeop.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":"2022-08-16T22:20:36.000Z","updated_at":"2024-12-30T17:04:23.000Z","dependencies_parsed_at":"2024-10-29T10:49:35.989Z","dependency_job_id":null,"html_url":"https://github.com/nukeop/based-launcher","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukeop%2Fbased-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukeop%2Fbased-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukeop%2Fbased-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukeop%2Fbased-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nukeop","download_url":"https://codeload.github.com/nukeop/based-launcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245381358,"owners_count":20606018,"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":["application-launcher","dmenu","hacktoberfest","launcher","rice","ricing","rofi"],"created_at":"2024-10-29T10:19:58.832Z","updated_at":"2025-03-25T01:30:46.352Z","avatar_url":"https://github.com/nukeop.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# based-launcher\n\nLinux application launcher and multitool\n\n## Features\n\n- **Dmenu mode** - pipe a list of options to the launcher, when you select one it will output it to stdout. It also accepts json input.\n- **App launcher** - search for applications and launch them. This works by searching for .desktop files according to freedesktop.org specifications. Currently it's slow, because it needs to search for icons in several locations. I'm planning to improve this by caching the results. In the future, it will also work on Mac OS.\n- **Performant** - launches in 150ms, despite being Electron. Browse and filter thousands of options without lag. Brutally mogs other JS launchers.\n  - Development is fast and easy thanks to Vite and Vitest. Tests run in under 1s. The program starts in dev mode with live reload in 200ms.\n- **Themable** - the UI can be styled with CSS or SCSS using all their modern features. Immediate feedback due to your styles being reloaded on the fly.\n\n## Installation\n\nGet the latest release for your distro from the [releases page](https://github.com/nukeop/based-launcher/releases). You can also build it from source.\n\nYou will need `gtk-launch` installed on your system to launch programs.\n\nFor development, get the latest Node, NPM, and Rust.\n\n### Building\n\n```shell\n$ npm i\n$ npm run dev # starts in dev mode\n$ npm run build # builds a production version\n```\n\nThe binaries will be in the `releases` folder.\n\n## Usage\n\n```shell\n# Shows available arguments\n$ based-launcher --help\n\n# Pipe a list of options to the launcher to use the dmenu mode\n$ exa -1 | based-launcher\n```\n\n## Flags\nYou can see all the flags in [electron/main/args.ts](electron/main/args.ts).\n\n- `--mode \u003cmode\u003e` - either `dmenu` or `apps`, with `dmenu` being the default\n- `--input-prefix \u003cprefix\u003e` - This will be shown to the left of the input field. Use something like \"run:\" or \"open:\"\n- `--input-format \u003cformat\u003e` - either `text/plain` or `application/json`, indicates the format of the input data in dmenu mode. Defaults to `text/plain`.\n- `--item-size` - indicates the vertical size of elements if you're using a custom theme. This is needed to calculate the total height of the list, because the list is virtualized.\n- `--item-size-with-description` - same as `--item-size`, but for items with descriptions. The description typically takes another line.\n\n## Themes\n\nbased-launcher can load custom css themes. Use the `--theme` or `-t` flag to select the stylesheet file.\n\nIn addition to user themes, the repository comes with some custom theme files (in the `themes` folder). To build them, run `npm run themes`. If you want to work on a theme using css, you can run `npm run themes:watch`, and it will recompile all `.scss` files in the `themes` folder as they're changed. The launcher will live reload the theme as well.\n\n## Screenshots\n\n![Screenshot 1](./assets/screenshots/screenshot1.png)\n![Screenshot 2](./assets/screenshots/screenshot2.png)\n![Screenshot 3](./assets/screenshots/screenshot3.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnukeop%2Fbased-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnukeop%2Fbased-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnukeop%2Fbased-launcher/lists"}