膝の上のスクリプト-クリッパーの調教パート2

クリッパー
前の記事で、 KDEの優れたクリップボード管理ツールであるklipperについて説明しました。 スクリプトで機能を拡張する方法を学び、ユーザーの生活を楽にすることができるいくつかの簡単な例を示しました。

今日もスクリプトを書き続け、klipperをさらに便利にします。



klipperの便利なスクリプトのセット

PPAリポジトリを追加する

Debianベースのディストリビューションのユーザーは、たとえば、いくつかの不快なエラーが修正されたお気に入りのTeXエディターkileのバージョンを更新するために、時々ppaリポジトリを追加する必要があります。

もちろん、/ /etc/apt/sources.list手動で編集し、その後キーサーバーにアクセスしてリポジトリに署名する必要があった時代は過ぎ去り、今ではこれらすべてを1つのコマンドで実行できます
 sudo apt-add-repository ppa:kile/stable 

しかし、人間の怠inessに制限はありません! 結局のところ、リポジトリを追加した後でも、パッケージリストを更新する必要があります。その後、kileを更新します。 同時に、ターミナルも開く必要があります。これは、中国のように、千里の道、F12キーへの指の動きがあります。

まあ、いや、私は間違いなくそのような偉業ができません。 さらに、リポジトリのアドレスをクリップボードにコピーする必要があるため、自分で処理するようにします。 これは公平だと思います。

klipperに新しいアクションを追加し、「apt reositoryの管理」と呼びます。 バッファーの内容が正規表現と一致する場合、このアクションを自動的に実行する必要があります
ppa\:[A-Za-z0-9\_\-]*\/[A-Za-z0-9\_\-]*

つまり、リポジトリの名前が含まれています。

次に、出力を無視するコマンドを追加します。 「aptリポジトリの追加とシステムの更新」という名前を付けましょう
 kdesudo --comment "Do you want to add repository?<br>$(echo -n %s | grep -o "ppa\:[A-Za-z0-9\_\-]*\/[A-Za-z0-9\_\-]*")" -c "apt-add-repository -y "$(echo -n %s | grep -o "ppa\:[A-Za-z0-9\_\-]*\/[A-Za-z0-9\_\-]*")"; apt-get update; muon-updater" 

kdesudoを使用してグラフィカルにパスワードを要求し、スーパーユーザー特権で一連のコマンドを実行します。 -cは、区切られたコマンドのリストを受け入れます; または&&apt-add-repository repositoryを使用してリポジトリを追加し、システムを更新し、muon-updaterを呼び出してパッケージの更新を確認します(システムでkpackagekitを使用するか、 apt-get upgrade -y確認なしで更新することもapt-get upgrade -y )。

リポジトリの名前を含むテキストを選択して、ドロップダウンメニューを表示します


パスワードを入力してください


更新パッケージの確認


ppa-purgeコマンドを使用して、同じ方法でリポジトリを削除できます。

「現在再生中」-聞いている音楽へのリンクを共有する

IMステータスで今聴いている曲の名前を追加するプラグインは誰も驚かないでしょうが、少し先に進み、目的のキーの組み合わせをクリックすることで、あなたが聴いている曲の検索結果とyoutubeページへのリンクを共有します。 次のように行動します。


同時に、kdialogで何が起こっているかをユーザーに通知します。

dbusを使用するには、直感的なインターフェイスと便利なプロンプトを備えた便利なqdbusプログラムを使用します。 一般的なqdbus構文は次のとおりです。
 qdbus [servicename] [path] [method] [args] 

たとえば、カンタータプレーヤーで再生される曲のメタデータを取得する
 qdbus org.mpris.MediaPlayer2.cantata /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata 

他のプレーヤーのmprisインターフェース(このインターフェースをサポートしている)のおかげで、カンタータをプレーヤーの名前に置き換えるだけで済みます。

コンテンツをklipperに貼り付けるのは1行で簡単です
 qdbus org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents "New bufer entry" 


現在、いくつかのキーの組み合わせでスクリプトの実行を停止します( Alt + Yは非常に便利なようです)。 これを行うには、「システム設定-キーボードショートカットとストローク-特別なアクション」に進み、スクリプトを実行するグ​​ローバルキーの組み合わせを追加します


スクリプトの完成したテキストは、記事の最後にあります。

「そこで何を見ているの? そして私もそれが欲しい!」-ビデオを共有する

アームチェアに快適に座り、新しいシリーズのフューチュラマを見て、ここであなたの兄弟、友人、少女、グル、スピリチュアルメンター(必要に応じて下線)を書いて、リンクを共有するように依頼することが、どのくらいの頻度で起こりますか? これは私によく起こります。 ここで問題なのは、長くて不便なことではなく、アメリカ映画のこの素晴らしい作品をどこからダウンロードしたか覚えていないこともよくあります。 そこで、視聴に遅れないようにする小さなスクリプトを作成することにしました。このビデオを他の人と共有してください。

すべてのKubuntuディストリビューションにデフォルトでインストールされるnetcat-openbsdを使用します。 この方法は、外部IPが内部IPと一致する場合にのみ機能するか、ルーターに座っている場合はポートを転送できることが重要です(ポート3333を使用し、すべての要求をこのポートにリダイレクトするようにルーターを構成します)私のラップトップで、フューチュラマを見る)。

私はVLCビデオプレーヤーに慣れているため、最初にdbusを介して動作するように設定する必要があります。 これを行うには、/ /usr/share/applications/vlc.desktopを修正し、Execで始まる行をこの方法で変更しました
Exec=/usr/bin/vlc --control dbus %U

これらの操作の後、VLCはdbusの使用を開始します。

私はラップトップでスクリプトを使用し、これによりHOST変数の外部IPアドレス(ほとんどすべての場所でマシンにポート3333を転送できますが)を変更するため、外部IPアドレスを明示的に指定しませんが、リクエストを使用して自動的に決定します
 HOST=`wget -qO - icanhazip.com` 


全体的なスクリプト戦略は次のとおりです



いくつかのグローバルキーの組み合わせでスクリプトの実行を停止するだけです( Alt + Nを使用します)。 ビデオを共有するように求められたら、選択したキーの組み合わせを押して、 Ctrl + Vを使用して受信したコマンドをメッセージングクライアントに貼り付けます。 受信側では、このコマンドをコピーしてターミナルで実行するだけです...

「端末? いいえ、聞いていません!」-受信側

しかし、必要なコマンドが必然的にクリップボードに入れられた場合、なぜターミナルを開く必要があるのでしょうか? klipperで新しいアクションを作成し、NetCatと呼びます。 バッファーの内容に正規表現に対応するサブストリングが含まれている場合、アクションが自動的に実行される必要があります
nc -q 0 .* > \~\/\".*\"


次に、新しいコマンドを追加し、「netcatでファイルを受信」と呼びます。 コマンドの出力は無視されます。 コマンド自体は、正規表現に一致する文字列を実行し、ユーザーに通知するだけです。
 eval $(echo %s | grep -o "nc -q 0 .*\~\/\".*\""); kdialog --title "NetCat" --passivepopup "File transfer complete:<br>\"$(echo %s | grep -o "\~\/\".*\"")\"" 2 

I / Oリダイレクトを使用して行を実行するには、bash関数evalを使用します。

ファイルを受信するコマンドを含む行を選択し、ドロップダウンメニューで適切な項目を選択します

受信したファイルはホームディレクトリに保存されます。

さて、今日は以上です。 次回は、KDEでスクリプトテーマの開発を続けます。

スクリプトリンク
now_playing.sh
now_watching.sh

美しい膝を探し、スクリプトを書き、私たちと一緒にいてください!

PS:記事を否定的に評価する場合は、理由を主張してください。 私が間違ったことを知ることは重要です。

Source: https://habr.com/ru/post/J147041/


All Articles