GTK+ on Ubuntu 14.10

Ubuntu 14.10 が出たので Live を試す。
GTK+ 3.12 のようだが GNOME アプリは全部 3.10 のままだった。

ubuntu1410_gedit

Gedit 3.12 がどうなったか知っているよね。
Apps/Gedit/Screenshots – GNOME Wiki!

Gedit 3.12 向け自作プラグインのテストに使おうと思っていたけど当てが外れた。
Fedora がメインなので 3.12 をすっ飛ばしている状態なのよ。

DistroWatch.com: Ubuntu GNOME
GNOME 版さえ Nautilus 3.10 のまんまカヨ…
Fedora 21 を素直に待つことにする。

それより GMenu と GtkHeaderBar への対応はどうなった?
USB メモリに以下のコードを書いた Python ソースを入れてと。

#!/usr/bin/env python3

import sys
from gi.repository import Gtk, Gio

"""
    GtkHeaderBar on Ubuntu 14.10
    It is enabled.
"""

class Win(Gtk.ApplicationWindow):
    def __init__(self, app):
        Gtk.ApplicationWindow.__init__(self, application=app)
        # Back-Forward Button
        back = Gtk.Button.new_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU)
        forw = Gtk.Button.new_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU)
        back.set_valign(Gtk.Align.CENTER)
        forw.set_valign(Gtk.Align.CENTER)
        # Back-Forward Containers
        npbox = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 0)
        Gtk.StyleContext.add_class (npbox.get_style_context(), "linked")
        npbox.pack_start(back, False, False, 0)
        npbox.pack_start(forw, False, False, 0)
        # GtkHeaderBar
        hbar = Gtk.HeaderBar()
        hbar.pack_start(npbox)
        hbar.set_show_close_button(True)
        self.set_titlebar(hbar)
        self.resize(200, 200)
        self.show_all()

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

    def do_activate(self):
        self.window.present()

    def do_startup(self):
        Gtk.Application.do_startup(self)
        # AppMenu
        menu = Gio.Menu()
        menu.append("Quit", "app.quit")
        self.set_app_menu(menu)
        # option "quit"
        quit_action = Gio.SimpleAction.new("quit", None)
        quit_action.connect("activate", self.on_quit)
        self.add_action(quit_action)
        self.window = Win(self)
 
    def on_quit(self, action, parameter):
        self.quit()
 
if __name__ == "__main__":
    app = App()
    app.run(sys.argv)

ubuntu1410_hbar

リサイズも移動も可能になっている、密かに対応していたのか。
ただし閉じるボタン位置は左にはならないみたいね。
アプリケーションメニューは Unknown Application Name のまま。

中途半端だなぁ、使えるようになったのは素直に喜ばしいけど。
まだまだ Ubuntu で GTK+ はイケそうに思うけど。

2014年10月17日号 小型ARMデスクトップ“imp”・14.10のFinal Beta・“POODLE”攻撃・OSC Tokyo/Fall・UWN#387:Ubuntu Weekly Topics|gihyo.jp … 技術評論社

次期版 Unity デスクトップは独自 SDK + Qt5 になる。
つまり Android のように Linux ベースだけど専用 API 必須になる???
タッチ無しのデスクトップ環境限定なら Qt アプリは問題なく動くと思うけど。
GTK+ はどうなんだろう?

とはいえ。

updateman

今も相変わらず Python, GTK+ に頼りまくっているようですけど。
本家も 14.04 を勧めているし移行まで中途半端なままだろうね。

GtkHeaderBar の為だけにインストールするのもなぁ。
本当に全然新しくなっていないので Ubuntu 系ブロガーは頭が痛いかも。