-
Notifications
You must be signed in to change notification settings - Fork 29
Modules
Description about specific modules will be found in their according sub-section
type GeneralModule struct {
AutoSelect bool `koanf:"auto_select"`
Blacklist []Blacklist `koanf:"blacklist"`
Delay int `koanf:"delay"`
EagerLoading bool `koanf:"eager_loading"`
ExternalConfig bool `koanf:"external_config"`
Hidden bool `koanf:"hidden"`
History bool `koanf:"history"`
HistoryBlacklist []Blacklist `koanf:"history_blacklist"`
Icon string `koanf:"icon"`
KeepSort bool `koanf:"keep_sort"`
MinChars int `koanf:"min_chars"`
Name string `koanf:"name"`
OnSelect string `koanf:"on_select"`
OutputPlaceholder string `koanf:"output_placeholder"`
Placeholder string `koanf:"placeholder"`
Prefix string `koanf:"prefix"`
Refresh bool `koanf:"refresh"`
ShowIconWhenSingle bool `koanf:"show_icon_when_single"`
ShowSubWhenSingle bool `koanf:"show_sub_when_single"`
SwitcherOnly bool `koanf:"switcher_only"`
Theme string `koanf:"theme"`
ThemeBase []string `koanf:"theme_base"`
Typeahead bool `koanf:"typeahead"`
Weight int `koanf:"weight"`
}
type Blacklist struct {
Regexp string `mapstructure:"regexp"`
Label bool `mapstructure:"label"`
Sub bool `mapstructure:"sub"`
}
type Applications struct {
GeneralModule `koanf:",squash"`
Actions ApplicationActions `koanf:"actions"`
Cache bool `koanf:"cache"`
ContextAware bool `koanf:"context_aware"`
PrioritizeNew bool `koanf:"prioritize_new"`
ShowGeneric bool `koanf:"show_generic"`
}
type ApplicationActions struct {
Enabled bool `mapstructure:"enabled"`
HideCategory bool `mapstructure:"hide_category"`
HideWithoutQuery bool `mapstructure:"hide_without_query"`
}
type AI struct {
GeneralModule `koanf:",squash"`
Anthropic Anthropic `koanf:"anthropic"`
}
type Anthropic struct {
Prompts []AnthropicPrompt `koanf:"prompts"`
}
type AnthropicPrompt struct {
Model string `koanf:"model"`
MaxTokens int `koanf:"max_tokens"`
Temperature float64 `koanf:"temperature"`
Label string `koanf:"label"`
Prompt string `koanf:"prompt"`
SingleModuleOnly bool `koanf:"single_module_only"`
}
In order to use the AI module, you need a valid Anthropic API key set as an envar ANTHROPIC_API_KEY
.
You can set various prompts in your config, f.e.:
external_config = true
switcher_only = false
system_info = ""
[[anthropic.prompts]]
model = "claude-3-5-sonnet-20241022"
temperature = 1
max_tokens = 1_000
label = "Go Dev"
prompt = "You are a seasoned Go developer. Keep your answers short and precise."
[[anthropic.prompts]]
model = "claude-3-5-sonnet-20241022"
temperature = 1
max_tokens = 1_000
label = "Java Dev"
prompt = "You are a seasoned Java developer. Keep your answers short and precise."
Upon selecting a prompt, you can simply start chatting. See keybinds on the readme.
type Windows struct {
GeneralModule `mapstructure:",squash"`
}
type Bookmarks struct {
GeneralModule `mapstructure:",squash"`
Groups []BookmarkGroup `mapstructure:"groups"`
Entries []BookmarkEntry `mapstructure:"entries"`
}
type BookmarkGroup struct {
Label string `mapstructure:"label"`
Prefix string `mapstructure:"prefix"`
IgnoreUnprefixed bool `mapstructure:"ignore_unprefixed"`
Entries []BookmarkEntry `mapstructure:"entries"`
}
type BookmarkEntry struct {
Label string `mapstructure:"label"`
Url string `mapstructure:"url"`
Keywords []string `mapstructure:"keywords"`
}
type Clipboard struct {
GeneralModule `koanf:",squash"`
AvoidLineBreaks bool `koanf:"avoid_line_breaks"`
ImageHeight int `koanf:"image_height"`
MaxEntries int `koanf:"max_entries"`
Exec string `koanf:"exec"`
AlwaysPutNewOnTop bool `koanf:"always_put_new_on_top"`
}
The clipboard
module will not work, if Walker isn't run as a service.
type Commands struct {
GeneralModule `mapstructure:",squash"`
}
type CustomCommands struct {
GeneralModule `mapstructure:",squash"`
Commands []CustomCommand `mapstructure:"commands"`
}
type CustomCommand struct {
Cmd string `koanf:"cmd"`
CmdAlt string `koanf:"cmd_alt"`
Env []string `koanf:"env"`
Name string `koanf:"name"`
Path string `koanf:"path"`
Terminal bool `koanf:"terminal"`
TerminalTitleFlag string `koanf:"terminal_title_flag"`
}
type Emojis struct {
GeneralModule `koanf:",squash"`
Exec string `koanf:"exec"`
ExecAlt string `koanf:"exec_alt"`
ShowUnqualified bool `koanf:"show_unqualified"`
}
type Finder struct {
GeneralModule `koanf:",squash"`
CmdAlt string `koanf:"cmd_alt"`
UseFD bool `koanf:"use_fd"`
IgnoreGitIgnore bool `koanf:"ignore_gitignore"`
Concurrency int `koanf:"concurrency"`
PreviewImages bool `koanf:"preview_images"`
}
type Runner struct {
GeneralModule `koanf:",squash"`
Excludes []string `koanf:"excludes"`
Includes []string `koanf:"includes"`
ShellConfig string `koanf:"shell_config"`
GenericEntry bool `koanf:"generic_entry"`
UseFD bool `koanf:"use_fd"`
}
type SSH struct {
GeneralModule `mapstructure:",squash"`
HostFile string `mapstructure:"host_file"`
ConfigFile string `mapstructure:"config_file"`
}
Usage of a SSH Host
entry: <query> <username>
. If you search for myh root
and select the according entry, ssh root@myhost.com
will be run.
Usage of SSH Config
entry: just run it. No username needed, as it's defined in your config.
type Switcher struct {
GeneralModule `mapstructure:",squash"`
}
type Websearch struct {
GeneralModule `mapstructure:",squash"`
Entries []WebsearchEntry `mapstructure:"entries"`
}
type WebsearchEntry struct {
Name string `mapstructure:"name"`
Url string `mapstructure:"url"`
Prefix string `mapstructure:"prefix"`
SwitcherOnly bool `mapstructure:"switcher_only"`
}
Supported search engines: google, duckduckgo, ecosia and yandex.
type Dmenu struct {
GeneralModule `mapstructure:",squash"`
Separator string `mapstructure:"separator"` // column separator
LabelColumn int `mapstructure:"label_column"` // column to use as label
}
type Symbols struct {
GeneralModule `mapstructure:",squash"`
AfterCopy string `mapstructure:"after_copy"`
}
type XdphPicker struct {
GeneralModule `mapstructure:",squash"`
}
To use this as your screen-share-picker, you have to:
# <cfg>/hypr/xdph.conf
screencopy {
custom_picker_binary=/picker/script/location
}
where
# pickerscript
walker -n --modules xdphpicker
and ofc chmod +x
the script.
type Translation struct {
GeneralModule `koanf:",squash"`
Provider string `koanf:"provider"`
}
Right now the only provider is "googlefree". Others might be added in the future.
- google (free):
googlefree
- deepl (free, required api key
DEEPL_AUTH_KEY
):deeplfree
-
<query>
=> translate<query>
to setup locale -
<src>><query>
=> f.e.de>hallo
=> translatehallo
to setup locale -
<query>><dest>
=> f.e.hallo>fr
=> translatehallo
to french -
<src>><query>><dest>
=> f.e.de>hallo>fr
=> translatehallo
fromde
tofr