{"id":14155432,"url":"https://github.com/abenz1267/walker","last_synced_at":"2025-12-29T22:04:37.752Z","repository":{"id":227132139,"uuid":"768413390","full_name":"abenz1267/walker","owner":"abenz1267","description":"Multi-Purpose Launcher with a lot of features. Highly Customizable and fast.","archived":false,"fork":false,"pushed_at":"2025-12-26T18:27:12.000Z","size":17593,"stargazers_count":2290,"open_issues_count":9,"forks_count":87,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-12-27T06:53:50.074Z","etag":null,"topics":["runner","rust","wayland"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/abenz1267.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["abenz1267"],"ko_fi":"andrejbenz"}},"created_at":"2024-03-07T03:11:41.000Z","updated_at":"2025-12-27T06:43:10.000Z","dependencies_parsed_at":"2024-08-12T19:50:22.322Z","dependency_job_id":"0b693113-07cf-4890-be2e-0b2452eafbca","html_url":"https://github.com/abenz1267/walker","commit_stats":null,"previous_names":["abenz1267/walker"],"tags_count":379,"template":false,"template_full_name":null,"purl":"pkg:github/abenz1267/walker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abenz1267%2Fwalker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abenz1267%2Fwalker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abenz1267%2Fwalker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abenz1267%2Fwalker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abenz1267","download_url":"https://codeload.github.com/abenz1267/walker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abenz1267%2Fwalker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28104109,"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","status":"online","status_checked_at":"2025-12-28T02:00:05.685Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["runner","rust","wayland"],"created_at":"2024-08-17T08:03:11.845Z","updated_at":"2025-12-29T22:04:37.747Z","avatar_url":"https://github.com/abenz1267.png","language":"Rust","funding_links":["https://github.com/sponsors/abenz1267","https://ko-fi.com/andrejbenz"],"categories":["Rust","golang","Tools","Productivity"],"sub_categories":["Runners, Menus, and Application Launchers","Desktop Productivity"],"readme":"# Walker - A Modern Application Launcher\n\nA fast, customizable application launcher built with GTK4 and Rust, designed for Linux desktop environments. Walker provides a clean, modern interface for launching applications, running commands, performing calculations, and more.\n\n[GitBook Documentation/Wiki](https://benz.gitbook.io/walker/)\n\n[![Discord](https://img.shields.io/discord/1402235361463242964?logo=discord)](https://discord.gg/mGQWBQHASt)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n![screenshot](https://raw.githubusercontent.com/abenz1267/walker/refs/heads/master/resources/screenshot.png)\n\n## Features\n\nThe following Elephant providers are implemented by default:\n\n- **Desktop Applications**: Launch installed GUI applications\n- **Calculator**: Perform mathematical calculations with `=` prefix\n- **File Browser**: Navigate and open files with `/` prefix\n- **Command Runner**: Execute shell commands\n- **Websearch**: Search the web with custom-defined engines\n- **Clipboard History**: Access clipboard history with `:` prefix\n- **Symbol Picker**: Insert special symbols with `.` prefix\n- **Provider List**: Switch between providers with `;` prefix\n- **Menu Integration**: Create custom menus with elephant and let walker display them\n- **Dmenu**: Your good old dmenu ... with seamless menus!\n- **Arch Linux Packages**: Search through available packages (official and aur), install or delete a target! List all exlusively installed packages.\n- **Todo List**: create simple todo items with basic time tracking, scheduling and notifications\n- **Bookmarks**: manage bookmarks, open with specified browsers, assign categories and import bookmarks from browsers\n- **Bluetooth**: basic bluetooth management\n\n## Installation\n\n### Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/abenz1267/walker.git\ncd walker\n\n# Build with Cargo\ncargo build --release\n\n# Run Walker\n./target/release/walker\n```\n\n### Dependencies\n\n- GTK4 (version 4.6+)\n- gtk4-layer-shell\n- Protocol Buffers compiler\n- cairo\n- poppler-glib\n- make sure [elephant](https://github.com/abenz1267/elephant) is running before starting Walker\n\n\u003cdetails\u003e\n    \u003csummary\u003e \u003ch3\u003e Install using Nix \u003c/h3\u003e \u003c/summary\u003e\n\n#### 1. Add flake inputs\n\nAdd walker and elephant to the inputs of your configs `flake.nix` and set walker to follow elephant\n\n```nix\nelephant.url = \"github:abenz1267/elephant\";\n\nwalker = {\n  url = \"github:abenz1267/walker\";\n  inputs.elephant.follows = \"elephant\";\n};\n```\n\n#### 2. Install walker\n\nYou have 3 options for installing walker.\n\n**Option A** (Home Manager Module): Import the home-manager module to your home-manager config and enable walker.\n\n```nix\nimports = [inputs.walker.homeManagerModules.default];\n\nprograms.walker.enable = true;\n```\n\n**Option B** (NixOS Module): Import the nixos module in your NixOS config and enable walker\n\n```nix\nimports = [inputs.walker.nixosModules.default];\n\nprograms.walker.enable = true;\n```\n\n\u003e Note: this option doesn't support the `runAsService` option; It is recommended that you launch the elephant and walker services using your desktop instead.\n\n**Option C** (Package): Add `inputs.walker.packages.\u003csystem\u003e.default` to your system packages or home-manager packages. replace `\u003csystem\u003e` with your system architecture. Note: This option doesn't support configuration using nix.\n\n```nix\nhome.packages = [inputs.walker.packages.\u003csystem\u003e.default];\n```\n\n```nix\nenvironment.systemPackages = [inputs.walker.packages.\u003csystem\u003e.default];\n```\n\n#### 3. Configure walker\n\n```nix\nprograms.walker = {\n  enable = true;\n  runAsService = true; # Note: this option isn't supported in the NixOS module only in the home-manager module\n\n  # All options from the config.toml can be used here https://github.com/abenz1267/walker/blob/master/resources/config.toml\n  config = {\n    theme = \"your theme name\";\n    placeholders.\"default\" = { input = \"Search\"; list = \"Example\"; };\n    providers.prefixes = [\n      {provider = \"websearch\"; prefix = \"+\";}\n      {provider = \"providerlist\"; prefix = \"_\";}\n    ];\n    keybinds.quick_activate = [\"F1\" \"F2\" \"F3\"];\n  };\n\n  # Set `programs.walker.config.theme=\"your theme name\"` to choose the default theme\n  themes = {\n    \"your theme name\" = {\n      # Check out the default css theme as an example https://github.com/abenz1267/walker/blob/master/resources/themes/default/style.css\n      style = \" /* css */ \";\n\n      # Check out the default layouts for examples https://github.com/abenz1267/walker/tree/master/resources/themes/default\n      layouts = {\n        \"layout\" = \" \u003c!-- xml --\u003e \";\n        \"item_calc\" = \" \u003c!-- xml --\u003e \";\n        # other provider layouts\n      };\n    };\n    \"other theme name\" = {\n        # ...\n    };\n    # more themes\n  };\n};\n```\n\nOptionally, there is 2 binary caches which can be used by adding the following to you config:\n\n```nix\nnix.settings = {\n  extra-substituters = [\"https://walker.cachix.org\" \"https://walker-git.cachix.org\"];\n  extra-trusted-public-keys = [\"walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM=\" \"walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM=\"];\n};\n```\n\n\u003c/details\u003e\n\n## Usage\n\n### Basic Usage\n\n**Make sure `elephant` is running and you have providers installed. `elephant-providerlist` and f.e. `elephant-desktopapplications`.**\n\nLaunch Walker with `walker`.\n\nIn order to improve startup performance, run a Walker service with:\n\n```bash\nwalker --gapplication-service\n```\n\nIf the service is running, you can either open Walker with:\n\n```bash\nwalker\n```\n\nor for an even faster launch make a socket call, f.e. with `openbsd-netcat`:\n\n```bash\nnc -U /run/user/1000/walker/walker.sock\n```\n\nThe downside of the socket call is that it does not handle any commandline options, so it's just a faster alternative to a simple `walker` call.\n\n## Keybinds\n\nThe following modifier keys are valid: `ctrl`, `alt`, `shift`, `super`.\n\nTo get a full list of possible key values, look here: [GDK key-values](https://github.com/gtk-rs/gtk4-rs/blob/0.9/gdk4/sys/src/lib.rs#L302).\n\nF.e. `pub const GDK_KEY_semicolon: c_int = 59;` means that `ctrl semicolon` would be a valid keybind.\n\n## Config\n\nConfiguration should be done in `~/.config/walker`.\n\nCheck out the [default config](https://raw.githubusercontent.com/abenz1267/walker/refs/heads/master/resources/config.toml).\n\n## Theming\n\nYou can customize Walker's appearance by creating a custom theme. Checkout `resources/themes/default` for the default theme. Themes inherit the default theme by default, so if you just want to change the CSS, you can just create `themes/yours/style.css`.\n\nYou can customize rendering of list items for each provider individually, f.e. \"item_files.xml\" will define the layout for items sourced from the `files` provider.\n\nPlease refer to [the GTK4 docs](https://docs.gtk.org/gtk4/) to checkout how to write `*.xml` files for GTK4.\n\nYou can set the default theme in your `config.toml` f.e. `theme = \"yours\"`.\n\n## Contributing\n\nPlease do not make PRs to fix single typos. Fix all or nothing.\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabenz1267%2Fwalker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabenz1267%2Fwalker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabenz1267%2Fwalker/lists"}