Use matchbox to activate home and people page
This commit is contained in:
		
							parent
							
								
									08a52809a6
								
							
						
					
					
						commit
						ae00121fbf
					
				| @ -90,7 +90,7 @@ class ActivityRegistry: | |||||||
| 		elif cp.has_option('Activity', 'python_module'): | 		elif cp.has_option('Activity', 'python_module'): | ||||||
| 			python_module = cp.get('Activity', 'python_module') | 			python_module = cp.get('Activity', 'python_module') | ||||||
| 			python_module = cp.get('Activity', 'python_module') | 			python_module = cp.get('Activity', 'python_module') | ||||||
| 			activity_exec = '%s %s %s' % (env.get_activity_runner(), | 			activity_exec = '%s %s %s' % ('sugar-activity', | ||||||
| 							   			  activity_id, python_module) | 							   			  activity_id, python_module) | ||||||
| 			if default_type: | 			if default_type: | ||||||
| 				activity_exec += ' ' + default_type | 				activity_exec += ' ' + default_type | ||||||
|  | |||||||
| @ -70,5 +70,6 @@ class Emulator: | |||||||
| 				process = XnestProcess() | 				process = XnestProcess() | ||||||
| 				process.start() | 				process.start() | ||||||
| 			except: | 			except: | ||||||
| 				logging.error('Cannot run the emulator. You need to install Xephyr or Xnest.')				 | 				logging.error('Cannot run the emulator. You need to install \ | ||||||
|  | 							   Xephyr or Xnest.')				 | ||||||
| 				sys.exit(0) | 				sys.exit(0) | ||||||
|  | |||||||
| @ -154,8 +154,6 @@ class HomeWindow(gtk.Window): | |||||||
| 
 | 
 | ||||||
| 	def create(self, activity_name): | 	def create(self, activity_name): | ||||||
| 		Activity.create(activity_name) | 		Activity.create(activity_name) | ||||||
| 		self.hide() |  | ||||||
| 
 | 
 | ||||||
| 	def activate(self, activity_window): | 	def activate(self, activity_window): | ||||||
| 		activity_window.activate(gtk.get_current_event_time()) | 		activity_window.activate(gtk.get_current_event_time()) | ||||||
| 		self.hide() |  | ||||||
|  | |||||||
| @ -8,8 +8,6 @@ class PeopleWindow(gtk.Window): | |||||||
| 		gtk.Window.__init__(self) | 		gtk.Window.__init__(self) | ||||||
| 
 | 
 | ||||||
| 		self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) | 		self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) | ||||||
| 		self.set_skip_taskbar_hint(True) |  | ||||||
| 		self.set_decorated(False) |  | ||||||
| 		self.set_default_size(620, 460) | 		self.set_default_size(620, 460) | ||||||
| 
 | 
 | ||||||
| 		hbox = gtk.HBox(False, 12) | 		hbox = gtk.HBox(False, 12) | ||||||
|  | |||||||
| @ -106,7 +106,7 @@ class PresenceView(gtk.VBox): | |||||||
| 		button_box.show() | 		button_box.show() | ||||||
| 	 | 	 | ||||||
| 	def _share_button_clicked_cb(self, button): | 	def _share_button_clicked_cb(self, button): | ||||||
| 		self._shell.get_current_activity().publish() | 		self._activity.publish() | ||||||
| 	 | 	 | ||||||
| 	def _on_buddyList_buddy_selected(self, view, *args): | 	def _on_buddyList_buddy_selected(self, view, *args): | ||||||
| 		(model, aniter) = view.get_selection().get_selected() | 		(model, aniter) = view.get_selection().get_selected() | ||||||
|  | |||||||
| @ -20,16 +20,12 @@ class ShellDbusService(dbus.service.Object): | |||||||
| 		dbus.service.Object.__init__(self, bus_name, '/com/redhat/Sugar/Shell') | 		dbus.service.Object.__init__(self, bus_name, '/com/redhat/Sugar/Shell') | ||||||
| 		self._shell = shell | 		self._shell = shell | ||||||
| 
 | 
 | ||||||
| 	def __toggle_people_idle(self): | 	def __show_people_idle(self): | ||||||
| 		self._shell.toggle_people()		 | 		self._shell.show_people()		 | ||||||
| 
 | 
 | ||||||
| 	@dbus.service.method('com.redhat.Sugar.Shell') | 	@dbus.service.method('com.redhat.Sugar.Shell') | ||||||
| 	def toggle_people(self): | 	def show_people(self): | ||||||
| 		gobject.idle_add(self.__toggle_people_idle) | 		gobject.idle_add(self.__show_people_idle) | ||||||
| 
 |  | ||||||
| 	@dbus.service.method('com.redhat.Sugar.Shell') |  | ||||||
| 	def toggle_home(self): |  | ||||||
| 		self._shell.toggle_home()	 |  | ||||||
| 
 | 
 | ||||||
| 	@dbus.service.method('com.redhat.Sugar.Shell') | 	@dbus.service.method('com.redhat.Sugar.Shell') | ||||||
| 	def toggle_console(self): | 	def toggle_console(self): | ||||||
| @ -68,9 +64,6 @@ class Shell: | |||||||
| 		else: | 		else: | ||||||
| 			window.show() | 			window.show() | ||||||
| 
 | 
 | ||||||
| 	def toggle_home(self): |  | ||||||
| 		self._toggle_window_visibility(self._home_window) |  | ||||||
| 
 |  | ||||||
| 	def get_activity_from_xid(self, xid): | 	def get_activity_from_xid(self, xid): | ||||||
| 		bus = dbus.SessionBus() | 		bus = dbus.SessionBus() | ||||||
| 		service = Activity.ACTIVITY_SERVICE_NAME + "%s" % xid | 		service = Activity.ACTIVITY_SERVICE_NAME + "%s" % xid | ||||||
| @ -90,7 +83,7 @@ class Shell: | |||||||
| 		else: | 		else: | ||||||
| 			return None | 			return None | ||||||
| 
 | 
 | ||||||
| 	def toggle_people(self): | 	def show_people(self): | ||||||
| 		activity = self.get_current_activity() | 		activity = self.get_current_activity() | ||||||
| 
 | 
 | ||||||
| 		if activity: | 		if activity: | ||||||
|  | |||||||
| @ -5,6 +5,13 @@ import os | |||||||
| import pwd | import pwd | ||||||
| import random | import random | ||||||
| 
 | 
 | ||||||
|  | def add_to_bin_path(path): | ||||||
|  | 	if os.environ.has_key('PATH'): | ||||||
|  | 		old_path = os.environ['PATH'] | ||||||
|  | 		os.environ['PATH'] = path + ':' + old_path | ||||||
|  | 	else: | ||||||
|  | 		os.environ['PATH'] = path | ||||||
|  | 
 | ||||||
| def add_to_python_path(path): | def add_to_python_path(path): | ||||||
| 	sys.path.insert(0, path) | 	sys.path.insert(0, path) | ||||||
| 	if os.environ.has_key('PYTHONPATH'): | 	if os.environ.has_key('PYTHONPATH'): | ||||||
| @ -34,6 +41,7 @@ basedir = os.path.dirname(curdir) | |||||||
| 
 | 
 | ||||||
| if os.path.isfile(os.path.join(basedir, 'sugar/__uninstalled__.py')): | if os.path.isfile(os.path.join(basedir, 'sugar/__uninstalled__.py')): | ||||||
| 	print 'Running sugar from ' + basedir + ' ...' | 	print 'Running sugar from ' + basedir + ' ...' | ||||||
|  | 	add_to_bin_path(os.path.join(basedir, 'shell')) | ||||||
| 	add_to_python_path(basedir) | 	add_to_python_path(basedir) | ||||||
| 	add_to_python_path(os.path.join(basedir, 'shell')) | 	add_to_python_path(os.path.join(basedir, 'shell')) | ||||||
| else: | else: | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								shell/sugar-people
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								shell/sugar-people
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | #!/usr/bin/python | ||||||
|  | 
 | ||||||
|  | import dbus | ||||||
|  | 
 | ||||||
|  | bus = dbus.SessionBus() | ||||||
|  | proxy_obj = bus.get_object('com.redhat.Sugar.Shell', '/com/redhat/Sugar/Shell') | ||||||
|  | shell = dbus.Interface(proxy_obj, 'com.redhat.Sugar.Shell') | ||||||
|  | shell.show_people() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -1,5 +1,4 @@ | |||||||
| import os | import os | ||||||
| 
 | 
 | ||||||
| sugar_data_dir = os.path.dirname(os.path.dirname(__file__)) | sugar_data_dir = os.path.dirname(os.path.dirname(__file__)) | ||||||
| sugar_activity_runner = os.path.join(sugar_data_dir, 'shell/sugar-activity') |  | ||||||
| sugar_activities_dir = os.path.join(sugar_data_dir, 'activities') | sugar_activities_dir = os.path.join(sugar_data_dir, 'activities') | ||||||
|  | |||||||
| @ -36,6 +36,3 @@ def get_data_dir(): | |||||||
| 		 | 		 | ||||||
| def get_activities_dir(): | def get_activities_dir(): | ||||||
| 	return sugar_activities_dir | 	return sugar_activities_dir | ||||||
| 
 |  | ||||||
| def get_activity_runner(): |  | ||||||
| 	return sugar_activity_runner |  | ||||||
|  | |||||||
| @ -13,9 +13,5 @@ def setup_global_keys(window, shell = None): | |||||||
| 	window.connect("key-press-event", __key_press_event_cb, shell) | 	window.connect("key-press-event", __key_press_event_cb, shell) | ||||||
| 
 | 
 | ||||||
| def __key_press_event_cb(window, event, shell): | def __key_press_event_cb(window, event, shell): | ||||||
| 	if event.keyval == gtk.keysyms.F1: |  | ||||||
| 		shell.toggle_home() |  | ||||||
| 	if event.keyval == gtk.keysyms.F2: |  | ||||||
| 		shell.toggle_people() |  | ||||||
| 	if event.keyval == gtk.keysyms.F3: | 	if event.keyval == gtk.keysyms.F3: | ||||||
| 		shell.toggle_console() | 		shell.toggle_console() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marco Pesenti Gritti
						Marco Pesenti Gritti