やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

2023-01-01から1ヶ月間の記事一覧

ラズパイでwxWidgetsがインストールできない

PySimpleGUIWxで使いたかったが、依存ライブラリwxPythonがインストールできなかった。原因はラズパイのCPUアーキテクチャであるARMでビルドされたバイナリファイルがpipに存在しないから。対策は自前でビルドすることだが、とんでもなく大変そう。諦めた。

ラズパイでPySimpleGUIQtが使えなかった

原因はpip install PySide2できないため。PySide2はaptでもインストールできるが、それではPySimpleGUIQtから参照できずエラーになった。

PySimpleGUIとかいう最高のGUIライブラリ

Pythonにおける最高のGUIライブラリだろう。

絵文字フォントがインストールされているとTkinterがエラーになって使えない

これはひどい。

cursesの入力が貧弱

マルチバイト文字、Shift+UP/DOWNなどの入力ができない。

Padは座標が(0,0)に固定であり変更できない

newpadで得たPadは座標が(0,0)固定である。mvwinで移動できない。

端末のリサイズができない

cursesにて端末のリサイズができない。

Panelのクセ

cursesのpanelには独特のクセがある。window/padには謎のクセがあるにつづいて。

window/padには謎のクセがある。

cursesのwindow/padには謎のクセがある。せっかく便利なクラスなのに、つかいづらい。謎のエラーが頻発した。エラーメッセージがないため、原因や対処がまったくわからずハマった。

cursesライブラリAPIまとめ

PythonのcursesライブラリAPIを分類して一覧にした。

Pythonのcursesを実行してみる

cursesは端末を操作するためのライブラリである。メイン処理についてコードを書いてみた。

RGBとLChの色空間を相互変換したい

Bashで行いたかったが少数計算ができないためPythonで実装する。

LChがステキ(色空間/表色系)

RGB, HSLよりも人の感覚に近しいLCh色空間のほうがよい。

2色のコントラスト比を算出したい(相対輝度)

背景色を任意にしつつ、見やすい文字色は白か黒のどちらか。それを算出したい。

4bitカラーの糖衣構文をつくる

ANSI Escape CodeにおけるSGRコードを出力する。

24bitカラーの糖衣構文をつくる

[ANSI Escape Code][]におけるSGRコードを出力する。

8bitカラーの糖衣構文をつくる

[ANSI Escape Code][]におけるSGRコードを出力する。

3bitカラーの糖衣構文をつくる

[ANSI Escape Code][]におけるSGRコードを出力する。

色が共有できない問題

[ANSI Escape Code][]にてFull Color以外をもちいると環境ごとに色が変わってしまいうる。

目立つ装飾をレベル順にしたい

bashの装飾において、太字にすると明るくなってしまう問題があることがわかった。目立つ順にするにはどう装飾すればよいか考えてみた。

太字にすると明るくなってしまう問題

tput boldなどで太字にすると色まで明るく変えられてしまう。

ターミナルの画面を装飾したい(ANSI Escape Code)

[ANSI Escape Code][]を使う。

bashコマンド補完を自作する bash-completion,complete,compgen

自作コマンドに専用の補完を実装したいので調べてみた。

jsGridを使ってみた

複数キーでソートできない。

Grid.jsを使ってみた

PureJSで使える。ライブラリ依存なし。vueなどのライブラリでも使える。

ElementPlusのTableを使ってみた

複数キーでソートできなかった。

JSでクラスを文字列から動的生成する3つの方法

JSでクラスを文字列から動的生成する3つの方法 eval(),Function(),import()。

ウインドウの上辺にマウスオーバーすると表示される領域をつくる

できるだけ隠したいので。

ラジオボタン要素+DomMapper+Storage

3つのプロジェクトを統合した。非ESModule版と、ESModule版がある。

ラジオボタン要素+DomMapper

value属性をキーにしてtextContentやtitleの値を後付けする。ついでに選択状態を保存してくれる。