Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-06-23 17:09:58 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-06-23 17:09:58 (GMT)
commitb6b50ff285220609be1dbbb3350447af07cee411 (patch)
treeade38d2fce308d0807eeb0d1ebf592db64b7c9e4 /shell
parenta929dc0b4655eb2fe0c88b437314b80848e16749 (diff)
Make the console a slide-in window. Change keybinding to Ctrl-Down
Diffstat (limited to 'shell')
-rw-r--r--shell/WindowManager.py9
-rwxr-xr-xshell/shell.py23
-rwxr-xr-xshell/sugar2
3 files changed, 19 insertions, 15 deletions
diff --git a/shell/WindowManager.py b/shell/WindowManager.py
index 7fa5dcd..61d1d0c 100644
--- a/shell/WindowManager.py
+++ b/shell/WindowManager.py
@@ -48,6 +48,12 @@ class WindowManager:
if wm._position == WindowManager.TOP:
manager = wm
+ if event.keyval == gtk.keysyms.Down and \
+ event.state & gtk.gdk.CONTROL_MASK:
+ for wm in WindowManager.__managers_list:
+ if wm._position == WindowManager.BOTTOM:
+ manager = wm
+
if manager and manager._window.get_property('visible'):
manager.slide_window_out()
elif manager:
@@ -87,6 +93,9 @@ class WindowManager:
elif self._position is WindowManager.TOP:
self._x = int((screen_width - width) / 2)
self._y = - int((1.0 - self._sliding_pos) * height)
+ elif self._position is WindowManager.BOTTOM:
+ self._x = int((screen_width - width) / 2)
+ self._y = screen_height - int(self._sliding_pos * height)
self._real_width = width
self._real_height = height
diff --git a/shell/shell.py b/shell/shell.py
index a5dc0b7..b551478 100755
--- a/shell/shell.py
+++ b/shell/shell.py
@@ -458,26 +458,23 @@ class ConsoleLogger(dbus.service.Object):
self._window = gtk.Window()
self._window.set_title("Console")
- self._window.set_default_size(640, 480)
+ self._window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)
+ self._window.set_decorated(False)
+ self._window.set_skip_taskbar_hint(True)
self._window.connect("delete_event", lambda w, e: w.hide_on_delete())
-
+
self._nb = gtk.Notebook()
self._window.add(self._nb)
self._nb.show()
self._consoles = {}
- def set_parent_window(self, window):
- window.connect("key-press-event", self.__key_press_event_cb)
- self._window.connect("key-press-event", self.__key_press_event_cb)
+ console_wm = WindowManager(self._window)
- def __key_press_event_cb(self, window, event):
- if event.keyval == gtk.keysyms.d and \
- event.state & gtk.gdk.CONTROL_MASK:
- if self._window.get_property('visible'):
- self._window.hide()
- else:
- self._window.show()
+ console_wm.set_width(0.7, WindowManager.SCREEN_RELATIVE)
+ console_wm.set_height(0.9, WindowManager.SCREEN_RELATIVE)
+ console_wm.set_position(WindowManager.BOTTOM)
+ console_wm.manage()
def _create_console(self, application):
sw = gtk.ScrolledWindow()
@@ -535,8 +532,6 @@ class Shell(gobject.GObject):
wm.show()
wm.manage()
- console.set_parent_window(activity_container.window)
-
def __activity_container_destroy_cb(self, activity_container):
self.emit('close')
diff --git a/shell/sugar b/shell/sugar
index 60391be..a4fd023 100755
--- a/shell/sugar
+++ b/shell/sugar
@@ -69,7 +69,7 @@ else:
add_to_python_path(os.path.join(sugar.env.get_data_dir(), 'shell'))
print 'Running the installed sugar...'
-print 'Redirecting output to the console, press ctrl+d to open it.'
+print 'Redirecting output to the console, press Ctrl+Down to open it.'
from session.session import Session