font-family:”Noto Sans CJK JP”
font-size:16px;
font-style: normal;
font-weight: 400;
本サイトの表示を、このようにした。
font-family:”Noto Sans CJK JP”
font-size:16px;
font-style: normal;
font-weight: 400;
本サイトの表示を、このようにした。
ターミナルのソフトを最大表示させると、下部のフレームがズレて隙間ができてしまう。これを解決するのが、ResizeHintOverrideである。文字のリサイズステップサイズを無視するようにするのだ。
ResizeHintOverride instructs fvwm to ignore the program supplied minimum and maximum size as well as the resize step size (the character size in many applications). This can be handy for broken applications that refuse to be resized. Do not use it if you do not need it. The default (opposite) style is NoResizeOverride.
しかし、最大サイズのリサイズはうまくいくが、フレームの端を動かすリサイズはうまく動かない。Style * ResizeOpaqueをデフォルトで使っているのだが。これか?と思いResizeOutlineを使用するとうまく動いた。
Style * ResizeOpaque
Style "Gnome-terminal" ResizeOutline
Style "xfce4-terminal" ResizeOutline
Style "Gnome-terminal" ResizeHintOverride
Style "xfce4-terminal" ResizeHintOverride
メニューにXDGMenuを表示させるには、Readコマンドで.XDGMenuを読み込ませる。
+ I Read $[FVWM_USERDIR]/.XDGMenu
この.XDGMenuには、第一段階目のXDGMenuという名前のメニューが設定されている。それを変更するために。追加になるんだが。
AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop
XDGMenuにタイトルとテストのメニュー名を追加するとする。これをFvwmの設定ファイルにReadコマンドの後に記載すると。これが動作しないのである。困ったものである。どうしたものかと考えて、Readで読ませた設定にはReadで対抗できるのではないかと、推定した。
.XDGMenu_Addというファイルを作り
#DestroyMenu "XDGMenu" AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop
の内容で書き込み。
+ I Read $[FVWM_USERDIR]/.XDGMenu + I Read $[FVWM_USERDIR]/.XDGMenu_Add
としたら、思ったように動作して、.XDGMenu_Addの内容がメニューに表示された。DestroyMenu “XDGMenu”を記載すると、.XDGMenuの内容は、消され.XDGMenu_Addの内容のみが表示された。このダブルReadテクニックによって、いろいろできそう。
例えば
#DestroyMenu "XDGMenu" AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop DestroyMenuStyle menu_xdg MenuStyle menu_xdg MenuColorset 14 MenuStyle menu_xdg Font "xft:NotoSerifCJK-Light:size=12" ChangeMenuStyle menu_xdg XDGMenu
XDGMenuのMenuStyleを変えられる。でもこれXDGMenuの一段目だけなんだよね。二段目以降はメニュー名が日本語だし、たくさんあるし、どうするの?
DestroyMenuStyle * MenuStyle * Mwm MenuStyle * MenuColorset 1 MenuStyle * Font "xft:NotoSerifCJK-Light:size=18"
.XDGMenu_Addにアスタリスクのメニュスタイルを設定すると、XDGMenuでない他のメニューのスタイルも変わってしまう。そりゃそうだけど。アスタリスクに関しては、全部影響するという訳だった。じゃどうする?宿題だな。
PopupとMenuの違いは何だろう?同じように動作するのだが。
key F11 A M Popup XDGMenu key F12 A M Menu XDGMenu
Types of Menus In fvwm there are four slightly different types of menus: Popup menus can appear everywhere on the screen on their own or attached to a part of a window.The Popup command opens popup menus. If the popup menu was invoked with a mouse button held down, it is closed when the button is released. The item under the pointer is then activated and the associated action is executed. Menu is a very similar command, but the menus it opens are slightly less transient. When invoked by clicking a mouse button, it stays open and can be navigated with no button held. But if it is invoked by a button press followed by mouse motion, it behaves exactly like a popup menu.
XDGMenuの場合は違いが分からなかった。AddToMenuで作られたMenuをマウスクリックで呼ぶ場合は、Popupの時は、右側にMenuが開く。Menuの時は、クリックなりリターンなりでアクションがあったらMenuが単独で開く、そんなところでした。
では、なんでXDGMenuだと違ったの? これ宿題
それでは、マウスでメニューを開くとする。以下をAddToMenuに記載し、メニューを開くとPopupの方は、右横にXDGMenuの中身が開いて表示される。Menuの方はクリックすると開く。その違いであった。
+ "XDG Menus" Popup XDGMenu + "XDG Menus" Menu XDGMenu
が、しかし一番上に記載した、キーで呼ぶ場合には、同じ挙動なんですな。これは不思議。つまりキーでメニューを呼びだす時は、PopupもMenuも同じ動作をする。これは1段目のメニューだからそうなるのであろう。2段目は違うぞ? これ宿題
.bashrc に追加する。メモリーを解放するよ。
alias memfree='VAR=`mem`&&sudo sh -c "echo 3 >/proc/sys/vm/drop_caches"&&VAR2=`mem`&&echo freememory $VAR to $VAR2'
日本語に対応したフォント一覧
fc-list :lang=ja file
どんなアプリがインストールされているか知ることができるランチャーである。検索、ブックマーク、履歴、アクセサリー、インターネット、オフィス、グラフィック、ゲーム、システム、マルチメディア、設定のカテゴリーが左枠に出現させられる。XDGMenuより多機能で見やすい。FVWMにはこれだね、メニューとショートカットに入れるべき。ポップアップでコマンドも表示されるので、気に入ったコマンドは、FVWMのメニューに追加できるので、xfce4-appfinderをイチオシ。
sudo apt install xfce4-appfinder
「FVWM version 3 — the successor to fvwm2」が公開されているが、現在UbuntuにはFvwm3のパッケージは存在しない。https://packages.ubuntu.com/
待っていても、パッケージでは提供されないのだろうか。と言う訳でコンパイルしインストールを行う。
https://github.com/fvwmorg/fvwm3/blob/master/dev-docs/INSTALL.md ここを参考に、Core dependenciesとOptional dependenciesをインストールしておく。
librsvg-devがなくてlibrsvg2-devがあったので、これをインストールしてみた。大丈夫?
#!/bin/bash while read line do echo -e "\e[32;1m$line\e[m" sudo apt install $line -y done << EOF libevent-dev libx11-dev libxrandr-dev libxrender-dev libxt-dev asciidoctor libfontconfig-dev libfreetype6-dev libfribidi-dev libncurses5-dev libpng-dev libreadline-dev librsvg2-dev libsm-dev libxcursor-dev libxext-dev libxft-dev libxi-dev libxpm-dev sharutils EOF
準備ができたらgitからダウロード
git clone https://github.com/fvwmorg/fvwm3.git
あとはInstalling From Gitの手順で
./autogen.sh ./configure --enable-mandoc make
configureでWith Golang support? noになったが、まぁいいか。
じゃないわ! FvwmPrompt
— a new module written in golang
: ./configure --enable-golang
needed at compile time だとさ。
で、以下のconfigureでyesになった。
./configure --enable-mandoc --enable-golang
つまりこういう事である。
/autogen.sh && ./configure --enable-mandoc --enable-golang && make -j4
さらに改良。Makefileに、CPPFLAGS = -march=amdfam10 追加。k10なのよ。
でmake clean && make -j4
sudo make install
インストールできたら、 .xinitrcのfvwm2の部分をfvwm3に書き換えて。startxする。
何が変わったのかはここを読むといい。https://github.com/fvwmorg/fvwm3/releases
fvwm3では、Strokeコマンドがなくなった。libstroke
support has been removed.だと。
あまり使わないので、まぁ影響はないけど。キーとマウスクリックで対応できるでしょうから。Strokeは設定ファイルからコメントアウト。あとEdgeResistance 30 30でエラー、引数は1つのみが正解。何か2つ目の引数って効果あるの?ってずっと思ってた。EdgeResistance 30が正しいと、-vオプションのエラーログで分かった。
logを取るには.xinitrcで起動時に fvwm3 -v と -vのオプションを付けると、$HOME/.fvwm/fvwm3-output.log が作られる。起動中では pkill -USR2 fvwm3 ができる。
Fvwm3のモジュールは以下のとおり
FvwmAnimate FvwmAuto FvwmBacker FvwmButtons FvwmCommandS FvwmConsole FvwmConsoleC FvwmEvent FvwmForm FvwmIconMan FvwmIdent FvwmMFL FvwmPager FvwmPerl FvwmRearrange FvwmScript FvwmTalk
fvwm2.6.8のモジュールは以下の通り。○は存続、×は消滅したもの。
FvwmAnimate ○ FvwmAuto ○ FvwmBacker ○ FvwmBanner × FvwmButtons ○ FvwmCascade × FvwmCommandS ○ FvwmConsole ○ FvwmConsoleC ○ FvwmConsoleC.pl × FvwmCpp × FvwmEvent(FvwmAudio) ○ FvwmForm ○ FvwmIconMan ○ FvwmIdent ○ FvwmM4 × FvwmPager ○ FvwmPerl ○ FvwmProxy × FvwmRearrange ○ FvwmScript ○ FvwmTalk ○ FvwmTile ×
fvwm2.6.8はfvwm2.6の最終安定版ですね。
こちらでも絶版があるわけですが。FvwmTaskBarが無くなったのが大きかったかな。
- Some fvwm modules have been removed: - FvwmDragWell (no replacement) - FvwmGTK (no replacement) - FvwmSave (no replacement) - FvwmSaveDesk (no replacement) - FvwmScroll (no replacement) - FvwmTabs (no replacement, never worked anyway) - FvwmTaskBar (use FvwmButtons) - FvwmTheme (in core of fvwm as colorsets) - FvwmWharf (use FvwmButtons) - FvwmWinList (use WindowList command) - FvwmWindowMenu (use WindowList command) - FvwmIconBox (use the IconBox style instead)
$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
この時代に、なぜFVWMを使っているのだろうか。
絶滅危惧種的存在のXウィンドウマネージャであるし。使う人間も絶滅危惧種的レアな人々であろうし。でも信じたいFVWMが存続し、進化し続けることを。
なぜなら、FVWMには、世界中のレアでコアな人間の希望と情熱があるからである。
という訳でFVWMが使える理由。
あえて言うと、使えない理由。
そんなとこですかね。
fvwm3のManual Pageですが。驚異的な莫大な量です。manの歴代一位の長さと言えますか。親切丁寧に書かれてるんですが。まぁすごいですよね。
https://github.com/fvwmorg/fvwm3/blob/master/doc/fvwm3/fvwm3.adoc