Mac」タグアーカイブ

manjyusyage

彼岸花の季節がやってきました。
そうなると、この問題が気になってくる。

1

macOS と Fedora でまったく色が違うんです。
彼岸花の赤だと露骨に解る、これ全部同じ写真なんですよ。
Macbook に Fedora を入れても同じ傾向なのでディスプレイは関係ないな。
以前ディスプレイの調整でなんとかしようと思ったけど無駄だった。

画面が青みがかっているのは液晶パネルを写真にした時の特性かと。
M1 Mac は押さえ込んでいるな、Retina ディスプレイって凄いんだな。
目で画面を見た場合は赤色以外はそこまで気にならない、同じではないけど。

ちなみに LUMIX 本体の液晶では macOS とほぼ同じ色です。
iPhone も当然同じ、写真のプロがみんな Mac な理由がよくわかる。

2

カラープロファイルを変更とかしてみたけど意味なかった。

Intel CPU 内蔵グラを AMD や NVIDIA に変更すればマシになるかも。
いやそれ不安定になったり画面が映らなくなる場合があるのは経験済だ。
写真の色以外は何も不満が無く安定している今の環境を壊したくない。
もしやるとしても次の新規インストールの時。

てか Linux で写真のためだけにグラボ変更ってのも、ゲームしないし。
それより Mac から外部ディスプレイ出力に金を使ったほうが。
Linux でなんとかしようとか考えるのは単なる貧乏人みたいで。

写真管理や RAW 現像などの画像編集は macOS + Adobe CC で。
Python プログラミングやサーバー用途は GVFS が便利な Fedora で。
が一番だよね。

# 2022.01.03 追記
ディスプレイを変更したら解決しました。
EIZO FrexScan EV2795 | Paepoi Blog

GtkGestureSwipe on Macbook

GTK4 ページを作ろうとしていますが、進んでいない。
てゆーか GtkGestureSwipe が Macbook で動作しません。

1

そもそも Eye of GNOME にて上記が動作がしません。
ちなみに X11 でログインすると拡大や回転もできなくなります。

2

Macbook Air 2011 でも Wayland がデフォルトになります。
この状態でスワイプ以外は全部動く、やはり X11 ではズームできません。

#!/usr/bin/env python3

import gi, sys
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk

class Win(Gtk.ApplicationWindow):
    '''
        Fedora 34 on Macbook Air 2011
    '''
    def __init__(self, app):
        Gtk.ApplicationWindow.__init__(self, application=app)
        # var
        self.mem_pan = -1
        # touch || mouse button
        click = Gtk.GestureClick()
        click.connect('released', self.on_gesture_click_released)
        # long press
        lpress = Gtk.GestureLongPress()
        lpress.connect('pressed', self.on_gesture_long_press_pressed)
        # pan
        pan = Gtk.GesturePan(orientation=Gtk.Orientation.VERTICAL)
        pan.connect('pan', self.on_gesture_pan)
        # swipe (no...)
        swipe = Gtk.GestureSwipe(touch_only=True)
        swipe.connect('swipe', self.on_gesture_swipe_swipe)
        # zoom
        zoom = Gtk.GestureZoom()
        zoom.connect('scale-changed', self.on_gesture_scale_change)
        #
        self.label = Gtk.Label(label='start')
        self.label.add_controller(click)
        self.label.add_controller(lpress)
        self.label.add_controller(pan)
        self.label.add_controller(swipe)
        self.label.add_controller(zoom)
        # resize
        self.set_child(self.label)
        self.set_default_size(600, 600)

    def on_gesture_pan(self, ges, direction, offset):
        if direction != self.mem_pan:
            self.mem_pan = direction
            if direction == Gtk.PanDirection.UP:
                self.label.props.label += '\npan up'
            else:
                self.label.props.label += '\npan down'

    def on_gesture_long_press_pressed(self, ges, x, y):
        self.label.props.label += '\nlong press'

    def on_gesture_click_released(self, ges, n_press, x, y):
        if n_press == 2:
            self.label.props.label += '\ndouble clicked'

    def on_gesture_swipe_swipe(self, ges, x, y):
        self.label.props.label += f'\nswipe x={round(x)} y={round(y)}'

    def on_gesture_scale_change(self, zoom, scale):
        w = round(600 * scale)
        h = round(600 * scale)
        self.set_default_size(w, h)

class App(Gtk.Application):
    def __init__(self):
        Gtk.Application.__init__(self)

    def do_startup(self):
        Gtk.Application.do_startup(self)
        Win(self)

    def do_activate(self):
        self.props.active_window.present()

app = App()
app.run(sys.argv)

3

ちなみに Macbook に Fedora 34 を入れた場合。
以下のトラックパッドジェスチャがデフォルト状態の GNOME 40 で可能。

三本指の上スワイプでアクティビティ画面。
もう一度同じ動作でアプリケーションランチャ。
三本指の横スワイプで仮想デスクトップの異動。
Eye of GNOME にて画像の拡大縮小と回転。

探せばジェスチャを追加できるサードパーティ拡張もあるんだけど。
上記のデフォルトとコンフリクトすると思う、試していないけど。
X11 でログインするとやはり何も動作しません。

考えてみれば二本指ジェスチャってスクロール動作と同じだし。
スワイプジェスチャと両立している macOS ってスゲェんだなって。
サーフェスとかは触ったことすら無いので知らない。

しかし本当に思う、やっぱり Macbook は macOS で使うのが一番だよ。
Fedora で使うと command と control キーの違いをどうしても間違えるし。

AuthPass

そういえば M1 Mac にパスワードマネージャを入れていなかった。
細かいことは Fedora でやるし、ではいつか困るよな。
前の Mac までは Keepass XC を入れていた。

Old mac to New mac | Paepoi Blog

ぶっちゃけ、ほとんど出番は無かった。
command+V でコピペに拘る必要もないなって感じ。
おまけに結構サイズがデカい、もっと単純でいいし。
てか、Mac の Qt アプリは Mac の動作に合わせていなくて嫌。

Windows で Keepass V1。
V2 はドットネットのウンコなので無視。
Linux に移って Qt アプリな KeepassX へ。
KeepassX が V2 になったので kdbx へ変更。
開発が止まったのでフォークした KeepassXC へ。
その時に Mac にも導入。
GNOME で Ctrl+V が使えなくなった、もう何でもいいや。

で、今 Fedora では Password Safe という GTK3 アプリを使用中。
環境と同じが一番、Mac では Cocoa にしたい。

KeePass互換のオープンソースのパスワードマネージャ・「AuthPass」 | かちびと.net

こんなの見つけた、AppStore にあるジャン。
たったの 17 MB で素敵、これでいいや。

起動して [Yes,open my passwords] を選択。
[Open Local File] から kbdx を選択。
あれ?これっていわゆるブラウザアプリですか?

authpass/authpass at master ? authpass/authpass ? GitHub

ソースを見ると Linux や Windows 版もあるのね。
macos は Swift で Cocoa だ。
linux は GtkApplication なのか。
拡張子が cc なのに思いっきり C 言語で笑える。
windows は WindowsSDK だ。
wWinMain で UNICODE 直呼びして COM 使ってる、懐かしい。

それはいいとして。
これ 2 回目の起動から指紋認証が使えるぞ!
コピーはハンバーガーメニューから選択なのがチト面倒かな。
主に確認用なんだからそれでいいか、しばらく様子見。

Big Sur: LUMIX

M1 Macbook Air てか Big Sur はマジで凄いぞ。
LUMIX の RAW データ RW2 が Preview.app で表示できるヤン。
もちろんサムネイルも、Finder のプレビュー枠で Exif 情報も。
NIKON の NEF も、これは前からだっけ?

rw2

それと、何故か今まで気が付かなかったけど。
筆者の LUMIX で撮影した写真って 180dpi だったんですね。

lumix

ずっと 72dpi だと思いこんでいた。
ちなみに NIKON は 300dpi だった、違いがわかんないけど。
RAW はどっちも 72dpi だ、印刷しなきゃ関係ないといえばそうだけど。

ホワイトバランス調整や RAW 現像は写真.app に送らないとだめか。
いや RAW のまま表示できるってことは現像なんてしないのかも。

つまり今後は RAW のみで撮影しても Mac 内で厳選できるのね。
あれ、Lightroom いらなくね?
いやもう少し調べてみるけど。

ところで M1 Mac にしてからなんか dock がおかしい。
少し前に使ったアプリが勝手に Dock に登録されるようになり困っていた。
Dock の設定をよく見ると「最近使ったアプリ」って何この迷惑な機能、即 OFF に。

それと Launchpad のショートカットが無いとやはり不便。
option+F1 が使えなくなってしまった、ので F4 に割り付けてみた。
それに F7 でカタカナ変換ができないと困る人も多いと思うんだけど。
Air でよかった、Pro はいつまで不評なタッチバーでいくのやら。

後 11.1 のアップデートでやはり httpd.conf はリセットされたw
作って良かった前回のスクリプト。

M1 Mac Setting

macOS のサンドボックスってこんなにウザかったっけ?

sandbox1

端末アクセスごときにチマチマ許可を与えるのが面倒すぎる。
とっとと端末のサンドボックス設定をフルディスクアクセスに変えよう。
zsh という意味ではないです、Terminal.app のみに適用される。

full_disk

それと、こんなのを見つけたので前回の PyObjC を試す。

Macで実行しているアプリがIntel x86_64かApple Silicon arm64アーキテクチャかをメニューバーに表示してくれるオープンソースのユーティリティ「Silicon Info」がリリース。 | AAPL Ch.

端末から Python3 に渡して起動すると arm64 になる。
Atom から command+option+T で起動する端末は arm64 になる。
Atom から atom-runner でプロセス起動すると Intel になる。

Rosetta2 で起動した Python3 でも PyObjC は使えたんだね。
まあ Atom が arm64 になるまで端末利用かなって。

後は apache だな。
どうせまたアップデート毎に httpd.conf が初期化されるので。

#!/usr/bin/env python3

'''
    # Run on root
    sudo python3 httpd_rewrite.py
    #
    # start or restart
    sudo apachectl restart
    #
    # Auto start of service
    sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
'''

import shutil

CONF = '/etc/apache2/httpd.conf'
out = []
# User Rewright
ROOT = 'DocumentRoot "/Users/sasakima-nao/www"\n'
DIRC = '<Directory "/Users/sasakima-nao/www">\n'

shutil.copyfile(CONF, 'backup_httpd.conf')

with open(CONF, 'r') as f:
    for line in f:
        if 'php7_module' in line:
            out.append(line[1:])
        elif line.startswith('DocumentRoot'):
            out.append(ROOT)
        elif '<Directory "/Library/WebServer/Documents">\n' == line:
            out.append(DIRC)
        else:
            out.append(line)

with open(CONF, 'w') as f:
    for s in out:
        f.write(s)

以前 JXA で作ったけど手抜きだったので Python で描き直し。
これで同じ LAN に繋がった iPhone 等から
http://コンピュータ名.local
でアクセスできる、てか今までと変わっていなかった。

http

Mac の人は面倒なのに vim で書き換えしている人ばかりなのは何故?
スクリプトを作っておけば初期化されても一発で書き換えできるのに。
Python とかのスクリプト言語ってこういうことをする為にある。

これで 2018 Air の頃と同じように使えるようになった。
後は Lightroom か、arm64 版も出たみたいだし。
その前にサブスクについてもう少し調べなきゃだが。