Linux
 Computer >> コンピューター >  >> システム >> Linux

dwmエクスペリエンスを向上させるための5つの便利なパッチ

dwmエクスペリエンスを向上させるための5つの便利なパッチ

Dwmは、ミニマリストソフトウェアの素晴らしい作品です。わずか2000行のコードで、開発者は高速で軽量のウィンドウマネージャーを提供することができました。しかし、ソフトウェア開発に対するこの質素なアプローチには代償が伴いました。プログラムのサイズを抑えるために、一部の機能が削除されました。

それにもかかわらず、dwmはソースベースであるため、ソースコードにパッチを適用することでdwmに新しい機能を導入することができます。基本的な設定を行うために、dwmのソースコードの一部であるconfig.hを変更する必要があります。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

最初は複雑に思えるかもしれませんが、プロセスについていくつか理解すれば、dwmへのパッチ適用は簡単です。この記事の目的は、独自のdwmインストールにパッチを適用し、5つの便利なパッチを提供するために必要なスキルセットを教えることです。

パッチとは何ですか?

パッチは、より大きな一連の作業に挿入できるコードの小さな断片です。これは、プログラマーが他の人によって行われた変更をすばやく確認できるため、大規模なソフトウェアプロジェクトで共同作業する場合に役立ちます。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

パッチは、バグを修正するための小さなワンライナーの変更や、新機能を導入する大規模な複数ファイルの変更のように単純なものにすることができます。

dwmのソースコードにパッチを適用する方法

ソースコードにパッチを導入する方法は複数あります。それを行う最も一般的な方法は、gitコマンドを使用することです。たとえば、gitリポジトリにパッチを導入するには、次のように入力します。

git apply -3 path/to/the/patch.diff
  • apply 関数は、示されたソースファイルにパッチファイルの内容を挿入しようとします。
  • -3 オプションは、不整合を修正し、ユーザーがパッチ適用プロセスの間違いを修正できるようにします。
dwmエクスペリエンスを向上させるための5つの便利なパッチ

一方、バージョン管理なしでソースコードを編集している場合は、GNUパッチプログラムを使用できます。それを使用してパッチを挿入するには、次のように入力します。

patch -p1 < path/to/the/patch.diff
  • -p1 オプションを指定すると、パッチプログラムが挿入できるようにパッチファイルに正しくラベルが付けられます。

ただし、dwmにパッチを適用する場合、パッチを適用するソースコードが基本的なdwmのインストールと類似していると想定しているため、これらのプログラムが失敗することがあります。

これは、パッチをインストールするときに、パッチプログラムがそれらのパッチを挿入するのが難しくなることを意味します。このため、自分でパッチを手動でインストールできるように、パッチファイルがどのように機能するかを理解することが重要です。

パッチファイルの読み方

パッチファイルは次の3つで構成されています。

  • コードを挿入するファイルを示すヘッダー
  • 挿入する行番号または関数を示す小見出し
  • コード自体

上で説明したように、単一のパッチファイルには、複数のファイルに移動することを目的としたコードの複数のスニペットを含めることができます。この形式では、ソースファイルごとに単一のパッチファイルを用意するのではなく、単一のファイルを配布できます。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

これにより、パッチファイルを読み取るには、ヘッダーの構文を理解するだけで済みます。それがわかったら、実際のパッチ適用はコードをコピーして貼り付けるだけです。

パッチヘッダー構文

パッチのヘッダーには、ソースファイルの場所に関する重要な情報が含まれています。たとえば、これはdwm自動サイズ変更パッチのヘッダーです。

diff --git a/dwm.c b/dwm.c
index 0362114..e4e8514 100644
--- a/dwm.c
+++ b/dwm.c

1行目、3行目、および4行目は、これがdwm.cファイルの2つのバージョン間の差分であることを示しています。変更するファイルが「dwm.c」ファイルであることがわかります。

ただし、何を編集するかを知っているだけでは、ソースファイルにパッチを適用するのに役立ちません。ファイルのどこにコードを挿入する必要があるかを知る必要があります。ここで、パッチファイルの小見出しを使用できます。

たとえば、これは上記と同じ自動サイズ変更パッチのセグメントです。

@@ -92,7 +92,7 @@ struct Client {
 	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
 	int bw, oldbw;
 	unsigned int tags;
-	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
+	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize;
 	Client *next;
 	Client *snext;
 	Monitor *mon;
を監視する

これは気の遠くなるようなコードのように見えるかもしれませんが、ここで確認する必要があるのは3つだけです。

  • 最初の行は、コードのスニペットを挿入する必要がある行番号を示しています。この例では、これを92行目に挿入する必要があります。
  • 1行目の2番目の引数– struct Client { –編集する必要のある特定の関数を示します。これは、ソースファイルに既にパッチが適用されていて、左側の行番号が一致しなくなった場合に役立ちます。
  • 最後に確認するのは+です および- コードブロックにサインインします。マイナス記号は削除する行であることを示し、プラス記号は追加する行であることを示します。

これで、ソースファイルにパッチを適用する方法の基本を理解できました。これで、dwmの5つの便利なパッチについて説明できます。

1。 Systray

ほとんどのデスクトップ環境とは異なり、dwmにはデフォルトでシステムトレイが付属していません。システムトレイはデスクトップの一部であり、一部のアプリケーションはアプリの機能を備えたアイコンを残して、バックグラウンドで実行されているプログラムとすばやくやり取りできます。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

このパッチは、その機能をdwmに導入します。インストールされると、systrayパッチはdwmバーの右端のコーナーを現在のシステムトレイプログラムに割り当てます。また、現在マウスポインタが設定されているモニターにトレイが常に表示されるマルチモニター設定もサポートしています。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

2。 Xresources

Xresourcesパッチを使用すると、xrdbプログラムでdwmのグラフィカル設定を設定できます。これにより、.Xresourcesファイルを使用して、プログラムを再コンパイルせずに色とフォントを変更できます。これは、端末の配色に同じファイルをすでに使用しているユーザーにとって特に便利です。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

さらに、xrdbでdwmの外観を指定することで、複数のテーマを使用することもできます。これを行うには、必要な配色の.Xresourcesファイルを変更し、dwmをリロードして有効にします。

3。畳

畳はdwmの代替ウィンドウレイアウトです。画面の窓を日本の伝統的な床に並べられたタイルとして表現しています。このアプローチは、マスター以外の各ウィンドウが垂直方向に薄くなるため、スタック内の各ウィンドウが読み取れなくなる従来のマスターおよびスタックレイアウトとは異なります。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

畳のレイアウトは、4〜5つのウィンドウを同時に処理する場合に特に便利です。これは、各ウィンドウに、ユーザーが読むための十分な画面スペースを提供するためです。

4。フォーカスマスター

dwmがウィンドウを配置する方法は、ブロックをスタックに配置するのと似ています。新しく作成された各ウィンドウは、前のウィンドウの上に配置されます。これにより、ウィンドウ間に線形の順序が作成され、どのウィンドウが最初に来たかを知ることができます。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

ただし、この設計の1つの制限は、スタックからマスターウィンドウを自由に選択できないことです。マスターを選択するには、一番上のブロックに到達するまで、すべてのウィンドウを選択する必要があります。このパッチはこの動作を変更し、スタック内のどこからでも現在のマスターウィンドウを選択できるようにします。

複数のウィンドウを処理する場合に特に便利です。これにより、存在する各ウィンドウに循環するのではなく、ウィンドウスタック内のマスターを自動的に選択できるようになります。

5。 dwmc

dwmのあらゆる側面を変更するには、変更を適用するたびにプログラムを再コンパイルする必要があります。これには、特に、配色とデフォルトの動作が含まれます。

dwmエクスペリエンスを向上させるための5つの便利なパッチ

dwmcは、クライアントプログラムを介してdwmの動作を変更できるようにするシンプルなパッチです。このアプローチは、bspwmがbspcを使用してbspwmの設定を変更する方法に似ています。 dwmcはbspcよりもはるかに単純ですが、それでも使用および変更できる便利な設定がいくつかあります。

たとえば、dwmcで使用できる関数の1つはトグルバーです。 dwmcトグルバーを実行すると、dwmバーを動的に有効または無効にできます。これにより、カスタムウィンドウの動作を実行するスクリプトを作成するときにdwmcが役立ちます。

おめでとう!これで、コードパッチがどのように機能するかについての基本的な理解と、dwmインストールで適用する5つの便利なパッチについて理解できました。ブラウザで同様の最小限のエクスペリエンスを探している場合は、このチュートリアルを確認してください。

よくある質問

1。 dwmパッチは安全に使用できますか?

はい!多くのメンテナが、サックレスWebサイトにあるパッチをチェックしています。これにより、Webサイト内のすべてのパッチが、作成されたバージョンのdwmで機能するようになります。

2。 git applyを使用していますが、パッチが失敗し、dwmがコンパイルされていません。どうすればいいですか?

これは、いくつかの原因で発生する可能性があります。最も一般的な理由は、gitヘッダーがソースファイルで削除されなかったことです。これは比較的簡単に修正できます。ヘッダーを削除し、パッチを手動で適用する必要があります。

ソースファイルを開くと、HEADというラベルの付いた行が表示されます。 。これは、変更の開始を示します。その後に、変更が必要な機能が続きます。その行を削除して、パッチを手動で実行する必要があります。ここには、+もあります および- コードの左側にある標識は、何を変更するかをガイドします。

3。パッチを正常に適用したが、dwmがコンパイルを望まず、欠落している変数または宣言を要求している場合はどうすればよいですか?

パッチ適用プログラムは、config.hファイルにパッチを適用しませんでした。デフォルトでは、パッチはconfig.def.hファイルを編集して、現在の構成との競合を回避します。

ただし、これは、config.hファイルがその特定のパッチの正しい構成値でロードされないことを意味します。これを修正するには、config.def.hファイルの変更をconfig.hファイルに導入する必要があります。


  1. 視聴体験を向上させる6つのNetflixツール

    ほとんどの人はNetflixを使用しており、それに満足しています。このサービスには多くの優れたコンテンツがあり、それを整理するための非常に堅実な方法があります。それでも、プラットフォーム自体が優れている限り、常に改善の余地があります。そのため、このリストを作成しました。視聴体験と秘密を改善できるNetflixの優れたツールについても説明します! 6つ以上のツールと秘密があることに注意してください。間違いなくもっとたくさんあります。このリストは、そこにある最も有用で関連性のある項目を網羅しています。 1。ネンハンサー ウェブブラウザでより優れたNetflixの視聴体験をお探しの場合は、

  2. MacOS Mojave エクスペリエンスを向上させる 6 つのヒント

    2018 年にリリースされた MacOS Mojave は、Mac 向けの 15 番目のメジャー ソフトウェア リリースです。 Mojave より前のバージョンは High Sierra で、ハードウェアとシステムのパフォーマンス機能に重点を置いていました。一方、Mojave は、Mac エクスペリエンスをより生産的にし、ユーザーが整理された状態を維持し、よりスマートに検索し、単純なタスクをより迅速に完了できるようにすることを目的としています. MacOS Mojave の世界的な人気の背後にあるもう 1 つの理由は、Apple News、Voice Memos、Apple Home など