Ubuntu」タグアーカイブ

Nautilus と Dolphin と GnomeVFS

Nautilus の D&D で送られてくる text/uri-list で何を今頃気がついた。
これって CRLF 区切りなのか、Dolphin の場合は LF 区切りの URI が送られてくる。

ぱぇぽぃ2 ? Blog Archive ? Get MIME Type and Description

上記に書いたコードのように今まで URI の最後の一文字を削除していた。
たまたまそうやったら上手くいったからずっとそうしてきただけだったりする。
CR の存在を今まで知らずにアプリを作っていたのか、反省。
ということは

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk
import gnomevfs

class MimeWin2(gtk.Window):
    """
        Showing MIME Type and Description of Dropped file
    """
    def __init__(self):
        gtk.Window.__init__(self)
        dnd_list = [("text/uri-list", 0, 0)]
        self.drag_dest_set( gtk.DEST_DEFAULT_MOTION |
                            gtk.DEST_DEFAULT_HIGHLIGHT |
                            gtk.DEST_DEFAULT_DROP,
                            dnd_list, gtk.gdk.ACTION_MOVE )
        self.connect("drag_data_received", self.on_drop)
        self.label = gtk.Label("Drop")
        self.add(self.label)
        self.connect("delete-event", gtk.main_quit)
        self.resize(320, 150)
        self.show_all()

    def on_drop(self, widget, context, x, y, selection_data, info, time):
        if "\r\n" in selection_data.data:
            drops = selection_data.data.split("\r\n")
        else:
            drops = selection_data.data.split("\n")
        for drop in drops:
            if not drop == "":
                name = drop
                mime = gnomevfs.get_mime_type(name)
                desc = gnomevfs.mime_get_description(mime)
                self.label.set_text("MIME Type = %s\nDescription = %s" % (mime, desc))

if __name__ == "__main__":
    w = MimeWin2()
    gtk.main()

gnomevfs

こうすれば Nautilus でも Dolphin でも対応できるじゃないの。
てか改行コードが違うだけで text/uri-list が送られてくるのは同じなのか。
KDE の Mandriva でも GnomeVFS から普通に MIME Type を取得できるのは驚いた。
ま、そうじゃないと Firefox や Totem が動かせないか、納得。

ところでスクリプトの扱いが Nautilus と Dolphin では随分違うなぁ。
シェルスクリプトだと実効パーミッションでもダブルクリックで実効できない。
Python スクリプトだと逆に Nautilus のように質問は無くていきなり実効してしまう。
bash からだとまったく同じ、そりゃそうか。

私が実効スクリプトを分けて配布しているのは完全に自分の都合。
python スクリプトをダブルクリックだけで gedit で開けるからという単純な理由です。
Mandriva で使うことを考えて実効スクリプトを Python スクリプトにすればいいかなと。

ということでソコを書き換えたら Y901x は再生できるようになった。

baseboll

後は dbus と wnck をなんとかすれば Mandriva もサポートできる。
リポジトリにはあるんですけどね。

python_dbus

nautilus-gksu を入れる人ってバカなの?

nautilus-gksu を入れる人ってバカなの?

#!/bin/sh
gksu gnome-open $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS

のたった一行のコマンドを Nautilus スクリプトに登録するだけで同じことができるのに。
ちなみに xdg-open だと gksu では開かない、そういうもの?

Nautilus をスクリプトで拡張

久々に覚書ページを更新した、もう少しこの手のネタが欲しい。
それにしてもいつまでたってもサルのままな Ubuntu 使いが多すぎる。
今のままじゃ Ubuntu Linux を使っているというと笑われてしまう日は近いよ。

多分私は Windows 7 から Windows というか .NET Framework メインに戻る。
もしくは他のディストリビューション、でも Opera が正式対応していないと困るんだが。
他に選べるのは Mandriva, SuSE, Fedora くらいかな。
実は今 Mandriva の KDE 版 One を落としている真っ最中だったりする。

Y901x のファイル切り替えでビリビリ音が出る場合があった。
単純にファイル切り替え時にタイマーを止めるのを忘れていただけだった…

やっと原因が解ったので他ちょこっと弄くって v0.1.9 の公開。

ってお知らせしても多分コレを使っているのは作った本人だけなんだろうな。
もうちょっと Linux での需要がありそうなものを作ったほうが良さげ。

GnomeVFS を利用した Palepoli の Linux 版とか…
Y901x 解説の MIME Type 取得方法で Blog にリンクというのもどうかと思ったし。
とはいえ

mime_copy

Gnome では Nautilus のプロパティから普通にコピーできるんで意味無いかも。
つーかそういうものこそ Nautilus スクリプトで十分なんだよなぁと。
でも多くの Ubuntu ユーザーの現状を考えると…とか思ってしまいますね。

Ubuntu Templates Directry

Nautilus のメニューにあるテンプレート。

ぱぇぽぃ2 ? Blog Archive ? テンプレートとスクリプト

は何を今更知ったが標準ディレクトリの「雛形」を読み出すらしい。
って私はそのディレクトリは削除しているんですけど、日本語名なのが気に入らなくて。
しかしあったほうが便利っぽいので使ってみようと思う。

Ubuntu日本語フォーラム / “Templates” の訳語「雛形」の採用理由について

検索すればアルファベット化方法も即見つかるけどディレクトリ名に大文字を付けたくない。
Python をやって推奨の「型名や定数以外では小文字」という掟を守った結果そんな人になった。
というか /home/sasakima-nao/Templates って一つだけ大文字でおかしいだろ…

何よりそんなに開くディレクトリでもないのに home にあってもしょうがない。
だから消しているんだがテンプレートを使いたいなら作るしかない。

それならば隠しディレクトリにしてしまえばいい!
ということでやってみた。

まず「システム→設定→自動起動するアプリ」をメニューから選択。
「ユーザー・フォルダの更新」のチェックボックスを外しておく。
これが有効だとログイン毎に自動生成されるらしい。

auto_exec

んで Nautilus から ~/.config/user-dirs.dirs を Gedit なんかで開く。
XDG_TEMPLATES_DIR に自分で用意した隠しディレクトリを書き込む。
画像を見ると解るけど「デスクトップ」だけはそのまま使っている私、なんか慣れたし。

dirs

んでそのディレクトリにテンプレートを自分で突っ込む。
後はログアウト、ログインで見事 Nautilus でのテンプレートが有効に。

new_file

これでテンプレートが使えてかつディレクトリは普段表示されない環境のできあがり。
Windows はもっと酷いけどあまり開かない標準ディレクトリって表示してほしくないよね。

ついでに。
このディレクトリを開くには Nautilus メニューの「移動(G)」から一発です。

Ubuntu and Vista comparison 2

Ubuntu を復旧させたので Vista からとっとと戻しました、我ながら早!
あぁ快適だ、とにかく快適だ、でも Opera だけはやっぱり Windows 用が快適だ!
この快適さの違いは何だろう?

○ Explorer と Nautilus

ファイルマネージャが実際のファイル管理を行っていることは置いておいて。
Vista 最大の欠点はあの「信じられないほど使いにくい Explorer 」なのは間違いない。
Windows 7 で幾分は改善はされているけど求めている方向はそうじゃないんだよ。
とにかく余計な機能は付けなくていいから XP 以前の単なる階層表示に戻してくれい!

Nautilus は一覧(詳細)表示にしてもしっかりサムネイルで表示される等一貫している。
ツリーのトップもホームとシステムだけで解りやすい、隠しファイル表示切り替えも一発。
ちなみに私はホームのデフォルトで作成されるディレクトリはデスクトップ以外は削除している。
だって Python を始めてから小文字でないと落ち着かなくなったし何も問題無いもの。

dir

端末操作でもホームはプロンプトに何も表示されないので打ち込みしやすい。
最大の長所はスクリプトが使えることだと私は感じるけどそういう人って少ないかも。

○ 開発環境

Vista で Visual Studio を使って遊ぼうと思ったけど起動する気分になれなかった。
Microsoft 自身が排除してしまいたいと思っている Win32 API はもう使う気になれないし。
その代替で登場した .NET Framework 及び WPF は小物アプリを作ることを考えていない…

というより Windows において何か新しくアプリを作りたいと思わなくなってしまった。
既に星の数ほどのアプリが存在する現状なので探したほうが早いことも事実だが。

販売するようなアプリでもないのに大げさな IDE を起動してデバッグというのも何だか。
小さなアプリでもよく解らないファイルが勝手に作成されてしまうのも今は気に入らないし。
小物アプリであればテキストのみでチャチャっと作れるスクリプトのほうが良いのですよ。

シェルスクリプト、Python、PyGtk
この3つがあれば大半のことが可能である Ubuntu てか Linux はやはりありがたいとしか。
ネットをうろつくと変な勘違いで挫折してしまう人が多すぎるなぁ…

とにかくファイル管理とスクリプト関連では Ubuntu の圧勝で異論は無いだろう。

Python gnome Module

Vista に変更中なのに何故か VirtualBox 上の Ubuntu 8.10 を。

gnome

bonobo や gnomevfs は解るんだけど gnome って何?
インタラクティブシェルで

import gnome
dir(gnome)

とやるとズラっと、どうも GNOME に対し何か行うモジュールのようで。
解りやすそうなメソッドを何か使ってみよう。

import gnome
gnome.url_show("http://palepoli.skr.jp/")

とやってみるとやっぱり Firefox が立ち上がって我がサイトを表示。
なんだよ、xdg-open を外部呼び出ししなくてもこれでイケるやん!

こんなことができたのね、もう少し地味に調べると面白そうです。
つーてもこういう Python 限定では Devhelp にあるはずがないしなぁ。
$ pydoc gnome
で見てもちょっと解りにくいのが難点かな。

しかし秀丸では今となってはネタが書きにくい、Gedit に慣れすぎた。