トップ «前の日記 最新 次の日記»

2019-10-12 (Sa) [長年日記]

_ Re:ステージ!

メインストーリー終了。

やっぱプリズムステージはやんないのか。 まぁやっちゃうと話が終わっちゃうしな。

今日ライブを遊んでる時、「だいたい全クリ」ってバッジを付けてる人がいた。 おぉすごい…… あ、このバッジをゲットできる条件って 「宣誓センセーション EXPERT をフルコンボ」なのね。 なるほど。Hard すら無理だわw

_ wayfire のキーバインド

screenshot の設定をした。

https://github.com/WayfireWM/wayfire/wiki/External-tools

binding_screenshot = <super> KEY_S
command_screenshot = grim $HOME/Pictures/screenshot-$(date "+%Y-%m-%d-%H:%M:%S").png

というサンプルがある。けど super+s なんて覚えられないだろうな、と思ったので、 PrtSc にしたかった。

が、どう書けばいいのか全然わからず。

xkb 流かと思ったが違うっぽいし、gdk 流かと思ったがこれも違うっぽい。 ソースコード見て libevdev 使ってるっぽいことはわかるけど、一覧がどこにあるのかはわからない。

んーーーーーーー と悩んで、まさかただ単に反応してないだけ? と思って xev 使ったら、 反応はしてる。ついでに libinput は? と思ったらこっちもちゃんと反応してる。 まぁ xev が反応してるんだから libinput だってそりゃ反応するわな…

というところでふと気づく。

 event6   KEYBOARD_KEY      +3.76s	KEY_SYSRQ (99) pressed
 event6   KEYBOARD_KEY      +3.83s	KEY_SYSRQ (99) released

ん? KEY_SYSRQ? KEY_ で始まってる。これか? そうか SysRq か… そういや同じキーだったな。私の PC はキートップに表示されてないから忘れてたわ。

libinput で確認すれば良かったんだな。

というわけで、KEY_SYSRQ と書いたら screenshot できましたとさ。

binding_screenshot = KEY_SYSRQ
command_screenshot = grim ~/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png
binding_slurp = <shift> KEY_SYSRQ
command_slurp = slurp | grim -g - ~/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png

*_slurp の方は、範囲指定して screenshot 撮る機能。

_ 天体のメソッド #17

なんか第17話らしいんだけど… 間はどこ行ったのだろう…?

https://www.youtube.com/watch?v=E8TUNdBU8Jw&feature=youtu.be

リアルタイムでは見られなかったけど。

ノエルやっぱり可愛いなぁ

キャロル: ふふ〜ん (♪

ノエル: ぷく〜 (#

悶えるわ…

_ C++ の auto

使ってるの初めて見たので。

            auto global = get_global_input_coords();

C++ って変な機能入れたよね… auto って、つまり型の推論なわけだけど。 (C の頃から auto っていうキーワードはあったけど、同じキーワードが違う意味で使われてる。 C/C++ の悪い癖ではあるけど、そこは置いておく)

せっかくちゃんとした型システムを持ってたのに、何故それを捨てちゃったのだろう?

しばらくの間、そういう言語が好まれる風潮は確かにあったけど、 でも若干揺り戻しつつあるよね。

C++ 仕様策定者たちは先見の明がないというか。

私は、「型アノテーション書きたいですか?」って尋ねられたら「はい」って答えるな。 先日の大阪 RubyKaigi でも「書きたい」に手を挙げた。 絶対書くべき。処理系がそれを元にチェックしてくれたら、絶対デバッグが捗る。

上の例で言うと、get_global_input_coods() の返す型が変わってしまったら、 このコードは意味が変わってしまう。極端な例を出すと、int のつもりで

printf("%d", global);

なんて書いてあったら、 変数の型がいつの間にか double にでも変わってしまうと、それだけで破綻してしまう。

最近の型が甘い言語は、実装のレベルではその辺ちゃんとやってるけど、 C++ は仕様的にちゃんとやってるのだろうか? 上に挙げた printf() は旧来の C からある関数だから無視して良いとしても。 C/C++ は「自己責任」が根底にあるので、そういった柔軟性はたぶん持ち合わせていないと思うんだけど。

_ 自前改造 emacs を focus-on-click に対応した

私は focus の切り替えは、ずーーーっと focus-follows-mouse (というか sloppy?) で 使ってた。GNOME の時もそれ以前も。focus-on-click しかできない window manager は 避けてた。

が、この度 wayfire を使うにあたり、focus-on-click しかできないので、 そろそろ慣れようかな、と。mac が focus-on-click なこともあり、 すぐ慣れるだろう、と。

で、問題は自前改造版 Emacs で、これは sloppy でしか動作確認してなかった。 wayfire で使ってみて問題が発覚した。

focus 持ってないのに、enter event だけでテキストのカーソルが focus 持ってる時のカーソルに変わってる…

そのせいで私自身が混乱してしまってる。早く治さねば。

というわけで治した。

https://github.com/masm11/emacs/commit/d7aaedcb675a940d6aeff003a5616d8352f438a9

これで多分大丈夫だろ。


編集 パスワード変更