Fedora」タグアーカイブ

gnome-text-editor: snippets

gnome-text-editor には謎の設定がある。

dconf

コードスニペットの有効を切り替える設定だと思うんですけど。
F1 でのヘルプにも公式サイトにも説明が無い、いったい何なんだコレ?
試しに Gedit のスニペットファイルを同様にコピーしても動かない。

ぶっちゃけ筆者を含めて今でもほとんどの人が Gedit を使っていると思うけど。
Gedit は GTK3 だしメンテも消極的、数年前の Python2 と同じ状況。
こっちでもスニペットが使えるならいいかげんに切り替え候補にはなる。
ということで使い方を自力で調べてみる。

gio open /usr/share/gtksourceview-5/snippets

default

こんなディレクトリがあった。
licenses.snippets を Gedit とかで開いてみよう。

<?xml version="1.0" encoding="UTF-8"?>
<snippets _group="Licenses">
  <snippet _name="GPLv3 or later" trigger="gpl3" _description="File header with GPLv3+ license">
    <tooltip position="1" text="The name of the file belongs here"/>
    <tooltip position="2" text="The name of the author belongs here"/>
    <tooltip position="3" text="The email address of the author belongs here"/>
    <text languages="python;python3;"><![CDATA[# ${1:$TM_FILENAME}

あぁなるほど、こんな XML を書けば適用できるのね。
というかデフォルトでは GPL3 等のライセンスしか登録されていないってか。

とにかくデフォルトのを試す、最初の設定を true に設定しておくのを忘れずに。
python ファイルを gnome-text-editor で開く、gpl3 と打ち込み [Tab] キーを叩く。

tabkey

XML の指定が違うだけでスニペットの使い方は Gedit と同じですね。
後は名前 [Tab] 日付 [Tab] メールアドレス [Tab] で完成っと。
使い方が解ったところで追加のスニペットを登録してみる。

<?xml version="1.0" encoding="utf-8"?>
<snippets _group="Shebang">
  <snippet _name="Insert Shebang" trigger="sh" _description="pass">
    <text languages="python;python3"><![CDATA[#!/usr/bin/env python3
$0]]></text>
    <text languages="js"><![CDATA[#!/usr/bin/gjs
$0]]></text>
    <text languages="sh"><![CDATA[#!/bin/sh
$0]]></text>
  </snippet>
</snippets>

sh をトリガーにしてシバンを流し込む例。
シェバングなんて読んでは駄目ですよ、末尾の g は発音しないと中学で(以下略
コレに snippets の拡張子を付け以下に保存、ディレクトリは自分で作成。

~/.local/share/gtksourceview-5/snippets

set

後は py や sh ファイルを開いて sh と打ち込み [Tab] キーを。
こんな感じでスニペットを追加登録できるようです、チトめんどいぞ。

ところでシバンといえば。
そもそも Fedora 38 な現在 /usr/bin/python は Python3 へのリンクなんです。

link

なので今では python に 3 指定は不要なんです、ただ Gedit を使う限りは必要。
このシバンが無いと Gedit は Python2 と認識してしまう困った奴なんです。
3 指定無しで match case 文を書けば色分けされないことがすぐ解るよ。
gnome-text-editor なら 3 指定は不要なんですけど。
それがそろそろ気になってきた、ということでこんなことやってます。

いや筆者は macOS で sublime text を購入しているので Linux でも使えるんだけど。
なるべくならデフォルト (GTK4) の UI を使いたいよねって。

Fedora 38 mpv

Fedora 38 にしてから動画のハードウエアアクセラレーションが効かない。
それどころか純正の Totem で何も再生できない、なんだこれ。
何度かアップデートしたけど改善しない、バグってことじゃないみたい。
ということでそろそろ本気で原因追求を。

Intel Graphics – Best practices and settings for hardware acceleration?

libva-intel-driver と libva-intel-hybrid-driver は?
書いていないけど Intel グラの人はコレいります、NVidia とかは知らん。

intel-media-driver が入っていなかったので dnf で導入。
LIBVA_DRIVER_NAME 定義は多分 GStreamer しか関係ないと思うけど一応。

それだけで Totem 再生が可能に、アクセラレーションもバッチリ。
mpv は何も変わりません、なんじゃそれ!
Totem ならアクセラレーションが動くんだから mpv だけの問題か。

mpv – ArchWiki

改めて設定を弄くってみたけど改善しない。
下のほうに書いていた -v オプションで長いログとにらめっこする。

mpv -v 4Kvideo.mp4
...
...
...
[vd] Codec list:
[vd]     libopenh264 (h264) - OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd] Opening decoder libopenh264
[vd] No hardware decoding available for this codec.
[vd] Using software decoding.
...
...

H.264 デコーダーが libopenh264 しか見つからない、ということみたい。
でもってコイツはハードウエアデコード未対応、原因はコレか。
というかそもそも ffmpeg 純正デコーダーは入っていない、ということを発見。

Fedora 38 Install | Paepoi Blog

ffmpeg-free が省いたのは wmv だけじゃなかったのね。
使い物にならねぇパッケージ作るなら最初から「自分で入れろ」でいいよ。
ということで普通の ffmpeg に上書きします。

sudo dnf install --allowerasing ffmpeg

mpv でアクセラレーションが動くようになりました。
ついでにやはり wmv が再生及びサムネイル可能になりました。
今後 Fedora アップグレード毎にこれやらなきゃいけないんだろうな多分。

Deny Flatpak

我が自作アプリ Comipoli のアイコンが反映されなかった件。
Fedora 38 のアップデートを掛けたら普通に反映されました。
なんだ初期不具合だったのか、よかったよかった。

ということでそのまま公開することに。
って cbz 観覧アプリが必要な人少ないし GTK+ 4.10 の参考にでも。
サムネイルダイアログも GtkDialog のままだったので変更。

ところで。
アーカイブを作ろうと file-roller を gnome-softwere から入れる時。
またしても FlatPak 指定のままインストールボタンを押してしまった。
バグなのか仕様なのかキャンセルできない、遅すぎてイライラするだけ。
このゴミクソ機能なんとかならんか!

rpm

dconf-editor で探したらこんな設定があったわ。
rpm だけ残して摘要、これでデフォルトが rpm になるじゃん。
てかアプリの仮想化なんてデフォルトにする必要あるか?
必要な時には選べますにすればいいじゃない、と思うけど。

Fedora 38 Install

Fedora 38 への更新通知が出た、早すぎてビックリ。
今回は面倒くさいけどクリーンインストール。
レンダラ廃止等 GTK+ の改訂が何かに影響しそうなので様子見。

Fedora Workstation | The Fedora Project

現状の $HOME 以下をバックアップ。
x86_64 の iso を落とす、USB メモリをパソコンに差す。
iso のコンテキストメニューから「Open With…」を選択。

writer

「ディスクイメージライター」を選択し USB メモリに書き込む。
差したままパソコンの電源 OFF、SSD を取り替える。
再起動時に BIOS にて起動順序を USB メモリ優先に変更。
後は指示に従う、ほんの数分でクリーンインストール完了。

さてデフォルト状態でに確認だ。
フォントがちょっぴり綺麗になった以外は何も変化が無いように見える。
いや、Anthy の PageDown が最初から動作するように改善されていた。

Nautilus のリネームで入力メソッド切り替え初回が無視されるのは同じ。
Nautilus のブックマークが ~/.config/gtk-3.0/bookmarks と変なのも同じ。
てゆーか gnome-terminal のままなのか、kgx への移行はいつなのか。
gnome-texteditor は外部ツール付けて、コレじゃ Gedit から移行できない。

avif や heif にはまだ対応していない、ずるつもりがないのかも。
デバイス名変更でドメイン指定できるようにしてほしいないいかげんに。
gnome-softwere は Flatpak がデフォルトなのをヤメてくれないか?
RPM に毎回変更するの面倒、てか間違えたらキャンセルできないんだがバグ?

ffmpeg

ffmpeg は ffmpeg-free というパッケージで最初から入っていた。
動画の回転等はコレで普通にできたのでこれのままで問題は無いかと。
ただその影響なのか、またしても wmv の再生ができなくなっている。
なんと mpv にも弾かれた、プロプライエタリ排除なんだろうか。

Fedora Tips – Paepoi

fedora

何も変わっていなかった、書き換えするネタが欲しいくらいに。
え?まだ SkyLake のままだよ、RAW 現像とかは M1 Mac でヤルし問題ない。

まて 4k 動画がガクガクだ、ハードウエアアクセラレーションが動いていない。
バグなのか他に何か入れなきゃなのか今はワカラン、しばらく様子見。

GTK4 の変更点とかは次回。

AVIF

Web 用途の画像形式で近年は WebP が人気、筆者も blog で使っている。
文字列に弱い JPEG とサイズが大きめな PNG という欠点を補っています。
更に透過やアニメーションや可逆圧縮まで対応と至れり尽くせり。

でも広まらないと意味が無い、HEIF はもう死んでいる。
そういえば JPEG 2000 とかそんなのあったよなって、他は忘れた。
とはいえ既に結構広まっていますのでこのまま安泰かも。

ところで、似たようなフォーマットに avif という形式があるらしい。
特徴までそっくりで WebP より更にサイズが小さくなるらしい。

AVIFとは?特徴や注意点から変換できるアプリ・ツールまで紹介

AV1 動画と同じ圧縮を画像に展開したもののようです。
とりあえず上記からのリンク先にある avif ファイルで試す。

gnome

GNOME

macos

macOS

macOS スゲェ、すべて Preview.app で普通に表示できるし。
でも avif への変換はできない、これは WebP と同じ。
avif はオープンソースですし GNOME も対応は時間の問題かな。

hex

バイナリを見ると見事に ftypavif の mp4 コンテナですね。
そういえば HEIF もそうだし WebP も RIFF のコンテナだったね。
ということは。

mpv -autofit 400x300 photo.avif

mpv

mpv で普通に開くことができました、当然 WebP も同様に。
totem ではエラー、Quick Time はそもそも受け付けない。

次世代画像形式のWebP、そしてAVIFへ。変わり続ける技術に対応するweb制作の黄金解 – ICS MEDIA

こんなページも見つけた、JPEG XR なんて知らないぞ?
あぁ Windows 専用なのか、7 以降の Windows はマジで知らないし。
てか WebP って ffmpeg で変換できるのか、もしかして今なら。

ffmpeg -i gara.webp gara.avif

ffmpeg

おいおい、できるじゃないか。
これは新たな生き残りゲームが始まる予感。

でも写真は Exif の関係で今後も jpeg のままだろうし。
今は GIF や PNG を選んでいた所を WebP に置き換えが最適解かな。
知らんけど。