Linux」カテゴリーアーカイブ

Home キーを 2 回叩け

以前書いたけど私は Python を gEdit でコーディングしている。

Emacs や vi とかに興味を持たないのは私はブラインドタッチができない(マジで)からである。
てゆーか Delphi や Visual Studio を使っていたので Windows 風にしかエディタが使えない人。
Scribes なんかも多機能で悪くないけど何故だか馴染めない。

コード保管がまったく使えないのが最初は気になったが慣れた、今まで楽をしすぎただけだ。
Python ならではのインデントも Tab と Shift+Tab を利用するだけだ、逆に今は括弧がウザい。

でもたった一つだけ不満がある、Home キーで文の先頭に行ってほしいのだ。
Visual Studio で慣れてしまった、gEdit のエディタ部は gtksourceview のはずなのに。

gtksourceview.SourceView

def set_smart_home_end(enable)
なんてメソッドがあるヤン!何故これができないのだろう?
Python コンソールで試してみよう。

view = window.get_active_view()
view.set_smart_home_end(True)

gedit_cons

できるヤン!何故設定が無いのだ?
プラグインでも作るか、と思ったけどもしかしてと思い「設定エディタ」を開く。
メニューに無い人は端末で gconf-editor で。

apps→gedit-2→preferences→editor→smart_home_end

gedit_home

おいおい、設定があるやないの!
下に出る解説をよく見ると…Home キーを 2 回叩いてみる。
知らなかった、わっはっは今まで何を無駄な操作をしていたのだ俺は。

でもこれでは気持ち悪いので BEFORE に変更。
Visual Studio や Bluefish とコレで同じ動作だ。

ついでに書いておこう。
Gnome のエディタ部は全部トリプルクリックで一行選択になります。
すぐに気がつくと思うけど、何かまだ知らないで損していることって多そうだなぁ。

ChangeLog

changelogimg

単純にファイルを作って名前を ChangeLog にしただけのテキスト文書。
それだけで名の知れたエディタなら色分けして表示される、へぇこうなるんだ。
解説不要なほど単純な表記で読みやすいし日本語もコレなら問題無い。

何より書き方が統一されるので誰が書いたとしても理解しやすい。
Python の良さを理解できる人ならそのメリットは解るはず。
面白い文化があるもんだ UNIX の世界は。

こんな面白い文化は開発用途だけではもったいない!
何か他に面白い使い方は無いかな?

“ChangeLog” – Google 検索

同じ事を考える人って多いんだなぁ…

問題はファイル名が限定されるので同一ディレクトリに一つしか置けないこと。
アレの覚書!コレの覚書!としたい場合…やはり使い方が限定されてしまうか。

ソレならブログに投稿してカテゴリやタグを利用したほうが…それも色々あるが。
自分が書いた覚書を検索しなきゃ探せないのって本末転倒だし、よくやるんだこれが。

万能なログ記録方法って無いので用途で使い分けするしかない。
まあ ChangeLog 自体は日記に満たない単純な覚書利用には最適かと思う。

インストーラ

うおぉぉぉ!全然進まなかった。
結局インストーラはシェルスクリプトで書いているんだが。
とりあえずなんとかなったのをココにバックアップ。

#! /bin/sh

# -r オプションで削除
if test $# = 1; then
    if test $1 = -r; then
        rm -r /usr/share/y901x
        rm /usr/bin/y901x
        rm /usr/share/applications/y901.desktop
        rm /usr/share/pixmaps/y901x.xpm
    fi
else
    # 拡張子があるものだけ /usr/share にコピー
    if ! test -d /usr/share/y901x; then
        mkdir /usr/share/y901x
    fi
    cp -f *.* /usr/share/y901x/

    # /usr/bin に作成
    touch /usr/bin/y901x
    chmod 755 /usr/bin/y901x
    cat << _EOS_ > /usr/bin/y901x
#! /bin/sh
exec python /usr/share/y901x/y901main.py \$@
_EOS_

    # .desktop 作成、MimeType は Totem コピペ
    touch /usr/share/applications/y901.desktop
    cat << _EOSB_ > /usr/share/applications/y901.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[ja_JP]=y901x
Name[ja_JP]=Y901x
Exec=y901x %U
Comment[ja_JP]=わいきゅうまるいちえっくす
Name=Y901x
Comment=y901x
Icon=y901x
StartupNotify=true
Categories=GNOME;GTK;AudioVideo;Video;Player;X-Ximian-Main;X-Red-Hat-Base;
MimeType=application/ogg;application/ram;(以下略
_EOSB_

    # アイコンのコピー
    cp -f y901x.xpm /usr/share/pixmaps/
fi

ヒアドキュメントとやらに詰まりまくった。
MimeType を入れただけでは「別のアプリで開く」でしか登録ができないなぁ。
Nautilus の右メニューに入れるにはどうすれば…まだ勉強が足らない。

それよりやはりカレントディレクトリをスクリプトで変更はやはりまずい。
そうすると glade ファイルの読み込みはどうすればいいんかいなぁ?

try:
    self.widgets = gtk.glade.XML("/usr/share/hoge/a.glade", "b")
except:
    self.widgets = gtk.glade.XML("a.glade", "b")

しか思いつかないし見つからないんだが…まだ勉強が足らない。

てか $@ でコマンドラインオプションを送るとリストで届くんだね。
コマンドラインオプションを付けると解析はどうすれば…まだ勉強が足らない。

アイコンデザインが…いつものことだ。

やりたいこと以外で詰まって全然進展しない!
まぁプログラミングってそういうもんですけどね。
Tips サイトは多いのに何も有効なアプリを公開していない人が多い理由はコレだよ。

追記

手抜きっぽいインストーラ

でなんとかなったぞい!
Nautilus への右メニューへは一度「別のアプリで開く」を行えば登録される。
ということでこの件は終わらせよう、先へ進めない。

UpdateManager のソースがマジで参考になったんだが、コレって Python 製なんだね。
何故こういうトコを強調して日本での Python 普及を唱える人が出ないのやら。
Mono の覚書のほうがアクセスが多いのがオイラは超気に入らないんだよ!

今日の Ubuntu

今日は Ubuntu の覚書を更新しました。

覚書のページ – L’Isola di Niente

てかアップロードで FileZilla とか FTP ソフトはいらないヤン!
もしかしてこんなことも知らないのは私だけ?
と思って Ubuntu FTP – Google 検索 でググる。

あーあ、やはり gFtp や FileZilla を使っている人が多いや、、、、、
Windows から乗り換え組って私を含めてこんなもんだね。

今週の動向

ということで現在 Linux 用動画プレイヤーを作っているわけですが、、、、、
やっぱりインストールしないと自分でさえ使いませんねぇ。

Debian パッケージを作ろうとしているがもうわけがわかんない!

Debian パッケージの作り方

にある裏技で scribes という Python で作られたテキストエディタの中身を参考にでも…
もっとわけがわからなくなった!あぁ Linux 一年生の私には敷居が高すぎる。

で、よく考えたらディストリのリポジトリに入れてもらおうとか考えているわけではない。
てゆーか海外進出すら考えてもいない、SourceForge.jp くらいは考えなくもないが。
私がやりたいのは「Linux で GUI アプリは気軽に作れる」な参考の一つを作りたいだけだ。

ので自前スクリプトから導入でかまわないかなと。
メニューへの追加処理をホーム以下にすればそれで問題は無さそうだし。

しかしコンパイルするわけじゃないし /usr/bin に突っ込めばいいというわけじゃ…
Python と Glade で作ったアプリケーションはファイルをどう配置すればいいのだ?
そういうわけで月曜からチビチビ試してみた。

/usr/lib に y901x なんてディレクトリを作りとりあえず全部放り込む。

/usr/bin に y901x というシェルスクリプトを新規作成し

#! /bin/sh
cd /usr/share/y901x
exec python y901main.py

で実行可能にしておく、これでなんとか端末から起動できるようになった。
別の位置に glade ファイルを置く方法とかは…これで動くから別にイイんだが。

/usr/share/pixmaps にアイコンを放り込む、まだ作っていない。

/home/sasakima-nao/.local/share/applications
以下に y901.desktop というファイルを作成してメニューにする。

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[ja_JP]=madatukutteinai
Name[ja_JP]=Y901x
Exec=y901x
Comment[ja_JP]=わいきゅうまるいちえっくす
Name=Y901x
Comment=y901x
Icon=madatukutteinai

メニューエディタで作ったらこうなったから同じように書けばイケるだろう。
アンインストールはそれらを全削除、でなんとかなりそうだ。

よし、これをシェルスクリプトで書くぞ!
あぁなさけない、書き方が解らない…
Web じゃ解らん、本屋さんへ Go。
立ち読み、あぁ又配列とか文字列とかゼロから勉強か…
とココで気がつく、Python スクリプトで書けばいいじゃん。
はよ気がつけ俺…
結局ハニカム2巻を買って帰る。
あぁりっちゃんがかわいい。
って何をいい歳こいて漫画…
ということで明日あたりから更新…するかも。