aboutsummaryrefslogtreecommitdiffstats
path: root/tagit/windows
diff options
context:
space:
mode:
Diffstat (limited to 'tagit/windows')
-rw-r--r--tagit/windows/desktop.py53
1 files changed, 22 insertions, 31 deletions
diff --git a/tagit/windows/desktop.py b/tagit/windows/desktop.py
index 0b28230..bff983c 100644
--- a/tagit/windows/desktop.py
+++ b/tagit/windows/desktop.py
@@ -131,39 +131,24 @@ class MainWindow(FloatLayout):
self.trigger('ShowBrowsing')
# show welcome message
- if self.session.cfg('session', 'first_start'):
+ if self.session.cfg('session', 'first_start'): # FIXME: mb/port: move to starting app
self.display_welcome()
- # script
- return
- Clock.schedule_once(lambda dt: self.trigger('Search'), 0)
- Clock.schedule_once(lambda dt: self.trigger('MoveCursorFirst'), 0)
- Clock.schedule_once(lambda dt: self.trigger('SortKey', 'fid:image.colors_spatial:726b4e8ea45546e55dfcd4216b276284'), 0)
- from kivy.app import App
- App.get_running_app().stop()
- Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0)
- Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
- Clock.schedule_once(lambda dt: self.trigger('NextPage'), 0)
+ # run script
+ for args in self.session.cfg('session', 'script'):
+ if isinstance(args, str):
+ cmd, args = args, []
+ else:
+ cmd = args.pop(0)
+ Clock.schedule_once(
+ lambda dt, cmd=cmd, args=args: self.trigger(cmd, *args),
+ self.session.cfg('session', 'script_delay'))
+
+ # FIXME: mb/port: debugging only
+ #return
+ #Clock.schedule_once(lambda dt: self.trigger('Search'), 0)
+ #Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0)
+ #Clock.schedule_once(lambda dt: self.trigger('ZoomOut'), 0)
#from kivy.app import App
#App.get_running_app().stop()
@@ -208,6 +193,12 @@ config.declare(('storage', 'index', 'update_on_startup'), config.Bool(), False,
config.declare(('session', 'first_start'), config.Bool(), True,
__name__, 'First start', 'Show the welcome message typically shown when tagit is started the first time.')
+config.declare(('session', 'script'), config.List(config.Any()), [],
+ __name__, 'start script', 'Actions to run after startup. Intended for testing.')
+
+config.declare(('session', 'script_delay'), config.Unsigned(), 0,
+ __name__, 'script delay', 'Start script execution delay in seconds.')
+
config.declare(('ui', 'standalone', 'plane'), config.Enum('browsing', 'dashboard'), 'dashboard',
__name__, 'Initial plane', 'Start with the dashboard or browsing plane.')