月別アーカイブ: 2024年5月

Gedit 46 Syntax Highlighting

Fedora 40 の Gedit でハイライト定義の変更が無視される件。
以下に定義を入れれば摘要されるはずなんですけど。

~/.local/share/gtksourceview-4

GtkSourceView4 に何か変更があったのか?
そう思って単純なテストコードを書いてみた。

#!/usr/bin/env python3

import sys, gi
gi.require_version('Gtk', '3.0')
gi.require_version('GtkSource', '4')
from gi.repository import Gtk, GtkSource
 
TEXTVIEW_CSS = b'''
#MySourceView {
    font: 10pt Monospace;
}'''

PYTHON_CODE = '''#!/usr/bin/env python3

fst = 'fstring'
print(f'Test {fstr} Syntax Highlighi')'''
 
class Win(Gtk.ApplicationWindow):
    def __init__(self, a):
        Gtk.ApplicationWindow.__init__(self, application=a, title='SourceViewTest')
        # GtkTextView
        view = GtkSource.View(show_line_numbers=True, name='MySourceView')
        # CSS
        provider = Gtk.CssProvider()
        provider.load_from_data(TEXTVIEW_CSS)
        view.get_style_context().add_provider(provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
        # Python3 Highlighte
        lang_man = GtkSource.LanguageManager()
        lang = lang_man.guess_language(None, 'text/x-python3')
        view.props.buffer.set_language(lang)
        view.props.buffer.set_text(PYTHON_CODE)
        # GtkScrolledWindow
        sw = Gtk.ScrolledWindow(child=view)
        self.add(sw)
        self.resize(400, 100)
        self.show_all()

app = Gtk.Application()
app.connect('activate', lambda a: Win(a).present())
app.run(sys.argv)

01

普通に摘要されとるじゃん。
Gedit 派生の奴も試してみよう。

って Pluma は調べてみると Gedit2 派生かよ。
プラグイン作りに Python2 や PyGtk も必要だよな、ありえん。
Xed なら Gedit3 ベースだな、ツールバーを消せばなんとか。

02

やっぱり Gedit だけ摘要されない、マジで何でだよ。
他を試すのも面倒だし、しばらく Xed に乗り換えするかな。

と思ったけどコードスニペットと外部ツールが無いやんけ。
Atom や Sublime Text は別の手段があったけど Xed には無さそう。
単語補完というプラグインがあるけど、違うそうじゃない。
自作プラグインは Gedit 3.10 以前のを小変更で使えるかもだが。
新規タブが Ctrl+N に変更されているのはなんで?

Xed って Old Gedit のふりをした vscode になりたいの?
まあナンチャッテプログラマーにはこういうのがウケるんだろうけど。

だめだ Gedit をなんとかしなきゃ。
とにかく Gedit は他アプリとは別の場所を見ているってことだよな。
もしかしてと思って /usr/share の中を探してみる。

03

あった、こんな所に。
Gedit 46 は GTK3 ライブラリでなくフォークした奴を使っているのか。

libgedit-gtksourceview 300 Reference Manual: libgedit-gtksourceview 300 Reference Manual

それだから libgedit-46.so のサイズが 583MB もあるわけだ。
静的リンクにしたほうが Mac や Windows に移植しやすいよね。
もう面倒だ、直接このディレクトリに python3.lang をコピーしちゃえ!

04

それだとエラーで python3.lang がロードできないようです。

def.lang: Update Unicode identifier regexes (!149) ? マージリクエスト ? GNOME / gtksourceview ? GitLab

Gedit が使う GtkSourceView にはこの定義が無いってことですね。
正式な GtkSourceView-4 にはメンテで追加されているという皮肉。
原因は解ったけどコレでは対策手段が無い、お手上げです。

あと関係ないけど Nautilus のリネームで日本語が打てないね。
経験上 GNOME 45 の間はこのままかと、リネームアプリでも作るか。

なんじゃもんじゃ

今日は花公園へ行ってみたけどあんまりピンとこないな。
近場のベニマシコポイントにも行ったけどなんもおらんかった。

poppy

てなわけで、ポピーのジェットストリームアタック。
寄れる超広角を生かしてこんなんやってみました。

nanjamonja

ヒトツバタゴ別名なんじゃもんじゃ、ってなんでだよ。
下隅のパースがエグい、やっぱり超広角は歪むよな。

hoojiro

逆光のホオジロ、冬鳥がいなくなると自然にコイツが残る。
この季節は日陰と逆光との戦いだ。

tonbi

逆光のトンビ、野鳥は以上。
この時期の木曽川はどこに行ってもホーホケキョが聞こえる。

しかし思う、単焦点を使っている人なんて滅多にみない。
花を撮っている人を見るとみんな標準の大三元ズーム。
レンズ沼なんて本当にあるのか、売り煽りしているだけ?

ネモフィラ

今日はカメラの再セッティングをやって公園へ。
オオルリが豪快に囀りしていましたが姿は見えず。

yamagara

ヤマガラ、お願いです日向に出てください。
ISO 3200 で、これが AI ノイズリダクションです。

mejiro

メジロ、だから日向に出てくださいよ。
アブラムシを食ってエコな害虫駆除をしています。

hoojiro

ホオジロ、そうそう日向なら ISO 200 でイケるんだよ。
しかしココでってか木曽川以外でホオジロは初めて見たな。

nemofira

そういえばこの公園にはネモフィラがあったなって。
今年は野鳥以外も撮りまくるはずだったのに。
明日は木曽川の花公園にでも行ってみようか。

キビタキの場所で夕方まで粘ってみたけど出てこない。
ボーイスカウトのイベントをやっていたし隠れたかな。
サンショウクイも現れず昨日のリベンジは失敗に終わった。
昨年に続いて今年も夏鳥には運がない。

マイクロフォーサーズの高 ISO

休日出勤も終わり今日から四連休、夏鳥をガンガン撮るぞい。
サンショウクイとキビタキが撮れた、ただ ISO 感度がガツンと。
まあ OM Workspace には AI ノイズリダクションがあるし。
と思っていたんですけど。

先日 OM-1 のファームアップをしたら何故か初期化されまして。
設定は以前のように戻したと思っていたんですけど。
保存が RAW ではなく JPEG ファインになっていた。
RAW でないと AI ノイズリダクションが掛けられないんです。

やっちまったもんはしかたがない、開き直ってやろう。
マイクロフォーサーズの高 ISO がどんだけ酷いかの紹介だ!

yamagara

ヤマガラ、これは ISO 800 で何も問題ないです。
ちなみの全部遠かったのでトリミングしています。

sansyoukui

サンショウクイ、これは ISO 8000 になった。
AI ノイズリダクションさえ使えればなんとか、ならないかも。

kibitaki

キビタキ、まさかの ISO 20000 でした。
塗り絵です、もはや AI ノイズリダクションなんて無意味です。

OM-1 でもやっぱり ISO 6400 が限界です、設定した。
いやこれでも G99 や E-M5 よりマシになったんですよ。
ISO 上限 800 にして被写体ブレさせまくっていたし。
フルサイズにしたところで余裕が少し増えるだけなんだよな。

明日はリベンジ、いや他の設定も見直ししなきゃ。
てか夏鳥さん、もっと明るい場所に出てきて。