- Notifications
You must be signed in to change notification settings - Fork7
Interactive Google / DuckDuckGo search via rofi
License
fogine/rofi-search
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Interactive web search viarofi.
Multiple search engines supported.
AUR packagerofi-search-git
ornpm install -g rofi-search
or copyrofi-search to your$PATH
- search as you type
- Google search
- DuckDuckGo search
I'm Feeling Lucky
- Open the first result directly without waiting for the results to render- get top search results from multiple search engines
- copy search result website url
- open search result in web browser
nodejs >= 8.2.1
- rofi-blocks (
rofi-blocks-git
package in AUR) - rofi
xclip
copy to clipboard- ddgr(optional) DuckDuckGo search results scraper
Simply executerofi-search
in terminal (needsddgr
dependency to be installed).
Or seeUsage section bellow for more advanced use cases.
You can choose between multiple methods of getting search results. Each one will give slightly different results.
You can even letrofi-search
combine search results from multiple search engines.
Useddgr for scraping DuckDuckGo for search results
ddgr
does not parse information about number of search resultsso this information is not currently available when using this method
Use google's custom search engine API by setting
GOOGLE_API_KEY
&GOOGLE_SEARCH_ID
env variablesIt can Search the entire web if you enable it in settings
You will need to go tohttps://cse.google.com/cse/all and create your own google custom search engine.
Get API KEY for the created search engine.
NOTE: In the following examples, to be able to passrofi-search
torofi
and execute it with custom configuration, env configuration variableROFI_SEARCH
is required to be set.
export GOOGLE_API_KEY='google-api-key'export GOOGLE_SEARCH_ID='google-search-engine-id'export ROFI_SEARCH='cse'rofi -modi blocks -blocks-wrap /absolute/path/to/rofi-search -show blocks\-lines 4 -eh 4 -kb-custom-1'Control+y' -theme /path/to/your/theme.rasi
#for additional ddgr options see "ddgr --help"export DDG_ARGS='["-n", 5]'export ROFI_SEARCH='ddgr'rofi -modi blocks -blocks-wrap /absolute/path/to/rofi-search -show blocks\-lines 4 -eh 4 -kb-custom-1'Control+y' -theme /path/to/your/theme.rasi
export DDG_ARGS='["-n", 3]'export ROFI_SEARCH='cse,ddgr'rofi -modi blocks -blocks-wrap /absolute/path/to/rofi-search -show blocks\-lines 4 -eh 4 -kb-custom-1'Control+y' -theme /path/to/your/theme.rasi
You can fetch rofi theme used in the gif previewHERE
GOOGLE_API_KEY
- secret key to access Google API. You can get ithereGOOGLE_SEARCH_ID
- Your custom search engine (cse) IDDDG_ARGS
-ddgr
command line arguments. Serialized json array.ROFI_SEARCH
- comma separated search methods- Supported methods:
cse
,ddgr
- If multiple methods are set,
rofi-search
will make multiple parallel searchesand combine search results in the order search methods were defined
- Supported methods:
TITLE_COLOR
- customize search result title color (default blue).This can't be set in rofi themeROFI_SEARCH_TIMEOUT
- integer - delay between last character typed and automatic search execution (default500
ms)ROFI_SEARCH_DEBUG
- enables verbose logging if set to any valueROFI_SEARCH_CMD
- a command to execute when pressing-kb-accept-entry
(enter
) - defaults toxdg-open
- example:
export ROFI_SEARCH_CMD='google-chrome $URL'
- example:
-kb-accept-entry
- open url withxdg-open
(aka. your default browser)-kb-accept-custom
- open search results ongoogle.com
in your browser-kb-custom-1
- copy url to clipboard
DuckDuckGO integration- make font sizes configurable
- buku integration
About
Interactive Google / DuckDuckGo search via rofi