Проблема, с которой вы столкнулись, связана с новой функцией получения более унифицированного представления на рабочем столе.
Цель состоит в том, чтобы сопоставить как панель значков, так и всплывающие окна, чтобы соответствовать обои, которые вы выбрали.
Посмотрите это видео: http://www.youtube.com/watch?v=D6z6hn6wZlg
Однако, я думаю, что видел On / Выкл. / Автоматическое выпадающее меню где-то относительно раскраски значка. Но я не могу найти его сейчас. Я буду ткнуть, чтобы посмотреть, смогу ли я его найти. И если я это сделаю, я вернусь сюда с обновлением.
С наилучшими пожеланиями Fredrik L
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
__init__(self, command)
будет еще приятнее, я попробую это позже.
– int_ua
26 June 2012 в 17:40
Так как VTE 0.38, vte_terminal_fork_command_full ()
был переименован в vte_terminal_spawn_sync ()
. Поэтому, если вы используете более новые версии, вы должны изменить @ ответ ADcomp на следующее:
terminal.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
Вот базовый пример:
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
terminal = Vte.Terminal()
terminal.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
win.add(terminal)
win.show_all()
Gtk.main()
Поскольку VTE 0.38, vte_terminal_fork_command_full () был переименован в vte_terminal_spawn_sync (). Поэтому, если вы используете более новые версии, вам необходимо изменить ответ @ ADcomp на следующее:
terminal.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()
Основываясь на ответе ADcomp на адрес, который хочет добавить их динамически в будущем, я думаю, что вы захотите подкласса Vte.terminal.
#!/usr/bin/env python
from gi.repository import Gtk, Vte
from gi.repository import GLib
import os
class MyTerm(Vte.Terminal):
def __init__(self, *args, **kwds):
super(MyTerm, self).__init__(*args, **kwds)
self.spawn_sync(
Vte.PtyFlags.DEFAULT,
os.environ['HOME'],
["/bin/sh"],
[],
GLib.SpawnFlags.DO_NOT_REAP_CHILD,
None,
None,
)
win = Gtk.Window()
win.connect('delete-event', Gtk.main_quit)
bigbox = Gtk.Box()
win.add(bigbox)
bigbox.add(MyTerm())
bigbox.add(MyTerm())
win.show_all()
Gtk.main()