Ballisticsの体験版
ハイテクな未来が舞台のレースゲーム Ballistics。
スピーダーとかいうホバーバイクで、障害物を避けながら突っ走る。
元々 Windows 用として 2001 年に発売されたゲームで、最低動作環境かなり低め。
体験版はチュートリアルとシングルレースがプレイできる。
ダウンロードしたインストーラを走らせる。
$ sudo chmod +x ballistics-demo.run $ ./ballistics-demo.run
以下のツールのインストールは飛ばした。
- LGP Update Tool
- LGP Uninstall Tool
$ ballistics_demo/./ballistics_demo
思った以上にスピードが出て、障害物を避けきれない・・・。
キャプ動画。
http://video.google.com/videoplay?docid=-7161009050152983875
pythonからatコマンドで予約
$ echo "mplayer hoge.mp3" | at now + 1min $ echo "killall mplayer" | at now + 2min
上のコマンドを python でやる。
import subprocess p = subprocess.Popen(['at', 'now + 1min'], stdin=subprocess.PIPE) p.communicate('mplayer hoge.mp3') p = subprocess.Popen(['at', 'now + 2min'], stdin=subprocess.PIPE) p.communicate('killall mplayer')
Mumbles
Mumbles、GNOME用のプラグインベースの通知システム。
dbus でメッセージをやりとりして、cairo 描画でクールな通知をするんだとか・・・。
自分にはよく分からないけど、Ubuntu パッケージあるし、せっかくだから試してみた。
まず本体を起動。
$ mumbles Successfully loaded RhythmboxMumbles plugin Successfully loaded GaimMumbles plugin Successfully loaded GenericMumbler plugin Successfully loaded PidginMumbles plugin Successfully loaded GrowlMumbler plugin Successfully loaded FirefoxMumbles plugin Successfully loaded ThunderbirdMumbles plugin Mumbles is Listening...
なんか読み込んでる。これがプラグインベースってことだろうか。
試しに rhythmbox で再生すると曲情報が出現!けっこう綺麗。
メッセージ送信用コマンドの mumbles-send もばっちり機能した。
最後にソースを覗いて送信命令?を探してみた。
dbus はさっぱり分からないが、この方法でも届いた(実際のプラグインは別の方法を取っている)。
#!/usr/bin/evn python # -*- coding:utf-8 -*- import sys sys.path.append("/usr/share/python-support/mumbles/src/") import Mumbles import MumblesGlobals import MumblesDBus import dbus dbus_loop = dbus.mainloop.glib.DBusGMainLoop() bus = dbus.SessionBus(mainloop=dbus_loop) name = dbus.service.BusName(MumblesGlobals.MUMBLES_DBUS_INTERFACE, bus) sender = MumblesDBus.MumblesDBus(name) title = "Mumbles について" body = ' '.join(["Mumbles is a plugin-driven,", "DBus based notification system", "written for the Gnome desktop."]) sender.Notify(title, body)
綺麗だけど常用はしないだろうなぁ。
gtk.StatusIconとpynotifyをくっつける
トレイアイコン上から吹き出しで通知するように。
#!/usr/bin/env python #-*- coding:utf-8 -*- import gtk import pynotify def tray_activate(event): n.show() def popup_menu(status, button, time): menu.popup(None, None, None, button, time) def menu_pref_blink(event): if tray.get_blinking(): tray.set_blinking(False) event.set_active(False) else: tray.set_blinking(True) # トレイを点滅させる event.set_active(True) # サブメニューにチェック def menu_quit(event): gtk.main_quit() # statusicon tray = gtk.StatusIcon() tray.set_from_stock(gtk.STOCK_DIALOG_INFO) tray.set_tooltip('トレイアイコンのテスト') tray.connect('activate', tray_activate) tray.connect('popup-menu', popup_menu) # pynotify pynotify.init("test") n = pynotify.Notification("テスト", "トレイアイコンからニョキッと", gtk.STOCK_DIALOG_INFO) n.attach_to_status_icon(tray) # n を tray へくっつける # menu menu = gtk.Menu() item = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) submenu = gtk.Menu() subitem = gtk.CheckMenuItem("点滅") submenu.append(subitem) subitem.connect("activate", menu_pref_blink) item.set_submenu(submenu) menu.append(item) item = gtk.SeparatorMenuItem() menu.append(item) item = gtk.ImageMenuItem(gtk.STOCK_QUIT) menu.append(item) item.connect("activate", menu_quit) menu.show_all() gtk.main()
GNOMEパネル上のメニュー・バーが使うアイコン
ls $HOME/.icons/*/22x22/places/start-here.png /usr/share/icons/*/22x22/places/start-here.png
パネルやフォントの大きさに関わらず22x22のアイコンで固定されているっぽい。
メイン・メニューの場合はパネルの大きさによって変わった。
Tango Generator 3
既存のアイコンテーマを組み合わせ、お好みのテーマを生成するアプリケーション。Gnome向け。
Tangoのアプリケーションアイコンを補完したり、小さなModを被せる等が簡単になる。
各テーマの最新版をダウンロードし優先度に従って合成、できたテーマを~/.iconsに置いてくれやがります。
ただ今はまだ不安定?なのか、自分の環境ではたまにエラーが出ています。
3からは、テーマ構成をファイルに読み書きできるようになっていました。
[Tango Generator Configuration]
Collected Application Icons
Custom Application Icons
Upstream GPL
Custom Mime Types
Tango
Gnome
Tango Generator Configuration Filesに参考になるテーマファイルがありました。
Aldrinの最新版
オープンソースの音楽作成ソフトAldrin Modular Sequencer、Linux用のJeskola Buzzクローン。
本家Buzzのmachineは使えない別物だけれど、InfectorやMatildeTrackerなどの一部が移植されていたり、DSSIやLADSPAプラグインもmachineとして使える。
変わった機能としてfreesoundの音ネタブラウザを内蔵、サンプルリストへ直接登録できる。
最新版をソースコードからビルドする際にはlibzzubも新しくしておくこと。
自分でビルドせずにAldrin Unofficial Repositoryのバイナリを利用するのもいいのかも。
#!/bin/bash cd ~/ svn co http://svn.zeitherrschaft.org/zzub/trunk zzub && cd zzub && scons configure && scons && sudo scons install && cd src/pyzzub && python setup.py build && sudo python setup.py install cd ~/ svn co http://svn.zeitherrschaft.org/aldrin/trunk aldrin && cd aldrin && scons && sudo scons install
ホイホイっと更新してしまう適当なスクリプト。