ES6 Web TestPage

Comipoli Web 版の制作が全然進まない。
このままでは更新が滞ってしまい筆者のファン(?)に申し訳ない。
そんなこんなで JavaScript Test Page の ES6 化でも。
まだ途中だけど。

ES6 Web TestPage – L’Isola di Niente

前とは変えて全部一つのクラスにまとめる。
var は class の参照のみに使う、Gjs と同じように。
なるべく無名関数を使う、setInterval しか用が無いような?
id は引数で処理して可搬性を上げる。

JabaScriptCode

こんな感じになった。
Python 等でアプリを作った経験があるならほぼ同じように書けると解る。
とにかく this にくっつけとけばクロージャなんていらないんだよ。
ES6 様々です。

それと let のスコープなんだけど。
同じ HTML(PHP) ファイル内ならタグブロックが違っても参照できるのね。
そのために var は全部グローバル変数になるのかなんて思っていたよ。

しかし ES6 ってこんなに楽なのに普及しないなぁ、IE のせいかな。
一番普及している Shift-JIS を使え!とか糞みたいな企業公式ブログもあるし。
日本企業が中国に抜かれっぱなしな理由が解るわ、古いものから変えようとしないんだもん。
新しいものを全力否定するのはネラーだけにしようよ。

Wayland (Fedora28) ibus

Fedora 28 にアップグレードで Gedit 等の日本語入力がおかしかった件が解決。
GTK_IM_MODULE=ibus が定義されていなかった。

日本語の設定 – Manjaro Linux

Fedora じゃないけど上記を見てあれ?って。
27 では定義されていたと思うんだけど。
.xprofile は必要無いようです。
てか Wayland がコレを参照していたとは思わなかったよ。

set | grep ibus
# if ("GTK_IM_MODULE=ibus" === undefined) {
#     ~/.bashrc_write("GTK_IM_MODULE=ibus")
# }

これで解るよね。

やっと Gedit に戻せる、VSCode の糞仕様にイライラしなくてすむぞ!
スニペットは行頭でしか使えないしショートカットで実行もできないし。
定型文を文字列間に流し込む手段が無いとか、ホント使えねぇ。

ついでに Mozc ってのを試したけど、これ何故人気があるの?
速攻 ibus-kkc に戻したよ、使い込んでいるという理由もあるけど。

mangaz

筆者は comipoli の Web 版をそのうちと思っていたけど。
やりたいことを既に全部やっているサイトがあった。
今頃知ったのか?と思われそうだけど。

マンガ図書館Z – 無料で漫画が全巻読み放題!

スペースキーか左右矢印キーでサクッと見開き観覧ってまんまじゃん。
これじゃ筆者がパクったみたいだ、アレは自分で思いついたのに。

いや、思想はこういう投稿型と少し違っていて。
下記等のリンク先での漫画観覧方法がバラバラなのが気になって。
ちなみに「うめぼし」がお気に入りよ、うふふw

Web漫画100|無料のWebマンガ専門検索サイト

GANMA みたいな観覧に統一されたらいいのに、なんて思いついたけど。
クライアント側ではどうにもならないのでサイト管理人にやってもらう必要がありまして。
それが JavaScript のリンク一行だけで使えるなら皆喜んで使ってくれるかな、みたいな。

そもそも市販コミック読み放題ならネットカフェでいいんだし。
余程のマイナーかオリジナルでないと Web コミックは無意味だと思う。
海賊版サイトが一時期話題になっていたけど理解できなかった。
スパムや詐欺のリスクを考えるならネットカフェのほうがいいとすぐ気が付く。

実際、投稿型サイトもいいけど自分のサイトで全部管理したいという人も多いようだ。
筆者が github 等を使うつもりがないのと似たようなものかも。
自作する時の参考にでもしてくれればそれで満足。

正直、絶賛放置中の JavaScript Test Page をなんとかしたいからなんだけど。
ウチ姫を Web で再現しようとしたページだったけど、もう忘れられたソシャゲだ。
それになんたって ES5 のままだ。
ES6 TestPage とかに変名して少しずつ comipoli の Web 版を作っていく。
…の作業が全然進まないので今回は今後の予定のみ。

ところで comipoli macOS 版ですが。
案の定サムネイル表示でドン詰りのまま止まっています。
情報が皆無ってやはり難しい、JXA 面白いのに人気無いなぁ。

Gjs on Visual Studio Code

Fedora 28 でプログラミング。

っても GTK+ の大幅な変更は二年毎になったので 29 までメンテのみ。
半年毎にゴロッと変わる GTK3 初期の頃は今考えると結構楽しかった。

OpenJDK は 1.8 のまま、1.9 から jjs が es6 完全対応なんだが。
Gjs はプロファイラがどうたららしいけど、正直どうでもいい。
Python3 も 3.6 のまま、つーことで何も変化無し。
変わらなすぎて面白くないのは筆者だけなのだろうか。

特に書くこともないので終わり、では悲しいので。
Visual Studio Code で gjs アプリ(comipoli)の F5 実行でも。
長いので以下 vscode と略。

書くまでもなく”ウザい!邪魔!迷惑!”のコード保管は全部無効に。
Visual Studio Code 2018 | PaePoi
現在は更に以下を追加。

// 拡張機能の推奨なんて超迷惑
"extensions.ignoreRecommendations": true,
"extensions.showRecommendationsOnlyOnDemand": true

vscode を起動しウエルカムページから開発したいアプリのディレクトリを開く。
キーボードショートカットの設定を開く。
F5 で検索して Node.js の debug 実行のキーを Delete キーで殺す。
Node.js もやりたい人はデフォルトのキーにしてね、筆者はやらん。

.vscode/tasks.json は以下のように。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Start Comipoli",
            "type": "shell",
            "command": "gjs",
            "args": [
                "./comipoli"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "focus": true,
                "reveal": "always",
                "panel": "new"
            }
        }
    ]
}


こうしておけば部品ファイルを開いている状態でも実行できて便利。
下に出るコンソールから Ctrl+C で強制終了もできる。
終了したら何かキーを叩けばコンソールは終了してくれる。

後はスニペットをガシガシ登録。
Ctrl+Space を先に打ち込む必要があるのがメンドイぞ!

{
	 "_connect": {
		"prefix": "con",
		"body": [
			"${1:Widget}.connect(\"${2:SignalName}\", ($3)=> {",
            "    $0",
            "});"
		],
		"description": "connect"
	},
	"_imports": {
		"prefix": "imp",
		"body": [
			"const ${1:GLib} = imports.gi.${1};$0"
		],
		"description": "imports"
	}
}

って。
おいおい Gedit より便利じゃなったじゃないか!
シェルスクリプトだけで拡張できる Gedit よりはるかに面倒だが。

でも vscode って思いっきり拡張子依存なのよね。
拡張子が無いファイルを扱うことが多い Linux ではチト困る。
それを補う Gedit のモードラインが再現できればなぁって感じ。

Fedora 28 Upgrade p2

前回書いた Gedit の不具合の軒。
Gedit だけでなく GTK3 全体の GtkEntry, GtkTextView 全部だった。
具体的には。

まず日本語を打ち込み変換する。
そのまま Enter にて確定させずに次の文字を打つ。
今まではそのまま確定されて次の文字が普通に打ち込めた。
Fedora 28 では最初のキーが確定扱いになりそのキーは無かったことになる。
結果、子音が無い状態になるのでボインだらけに

これが Wayland かつ GTK3 アプリでしか起こらないっぽいからややこしい。

Nautilus で Ctrl+l を叩いて試しても同様になると確認できる。
Electron の Visual Studio Code なら問題無かったのはそういうことね。
GTK2 の goodle-chrome のアドレスバーも問題無いね。

症状は解ったけど、どうすりゃいいんだ?
ibus は関係ないみたいだし、うーん。。。。。

ところで。。。。。
Fedora 28 は絵文字の挿入に Ctrl+Shift+e が割り付けされてしまった。
筆者の公開プラグイン html_escape と被る、変更しなきゃ。

ついでに、以前 blog で書いた repert_line だけど
“<Alt><Shift>Down” は駄目だが “<Alt><Super>Down” なら使えるようだ。
こっちのほうが直感的だからコレをデフォルトにしよう。

ということで更新しました。
Gedit 及び Eye of Gnome プラグイン – L’Isola di Niente

それに伴って。
VSCode Linux 版の行コピーデフォルトは Ctrl+Alt+Shift+Down だ。
これは下の仮想デスクトップに移動という GNOME のキーと被る。
Alt+Shift+Down はカーソルコピーという使いそうもない機能なので削除。
コイツを行コピーに割り付けして、よし macOS 版と同じにしたぞと。

今回はヤルこといっぱいあるなぁ。