ぶていのログでぶログ

思い出したが吉日

LinuxデスクトップのランチャーアプリとしてUlauncherを使い始めた

Linuxデスクトップを使い始めたのは前回書いたとおり。 macOSのときはAlfredを酷使していて、これがないと生産性がガタ落ちであった。 そこで、Linuxデスクトップでも同じ感じのランチャーを探すことにした。

linux alfred alternative とかで検索するとまずはじめにMutateが目に止まるのだけど、3年前くらいから開発が止まっているようなのでやめた。 次にAlbertを使い始めた。しかし、日本語周りの扱いが怪しかったり、ほしいプラグインがなかったりしてこれも使うのをやめてしまった。 そして最終的に行き着いたのがUlauncherだった。 このランチャーにもほしいExtensionがなかったのだけど、Pythonで自作できるようなので自作してしまった。

Github/Github Enterprise リポジトリ検索

github.com

仕事柄GithubというかGithub Enterprise(GH:E)にアクセスすることが多々ある。 ブラウザのブックマークでは管理が煩雑すぎるので、ランチャーから直接リポジトリトップを開けるととても生産性があがる。 Alfredのときもalfred-github-workflowをヘビーユーズしていた。 このExtensionはぶっちゃけ、alfred-github-workflowのポーティング版である。 ただ、オリジナルと違うのはGithub API v3を使わずにGithub GraphQL API v4 を使っている。 なぜ、GraphQLを使ったかというと、v3の方ですべてのリポジトリを取得するのにかなりの時間とリクエストを飛ばす必要があることがわかったためである。 alfred-github-workflowではキャッシュを入れることで軽減しているが、その機構を作るのがめんどくさかったのであった…。 また、新しい技術に触れてみたいというのもあったのであった。

GraphQLのアクセスには、Pythongqlを使っているので事前にこれをインストールしておかないとエラーになると思う。

$ sudo pip install gql

Firefoxブックマーク検索

github.com

こちらもAlfredのときにそこそこ使っていたのでポーティングした。 公式ページにあるExtensionページにはChrome版はあるのだが、Firefox版がなかった。 簡単に実装できるだろうっと思ったのだけど、FirefoxSQLiteにブックマーク情報を格納していたり、テーブル構造を理解していないといけなかったりで結構大変だった。。

Extensionの作り方

これに関しては公式のドキュメントにまとまっているので、この通りに作っていけば特にハマるところはなかった。 シンプルな作りですぐにExtensionがつくれるのもUlauncherの魅力の一つだと思った。

Ulauncher 4.0 documentation — Ulauncher 4.0.0 documentation

まとめ

Ulauncherを使い始めて、そしてExtensionを自作することでかなり生産性があがった。 AlfredのWorkflowほど詳細な処理はできないにしても、シンプルにExtensionを開発できるので私はかなり気に入った。 Ulauncher本体の開発も継続的に行われていて安心感もあるのがよい。 ひとつ懸念があるとしたら、Python2.7で開発されているのでどこかのタイミングでPython3系に移行してもらいたいのであった…。