Login
Immutable PageDiscussionInfoAttachments
Diff for "clear/wm_devel"

MMA
Differences between revisions 6 and 7
Revision 6 as of 2011-12-13 00:47:17
Size: 3383
Editor: clear
Comment:
Revision 7 as of 2012-01-06 02:11:44
Size: 3561
Editor: clear
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
  * C標準ライブラリとXlibで書けば大丈夫だろう、たぶん
  * 生産性が課題
  * C標準ライブラリとXlibで書けば大丈夫だろう、たぶん……と思っていたが、STLが使いたいのでC++にしようかと思案中
  * ファイルIO(必要なら)にはcstdioを使う(printf族を使いたい)
Line 24: Line 24:
   * 最低限、h/v-stackは必要    * 最低限、h/v-stackは必要。加えてnmasterがあると便利

ウィンドウマネージャ開発メモ

動機

  • 毎日使って、それで暮らすものだからどうせなら自作したいね
  • X Window Systemの勉強には丁度いいかもね

暫定的仕様

  • 色んな環境で気軽にコンパイルして使いたいので、依存先を減らす
    • C標準ライブラリとXlibで書けば大丈夫だろう、たぶん……と思っていたが、STLが使いたいのでC++にしようかと思案中
    • ファイルIO(必要なら)にはcstdioを使う(printf族を使いたい)
  • Xlibで書く
    • awesomeなんかが使っているxcbを使う手もあるが、Xlibを使った小さめのウィンドウマネージャが割とごろごろ出てきて参考にできるので、こちらを使うことに
  • できる限り小さいものにする
    • 現実的に、実装できそうな規模にする
  • 仮想デスクトップ的なものは欲しい
    • dwmみたいなタグベースのものにするか否か
  • タイル型
    • フローティングもサポートするダイナミック型に
    • 具体的なスタイルをどうするかは要検討
    • できれば、小さい画面から大きい画面まで使いやすいものがいい
      • ウィンドウが無い状態でも先に画面を分割しておいて、後からウィンドウをはめ込んでいくようにすると高解像度の画面では便利かもしれない
        • 1920x1080の端末エミュレータを使いたいことはそうそう無い
    • できるだけ柔軟に分割したい
      • 最低限、h/v-stackは必要。加えてnmasterがあると便利
      • 無秩序にやりすぎるとウィンドウの入れ替えや巡回がし辛い
  • コンパイル時設定 or 単純なテキストによる設定
    • 設定ファイルの仕様を考えてパースするコードを書くのは面倒
    • ヘッダか何かにまとめて書くdwm方式で良いか
    • それなりに使えるようになってからまた考える
  • ウィンドウマネージャの機能として
    • バー/トレイをつけるか
      • バーとは限らないが、仮想デスクトップの状態を把握できる何かは欲しい
      • 既存の優秀なバー/トレイアプリケーションが存在するので必要ならそれを使えばいいか
    • メニューをつけるか
      • いらない? 実装が面倒
      • dmenuあたりを使えば良いか

名称

  • tinyとかsmallとかminimalみたいな単語は使い尽くされていた
  • どうやらlesserは使われてなさそうな雰囲気
    • レッサーパンダとかLGPLの最初のLとかのlesser
  • ということでlesser window manager
    • 縮めてlswmとかだろうか

資料

X Window プログラミング

規格

実装

  • dwm 5.9
  • sithwm
  • tinywm
  • evilwm

日記

clear/wm_devel (last edited 2013-06-24 01:16:30 by clear)