Package: raiseorlaunch
raiseorlaunchA run-or-raise-application-launcher fori3 window manager.FeaturesIf a provided application is running, focus it's window, otherwise
run itProvide a regex for window class, instance and/or title to compare
with running windowsOptionally enable case-insensitive comparisonOptionally provide a workspace to use for raising and runningOptionally provide an initial workspace to run the applicationOptionally use the scratchpad for raising and runningOptionally provide a con_mark for raising and runningworkspace_auto_back_and_forth (if enabled) remains functionalOptionally cycle through matching windows (this will break
workspace_auto_back_and_forth if more than one window matches
the given properties)Optionally leave fullscreen on target workspaceInstallationRepositoriesraiseorlaunch is inPyPI,
so you can justpip install raiseorlaunchFor Arch Linux users it's also available in theAUR.ManualDependenciespython3 or pypy3i3ipc-pythonInstallInstalling it directly with the setup.py creates a script-entry-point
that adds ~150ms delay. That's not acceptable for this kind of
application.This can be prevented, if creating a wheel first and installing that
(needswheelandpip):pythonsetup.pybdist_wheel
pipinstall./dist/raiseorlaunch-${VERSION}-py3-none-any.whlRun without installationYou can also just run raiseorlaunch without installing it:python-mraiseorlaunch${ARGUMENTS}or:./raiseorlaunch/__main__.py${ARGUMENTS}Usage and optionsusage: raiseorlaunch [-h] [-c WM_CLASS] [-s WM_INSTANCE] [-t WM_TITLE]
                     [-e COMMAND] [-w WORKSPACE | -W TARGET_WORKSPACE | -r]
                     [-m CON_MARK] [-l EVENT_TIME_LIMIT] [-i] [-C] [-f] [-d]
                     [-v]

A run-or-raise-application-launcher for i3 window manager.

optional arguments:
  -h, --help            show this help message and exit
  -c WM_CLASS, --class WM_CLASS
                        the window class regex
  -s WM_INSTANCE, --instance WM_INSTANCE
                        the window instance regex
  -t WM_TITLE, --title WM_TITLE
                        the window title regex
  -e COMMAND, --exec COMMAND
                        command to run with exec. If omitted, -c, -s or -t
                        will be used (lower-case). Careful: The command will
                        not be checked prior to execution!
  -w WORKSPACE, --workspace WORKSPACE
                        workspace to use
  -W TARGET_WORKSPACE, --target-workspace TARGET_WORKSPACE, --init-workspace TARGET_WORKSPACE
                        target workspace
  -r, --scratch         use scratchpad
  -m CON_MARK, --mark CON_MARK
                        con_mark to use when raising and set when launching
  -l EVENT_TIME_LIMIT, --event-time-limit EVENT_TIME_LIMIT
                        Time limit in seconds to listen to window events after
                        exec. This is needed for setting a con_mark, or moving
                        the window to a specific workspace or the scratchpad.
                        Defaults to 2
  -i, --ignore-case     ignore case when comparing
  -C, --cycle           cycle through matching windows (this will break
                        workspace_back_and_forth if more than one window
                        matches the given properties)
  -f, --leave-fullscreen
                        Leave fullscreen on target workspace
  -d, --debug           display debug messages
  -v, --version         show program's version number and exitExamplesCLIRun or raise Firefox:raiseorlaunch-cFirefox-sNavigatorUse the workspaceSLfor sublime text:raiseorlaunch-wSL-c"^Sublime"-ssublime_text-esublRaise or launch SpeedCrunch and use the scratchpad:raiseorlaunch-r-cSpeedCrunchUse a script to start application:raiseorlaunch-r-cSpeedCrunch-e"--no-startup-id /path/to/my-cool-script.sh"Raise the window with the con_markwiki. If not found,
execute command and mark the new window matching the provided
properties. Set the time limit to wait for a new window to 3 seconds:raiseorlaunch-cFirefox-sNavigator-e"firefox --new-window https://wiki.archlinux.org/"-mwiki-l3i3 bindsymIn i3 config you can define a bindsym like that:bindsym ${KEYS} exec --no-startup-id raiseorlaunch ${ARGUMENTS}e.g.bindsym $mod+s exec --no-startup-id raiseorlaunch -w SL -c "^Sublime" -s sublime_text -e sublfor binding$mod+sto raise or launch sublime text.Quotation marksThe command will not be quoted when callingexec. Make
sure you properly escape any needed quotation marks. For simple commands
there is no need to do anything.Known problemsKeybindings steal focus when fired. This can have a negative impact with
applications that listen to FocusOut events and hide. This is due tohow X works.Example:When using Guake Terminal with "Hide on lose focus" enabled,
raiseorlaunch behaves as if the underlying window is focused.