paloma blog

NWエンジニアやってます。主に自宅環境のお遊びを書きます。Pythonもちょっと。タイトルは好きなカクテルから。

私もunixpornをやってみたい

今月頭くらいにunixpornの記事が目に付いたので見てみました。

neko-mac.blogspot.com

なにこれ。めっちゃかっこいいじゃないですか。
というわけで私もやりたくなったので作ってみました。

ウィンドウマネージャ選定

スタック型のはWindowsGNOMEで慣れてますので、違ったスタイルでやってみようと思いタイル型ウィンドウマネージャで作ってみることにします。
タイル型を使いこなせればハッカーぽくてかっこいいですからw

しかしタイル型だけでもたくさんありますね。

  • i3
  • bspwm
  • dwm

あたりを試してdwmで作ることにしました。

software that sucks less | suckless.org software that sucks less

dwmを選んだ理由

  1. 軽量
  2. C言語
  3. 設定はソースを直書き、反映は都度コンパイル

タイル型はすべてシンプルなのでどれも軽量なのですが③の要素が大きいです。
C言語は最近のプログラミング言語の祖ということで抑えたいのと、設定はソースファイル直書きなので意識せざるを得ないということでdwmにしました。

環境

サブ機Ubuntuの仮想環境上でまずは作ります。
正直GNOMEでも十分かっこいいし使い勝手もいいのでホスト環境まではいじる気はありません。

OSはArchにします。
dwmのwikiも豊富だし初期のパッケージも少なくてisoサイズも軽いですからね。

最初の最低限インストール

インストールやユーザ作成等は割愛してデスクトップの構築に行きます。

dwm、st、dmenuをそれぞれ入手してコンパイルします。

  • dwm
    • デスクトップマネージャ本体
  • st
    • ターミナル。dwmのデフォルトがこれに指定されています。
  • dmenu
    • アプリケーションランチャ。あると便利

インストール後はxinitrcに「exec dwm」を書いてstartxすればデスクトップが立ち上がります。
画面は省きますが真っ暗のシンプルなデスクトップが出来上がります。

機能の追加

カスタマイズもソース直書きで行いますが、パッチがいろいろ出ています。
patchコマンドで機能追加していく感じですね。

dwmはgit applyでもパッチ当てられるようですが私の環境だとうまくいかなかったので使っていません。

入れたパッチ

あまりカスタマイズすると他のデスクトップ環境と変わらなくなってしまうのでシンプルを心がけながら以下のパッチを追加しました。

  • dwm
    • movestack (アプリの場所入れ替え)
    • uselessgap (アプリ間のmargin)
  • st
    • alpha (ターミナル透過)
      • これとxcompmgr
    • scrollback

見た目はこちら

youtubeで設定方法をちょこちょこ見ながらいじってなんとか出来上がりました。
取り急ぎブラウジングやプログラミングまではできます。

背景はnitrogenを使っています。
あと映えさせるためにtty-clockを入れました。
VMのNTP設定してないので時刻はUTCです。

色味も青系で統一されてていい感じじゃないでしょうか。
タイル型は各アプリが重ならずサイズも自動で修正されるので並びも綺麗ですね。

ターミナルのズームイン/アウト機能がまだ入れられてないので立ち上げすぎると切れちゃいます。
また日本語フォントを入れましたが、日本語入力が未インストールです。

追記

この機能はデフォルトでありました…
Is there an st patch for zooming in/out? : suckless

NTPも設定してrangerも入れてみました。

なかなかカッコいいです。
メニューバーをもう少し改造したいところ。

まとめ

まだ完成ではないですが割といい感じのデスクトップ環境が出来上がりました。
とはいっても普段使ってるGNOMEでも十分使い勝手がいいのでどこで使うか迷いますね。

C言語を意識できるようにということでdwmにしましたが正直パッチだけでも十分に機能追加できるので 余り意識できませんでした。
自分でいじって独自のカスタマイズができれば一人前ですね。

しかし見た目が非常に良く、操作もキーボードメインで心地よくできますのでどこかで使いたいです。
小さめのノートPCに入れて外出時にちょっといじれる、くらいがベターでしょうか。