{"id":13687443,"url":"https://github.com/balsoft/lambda-launcher","last_synced_at":"2025-04-09T10:09:15.383Z","repository":{"id":48664412,"uuid":"177307860","full_name":"balsoft/lambda-launcher","owner":"balsoft","description":"Application launcher in haskell. Mostly Just For Fun.","archived":false,"fork":false,"pushed_at":"2024-12-19T12:49:17.000Z","size":190,"stargazers_count":72,"open_issues_count":5,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T03:41:49.877Z","etag":null,"topics":["haskell","haskell-application","lambda","launcher"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/balsoft.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":"2019-03-23T15:45:16.000Z","updated_at":"2024-12-19T12:49:21.000Z","dependencies_parsed_at":"2025-01-16T00:11:40.270Z","dependency_job_id":"50bc8775-c38c-40e9-b12f-76b549b2533f","html_url":"https://github.com/balsoft/lambda-launcher","commit_stats":{"total_commits":108,"total_committers":5,"mean_commits":21.6,"dds":"0.42592592592592593","last_synced_commit":"c4621b41989ff63b7241cf2a65335b4880f532e0"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balsoft%2Flambda-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balsoft%2Flambda-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balsoft%2Flambda-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balsoft%2Flambda-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/balsoft","download_url":"https://codeload.github.com/balsoft/lambda-launcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248018061,"owners_count":21034048,"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":["haskell","haskell-application","lambda","launcher"],"created_at":"2024-08-02T15:00:54.724Z","updated_at":"2025-04-09T10:09:15.366Z","avatar_url":"https://github.com/balsoft.png","language":"Haskell","readme":"# λauncher [![Build Status](https://travis-ci.com/balsoft/lambda-launcher.svg?branch=master)](https://travis-ci.com/balsoft/lambda-launcher)\n\nλauncher is a GTK launcher application built with Haskell and \ngtk-gi-declarative.\n\n## Screenshots\n\n![Search for \"hello world\" on duckduckgo](./screenshots/adwaita_hello_world.png)\n\n![All results for \"firefox\" (command launcher, calculator, window switcher)](./screenshots/black_high_contrast_firefox.png)\n\n## Features\n\n -  Asynchronous plugin result loading\n -  No runtime settings (not a bug, but a feature)\n -  5M memory on coldstart, 20M memory when all plugins are loaded\n -  Very quick startup (compared to some other graphical launchers\n\n## Configuration\nAll configuration at this moment is done by editing source files. This will be changed in the future to XMonad-style configuration.\n\n### Plugins\nTo configure the plugins, edit `plugins :: [Plugin]` in `src/Main.hs`. You should be able to just edit the list of plugins to disable the unneeded ones. All of plugins are enabled by default.\n#### Triggers\nApply `trigger` to a plugin to make it the only plugin shown when query starts with a trigger, and apply `triggerStrict` to show a plugin only when it's triggered.\n\n### Window\nEdit `configuration` top-level binding in `src/Main.hs`. The `Configuration` type constructor's field names should be self-explanatory.\n\n## Building\n### Nix\n`nix build` should do everything for you.\n### Cabal\n`cabal new-run` works for me. If it doesn't, add an issue!\n\n## Current list of plugins \n| Name            | Trigger | Description                                         | Required dependencies | Optional dependencies |\n|-----------------|---------|-----------------------------------------------------|-----------------------|-----------------------|\n| Clipman         | cp      | get entries from clipman clipboard manager          | clipman               |                       |\n| Command         | $       | run shell commands, with suggestions                |                       |                       |\n| Duckduckgo      | ddg     | search the web with DDG instant answers             |                       |                       |\n| Emacs           | em      | open emacs in a directory from ~/projects           | emacs                 | nix-shell             |\n| Files           | file    | list and open files                                 |                       |                       |\n| Google          | g       | search some text through google's web interface     |                       |                       |\n| GoogleTranslate | tr      | translate words and phrases with Google's api       |                       |                       |\n| Kill            | kill    | kill other processes                                | pkill, ps             |                       |\n| Pass            | pass    | copy passwords from password store to the clipboard | pass                  |                       |\n| Qalc            | q       | use libqalculate to evaluate expressions            | qalc                  |                       |\n| Stackoverflow   | so      | search for questions with similar titles            |                       |                       |\n| Sway            | sw      | list and focus windows on sway                      | swaymsg               |                       |\n| Wiki            | wiki    | search english wikipedia                            |                       |                       |\n| Wmctrl          | win     | list and focus windows on X11                       | wmctrl                |                       |\n\nIf a plugin doesn't work, make sure you've installed the corresponding dependencies!\n\n## Extending\n -  Create `src/Plugins/YourPlugin.hs` that exports \n    `yourPlugin :: String -\u003e IO [Types.Result]`\n -  Add the corresponding import to `src/Plugins/Main.hs`\n -  Don't forget to add `yourPlugin` to `plugins` list\n -  Send a PR!\n\n\n## Code of conduct\n\nAll contributions are welcome! There are no restrictions.\n\n## License\n\nThis work is in public domain. By sending Pull Requests you agree that\nall of your work assosiated with this software is in public domain as\nwell.\n\nThis only applies to the code contained in this repository, to see\nlicenses of it's dependencies visit their respective pages.\n\n## WARRANTY\n\nTHIS SOFTWARE COMES \"AS IS\", WITHOUT ANY WARRANTY (IMPLIED OR\nOTHERWISE) TO THE EXTENT PERMITTED BY THE APPLICABLE LAWS. IT MAY\nCAUSE DATA CORRUPTION OR LOSS. BY RUNNING THIS SOFTWARE YOU AGREE \nTHAT IT'S AUTHOR(S) ARE NOT RESPONSIBLE FOR ANY DAMAGE CAUSED BY \nTHIS SOFTWARE.\n\n","funding_links":[],"categories":["Haskell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalsoft%2Flambda-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalsoft%2Flambda-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalsoft%2Flambda-launcher/lists"}