月別アーカイブ: 2023年11月

Fedora 39 Upgrade

Fedora に 39 へのアップグレード通知が来た。

What’s new in Fedora Workstation 39 – Fedora Magazine

画像ビューアが EoG から新規アプリに変わって bash プロンプトに色が付く。
端末エミュレーターは GNOME Console についに移行ってことなのかな?

興味があるのはこのくらいか、あとは実物を見ないとわかんねぇ。
クリーンインストールの必要は無いな、そのままアップグレード。

あれ?EoG のままだ。
端末も GNOME Terminal のままで表示も今まで通り。
なにそれ、アップグレードに失敗したの?

about

いや他の項目は普通に適用されている。
左サイドバーがあるアプリはそちら側にハンバーガーメニューが移動している。
Activities Indicator って「アクティビティ」部の置き換えだったのか。
てか隣にあった旧アプリケーションメニューが消えたことのほうが気になるわい。
現在何のアプリがアクティブなのかソコで判別してたのに困った。

写真アプリと一体化したのかなと思い立ち上げたら起動しない。
新規で増えた GUI アプリも何一つ見当たらない。
アップグレードだと GUI アプリ類はそのまんま移行ってことかな。
クリーンインストールだと多分変わっている、知らんけど。

GNOME / Image Viewer ? GitLab

GNOME / Console ? GitLab

コレのはずなので自分で入れてみた。
loupe は拡縮がスムースでいいね、筆者的には Esc で終了できないのは痛い。
console は kgx から改名したのか、プロンプトに色が付かないんですけど。
それよりどちらも翻訳されていなくて英語のまま、うーん微妙。

あと US 配列キーボードを使っている人以外には関係ないだろうけど。
リネーム時に入力メソッド切り替え一発目がスカるのが解消された。
地味に嬉しいけど恩恵がある人は少ないだろう。

変化が無いようにみえて地味に嬉しい追加機能を発見。
ファイルのロケーションバーメニューに Copy Location が。
現在の場所をクリップボードにコピーできます、ついに標準機能に。
いや Ctrl+L Ctrl+C をやれば今までもできていたのは置いておいて。

Wayland で Gedit の Ctrl+F9 が動作しないのも今まで通り。
てか gnome-texteditor をいいかげん拡張可能にしてくれないか?
いつまで Gedit を使い続けなきゃいけないのよマジで。
とりあえずアップグレードは問題なくできたということで。

Javascript TextDecoder

知らぬ間に Gjs の挙動が変わっていた。
普段は Python ばかりなのでいつからかは解らない。

#!/usr/bin/gjs -m

import GLib from 'gi://GLib';

/**
 * res is Uint8Array
 */
let res =  GLib.spawn_command_line_sync('pwd')[1];
print(res.toString()); //=> Warning

warn

よく見ると実行はされているので警告されているだけですね。
今まで普通に動いた、なんなら toString さえ暗黙実行されていた。

Google translate 等を使えば解るけど TextDecoder 使えってさ。
互換性のために残しているけどはよ移行しろということらしい。
警告メッセージも親切になったもんだ、ということで。

TextDecoder – Web API | MDN

主要ブラウザは全部が既に実装済みなんですね。
Web API なんだが Gjs や JXA でも使えるのだろうか?

#!/usr/bin/gjs -m

import GLib from 'gi://GLib';

let res =  GLib.spawn_command_line_sync('pwd')[1];
// TextDecoder
let dec = new TextDecoder();
let text = dec.decode(res);
print(text.trim());

動くじゃん、Spider Monkey 自体に実装されているのだろうか。
import 何も無しで使えるのって筆者は正直気持ち悪いんですけど。
string に変換されたので trim メソッドで改行を削除しています。
ちなみに。

#!/usr/bin/gjs

/**
 * old gjs
 */

const GLib = imports.gi.GLib;
const ByteArray = imports.byteArray;

let res =  GLib.spawn_command_line_sync('pwd')[1];
let text = ByteArray.toString(res);
print(text.trim());

byteArray モジュールを使う以前の正規な手段もまだ使えます。
というか、imports でのインポートもまだ普通に使えるんだよね。
byteArray も imports も Gjs 独自実装だから排除したかったのだろうけど。
Gjs で新しい手段の import では -m オプションを忘れずに。

jxa

JXA では TextDecoder 等は使えない、やはり実装はバラバラ。
というか JXA の UTF8String って正体は string じゃないか。
普通に string のメソッドが使えるし、まあ Cocoa がそうなのね。
Uint8Array は JXA ではほぼ扱われることが無いということだろう。
Node.js やその他は知らないしどうでもいい。

非推奨の機能、廃止された機能 – JavaScript | MDN

てか escape や unescape は非推奨になっていたのか。
Tips ページをいくつか書き換えなきゃなぁ面倒だなぁ。
え?今日は公園には行きましたよ、察して。

Jyoubitaki

今日の五条川、三連休だ。
いや、昨日は休日出勤でしたけど。

kiji

キジ、稲刈りが終わってやはりみつかるようになった。
寄れない場所だったので草の間からこれが精一杯。

segurosekirei

セグロセキレイ、いやどこにでもいる鳥ですけど。
なるべく水平に撮ればセキレイだって絵になります。

sijyuukara

シジュウカラ、トリム無しでここまで勝手に寄ってきた。
昔は喜んだけど今見るとなんか立体感が無いというか。

jyoubitaki

ジョウビタキ、高い所にしか止まってくれなかった。
でもやっぱりサイズ感はこれくらいが丁度いい感じ。

鳥じゃなくて野鳥がいる風景が撮りたいんですよ。
電車が解りやすいよね、プロは鉄道がある風景を撮っている。
野鳥だって同じ、ただデカく撮っただけの写真はつまんない。

とはいえマンネリ化してきたし明日は公園にでも行ってみるか。
いや目面しい野鳥を求めて遠出しまくるのもいいけどさ。
それってポケモン GO とやってること同じじゃね?
と思ってこんなスタイルでやっているこのブログでした。
いや Linux と Mac プログラミングの(以下略)