SlideShare a Scribd company logo
1 of 22
Download to read offline
タイル型ウィンドウマネージャ
 awesomeとその仲間たち
     2009/12/05
       matsuu
自己紹介

松鵜 琢人(MATSUU Takuto)
  Twitter @matsuu
  日本タイル型WM推進委員会 発起人
  Gentoo Linux Developer
     パッケージ作成など
  最近翻訳にも手を出してます
     PowerTOP, Redmine, AndroLibなど
  Twitterボット作ってます
     @recipetter
     @secuniadvisory
     @japanesebible
     などなど
  最近様々な勉強会に出没してます
ウィンドウを手で配置してませんか?
ウィンドウを隙間なく並べたりしてませんか?
タイル型ウィンドウマネージャとは

 ウィンドウの配置・制御はウィンドウマネージャが自動で行う
 原則としてウィンドウ同士が重なることがない
   ウィンドウの下に隠れて見えない、といった状況が発生しない
 ほとんどの操作にショートカットが用意されている
   ウィンドウのマウス操作が最小限、または不要に
 無駄なスペースが発生せず、画面を最大限有効に活用できる
 GNOME/KDE/twm/LXDEと同じ立ち位置
   GDMで起動するウィンドウマネージャを指定できる
 とにかく軽い
   twm級
   低スペックなマシンにも最適
タイル型WMが向いてる人

 ウィンドウ同士が重なるとイライラする

 いつもウィンドウを開く場所が決まってる(並べてる)

 ショートカットマニア

 マウスでの操作が煩わしい

 マルチディスプレイ環境

 軽いウィンドウマネージャがほしい
awesomeのススメ

 dwmベースの元タイル型WM
   http://awesome.naquadah.org/
 先進的な機能が満載
   マルチディスプレイ対応(XRandRもOK)
   Freedesktop.org準拠
   D-Bus対応、XCB対応(XCB必須)
   Lua言語による様々な拡張機能
   (おそらく)ユーザ数が一番多くHOT
 大抵のシステムでパッケージが用意されている
   Fedora, Vineを除く主なLinuxディストリビューション
   *BSDもOK
 Googleで検索にくい
   「awesome window manager」で検索
awesomeのスクリーンショット
Gimpなどタイルに向かないアプリは例外対応可能
その他メジャーなタイル型WM

 ratpoison
     GNU Screen風のショートカット
     日本ではメジャー
 stumpwm
     ratpoisonの後継プロジェクト
     Lispで書かれている
 wmii
     タイルの制御が独特
 xmonad
     Haskellで書かれたタイル型WM
     一番洗練されているがなんせHaskell
 その他、musca、dwm、i3、larswmなどなど
 それぞれ特徴が
タイル型ウィンドウマネージャ相関図
xmonadの使用例
awesomeの利用例
タイルWMと相性のよいソフトウェア

 dmenu / pdmenu
     メニュー機能
 vimperator
     Mozilla FirefoxでもVim風操作でマウスいらず!
 stalonetray
     ウィンドウマネージャにタスクトレイ機能を!
 slim / orthos
     xdm/gdm/kdmなどのログインマネージャの代替
 conky
     壁紙に情報をはりつける(便利じゃないかも)
 xcompmgr
     ウィンドウ透過処理など
 screen/tmux
     terminalの中でタイル型!
日本タイル型ウィンドウマネージャ推進委
員会とは
 http://jp.tilingwindowmanager.org/
 タイル型ウィンドウマネージャの認知度アップを目的とした架空
 団体
 2008年設立
 活動内容
     Webページで紹介
     Wikipediaに記入
     ドキュメント翻訳
     オープンソースカンファレンスで布教活動
 タイル型ウィンドウマネージャをつくったりはしてません
     推進するだけです
Windowsにもタイルの流れが来てます

 HashTWM / WinSplit / dwm-win32など
 実はWindows1.0はタイル型でした
   先祖返りが起きているようだ
      リソースの制約→ありあまるリソースの有効活用
      俯瞰するニーズ

Windows1.0           HashTWM
Mac OS Xのタイルの流れは少しずつ

 TwoUp ( http://www.irradiatedsoftware.com/twoup/ )
    無料、単純な分割
 SizeUp ( http://www.irradiatedsoftware.com/sizeup/ )
    TwoUpの発展版で有料 $4.99~
    ウインドウを配置するためのショートカットを提供する
    それでもタイル型WMほど洗練されていないっぽい

 標準機能Exposéがあるからいらない?

 X11でawesomeやxmonadなどを動かすことはできる
   制御できるのはXアプリだけでSafariやiTunesは不可
くわしくは
「日本タイル」で検索
タイル型ポルナレフ 1/3
  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま WIMPで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『おれはwindow managerを使っていると思って
  fト、_{ル{,ィ'eラ , タ人.       |  たらいつのまにか自分でウィンドウを並べていた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ     | アイコンの整列だとかファイル名でソートだとか
  ヽ iLレ  u' | | ヾlトハ〉.       | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.   │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ\____________________



  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま awesomeで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『awesomeはdwmがcode baseだと
  fト、_{ル{,ィ'eラ , タ人.       |  思っていたらいつのまにか別物になっていた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ     | forkだとかpatch setだとか
  ヽ iLレ  u' | | ヾlトハ〉.       | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.   │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ\____________________
タイル型ポルナレフ 2/3
  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま wmiiで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『おれはファイルにechoしたと思っていたら
  fト、_{ル{,ィ'eラ , タ人.    |  いつのまにかウィンドウが移動していた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ              | ショートカットキーだとかログファイルだとか
  ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________




  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま xmonadで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『普通,XのWMはCで書かれていると思っていたら
  fト、_{ル{,ィ'eラ , タ人.    |  ヤツはHaskellで書かれていた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ             | スクリプト拡張だとかプラグインだとか
  ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________
タイル型ポルナレフ 3/3
  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ       | あ…ありのまま dwmで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『X関係のプログラムはデカいと思っていたら
  fト、_{ル{,ィ'eラ , タ人.            |  ヤツは2000行ちょっとのCで書かれていた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ       | コードゴルフだとかGUIライブラリに丸投げだとか
  ヽ iLレ  u' | | ヾlトハ〉.      | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.       │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ \____________________



  |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま stumpwmで 起こった事を話すぜ!
  |リ u' }  ,ノ _,!V,ハ |      < 『普通,WMはCで書かれていると思っていたら
  fト、_{ル{,ィ'eラ , タ人.    |  ヤツはCommon Lispで書かれていた』
 ヾ|宀| {´,)⌒`/ |<ヽトiゝ             | 末尾再帰だとか継続だとか
  ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ
   ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…
  /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________
タイル型ジョージ・ジョースター
       、--‐冖'⌒ ̄ ̄`ー-、
     /⌒`         三ミヽー-ヘ,_
   __,{ ;;,,             ミミ   i ´Z,   
   ゝ   ''〃//,,,      ,,..`ミミ、_ノリ}j; f彡  
  _)        〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡   
  >';;,,       ノ丿川j !川|;  :.`7ラ公 '>了        なに?
 _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)     ウィンドウが重なって
  ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)    よく見えない?
  く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~
   ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ
    ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:}    それは無理矢理ウィンドウを
   { .:.: l {: : }  `    ,.__(__,}   /ノ        並べようとするからだよ
    ヽ !  `'゙!       ,.,,.`三'゙、,_  /´   
    ,/´{  ミ l    /゙,:-…-~、 ) |        逆に考えるんだ
  ,r{   \ ミ  \   `' '≡≡' " ノ         「WMに並べられてもいいさ」
__ノ  ヽ   \  ヽ\    彡  ,イ_       と考えるんだ
      \   \ ヽ 丶.     ノ!|ヽ`ヽ、
         \   \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__
            \  `'ー-、  // /:.:.}       `'ー、_
          `、\   /⌒ヽ  /!:.:.|
          `、 \ /ヽLf___ハ/  {
              ′ / ! ヽ

More Related Content

What's hot

[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for VisionDeep Learning JP
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17Takuya Akiba
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジーKLab Inc. / Tech
 
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだOvercoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだYusuke Uchida
 
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...Deep Learning JP
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことLeapMind Inc
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係Kento Tajiri
 
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Koichi Hamada
 
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"Ryohei Suzuki
 
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsDeep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsHakky St
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion ModelsDeep Learning JP
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Surveytmtm otm
 
Off policy evaluation
Off policy evaluationOff policy evaluation
Off policy evaluationMasa61rl
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践智之 村上
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...Deep Learning JP
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDKNVIDIA Japan
 

What's hot (20)

[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
VAEs for multimodal disentanglement
VAEs for multimodal disentanglementVAEs for multimodal disentanglement
VAEs for multimodal disentanglement
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
 
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだOvercoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだ
 
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
[DL輪読会]A Simple Unified Framework for Detecting Out-of-Distribution Samples a...
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なこと
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
 
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
Generative Adversarial Networks (GAN) の学習方法進展・画像生成・教師なし画像変換
 
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
論文紹介: "MolGAN: An implicit generative model for small molecular graphs"
 
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPsDeep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
Off policy evaluation
Off policy evaluationOff policy evaluation
Off policy evaluation
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK
 

Similar to タイル型ウィンドウマネージャawesomeのススメ

タイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメTakuto Matsuu
 
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシTakuto Matsuu
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDとsters
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまc-mitsuba
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがないTakuto Matsuu
 
20141115グンマーのヤボー
20141115グンマーのヤボー20141115グンマーのヤボー
20141115グンマーのヤボーAkihiko Kigure
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作るKenichiro MATOHARA
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介Osamu Habuka
 
IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?terurou
 
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみたMasahiko Hashimoto
 

Similar to タイル型ウィンドウマネージャawesomeのススメ (14)

タイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメ
 
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
 
tnct.Seminar9.03#1
tnct.Seminar9.03#1tnct.Seminar9.03#1
tnct.Seminar9.03#1
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくま
 
tmuxを使おう
tmuxを使おうtmuxを使おう
tmuxを使おう
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
 
20141115グンマーのヤボー
20141115グンマーのヤボー20141115グンマーのヤボー
20141115グンマーのヤボー
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?
 
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみた
 
Code Pack の話
Code Pack の話Code Pack の話
Code Pack の話
 

More from Takuto Matsuu

Mspからみたsensu
MspからみたsensuMspからみたsensu
MspからみたsensuTakuto Matsuu
 
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Takuto Matsuu
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Takuto Matsuu
 
インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!Takuto Matsuu
 
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでくださいTakuto Matsuu
 
DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料Takuto Matsuu
 
JINS PC買ってみた
JINS PC買ってみたJINS PC買ってみた
JINS PC買ってみたTakuto Matsuu
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo LinuxについてTakuto Matsuu
 
Facebookアプリ雑感
Facebookアプリ雑感Facebookアプリ雑感
Facebookアプリ雑感Takuto Matsuu
 
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜Takuto Matsuu
 
Twitter botのレシピ
Twitter botのレシピTwitter botのレシピ
Twitter botのレシピTakuto Matsuu
 
recipetter開発秘話
recipetter開発秘話recipetter開発秘話
recipetter開発秘話Takuto Matsuu
 

More from Takuto Matsuu (12)

Mspからみたsensu
MspからみたsensuMspからみたsensu
Mspからみたsensu
 
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話
 
インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!インデックス使えてる?じぇじぇじぇ!
インデックス使えてる?じぇじぇじぇ!
 
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
「Cactiがいいね」と君が言ったから六月六日はv6記念日なので嫌いにならないでください
 
DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料DocFest 2011 Feb 自己紹介資料
DocFest 2011 Feb 自己紹介資料
 
JINS PC買ってみた
JINS PC買ってみたJINS PC買ってみた
JINS PC買ってみた
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Facebookアプリ雑感
Facebookアプリ雑感Facebookアプリ雑感
Facebookアプリ雑感
 
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
 
Twitter botのレシピ
Twitter botのレシピTwitter botのレシピ
Twitter botのレシピ
 
recipetter開発秘話
recipetter開発秘話recipetter開発秘話
recipetter開発秘話
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

タイル型ウィンドウマネージャawesomeのススメ

  • 2. 自己紹介 松鵜 琢人(MATSUU Takuto) Twitter @matsuu 日本タイル型WM推進委員会 発起人 Gentoo Linux Developer パッケージ作成など 最近翻訳にも手を出してます PowerTOP, Redmine, AndroLibなど Twitterボット作ってます @recipetter @secuniadvisory @japanesebible などなど 最近様々な勉強会に出没してます
  • 5. タイル型ウィンドウマネージャとは ウィンドウの配置・制御はウィンドウマネージャが自動で行う 原則としてウィンドウ同士が重なることがない ウィンドウの下に隠れて見えない、といった状況が発生しない ほとんどの操作にショートカットが用意されている ウィンドウのマウス操作が最小限、または不要に 無駄なスペースが発生せず、画面を最大限有効に活用できる GNOME/KDE/twm/LXDEと同じ立ち位置 GDMで起動するウィンドウマネージャを指定できる とにかく軽い twm級 低スペックなマシンにも最適
  • 6. タイル型WMが向いてる人 ウィンドウ同士が重なるとイライラする いつもウィンドウを開く場所が決まってる(並べてる) ショートカットマニア マウスでの操作が煩わしい マルチディスプレイ環境 軽いウィンドウマネージャがほしい
  • 7. awesomeのススメ dwmベースの元タイル型WM http://awesome.naquadah.org/ 先進的な機能が満載 マルチディスプレイ対応(XRandRもOK) Freedesktop.org準拠 D-Bus対応、XCB対応(XCB必須) Lua言語による様々な拡張機能 (おそらく)ユーザ数が一番多くHOT 大抵のシステムでパッケージが用意されている Fedora, Vineを除く主なLinuxディストリビューション *BSDもOK Googleで検索にくい 「awesome window manager」で検索
  • 10. その他メジャーなタイル型WM ratpoison GNU Screen風のショートカット 日本ではメジャー stumpwm ratpoisonの後継プロジェクト Lispで書かれている wmii タイルの制御が独特 xmonad Haskellで書かれたタイル型WM 一番洗練されているがなんせHaskell その他、musca、dwm、i3、larswmなどなど それぞれ特徴が
  • 14. タイルWMと相性のよいソフトウェア dmenu / pdmenu メニュー機能 vimperator Mozilla FirefoxでもVim風操作でマウスいらず! stalonetray ウィンドウマネージャにタスクトレイ機能を! slim / orthos xdm/gdm/kdmなどのログインマネージャの代替 conky 壁紙に情報をはりつける(便利じゃないかも) xcompmgr ウィンドウ透過処理など screen/tmux terminalの中でタイル型!
  • 15. 日本タイル型ウィンドウマネージャ推進委 員会とは http://jp.tilingwindowmanager.org/ タイル型ウィンドウマネージャの認知度アップを目的とした架空 団体 2008年設立 活動内容 Webページで紹介 Wikipediaに記入 ドキュメント翻訳 オープンソースカンファレンスで布教活動 タイル型ウィンドウマネージャをつくったりはしてません 推進するだけです
  • 16. Windowsにもタイルの流れが来てます HashTWM / WinSplit / dwm-win32など 実はWindows1.0はタイル型でした 先祖返りが起きているようだ リソースの制約→ありあまるリソースの有効活用 俯瞰するニーズ Windows1.0 HashTWM
  • 17. Mac OS Xのタイルの流れは少しずつ TwoUp ( http://www.irradiatedsoftware.com/twoup/ ) 無料、単純な分割 SizeUp ( http://www.irradiatedsoftware.com/sizeup/ ) TwoUpの発展版で有料 $4.99~ ウインドウを配置するためのショートカットを提供する それでもタイル型WMほど洗練されていないっぽい 標準機能Exposéがあるからいらない? X11でawesomeやxmonadなどを動かすことはできる 制御できるのはXアプリだけでSafariやiTunesは不可
  • 19. タイル型ポルナレフ 1/3   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま WIMPで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『おれはwindow managerを使っていると思って   fト、_{ル{,ィ'eラ , タ人.       |  たらいつのまにか自分でウィンドウを並べていた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ     | アイコンの整列だとかファイル名でソートだとか   ヽ iLレ  u' | | ヾlトハ〉.       | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.   │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ\____________________   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま awesomeで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『awesomeはdwmがcode baseだと   fト、_{ル{,ィ'eラ , タ人.       |  思っていたらいつのまにか別物になっていた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ     | forkだとかpatch setだとか   ヽ iLレ  u' | | ヾlトハ〉.       | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.   │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ\____________________
  • 20. タイル型ポルナレフ 2/3   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま wmiiで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『おれはファイルにechoしたと思っていたら   fト、_{ル{,ィ'eラ , タ人.    |  いつのまにかウィンドウが移動していた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ              | ショートカットキーだとかログファイルだとか   ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま xmonadで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『普通,XのWMはCで書かれていると思っていたら   fト、_{ル{,ィ'eラ , タ人.    |  ヤツはHaskellで書かれていた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ             | スクリプト拡張だとかプラグインだとか   ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________
  • 21. タイル型ポルナレフ 3/3   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ       | あ…ありのまま dwmで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『X関係のプログラムはデカいと思っていたら   fト、_{ル{,ィ'eラ , タ人.            |  ヤツは2000行ちょっとのCで書かれていた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ       | コードゴルフだとかGUIライブラリに丸投げだとか   ヽ iLレ  u' | | ヾlトハ〉.      | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.       │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ \____________________   |l、{   j} /,,ィ//|         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   i|:!ヾ、_ノ/ u {:}//ヘ      | あ…ありのまま stumpwmで 起こった事を話すぜ!   |リ u' }  ,ノ _,!V,ハ |      < 『普通,WMはCで書かれていると思っていたら   fト、_{ル{,ィ'eラ , タ人.    |  ヤツはCommon Lispで書かれていた』  ヾ|宀| {´,)⌒`/ |<ヽトiゝ             | 末尾再帰だとか継続だとか   ヽ iLレ  u' | | ヾlトハ〉.     | そんなチャチなもんじゃあ 断じてねえ    ハ !ニ⊇ '/:}  V:::::ヽ.      │ もっと恐ろしいものの片鱗を味わったぜ…   /:::丶'T'' /u' __ /:::::::/`ヽ   \____________________
  • 22. タイル型ジョージ・ジョースター        、--‐冖'⌒ ̄ ̄`ー-、      /⌒`         三ミヽー-ヘ,_    __,{ ;;,,             ミミ   i ´Z,       ゝ   ''〃//,,,      ,,..`ミミ、_ノリ}j; f彡     _)        〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡      >';;,,       ノ丿川j !川|;  :.`7ラ公 '>了        なに?  _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)     ウィンドウが重なって   ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)    よく見えない?   く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~    ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ     ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:}    それは無理矢理ウィンドウを    { .:.: l {: : }  `    ,.__(__,}   /ノ        並べようとするからだよ     ヽ !  `'゙!       ,.,,.`三'゙、,_  /´        ,/´{  ミ l    /゙,:-…-~、 ) |        逆に考えるんだ   ,r{   \ ミ  \   `' '≡≡' " ノ         「WMに並べられてもいいさ」 __ノ  ヽ   \  ヽ\    彡  ,イ_       と考えるんだ       \   \ ヽ 丶.     ノ!|ヽ`ヽ、          \   \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__             \  `'ー-、  // /:.:.}       `'ー、_           `、\   /⌒ヽ  /!:.:.|           `、 \ /ヽLf___ハ/  {               ′ / ! ヽ