A DankMaterialShell launcher plugin for searching the web with 23+ built-in search engines and support for custom search engines.
- 23+ Built-in Search Engines - Google, DuckDuckGo, GitHub, Stack Overflow, and more
- Enable/Disable Engines - Toggle individual search engines on/off to reduce clutter
- Custom Search Engines - Add your own search engines with URL templates
- Keyword-Based Selection - Type keywords to use specific engines (e.g.,
github rust) - Configurable Default Engine - Set any engine (built-in or custom) as default
- One-Click Search - Select and press Enter to open browser
- Toast Notifications - Visual feedback for every search
- Configurable Trigger - Default
@or set your own trigger
dms plugins install webSearch# Copy plugin to DMS plugins directory
cp -r WebSearch ~/.config/DankMaterialShell/plugins/
# Enable in DMS
# 1. Open Settings (Ctrl+,)
# 2. Go to Plugins tab
# 3. Click "Scan for Plugins"
# 4. Toggle "Web Search" to enableNote: Avoid triggers reserved by DMS or other plugins (e.g., / is used for file search).
- Open launcher (Ctrl+Space)
- Type
@followed by search query - Examples:
@ rust tutorials- Search with default engine@ linux kernel- General search
- Select engine and press Enter to open browser
Use keywords to search specific engines directly:
@ github awesome-linux- Search GitHub@ youtube music video- Search YouTube@ wiki quantum physics- Search Wikipedia@ stackoverflow async rust- Search Stack Overflow
If a custom engine and a built-in engine share the same keyword, the custom engine takes priority. When multiple engines share the matched keyword, they are grouped at the top of results before other engines.
- Google - Keywords:
google,search - DuckDuckGo - Keywords:
ddg,duckduckgo,privacy,search - Brave Search - Keywords:
brave,privacy,search - Bing - Keywords:
bing,microsoft,search - Kagi - Keywords:
kagi,privacy,search
- GitHub - Keywords:
github,code,git - Stack Overflow - Keywords:
stackoverflow,stack,coding,so - npm - Keywords:
npm,node,javascript - PyPI - Keywords:
pypi,python,pip - crates.io - Keywords:
crates,rust,cargo - MDN Web Docs - Keywords:
mdn,mozilla,web,docs
- Arch Linux Wiki - Keywords:
arch,archwiki,linux,wiki - AUR - Keywords:
aur,arch,packages - Nix Packages - Keywords:
nixpkgs,pkgs,nix,nixos,packages - NixOS Options - Keywords:
nixopts,opts,nixos,options
- YouTube - Keywords:
youtube,video,yt - Reddit - Keywords:
reddit,social - Twitter/X - Keywords:
twitter,x,social - LinkedIn - Keywords:
linkedin,job,professional,social
- Wikipedia - Keywords:
wikipedia,wiki - Google Translate - Keywords:
translate,translation - IMDb - Keywords:
imdb,movies,tv
- Amazon - Keywords:
amazon,shop,shopping - eBay - Keywords:
ebay,shop,shopping,auction
- Google Maps - Keywords:
maps,map,location,directions - Google Images - Keywords:
images,image,img,pictures,photos
Add your own search engines via Settings:
- Open Settings → Plugins → Web Search
- Scroll to "Custom Search Engines"
- Fill in the form:
- ID: Unique identifier (e.g.,
myengine) - Name: Display name (e.g.,
My Search Engine) - Icon: Material icon name (e.g.,
search), prefix withmaterial:to pull a Material Symbol (e.g.,material:travel_explore), or prefix withunicode:to use emoji/Nerd Font glyphs (e.g.,unicode:) - URL: Search URL with
%splaceholder - Keywords: Comma-separated keywords for quick access
- ID: Unique identifier (e.g.,
Rust Documentation:
ID: rustdoc
Name: Rust Docs
Icon: unicode:🦀
URL: https://doc.rust-lang.org/std/?search=%s
Keywords: rust,docs,documentation
Arch Wiki:
ID: archwiki
Name: Arch Wiki
Icon: material:menu_book
URL: https://wiki.archlinux.org/index.php?search=%s
Keywords: arch,wiki,documentation
GitLab:
ID: gitlab
Name: GitLab
Icon: material:code
URL: https://gitlab.com/search?search=%s
Keywords: gitlab,code
Access settings via DMS Settings → Plugins → Web Search:
- Trigger: Set custom trigger (
@,!,ws, etc.) or disable for always-on mode- Avoid triggers reserved by DMS or other plugins (e.g.,
/is used for file search).
- Avoid triggers reserved by DMS or other plugins (e.g.,
- Default Search Engine: Choose your preferred engine from all available engines (built-in and custom)
- Enable/Disable Engines: Toggle individual search engines on/off to reduce clutter
- Custom Search Engines: Add/manage your own search engines
@ rust programming # Search with default engine
@ how to install arch # General search
@ github awesome-linux # Search GitHub
@ stackoverflow async rust # Search Stack Overflow
@ npm react hooks # Search npm packages
@ pypi requests # Search Python packages
@ arch firefox # Search Arch packages
@ aur brave-bin # Search AUR
@ wiki systemd # Search Wikipedia
@ youtube rust tutorial # Search YouTube
@ reddit linux gaming # Search Reddit
@ imdb inception # Search IMDb
- DankMaterialShell >= 0.1.0
- Web browser (default system browser via
xdg-open) - Wayland compositor
- Compositors: Niri and Hyprland
- Distros: Universal - works on any Linux distribution
- Browsers: Works with any default browser
- Type: Launcher plugin
- Trigger:
@(configurable) - Language: QML (Qt Modeling Language)
- Browser Launch: Uses
xdg-openfor system default browser
-
Keyword Shortcuts: Type engine keywords first for direct search
github rustinstead of@ github rust
-
Combine Keywords: Use multiple keywords to narrow results
stackoverflow rust async await
-
Custom Engines: Add frequently-used sites for quick access
- Add your company's internal documentation
- Add specialized search engines for your workflow
Want to add more built-in search engines? Open an issue or submit a pull request!
MIT License - See LICENSE file for details
Created for the DankMaterialShell community
