diff --git a/screenkey/Screenkey/screenkey.py b/screenkey/Screenkey/screenkey.py
index efe6eb3..906fa17 100644
--- a/screenkey/Screenkey/screenkey.py
+++ b/screenkey/Screenkey/screenkey.py
@@ -3,12 +3,12 @@
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
@@ -53,11 +53,13 @@ class Screenkey(gtk.Window):
MODE_NORMAL:_('Normal'),
}
- STATE_FILE = os.path.join(glib.get_user_cache_dir(),
+ STATE_FILE = os.path.join(glib.get_user_cache_dir(),
'screenkey.dat')
- def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgcolor, font#, color):
- ):
+ def __init__(self, logger, nodetach, timeout, size, mode, position,
+ opacity, bgcolor, font, nohide#, color):
+ ):
+
gtk.Window.__init__(self)
self.timer = None
@@ -79,6 +81,10 @@ def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgc
self.logger.debug("Detach from the parent.")
self.drop_tty()
+ self.no_hide = nohide
+ if nohide:
+ self.show()
+
self.set_skip_taskbar_hint(True)
self.set_skip_pager_hint(True)
self.set_keep_above(True)
@@ -91,7 +97,7 @@ def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgc
self.modify_bg(gtk.STATE_NORMAL, bgcolor)
self.set_opacity(self.options['opacity'])
- gobject.signal_new("text-changed", gtk.Label,
+ gobject.signal_new("text-changed", gtk.Label,
gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ())
self.label = gtk.Label()
self.label.set_justify(gtk.JUSTIFY_RIGHT)
@@ -107,7 +113,7 @@ def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgc
self.set_gravity(gtk.gdk.GRAVITY_CENTER)
self.set_xy_position(self.options['position'])
- self.listenkbd = ListenKbd(self.label, logger=self.logger,
+ self.listenkbd = ListenKbd(self.label, logger=self.logger,
mode=self.options['mode'])
self.listenkbd.start()
@@ -143,8 +149,8 @@ def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgc
try:
import appindicator
- self.systray = appindicator.Indicator(APP_NAME,
- 'indicator-messages',
+ self.systray = appindicator.Indicator(APP_NAME,
+ 'indicator-messages',
appindicator.CATEGORY_APPLICATION_STATUS)
self.systray.set_status(appindicator.STATUS_ACTIVE)
self.systray.set_attention_icon("indicator-messages-new")
@@ -156,7 +162,7 @@ def __init__(self, logger, nodetach, timeout, size, mode, position, opacity, bgc
self.systray = gtk.StatusIcon()
self.systray.set_from_icon_name(
"preferences-desktop-keyboard-shortcuts")
- self.systray.connect("popup-menu",
+ self.systray.connect("popup-menu",
self.on_statusicon_popup, menu)
self.logger.debug("Using StatusIcon.")
@@ -178,7 +184,7 @@ def load_state(self):
except:
f.close()
except IOError:
- self.logger.debug("file %s does not exists." %
+ self.logger.debug("file %s does not exists." %
self.STATE_FILE)
return options
@@ -226,7 +232,7 @@ def on_statusicon_popup(self, widget, button, timestamp, data=None):
if button == 3:
if data:
data.show()
- data.popup(None, None, gtk.status_icon_position_menu,
+ data.popup(None, None, gtk.status_icon_position_menu,
3, timestamp, widget)
def on_label_change(self, widget, data=None):
@@ -244,20 +250,21 @@ def on_label_change(self, widget, data=None):
def on_timeout(self):
gtk.gdk.threads_enter()
- self.hide()
+ if not self.no_hide:
+ self.hide()
self.label.set_text("")
gtk.gdk.threads_leave()
def on_change_mode(self, mode):
self.listenkbd.stop()
- self.listenkbd = ListenKbd(self.label, logger=self.logger,
+ self.listenkbd = ListenKbd(self.label, logger=self.logger,
mode=mode)
self.listenkbd.start()
def on_show_keys(self, widget, data=None):
if widget.get_active():
self.logger.debug("Screenkey enabled.")
- self.listenkbd = ListenKbd(self.label, logger=self.logger,
+ self.listenkbd = ListenKbd(self.label, logger=self.logger,
mode=self.options['mode'])
self.listenkbd.start()
else:
@@ -265,8 +272,8 @@ def on_show_keys(self, widget, data=None):
self.listenkbd.stop()
def on_preferences_dialog(self, widget, data=None):
- prefs = gtk.Dialog(APP_NAME, None,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+ prefs = gtk.Dialog(APP_NAME, None,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
def on_sb_time_changed(widget, data=None):
@@ -312,11 +319,11 @@ def on_cbox_changed(widget, data=None):
sb_time.set_update_policy(gtk.UPDATE_IF_VALID)
sb_time.set_value(self.options['timeout'])
sb_time.connect("value-changed", on_sb_time_changed)
- hbox_time.pack_start(lbl_time1, expand=False,
+ hbox_time.pack_start(lbl_time1, expand=False,
fill=False, padding=6)
- hbox_time.pack_start(sb_time, expand=False,
+ hbox_time.pack_start(sb_time, expand=False,
fill=False, padding=4)
- hbox_time.pack_start(lbl_time2, expand=False,
+ hbox_time.pack_start(lbl_time2, expand=False,
fill=False, padding=4)
frm_time.add(hbox_time)
frm_time.show_all()
@@ -337,9 +344,9 @@ def on_cbox_changed(widget, data=None):
cbox_positions.set_active(self.options['position'])
cbox_positions.connect("changed", on_cbox_changed)
- hbox1_aspect.pack_start(lbl_positions, expand=False,
+ hbox1_aspect.pack_start(lbl_positions, expand=False,
fill=False, padding=6)
- hbox1_aspect.pack_start(cbox_positions, expand=False,
+ hbox1_aspect.pack_start(cbox_positions, expand=False,
fill=False, padding=4)
hbox2_aspect = gtk.HBox()
@@ -352,9 +359,9 @@ def on_cbox_changed(widget, data=None):
cbox_sizes.set_active(self.options['size'])
cbox_sizes.connect("changed", on_cbox_sizes_changed)
- hbox2_aspect.pack_start(lbl_sizes, expand=False,
+ hbox2_aspect.pack_start(lbl_sizes, expand=False,
fill=False, padding=6)
- hbox2_aspect.pack_start(cbox_sizes, expand=False,
+ hbox2_aspect.pack_start(cbox_sizes, expand=False,
fill=False, padding=4)
vbox_aspect.pack_start(hbox1_aspect)
@@ -373,9 +380,9 @@ def on_cbox_changed(widget, data=None):
cbox_modes.insert_text(key, value)
cbox_modes.set_active(self.options['mode'])
cbox_modes.connect("changed", on_cbox_modes_changed)
- hbox_kbd.pack_start(lbl_kbd, expand=False,
+ hbox_kbd.pack_start(lbl_kbd, expand=False,
fill=False, padding=6)
- hbox_kbd.pack_start(cbox_modes, expand=False,
+ hbox_kbd.pack_start(cbox_modes, expand=False,
fill=False, padding=4)
frm_kbd.add(hbox_kbd)
diff --git a/screenkey/screenkey b/screenkey/screenkey
index 4295c8d..46ba7e8 100755
--- a/screenkey/screenkey
+++ b/screenkey/screenkey
@@ -4,12 +4,12 @@
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
@@ -32,8 +32,8 @@ gtk.gdk.threads_init()
def Main():
parser = OptionParser(description=APP_DESC, version=VERSION)
- parser.add_option("--no-detach", action="store_true",
- dest="nodetach", default=False,
+ parser.add_option("--no-detach", action="store_true",
+ dest="nodetach", default=False,
help=_("do not detach from the parent"))
parser.add_option("-d", "--debug", action="store_true",
dest="debug", default=False, help=_("show debug information"))
@@ -51,6 +51,8 @@ def Main():
help=_("bgcolor"), default='black')
parser.add_option("-f", "--font", type="string", dest="font",
help=_("font"), default='Sans')
+ parser.add_option("-n", "--no-hide", action="store_true",
+ dest="nohide", default=False, help=_("do not hide"))
#parser.add_option("-c", "--color", type="string",
#dest="color", help=_("color"), default='TODO')
(options, args) = parser.parse_args()
@@ -60,7 +62,7 @@ def Main():
# Send debug messages to standard output
logfile = None
else:
- logfile = os.path.join(os.path.expanduser('~'),
+ logfile = os.path.join(os.path.expanduser('~'),
'.screenkey.log')
username = os.environ.get('SUDO_USER')
if username:
@@ -79,6 +81,7 @@ def Main():
position=options.position,
opacity=options.opacity,
bgcolor=options.bgcolor,
+ nohide=options.nohide,
font=options.font#,
#color=options.color)
)