Walkerランチャを使ってみました。いろいろとカスタマイズできて面白いです。

https://github.com/abenz1267/walker
https://github.com/abenz1267/elephant
https://benz.gitbook.io/walker/walker-and-elephant

環境

  • CachyOS
    • Hyprland
      • walker
      • elephant
      • caelestia

構築

インストール

paru -S netcat walker-bin elephant-all-bin

Walker設定ファイルの作成

mkdir -p ~/.config/walker
curl -L https://raw.githubusercontent.com/abenz1267/walker/refs/heads/master/resources/config.toml -o ~/.config/walker/config.toml

仕様変更前はwalker --createuserconfigで生成できていたらしい。

デフォルト設定ファイル、デフォルトテーマは以下に掲載されている。
https://github.com/abenz1267/walker/tree/master/resources

Elephantサービス(User)の有効化

elephant service enable
systemctl --user enable --now elephant

設定

Walkerの起動設定

~/.config/caelestia/hypr-user.conf
# Walker
exec-once = walker --gapplication-service
bind = Super, Space, exec, nc -U /run/user/1000/walker/walker.sock
#bind = Super, Space, exec, walker

利用

起動

Super+Space

機能

https://github.com/abenz1267/walker#features

プロバイダ

  • デフォルトプロバイダ
    [providers]
    default = [
    "desktopapplications",
    "calc",
    # "runner",
    "websearch",
    ] # providers to be queried by default
    empty = ["desktopapplications"] # providers to be queried when query is empty
  • プレフィックスとプロバイダ
    Prefix Provider
      desktopapplications + (default providers)
    ; providerlist
    > runner
    / files
    . symbols
    ! todo
    % bookmarks
    = calc
    @ websearch
    : clipboard
    $ windows

スクリプトランチャ

自前のスクリプトを実行するメニューを作成します。

フォルダ/ファイル構成

~/bin/
├── walker_dmenu.sh
└── walker/
├── 🖼️ Download Bing Wallpaper
├── 🖥️ RDP arch@zotac.local
├── 📁 SFTP arch@zotac.local
├── 📦 Update Packages
└── ⌨ SSH arch@zotac.local
  • 起動対象のスクリプトは拡張子がなくても構いません。
  • 空白を含むファイル名でも構いません。
  • emojiも使えます。
  • 実行権限を設定すると一覧に表示されます。

スクリプトランチャの作成

  • footターミナル経由で起動する場合
    $HOME/bin/walker_dmenu.sh
    #!/usr/bin/bash
    terminal=foot
    scriptsdir=$HOME/bin/walker
    output=$(find $scriptsdir -maxdepth 1 -perm -111 -type f | gawk -F/ '{print NF}' | sort | walker --dmenu --hideqa --nosearch)
    if [[ $output != "" ]] ; then
    $terminal $scriptsdir/"$output"
    fi

起動設定

  • Ctrl+Jで起動
    ~/.config/caelestia/hypr-user.conf
    # Walker
    bind = Super, J, exec, $HOME/bin/walker_dmenu.sh
  • タッチパッドで3本指下方向のジェスチャで起動
    ~/.config/caelestia/hypr-vars.conf
    gesture = $gestureFingers, down, dispatcher, exec, $HOME/bin/walker_dmenu.sh

起動対象の各スクリプトを作成(例)

$HOME/bin/walker/ にスクリプトファイルを配置します。
一覧に表示したいスクリプトに実行権限を付与しておきます。

  • Bing壁紙ダウンロードと壁紙更新

    sudo pacman -S python-requests
    mkdir -p ~/Pictures/Wallpapers/bing
    $HOME/bin/walker/🖼️ Download Bing Wallpaper
    #!/usr/bin/env python
    import requests
    import json
    import subprocess
    import shutil
    import os
    REGION = 'en-US'
    BASE_URL = f'https://bing.biturl.top/?resolution=UHD&format=json&index=0&mkt={REGION}'
    BASE_PATH = os.getenv('HOME') + '/Pictures/Wallpapers/bing/'
    CURRENT_BACKGROUND = BASE_PATH + 'current.jpg'
    u = requests.get(BASE_URL).json()
    r = requests.get(u['url'], stream=True)
    name = u['url'].split('=')[-1]
    filename = os.path.join(BASE_PATH, name)
    with open(filename, 'wb') as file:
    for chunk in r.iter_content(chunk_size=8192):
    file.write(chunk)
    subprocess.run(["caelestia", "wallpaper", "-f", filename])

    一時的に壁紙一覧が一つだけになった場合は再ログインで復帰します。

  • RDP

    $HOME/bin/walker/🖥️ RDP arch@zotac.local
    #!/usr/bin/bash
    remmina -c rdp://arch@zotac.local
  • SFTP

    $HOME/bin/walker/📁 SFTP arch@zotac.local
    #!/usr/bin/bash
    thunar sftp://arch@zotac.local/home/arch
  • パッケージ更新

    $HOME/bin/walker/📦 Update Packages
    #!/usr/bin/bash
    paru
    git -C ~/.local/share/caelestia pull
    paru -c
  • SSH

    $HOME/bin/walker/⌨ SSH arch@zotac.local
    #!/usr/bin/bash
    ssh arch@zotac.local

利用

Super+Jでメニューを表示
起動したいスクリプトを選択してEnter
キャンセルする場合はEsc

メモ

  • Runner (>)
    ターミナル内で実行する場合はShift+Enter
  • デフォルトプロバイダ
    Runnerをデフォルトプロバイダにしておくと>を入力しなくてもよい。
    例: >paruShift+Enter
    Runnerをデフォルトにしている場合
    例: paruShift+Enter
  • Runner
    環境変数PATHにある自前のスクリプトも検索してくれる。これは便利。
  • Files (/)
    ホームフォルダ配下のファイルを検索、表示するのに便利
    例: /memoで~/Documents/memo.txtを検索
  • Windows ($)
    開いているウィンドウを列挙、フォーカス。別のqワークプレースのウィンドウへも移動できる。
  • カスタムコマンド
    調査中。
  • ダイナミックカラースキーム
    調査中。できるらしい。