Fedora 30 Upgrade

Fedora 30 来ました。
下は [ダウンロード] ボタンを押した状態、今回はアップグレードです。

UnitedRPMs リポジトリを一時的に Disable にしないと更新できないエラーが出る。
無効にして再開、[インストール] ボタンが出るので押してパスワード。
しばらく待っていると Fedora 30 になっていた、アップグレードおしまい。

見た目の変更点とかはインストールだけなブロガーが書くだろうから無視して。
ずっと使ってプログラミングしている人しか解らない変更点なんかを。
てか、Linux ってプログラミングしない人には不便なだけの OS なんだけど。

何より、Gedit てか GtkSourceView が改善された!
タブのアクティブ毎にカーソル位置へ勝手にスクロールするのがウザかった。
それが何か打ち込むまで勝手にスクロールをしなくなった、マジで嬉しい。

Gedit のタブをドラッグして別ウインドウ時のアニメーションが復活。
前に戻っただけじゃんというのは置いておいて。
Nautilus は何故コレをできなくしてしまったのだろう?

Nautilus でファイルのドラッグ移動が失敗する場合があるのは変わっていないな。
ただ筆者はドラッグがスゲェやり辛い Macbook Air 2018 を併用しているということで。
command+X, command+V で移動が普通になっているので Ctrl+X でのファイル移動に苦は無い。

デフォルトじゃないけど Geary(メーラー) の起動が死ぬほど遅くなった。
追記: アップデートで普通になった
何故だろう、思いっきり GTK3 アプリなのに。
Google Chrome, KeepassXC, GNOME MPV 等は問題無し。

一番気になるアプリケーションメニューの廃止。
ハンバーガーメニューにする前の Comipoli 0.3.4 を起動してみる。

ココに出るだけか、あわてて作り変える必要は無かったな。

GNOME アプリは元の位置に「新しいウインドウを開く」が出る。
我がアプリではココが空になる、どうやるか後で調べる必要があるな。
「詳細を表示する」を選ぶと gnome-softwere の該当ページが開く、これ必要か?
ちなみに我がアプリ等の自前インストールは「見つかりません」と出る。

設定のアプリケーションって何かと開いたら我がアプリまで。
*.desktop ファイルを解析している、というか *.desktop を編集できるってか。
追加ができないのではあまり意味は無いと思うんですけど。

後は特に変わったような気がしない、何か気が付いたら又。

そうそう、我がアプリの Comipoli はハンバーガーメニュー化だけで問題無し。
Y901x は引数付き起動ができなくなっていた!
Gjs, Clutter, GStreamer のドレが原因か解らないけどなんとかしなきゃ。

二時間くらい調べてなんとか原因が判明。
ClutterGstVideoSink で得る GstPad が null になっている。
別の手段で動画のオリジナルサイズを得る必要があるなと。

ClutterGstTypes: Clutter Gst 3.0.24 Reference Manual

ClutterGstVideoResolution 構造体に width, height があるな。
だったらこうすればサイズが得られるのかも?

var Y901xWindow = GObject.registerClass({
    GTypeName: 'Y901xWindow'
}, class Y901xWindow extends Gtk.ApplicationWindow {
    _init(app) {
        super._init({application: app});
        // etc...
        this.player = new ClutterGst.Playback();
        // Ready
        this.player.connect('ready', (player)=> {
            this.player.set_playing(false);
            // Get Origin Size
            let vsink = player.get_video_sink();
            /* old
            let it = vsink.iterate_pads();
            it.foreach((pad)=> {
                let caps = pad.get_current_caps();
                let struct = caps.get_structure(0);
                this.src_width = struct.get_int('width')[1];
                this.src_height = struct.get_int('height')[1];
            });*/
            // new (Fedora 30)
            let frame = vsink.get_frame();
            this.src_width = frame.resolution.width;
            this.src_height = frame.resolution.height;

イケた!

ということで Comipoli 0.3.5, Y901x 1.2.1 公開。
Linux アプリケーション – L’Isola di Niente

Y901x のほうは変更点が多いけど解説すると長くなるのでまた今度。

ところで Fedora 29 の時に勘違いしていたけど GTK+ の 2 年枚更新は前回だったのね。
だから少し仕様が変わっていたのか、次の仕様変更は Fedora 33 なのね。
筆者はそれに合わせてクリーンインストールする予定。