ホームページ > バックエンド開発 > Python チュートリアル > デスクトップランチャーの構築

デスクトップランチャーの構築

DDD
リリース: 2024-12-07 07:57:12
オリジナル
512 人が閲覧しました

QuickSilver を置き換えようとする試みが複数あるにもかかわらず、私は今でも Mac で QuickSilver を使用しています。以前は Linux 用に Gnome Do というものがありましたが、最終的に開発は中止されました。私は Gnome Shell の組み込みランチャーに落ち着き、その後、一時的にこの構成の rofi に移りました。

Quicksilver で私がとても気に入った点の 1 つは、アクションの結果を別の操作に「パイプ」できることです。たとえば、

Building a desktop launcher
Quicksilver での「パイピング」の動作

たとえば、DSCF8200.jpg ファイルを探すことから始めて、[プログラムから開く] アクションを選択し、続いてアプリケーションのプレビューを選択します。これは、rofi や Gnome Shell では得られない柔軟性です。

さらに、rofi を Wayland セッションで実行することさえできませんでした。

仕事を見つけるのはまだ長いプロセスのように見えます (はい、ここではまだ #OpenToWork です)。ただ注意をそらすために、最終的に使い始めるシンプルなランチャーの開発に着手することにしました。また、今回は実際に GUI アプリケーションの構築方法を学ぶ機会を利用したいと思います。

Python が最も使いやすいと考えて、tkinter から始めます。ただし、私なら小規模から始めて、CLI コマンドを使用して実験を開始します。コマンドの構築は、ランチャーの青写真として機能します。

これが RapidCopper の始まりです (想像力に欠ける名前ですみません)。

はい、tkinter GUI アプリケーションが今のところ Wayland では動作しないという事実は承知しています。

これはまだ初期段階にあり、プロトタイプを作成しており、ランチャーの仕様を検討中です。ただし、今のところ、私がやりたいことを実行してくれます。

アプリケーションはまだセットアップを期待しています。

rc rebuild-index
ログイン後にコピー

これにより、インデックスとして sqlite3 データベースとプラグイン用のフォルダーを使用して、$HOME/.config/rapidcopper に構成が設定されます。

do サブコマンドは、その仕事を実行する部分です。アプリケーションを起動できます

rc do fire
ログイン後にコピー

そしてオプションのリストを吐き出します

0 app: /home/jeffrey04/.local/share/applications/userapp-Firefox Developer Edition-EPEGV2.desktop - Custom definition for Firefox Developer Edition
                Firefox Developer Edition
1 app: /home/jeffrey04/.local/share/applications/firefox-developer.desktop - Firefox Aurora with Developer tools
                Firefox Developer Edition
2 app: /home/jeffrey04/.local/share/applications/userapp-Firefox Developer Edition-8CCQV2.desktop - Custom definition for Firefox Developer Edition
                Firefox Developer Edition
Enter choice: :
ログイン後にコピー

数字を入力して Enter キーを押すと、対応するアプリケーションが起動します (gtk-launcher を使用します。はい、このスクリプトは移植可能ではありません)。

quicksilver の UX をある程度再現したかったので、実際には見苦しくなりますが、パイプ文字 | を意識させました。

rc do echo lorem ipsum dolor sit amet "|" clipboard
ログイン後にコピー

指定されたテキスト lorem ipsum dolor sit amet がクリップボードにコピーされます。残念ながら、シェルでリダイレクトとして扱われないように、パイプ文字を引用符で囲む必要がありました。

まだ UX と仕様を検討中ですが、今のところ、アプリケーションを起動するという主要なタスクは完了しました。しばらく時間を費やした後、Web フロントエンド開発に似たエクスペリエンスを提供する Textual のことを思い出しました。現在、TUI はまだ開発中ですが、対応する CLI と同様に動作するようです。

現在、次のプロジェクトを探しながら、臨時のアルバイトをいくつか見つける準備をしているので、そこに何を期待しているかを言うのは難しいです。これにより、プロジェクトに費やせる時間とエネルギーが大幅に削減されます。現在、ランチャーはプラグインの非常に基本的なサポートを備えていますが、API は変更される可能性があります。

以上がデスクトップランチャーの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート