Settings -------- ``@string screen-capture-save-path`` Save screen shots here instead of ~/.leo/screen_captures Terry Brown, [email protected], Fri Apr 19 16:33:45 2013 """ #@-<< docstring >> import os import time from leo.core import leoGlobals as g from leo.core.leoQt import isQt5, isQt6, QtCore, QtGui # # Fail fast, right after all imports. g.assertUi('qt') # May raise g.UiTypeException, caught by the plugins manager. #@+others #@+node:tbrown.20130419143128.29676: ** init def init(): '''Return True if the plugin has loaded successfully.''' if g.unitTesting: return False ok = g.app.gui.guiName() == 'qt' g.plugin_signon(__name__) return ok #@+node:tbrown.20130419143128.29669: ** class Recorder class Recorder: """Recorder - record video of Leo These shell commands convert saved frames to video
So now you have two tabs which jump between two nodes. Click the ``aardvarks`` tab, then select the ``apples`` node. Now shift-click the ``aardvarks`` tab. Now you are entering sub tabs of the ``aardvarks`` tab. You might want to repeat the ``aardvarks`` tab at this level, just select the node and click in the empty space in the bookmarks pane to repeat it here. You could add ``autos`` at this level too. How the 'tabs' are displayed (one or more levels at once etc.) and how you edit them are described in the earlier parts of these docs. For example at the top level the first time you click the ``aardvarks`` tab it just shows you the ``aardvarks`` node, it requires a second click to see its subtabs (aardvarks, apples, and autos), because the top level ``aardvarks`` tab is both a bookmark and an organizer node. If you want it to be just and organizer node, alt-click it to edit the bookmark node itself, and delete the body text (UNL) there. """ # @-<< docstring >> # Written by Terry Brown. # @+<< imports >> # @+node:tbrown.20070322113635.3: ** << imports >> from collections import namedtuple import leo.core.leoGlobals as g # Fail gracefully if the gui is not qt. g.assertUi("qt") from leo.core.leoQt import QtCore, QtWidgets import hashlib # @-<< imports >> # @+others # @+node:ekr.20100128073941.5371: ** init def init(): """Return True if the plugin has loaded successfully.""" ok = not g.unitTesting if ok: g.registerHandler("after-create-leo-frame", onCreate) # temporary until double-click is bindable in user settings if g.app.config.getBool("bookmarks-grab-dblclick"):
And call this in your plugin *once*:: g.tree_popup_handlers.append(nextclone_rclick) ''' #@-<< docstring >> # Original version by Ville M. Vainio. # Imports. import leo.core.leoGlobals as g import os import subprocess from leo.core.leoQt import QtCore # Fail gracefully if the gui is not qt. g.assertUi('qt') # Globals inited = False #@+others #@+node:ville.20090630210947.5463: ** init & helper def init (): '''Return True if the plugin has loaded successfully.''' global inited # print "contextmenu init()" if g.app.gui.guiName() != "qt": return False g.plugin_signon(__name__) # just run once if not inited:
#@+leo-ver=5-thin #@+node:ville.20110304230157.6513: * @file systray.py ''' systray''' __version__ = '0.2' import leo.core.leoGlobals as g g.assertUi('qt') from leo.core.leoQt import QtGui, QtWidgets #@+others #@+node:ville.20110219221839.6553: ** init def init(): ok = g.app.gui.guiName() == "qt" if ok: if 0: # Use this if you want to create the commander class before the frame is fully created. g.registerHandler('before-create-leo-frame', onCreate) else: # Use this if you want to create the commander class after the frame is fully created. g.registerHandler('after-create-leo-frame', onCreate) createTrayIcon() g.plugin_signon(__name__) return ok #@+node:ville.20110219221839.6560: ** createTrayIcon def createTrayIcon(): g.trayIconMenu = QtWidgets.QMenu()