Improved minimization behavior
This commit is contained in:
parent
d0d9c4dbf9
commit
ff984b886c
|
@ -3,4 +3,5 @@ debug=0
|
||||||
entries=20
|
entries=20
|
||||||
refreshtime=5
|
refreshtime=5
|
||||||
trayicon=1
|
trayicon=1
|
||||||
|
taskbar_when_minimized=0
|
||||||
dbfile=~/.hrafn.db
|
dbfile=~/.hrafn.db
|
||||||
|
|
21
hrafn.py
21
hrafn.py
|
@ -29,8 +29,13 @@ class Hrafn():
|
||||||
|
|
||||||
if config.get('global', 'trayicon') == '1':
|
if config.get('global', 'trayicon') == '1':
|
||||||
self.use_trayicon = True
|
self.use_trayicon = True
|
||||||
|
if config.get('global', 'taskbar_when_minimized') == '1':
|
||||||
|
self.taskbar_min = True
|
||||||
|
else:
|
||||||
|
self.taskbar_min = False
|
||||||
else:
|
else:
|
||||||
self.use_trayicon = False
|
self.use_trayicon = False
|
||||||
|
self.taskbar_min = True
|
||||||
|
|
||||||
# Init the glade stuff here, so we don't have a race condition with
|
# Init the glade stuff here, so we don't have a race condition with
|
||||||
# the lists-ready signal
|
# the lists-ready signal
|
||||||
|
@ -120,9 +125,10 @@ class Hrafn():
|
||||||
self.tray_icon.connect('activate', self.on_tray_icon_clicked)
|
self.tray_icon.connect('activate', self.on_tray_icon_clicked)
|
||||||
self.tray_icon.connect('popup-menu', self.on_tray_icon_popup)
|
self.tray_icon.connect('popup-menu', self.on_tray_icon_popup)
|
||||||
self.tray_menu = gtk.Menu()
|
self.tray_menu = gtk.Menu()
|
||||||
quit_item = gtk.MenuItem(gtk.STOCK_QUIT)
|
quit_item = gtk.ImageMenuItem(gtk.STOCK_QUIT)
|
||||||
quit_item.connect('activate', self.gtk_main_quit)
|
quit_item.connect('activate', self.gtk_main_quit)
|
||||||
self.tray_menu.attach(quit_item, 0, 1, 0, 1)
|
self.tray_menu.append(quit_item)
|
||||||
|
quit_item.show()
|
||||||
|
|
||||||
# Set the account label
|
# Set the account label
|
||||||
self.update_account_label()
|
self.update_account_label()
|
||||||
|
@ -574,15 +580,18 @@ class Hrafn():
|
||||||
|
|
||||||
|
|
||||||
def on_tray_icon_popup(self, icon, button, activate_time):
|
def on_tray_icon_popup(self, icon, button, activate_time):
|
||||||
self.tray_menu.popup(None, None, gtk.status_icon_position_menu, button, activate_time, self.tray_icon)
|
self.tray_menu.popup(None, None, gtk.status_icon_position_menu, button, activate_time, icon)
|
||||||
|
|
||||||
|
|
||||||
def on_window_state_changed(self, window, event):
|
def on_window_state_changed(self, window, event):
|
||||||
if event.changed_mask & gtk.gdk.WINDOW_STATE_ICONIFIED:
|
if event.changed_mask & gtk.gdk.WINDOW_STATE_ICONIFIED:
|
||||||
if event.new_window_state & gtk.gdk.WINDOW_STATE_ICONIFIED:
|
if event.new_window_state & gtk.gdk.WINDOW_STATE_ICONIFIED:
|
||||||
self.minimized = True
|
self.minimized = True
|
||||||
|
if not self.taskbar_min:
|
||||||
|
self.window.set_property('skip-taskbar-hint', True)
|
||||||
else:
|
else:
|
||||||
self.minimized = False
|
self.minimized = False
|
||||||
|
self.window.set_property('skip-taskbar-hint', False)
|
||||||
|
|
||||||
|
|
||||||
def _check_config(self, config, config_file):
|
def _check_config(self, config, config_file):
|
||||||
|
@ -599,8 +608,11 @@ class Hrafn():
|
||||||
if not config.has_option('global', 'trayicon'):
|
if not config.has_option('global', 'trayicon'):
|
||||||
config.set('global', 'trayicon', '1')
|
config.set('global', 'trayicon', '1')
|
||||||
new_data = True
|
new_data = True
|
||||||
|
if not config.has_option('global', 'taskbar_when_minimized'):
|
||||||
|
config.set('global', 'taskbar_when_minimized', '0')
|
||||||
|
new_data = True
|
||||||
if not config.has_option('global', 'debug'):
|
if not config.has_option('global', 'debug'):
|
||||||
config.set('global', 'trayicon', '0')
|
config.set('global', 'debug', '0')
|
||||||
new_data = True
|
new_data = True
|
||||||
if not config.has_option('global', 'dbfile'):
|
if not config.has_option('global', 'dbfile'):
|
||||||
config.set('global', 'dbfile', '~/.hrafn.db')
|
config.set('global', 'dbfile', '~/.hrafn.db')
|
||||||
|
@ -623,6 +635,7 @@ parser.add_option('-c' ,'--config', dest="filename", default="~/.hrafn.conf", he
|
||||||
parser.add_option('-n' ,'--no-resize', dest="resize", action='store_false', default=True, help="use the default window size instead of the size from the last session")
|
parser.add_option('-n' ,'--no-resize', dest="resize", action='store_false', default=True, help="use the default window size instead of the size from the last session")
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
|
gtk.window_set_default_icon_from_file('ui/icon.svg')
|
||||||
my_twitter = Hrafn(options.filename, options.resize)
|
my_twitter = Hrafn(options.filename, options.resize)
|
||||||
|
|
||||||
gtk.gdk.threads_init()
|
gtk.gdk.threads_init()
|
||||||
|
|
Reference in New Issue
Block a user