├── plugins ├── PydiryPy │ ├── PyDiry │ │ └── __init__.py │ └── pydiry.ico ├── weby │ ├── weby.ico │ ├── weby.png │ ├── weby_full.ico │ ├── IconCache.h │ ├── globals.h │ ├── precompiled.h │ ├── gui.h │ └── weby.pro ├── calcy │ ├── calcy.ico │ ├── calcy.png │ ├── calcy_full.ico │ ├── Calculator.h │ ├── Converter.h │ ├── precompiled.h │ ├── gui.h │ ├── Calculator.cpp │ ├── Converter.cpp │ └── calcy.pro ├── gcalc │ ├── gcalc.ico │ ├── gcalc.pro │ └── precompiled.h ├── loader │ ├── loader.ico │ ├── loader.png │ ├── loader_full.ico │ ├── loader.pro │ ├── globals.h │ ├── gui.cpp │ └── gui.h ├── runner │ ├── runner.ico │ ├── runner.png │ ├── runner_full.ico │ ├── globals.h │ ├── precompiled.h │ └── gui.h ├── tasky │ ├── tasky.png │ ├── tasky.pro │ ├── readme.txt │ ├── globals.h │ └── Precompiled.h ├── verby │ ├── verby.png │ ├── verby_run.png │ ├── verby_copy.png │ ├── verby_properties.png │ ├── verby_opencontainer.png │ ├── dlg.ui │ ├── gui.h │ ├── gui.cpp │ ├── precompiled.h │ └── verby.pro ├── CalcyPy │ └── calcpy.ico ├── controly │ ├── controly.ico │ ├── controly.png │ ├── controly_full.ico │ ├── launchy.exit.png │ ├── launchy.options.png │ ├── launchy.rebuild.png │ ├── fhoenv.h │ ├── fhores.h │ ├── dlg.ui │ ├── fhoenv.cpp │ ├── globals.h │ ├── fhoreg.h │ ├── gui.h │ ├── gui.cpp │ ├── precompiled.h │ ├── controly.pro │ └── fhores.cpp ├── winshell │ ├── winshell.ico │ ├── winshell.pro │ ├── globals.h │ └── gui.h └── WebSearchPy │ └── WebSearch.ico ├── dist ├── win │ ├── installer │ │ ├── LaunchyPortable.ini │ │ └── header.bmp │ ├── Create Visual Studio projects.cmd │ ├── buildTranslations.bat │ ├── Utilities │ │ ├── Special Folders │ │ │ ├── C Drive.lnk │ │ │ ├── My Music.lnk │ │ │ ├── My Computer.lnk │ │ │ ├── My Pictures.lnk │ │ │ ├── Recycle Bin.lnk │ │ │ ├── Control Panel.lnk │ │ │ ├── My Documents.lnk │ │ │ └── My Network Places.lnk │ │ └── System Power │ │ │ ├── System Logoff.lnk │ │ │ ├── System Reboot.lnk │ │ │ ├── System Hibernate.lnk │ │ │ └── System Shutdown.lnk │ └── Microsoft.VC80.CRT.manifest ├── mac │ ├── support │ │ └── AdiumApplescriptRunner │ ├── mkdmg │ ├── deploy │ └── Info.plist └── linux │ ├── debian │ ├── menu.ex │ ├── copyright │ └── control │ ├── launchy.desktop │ └── build_deb.sh ├── src_old ├── buildWinSln.bat ├── platforms │ ├── gnome │ │ ├── readme.txt │ │ ├── platform_gnome_util.h │ │ ├── gnome.pro │ │ ├── platform_gnome.h │ │ └── platform_gnome_util.cpp │ └── mac │ │ └── platform_mac.h ├── LineEditMenu.cpp ├── LineEditMenu.h ├── DropTableWidget.cpp ├── DropTableWidget.h ├── platform_util.h ├── platform_util.cpp ├── platform_base_hotkey.h └── platform_base_hottrigger.h ├── misc ├── Launchy.ico └── Launchy_Icon │ ├── launchy_icon.png │ ├── working │ ├── 16_and.png │ ├── 24_and.png │ ├── 32_and.png │ ├── 48_and.png │ ├── 128_32-bit.png │ ├── 16_32-bit.png │ ├── 16_8-bit.png │ ├── 24_32-bit.png │ ├── 24_8-bit.png │ ├── 32_32-bit.png │ ├── 32_8-bit.png │ ├── 48_32-bit.png │ └── 48_8-bit.png │ ├── launchy_icon_mac.icns │ └── launchy_icon_win.ico ├── skins ├── Note │ ├── frame.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── scrollUp.png │ ├── author.txt │ └── style.qss ├── Default │ ├── author.txt │ ├── frame.png │ ├── mask_nc.png │ ├── spinner.gif │ ├── opsButton.png │ ├── scrollUp.png │ ├── closeButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── background_nc.png │ ├── opsButtonPressed.png │ └── closeButtonPressed.png ├── Mercury │ ├── frame.png │ ├── spinner.gif │ ├── spinner.mng │ ├── scrollUp.png │ ├── scrollBack.png │ ├── scrollDown.png │ └── author.txt ├── Black_Glass │ ├── frame.png │ ├── scrollUp.png │ ├── spinner.gif │ ├── opsButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── opsButtonPressed.png │ └── author.txt ├── Default(HiDPI) │ ├── author.txt │ ├── frame.png │ ├── mask_nc.png │ ├── spinner.gif │ ├── opsButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── scrollUp.png │ ├── background_nc.png │ └── opsButtonPressed.png ├── Mercury_Wide │ ├── frame.png │ ├── spinner.gif │ ├── spinner.mng │ ├── opsButton.png │ ├── scrollUp.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── opsButtonPressed.png │ └── author.txt ├── QuickSilver2 │ ├── frame.png │ ├── mask_nc.png │ ├── author.txt │ ├── background_nc.png │ └── style.qss ├── Spotlight_Wide │ ├── frame.png │ ├── author.txt │ ├── mask_nc.png │ ├── spinner.gif │ ├── spinner.mng │ ├── opsButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── scrollUp.png │ ├── closeButton.png │ ├── background_nc.png │ ├── opsButtonPressed.png │ └── closeButtonPressed.png ├── Black_Glass_Wide │ ├── frame.png │ ├── scrollUp.png │ ├── spinner.gif │ ├── opsButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── opsButtonPressed.png │ └── author.txt ├── Black_Glass(HiDPI) │ ├── frame.png │ ├── scrollUp.png │ ├── spinner.gif │ ├── opsButton.png │ ├── scrollBack.png │ ├── scrollDown.png │ ├── opsButtonPressed.png │ └── author.txt └── Simple │ └── style.qss ├── src ├── win │ ├── Launchy.ico │ ├── win.pro │ ├── readme.txt │ ├── IconProviderWin.h │ ├── launchy.rc │ ├── AppWin.h │ ├── CrashDumper.h │ └── UtilWin.h ├── resources │ ├── launchy16.png │ ├── builtWithQt.png │ ├── launchy128.png │ └── basicskin.qss ├── pluginpy │ ├── PluginPy.cpp │ ├── PluginPy.h │ ├── Precompiled.h │ ├── PluginPyLib.h │ ├── ExportPyQString.h │ ├── ExportPyQString.cpp │ ├── ExportPyPlugin.cpp │ ├── TestWidget.h │ ├── ExportPy.h │ ├── PluginWrapper.h │ ├── pluginconf.py │ ├── PluginLoader.h │ ├── launchy_test.py │ ├── PluginMgr.h │ └── TestWidget.cpp ├── lib │ ├── LaunchyLib.h │ ├── lib.pro │ ├── PluginInfo.h │ └── PluginInfo.cpp ├── launchy.qrc ├── InputDataList.h ├── Directory.cpp ├── Logger.h ├── linux │ ├── platform_unix_util.h │ ├── unix.pro │ └── platform_unix.h ├── FileSearch.h ├── Directory.h ├── AnimationLabel.h ├── UpdateChecker.h ├── CommandHistory.h ├── Fader.h ├── DropListWidget.h ├── InputDataList.cpp ├── DropListWidget.cpp ├── IconExtractor.h ├── GlobalVar.h ├── CatalogBuilder.h ├── CharLineEdit.h ├── FileBrowserDelegate.h ├── CharListWidget.h ├── SettingsManager.h └── IconDelegate.h ├── docs ├── docs_old │ ├── Readme.doc │ ├── Readme.pdf │ ├── Plugin API │ │ ├── api.html │ │ ├── myplugin.zip │ │ ├── PluginPage.doc │ │ ├── CreateDocs.bat │ │ ├── myplugin │ │ │ ├── myplugin.pro │ │ │ ├── MyPlugin.sln │ │ │ ├── globals.h │ │ │ ├── gui.h │ │ │ ├── readme.txt │ │ │ ├── dlg.ui │ │ │ ├── gui.cpp │ │ │ ├── myplugin.h │ │ │ └── plugin_interface.cpp │ │ └── plugin_interface.cpp │ └── readme.txt ├── THANKS.org ├── RELEASE_INSTRUCTIONS.org ├── CREDITS.org └── HOW_TO_BUILD.org ├── deps ├── pybind11 │ ├── common.h │ └── detail │ │ └── typeid.h ├── SingleApplication │ ├── singleapplication.pri │ ├── LICENSE │ └── Windows.md └── QHotkey │ ├── QHotkey.pri │ ├── QHotkey.h │ ├── QHotkey.cpp │ └── QHotkeyP.h ├── Launchy.pro ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── .gitignore /plugins/PydiryPy/PyDiry/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/win/installer/LaunchyPortable.ini: -------------------------------------------------------------------------------- 1 | [General] 2 | version=200 3 | -------------------------------------------------------------------------------- /src_old/buildWinSln.bat: -------------------------------------------------------------------------------- 1 | %QTDIR%\qmake\qmake -tp vc -r launchy.pro 2 | -------------------------------------------------------------------------------- /misc/Launchy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy.ico -------------------------------------------------------------------------------- /skins/Note/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Note/frame.png -------------------------------------------------------------------------------- /src/win/Launchy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/src/win/Launchy.ico -------------------------------------------------------------------------------- /dist/win/Create Visual Studio projects.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd .. 3 | qmake -tp vc -r launchy.pro 4 | -------------------------------------------------------------------------------- /plugins/weby/weby.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/weby/weby.ico -------------------------------------------------------------------------------- /plugins/weby/weby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/weby/weby.png -------------------------------------------------------------------------------- /docs/docs_old/Readme.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/docs/docs_old/Readme.doc -------------------------------------------------------------------------------- /docs/docs_old/Readme.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/docs/docs_old/Readme.pdf -------------------------------------------------------------------------------- /plugins/calcy/calcy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/calcy/calcy.ico -------------------------------------------------------------------------------- /plugins/calcy/calcy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/calcy/calcy.png -------------------------------------------------------------------------------- /plugins/gcalc/gcalc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/gcalc/gcalc.ico -------------------------------------------------------------------------------- /plugins/loader/loader.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/loader/loader.ico -------------------------------------------------------------------------------- /plugins/loader/loader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/loader/loader.png -------------------------------------------------------------------------------- /plugins/runner/runner.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/runner/runner.ico -------------------------------------------------------------------------------- /plugins/runner/runner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/runner/runner.png -------------------------------------------------------------------------------- /plugins/tasky/tasky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/tasky/tasky.png -------------------------------------------------------------------------------- /plugins/verby/verby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/verby/verby.png -------------------------------------------------------------------------------- /skins/Default/author.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/author.txt -------------------------------------------------------------------------------- /skins/Default/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/frame.png -------------------------------------------------------------------------------- /skins/Default/mask_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/mask_nc.png -------------------------------------------------------------------------------- /skins/Default/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/spinner.gif -------------------------------------------------------------------------------- /skins/Mercury/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/frame.png -------------------------------------------------------------------------------- /skins/Mercury/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/spinner.gif -------------------------------------------------------------------------------- /skins/Mercury/spinner.mng: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/spinner.mng -------------------------------------------------------------------------------- /skins/Note/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Note/scrollBack.png -------------------------------------------------------------------------------- /skins/Note/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Note/scrollDown.png -------------------------------------------------------------------------------- /skins/Note/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Note/scrollUp.png -------------------------------------------------------------------------------- /plugins/CalcyPy/calcpy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/CalcyPy/calcpy.ico -------------------------------------------------------------------------------- /plugins/PydiryPy/pydiry.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/PydiryPy/pydiry.ico -------------------------------------------------------------------------------- /plugins/verby/verby_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/verby/verby_run.png -------------------------------------------------------------------------------- /plugins/weby/weby_full.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/weby/weby_full.ico -------------------------------------------------------------------------------- /skins/Black_Glass/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/frame.png -------------------------------------------------------------------------------- /skins/Default/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/opsButton.png -------------------------------------------------------------------------------- /skins/Default/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/scrollUp.png -------------------------------------------------------------------------------- /skins/Mercury/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/scrollUp.png -------------------------------------------------------------------------------- /src/resources/launchy16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/src/resources/launchy16.png -------------------------------------------------------------------------------- /dist/win/installer/header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/installer/header.bmp -------------------------------------------------------------------------------- /plugins/calcy/calcy_full.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/calcy/calcy_full.ico -------------------------------------------------------------------------------- /plugins/controly/controly.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/controly.ico -------------------------------------------------------------------------------- /plugins/controly/controly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/controly.png -------------------------------------------------------------------------------- /plugins/loader/loader_full.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/loader/loader_full.ico -------------------------------------------------------------------------------- /plugins/runner/runner_full.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/runner/runner_full.ico -------------------------------------------------------------------------------- /plugins/verby/verby_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/verby/verby_copy.png -------------------------------------------------------------------------------- /plugins/winshell/winshell.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/winshell/winshell.ico -------------------------------------------------------------------------------- /skins/Black_Glass/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/scrollUp.png -------------------------------------------------------------------------------- /skins/Black_Glass/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/spinner.gif -------------------------------------------------------------------------------- /skins/Default(HiDPI)/author.txt: -------------------------------------------------------------------------------- 1 | Spotlight high DPI 2 | By Samson Wang 3 | 4 | Latest Revision: 11/11/2018 5 | -------------------------------------------------------------------------------- /skins/Default(HiDPI)/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/frame.png -------------------------------------------------------------------------------- /skins/Default/closeButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/closeButton.png -------------------------------------------------------------------------------- /skins/Default/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/scrollBack.png -------------------------------------------------------------------------------- /skins/Default/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/scrollDown.png -------------------------------------------------------------------------------- /skins/Mercury/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/scrollBack.png -------------------------------------------------------------------------------- /skins/Mercury/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury/scrollDown.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/frame.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/spinner.gif -------------------------------------------------------------------------------- /skins/Mercury_Wide/spinner.mng: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/spinner.mng -------------------------------------------------------------------------------- /skins/QuickSilver2/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/QuickSilver2/frame.png -------------------------------------------------------------------------------- /skins/QuickSilver2/mask_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/QuickSilver2/mask_nc.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/frame.png -------------------------------------------------------------------------------- /src/resources/builtWithQt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/src/resources/builtWithQt.png -------------------------------------------------------------------------------- /src/resources/launchy128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/src/resources/launchy128.png -------------------------------------------------------------------------------- /dist/win/buildTranslations.bat: -------------------------------------------------------------------------------- 1 | cd ..\src 2 | %QTDIR%\bin\lupdate src.pro 3 | %QTDIR%\bin\lrelease src.pro 4 | pause -------------------------------------------------------------------------------- /skins/Black_Glass/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/opsButton.png -------------------------------------------------------------------------------- /skins/Black_Glass/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/scrollBack.png -------------------------------------------------------------------------------- /skins/Black_Glass/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/scrollDown.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/frame.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/mask_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/mask_nc.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/spinner.gif -------------------------------------------------------------------------------- /skins/Default/background_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/background_nc.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/opsButton.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/scrollUp.png -------------------------------------------------------------------------------- /skins/QuickSilver2/author.txt: -------------------------------------------------------------------------------- 1 | Skin Title: Quicksilver 2 2 | 3 | Author: Juan Ignacio Serra 4 | 5 | Version: 1.0 -------------------------------------------------------------------------------- /skins/Spotlight_Wide/author.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/author.txt -------------------------------------------------------------------------------- /skins/Spotlight_Wide/mask_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/mask_nc.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/spinner.gif -------------------------------------------------------------------------------- /skins/Spotlight_Wide/spinner.mng: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/spinner.mng -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/api.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/docs/docs_old/Plugin API/api.html -------------------------------------------------------------------------------- /misc/Launchy_Icon/launchy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/launchy_icon.png -------------------------------------------------------------------------------- /plugins/WebSearchPy/WebSearch.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/WebSearchPy/WebSearch.ico -------------------------------------------------------------------------------- /plugins/controly/controly_full.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/controly_full.ico -------------------------------------------------------------------------------- /plugins/controly/launchy.exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/launchy.exit.png -------------------------------------------------------------------------------- /plugins/verby/verby_properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/verby/verby_properties.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/frame.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/scrollUp.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/spinner.gif -------------------------------------------------------------------------------- /skins/Default(HiDPI)/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/opsButton.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/scrollBack.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/scrollDown.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/scrollUp.png -------------------------------------------------------------------------------- /skins/Default/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/scrollBack.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/scrollDown.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/opsButton.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/scrollBack.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/scrollDown.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/scrollUp.png -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/docs/docs_old/Plugin API/myplugin.zip -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/16_and.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/16_and.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/24_and.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/24_and.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/32_and.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/32_and.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/48_and.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/48_and.png -------------------------------------------------------------------------------- /plugins/controly/launchy.options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/launchy.options.png -------------------------------------------------------------------------------- /plugins/controly/launchy.rebuild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/controly/launchy.rebuild.png -------------------------------------------------------------------------------- /plugins/verby/verby_opencontainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/plugins/verby/verby_opencontainer.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/scrollUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/scrollUp.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/spinner.gif -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/opsButton.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/scrollBack.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/scrollDown.png -------------------------------------------------------------------------------- /skins/Default/closeButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default/closeButtonPressed.png -------------------------------------------------------------------------------- /skins/QuickSilver2/background_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/QuickSilver2/background_nc.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/closeButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/closeButton.png -------------------------------------------------------------------------------- /dist/mac/support/AdiumApplescriptRunner: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/mac/support/AdiumApplescriptRunner -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/PluginPage.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/docs/docs_old/Plugin API/PluginPage.doc -------------------------------------------------------------------------------- /misc/Launchy_Icon/launchy_icon_mac.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/launchy_icon_mac.icns -------------------------------------------------------------------------------- /misc/Launchy_Icon/launchy_icon_win.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/launchy_icon_win.ico -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/128_32-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/128_32-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/16_32-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/16_32-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/16_8-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/16_8-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/24_32-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/24_32-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/24_8-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/24_8-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/32_32-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/32_32-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/32_8-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/32_8-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/48_32-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/48_32-bit.png -------------------------------------------------------------------------------- /misc/Launchy_Icon/working/48_8-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/misc/Launchy_Icon/working/48_8-bit.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/opsButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/opsButton.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/scrollBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/scrollBack.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/scrollDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/scrollDown.png -------------------------------------------------------------------------------- /skins/Black_Glass/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/background_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/background_nc.png -------------------------------------------------------------------------------- /skins/Mercury_Wide/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Mercury_Wide/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/background_nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/background_nc.png -------------------------------------------------------------------------------- /skins/Default(HiDPI)/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Default(HiDPI)/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass(HiDPI)/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/opsButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Black_Glass_Wide/opsButtonPressed.png -------------------------------------------------------------------------------- /skins/Spotlight_Wide/closeButtonPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/skins/Spotlight_Wide/closeButtonPressed.png -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/C Drive.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/C Drive.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/My Music.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/My Music.lnk -------------------------------------------------------------------------------- /deps/pybind11/common.h: -------------------------------------------------------------------------------- 1 | #include "detail/common.h" 2 | #warning "Including 'common.h' is deprecated. It will be removed in v3.0. Use 'pybind11.h'." 3 | -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/My Computer.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/My Computer.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/My Pictures.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/My Pictures.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/Recycle Bin.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/Recycle Bin.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/System Power/System Logoff.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/System Power/System Logoff.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/System Power/System Reboot.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/System Power/System Reboot.lnk -------------------------------------------------------------------------------- /skins/Mercury/author.txt: -------------------------------------------------------------------------------- 1 | Skin Title: Mercury 2 | 3 | Author: Josh Karlin and Juan Ignacio Serra 4 | 5 | Version: 1.1 6 | 7 | Date: 12/18/2009 -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/Control Panel.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/Control Panel.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/My Documents.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/My Documents.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/System Power/System Hibernate.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/System Power/System Hibernate.lnk -------------------------------------------------------------------------------- /dist/win/Utilities/System Power/System Shutdown.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/System Power/System Shutdown.lnk -------------------------------------------------------------------------------- /src/pluginpy/PluginPy.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "PluginPy.h" 3 | 4 | namespace pluginpy { 5 | 6 | PluginPy::PluginPy() { 7 | 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /dist/linux/debian/menu.ex: -------------------------------------------------------------------------------- 1 | ?package(launchy):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ 2 | title="launchy" command="/usr/bin/launchy" 3 | -------------------------------------------------------------------------------- /dist/win/Utilities/Special Folders/My Network Places.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/LaunchyQt/master/dist/win/Utilities/Special Folders/My Network Places.lnk -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/CreateDocs.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | copy ..\src\plugin_interface.h . 3 | copy ..\src\catalog.h . 4 | "c:\bin\doxygen" default.doxygen 5 | rem pause -------------------------------------------------------------------------------- /skins/Black_Glass_Wide/author.txt: -------------------------------------------------------------------------------- 1 | Black Glass Wide Skin 1.1 for Launchy 2 2 | by Simon Capewell 18/12/2009 3 | 4 | Adapted from Black Glass by Peter Wooley 5 | -------------------------------------------------------------------------------- /skins/Mercury_Wide/author.txt: -------------------------------------------------------------------------------- 1 | Mercury Wide Skin 1.1 for Launchy 2 2 | by Simon Capewell 18/12/2009 3 | 4 | Adapted from Mercury by Josh Karlin and Juan Ignacio Serra 5 | -------------------------------------------------------------------------------- /src_old/platforms/gnome/readme.txt: -------------------------------------------------------------------------------- 1 | Left off: Trying to prevent the alpha window from being selected. Once it's selected it covers up the main window and I can't select its text box. 2 | -------------------------------------------------------------------------------- /skins/Black_Glass/author.txt: -------------------------------------------------------------------------------- 1 | Black Glass Skin (v.3.0) for Launchy (v.3.0.0) 2 | by Samson Wang - 2018-10-16 3 | 4 | based on Black Glass(v1.0) from Peter Wooley 5 | 6 | Enjoy the Skin! 7 | -------------------------------------------------------------------------------- /skins/Black_Glass(HiDPI)/author.txt: -------------------------------------------------------------------------------- 1 | Black Glass Skin (v.3.0) for Launchy (v.3.0.0) 2 | by Samson Wang - 2018-10-16 3 | 4 | based on Black Glass(v1.0) from Peter Wooley 5 | 6 | Enjoy the Skin! 7 | -------------------------------------------------------------------------------- /src/pluginpy/PluginPy.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "PluginPyLib.h" 5 | 6 | namespace pluginpy { 7 | 8 | class PLUGINPY_EXPORT PluginPy { 9 | public: 10 | PluginPy(); 11 | 12 | }; 13 | 14 | } -------------------------------------------------------------------------------- /docs/THANKS.org: -------------------------------------------------------------------------------- 1 | 2 | * THANKS 3 | 4 | ** [[https://github.com/ygao9999][ygao9999]] 5 | ygao999 helps a lot on python plugin development, he gives me very useful advices and makes good efforts on launchy python package management. 6 | -------------------------------------------------------------------------------- /dist/linux/launchy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Categories=Utility; 3 | Comment=Keystroke Launcher 4 | Exec=launchy %u 5 | Icon=launchy_icon 6 | Name=Launchy 7 | Terminal=false 8 | Type=Application 9 | Version=1.0 10 | X-MultipleArgs=false 11 | -------------------------------------------------------------------------------- /plugins/controly/fhoenv.h: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Fabian Hofsaess 2 | 3 | #ifndef FHOENV_H 4 | #define FHOENV_H 5 | 6 | 7 | class FhoEnv { 8 | public: 9 | 10 | static QString expand(QString str); 11 | }; 12 | 13 | 14 | #endif -------------------------------------------------------------------------------- /skins/Note/author.txt: -------------------------------------------------------------------------------- 1 | Note (v. 1.0) for Launchy (v. 2.0) 2 | by Philipp Franck (34dF0x) - 05.20.2008 3 | 4 | Let me know of any problems in the skin by contacting me at: 5 | bad.fox@web.de 6 | 7 | Enjoy the Skin! 8 | More Art at www.34dF0x.deviantart.com 9 | -------------------------------------------------------------------------------- /src/lib/LaunchyLib.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #if defined(_MSC_VER) 5 | #pragma warning(disable : 4251) 6 | #endif 7 | 8 | #if defined LAUNCHY_LIB 9 | #define LAUNCHY_EXPORT Q_DECL_EXPORT 10 | #else 11 | #define LAUNCHY_EXPORT Q_DECL_IMPORT 12 | #endif 13 | -------------------------------------------------------------------------------- /dist/mac/mkdmg: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf files 4 | rm *.dmg 5 | mkdir files 6 | cp -r ../release/Launchy.app files/ 7 | cp ../Readme.pdf files/ 8 | ln -s /Applications files/Applications 9 | ./create-dmg --window-size 500 300 --volname "Launchy" Launchy$1.dmg files/ 10 | -------------------------------------------------------------------------------- /src/launchy.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | resources/launchy128.png 4 | resources/launchy16.png 5 | resources/basicskin.qss 6 | resources/builtWithQt.png 7 | 8 | 9 | -------------------------------------------------------------------------------- /Launchy.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = plugins/calcy \ 3 | plugins/gcalc \ 4 | plugins/runner \ 5 | plugins/weby \ 6 | plugins/verby \ 7 | src/lib \ 8 | src 9 | 10 | win32 { 11 | SUBDIRS += plugins/controly 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src_old/LineEditMenu.cpp: -------------------------------------------------------------------------------- 1 | #include "LineEditMenu.h" 2 | 3 | 4 | LineEditMenu::LineEditMenu(QWidget* parent) : 5 | QLabel(parent) 6 | { 7 | setAttribute(Qt::WA_InputMethodEnabled); 8 | } 9 | 10 | 11 | void LineEditMenu::contextMenuEvent(QContextMenuEvent *evt) 12 | { 13 | emit menuEvent(evt); 14 | } 15 | -------------------------------------------------------------------------------- /src/pluginpy/Precompiled.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | // python and python binding libraries 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #include -------------------------------------------------------------------------------- /src/pluginpy/PluginPyLib.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #ifndef BUILD_STATIC 6 | # if defined(PLUGINPY_LIB) 7 | # define PLUGINPY_EXPORT Q_DECL_EXPORT 8 | # else 9 | # define PLUGINPY_EXPORT Q_DECL_IMPORT 10 | # endif 11 | #else 12 | # define PLUGINPY_EXPORT 13 | #endif 14 | -------------------------------------------------------------------------------- /src_old/LineEditMenu.h: -------------------------------------------------------------------------------- 1 | #ifndef LINEEDITMENU_H 2 | #define LINEEDITMENU_H 3 | 4 | 5 | #include 6 | 7 | 8 | class LineEditMenu : public QLabel 9 | { 10 | Q_OBJECT 11 | 12 | public: 13 | LineEditMenu(QWidget* parent = 0); 14 | void contextMenuEvent(QContextMenuEvent *event); 15 | 16 | signals: 17 | void menuEvent(QContextMenuEvent*); 18 | }; 19 | 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/myplugin.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin \ 3 | debug_and_release 4 | FORMS = dlg.ui 5 | HEADERS = plugin_interface.h \ 6 | myplugin.h \ 7 | gui.h 8 | SOURCES = plugin_interface.cpp \ 9 | myplugin.cpp \ 10 | gui.cpp 11 | TARGET = myplugin 12 | win32 { 13 | CONFIG -= embed_manifest_dll 14 | LIBS += shell32.lib 15 | } 16 | -------------------------------------------------------------------------------- /src/InputDataList.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | #include 6 | #include "InputData.h" 7 | namespace launchy { 8 | class InputDataList : public QList { 9 | public: 10 | void parse(const QString& text); 11 | QString toString(bool omitLast = false) const; 12 | 13 | static void setSeparator(const QString& sepa); 14 | 15 | private: 16 | static QString s_separator; 17 | }; 18 | } -------------------------------------------------------------------------------- /plugins/controly/fhores.h: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Fabian Hofsaess 2 | 3 | #ifndef FHORES_H 4 | #define FHORES_H 5 | 6 | 7 | class FhoRes { 8 | 9 | public: 10 | 11 | static QString getResourceString(QString &resourceIdentifier); 12 | static QString getResourceString(QString &resourceName, int resourceId); 13 | static QString getResourceString(HINSTANCE hLib, int resourceId); 14 | 15 | }; 16 | 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /plugins/tasky/tasky.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin debug_and_release 3 | FORMS = 4 | HEADERS = tasky.h 5 | SOURCES = tasky.cpp 6 | TARGET = Tasky 7 | TARGET_EXT = .dll 8 | VERSION = 0.2 9 | 10 | win32 { 11 | CONFIG -= embed_manifest_dll 12 | LIBS += psapi.lib 13 | LIBS += shell32.lib 14 | LIBS += user32.lib 15 | LIBS += Gdi32.lib 16 | % LIBS += comctl32.lib 17 | } 18 | -------------------------------------------------------------------------------- /dist/mac/deploy: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cp Info.plist ../release/Launchy.app/Contents 3 | 4 | macdeployqt ../release/Launchy.app 5 | 6 | cd ../release/Launchy.app/Contents/MacOS/plugins 7 | 8 | 9 | for bin in *.dylib 10 | do 11 | for lib in QtGui QtCore QtNetwork 12 | do 13 | install_name_tool -change $lib.framework/Versions/4/$lib @executable_path/../Frameworks/$lib.framework/Versions/4/$lib $bin 14 | done; 15 | done; 16 | 17 | cd ../../../../../mac 18 | 19 | -------------------------------------------------------------------------------- /docs/RELEASE_INSTRUCTIONS.org: -------------------------------------------------------------------------------- 1 | 2 | here are the procedures to release a new version, in case of I forget something when doing release. 3 | 4 | 1. update version number in source code 5 | 2. update README and CHANGELOG 6 | 3. commit all changes in source code 7 | 4. build binary 8 | 5. test 9 | 6. clean temporary file 10 | 7. pack files(including binary, skin, qt library, utilities folder, vcredist library, python library) to zip and 7z 11 | 8. draft release on github 12 | -------------------------------------------------------------------------------- /deps/SingleApplication/singleapplication.pri: -------------------------------------------------------------------------------- 1 | QT += core network 2 | CONFIG += c++11 3 | 4 | HEADERS += $$PWD/singleapplication.h \ 5 | $$PWD/singleapplication_p.h 6 | SOURCES += $$PWD/singleapplication.cpp \ 7 | $$PWD/singleapplication_p.cpp 8 | 9 | #INCLUDEPATH += $$PWD 10 | 11 | win32 { 12 | msvc:LIBS += Advapi32.lib 13 | gcc:LIBS += -ladvapi32 14 | } 15 | 16 | DISTFILES += \ 17 | $$PWD/README.md \ 18 | $$PWD/CHANGELOG.md \ 19 | $$PWD/Windows.md 20 | -------------------------------------------------------------------------------- /deps/QHotkey/QHotkey.pri: -------------------------------------------------------------------------------- 1 | 2 | QT += core gui widgets 3 | CONFIG += c++11 4 | 5 | HEADERS += $$PWD/QHotkey.h \ 6 | $$PWD/QHotkeyP.h 7 | SOURCES += $$PWD/QHotkey.cpp \ 8 | $$PWD/QHotkeyP.cpp 9 | 10 | #INCLUDEPATH += $$PWD 11 | 12 | win32 { 13 | SOURCES += $$PWD/QHotkeyWin.cpp 14 | #msvc:LIBS += Advapi32.lib 15 | #gcc:LIBS += -ladvapi32 16 | QT += winextras 17 | } 18 | 19 | unix:!macx { 20 | SOURCES += $$PWD/QHotkeyX11.cpp 21 | QT += x11extras 22 | LIBS += -lX11 -lxcb 23 | } 24 | 25 | -------------------------------------------------------------------------------- /plugins/controly/dlg.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | Dlg 4 | 5 | 6 | 7 | 0 8 | 0 9 | 411 10 | 271 11 | 12 | 13 | 14 | Controly - Index Control Panel applications 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /dist/linux/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was downloaded from 2 | 3 | Upstream Author(s): 4 | 5 | Josh Karlin 6 | 7 | Copyright: 8 | 9 | Copyright (C) 2010 Josh Karlin 10 | 11 | License: 12 | 13 | GPL see: `/usr/share/common-licenses/GPL' 14 | 15 | The Debian packaging is (C) 2010, Josh Karlin and 16 | is licensed under the GPL, see `/usr/share/common-licenses/GPL'. 17 | 18 | # Please also look if there are files or directories which have a 19 | # different copyright/license attached and list them here. 20 | -------------------------------------------------------------------------------- /src/Directory.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Directory.h" 3 | 4 | namespace launchy { 5 | Directory::Directory() 6 | : indexDirs(false), 7 | indexExe(false), 8 | depth(10) { 9 | } 10 | 11 | Directory::Directory(const QString& n) 12 | : indexDirs(false), 13 | indexExe(false), 14 | name(n), 15 | depth(10) { 16 | } 17 | 18 | Directory::Directory(const QString& n, const QStringList& t, bool d, bool e, int dep) 19 | : indexDirs(d), 20 | indexExe(e), 21 | name(n), 22 | types(t), 23 | depth(dep) { 24 | } 25 | } -------------------------------------------------------------------------------- /src_old/platforms/gnome/platform_gnome_util.h: -------------------------------------------------------------------------------- 1 | #ifndef PLATFORM_GNOME_UTIL_H 2 | #define PLATFORM_GNOME_UTIL_H 3 | //#include 4 | //#include < 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | #include 13 | 14 | #include 15 | 16 | class GnomeIconProvider : QFileIconProvider 17 | { 18 | public: 19 | GnomeIconProvider() {} 20 | ~GnomeIconProvider() {} 21 | QIcon icon(const QFileInfo& info) const; 22 | }; 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /deps/QHotkey/QHotkey.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class QHotkeyPrivate; 6 | 7 | class QHotkey : public QObject { 8 | Q_OBJECT 9 | public: 10 | explicit QHotkey(QObject* parent = nullptr); 11 | virtual ~QHotkey(); 12 | 13 | public: 14 | const QKeySequence& keySeq() const; 15 | void setKeySeq(const QKeySequence& keySeq); 16 | bool registered() const; 17 | 18 | Q_SIGNALS: 19 | void activated(); 20 | 21 | private: 22 | QScopedPointer const d_ptr; 23 | Q_DECLARE_PRIVATE(QHotkey) 24 | Q_DISABLE_COPY(QHotkey) 25 | }; 26 | -------------------------------------------------------------------------------- /plugins/weby/IconCache.h: -------------------------------------------------------------------------------- 1 | #ifndef ICONCACHE_H 2 | #define ICONCACHE_H 3 | #include 4 | #include 5 | class IconCache : public QObject 6 | { 7 | Q_OBJECT 8 | 9 | public: 10 | IconCache(const QString& path); 11 | 12 | QString getIconPath(const QString& site); 13 | 14 | public slots: 15 | void finished(QNetworkReply*); 16 | void query(QUrl url); 17 | 18 | signals: 19 | void findIcon(QUrl url); 20 | 21 | 22 | private: 23 | QString cachePath; 24 | QNetworkAccessManager nam; 25 | // QEventLoop loop; 26 | }; 27 | 28 | 29 | #endif // ICONCACHE_H 30 | -------------------------------------------------------------------------------- /src/Logger.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | #include 4 | #include 5 | namespace launchy { 6 | class Logger { 7 | public: 8 | static void stopLogging(); 9 | static void setLogLevel(int index); 10 | static void setLogLevel(QtMsgType type); 11 | static void messageHandler(QtMsgType type, 12 | const QMessageLogContext& context, 13 | const QString& msg); 14 | private: 15 | Logger(); 16 | Q_DISABLE_COPY(Logger) 17 | 18 | private: 19 | static FILE* s_logFile; 20 | static QtMsgType s_logLevel; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /deps/QHotkey/QHotkey.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "QHotkey.h" 3 | #include "QHotkeyP.h" 4 | 5 | QHotkey::QHotkey(QObject* parent) 6 | : QObject(parent), 7 | d_ptr(new QHotkeyPrivate(this)) { 8 | 9 | } 10 | 11 | QHotkey::~QHotkey() { 12 | 13 | } 14 | 15 | const QKeySequence& QHotkey::keySeq() const { 16 | Q_D(const QHotkey); 17 | return d->keySeq(); 18 | } 19 | 20 | void QHotkey::setKeySeq(const QKeySequence& keySeq) { 21 | Q_D(QHotkey); 22 | d->setKeySeq(keySeq); 23 | } 24 | 25 | bool QHotkey::registered() const 26 | { 27 | Q_D(const QHotkey); 28 | return d->registered(); 29 | } 30 | -------------------------------------------------------------------------------- /src/lib/lib.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | 3 | unix:!macx:TARGET = launchy 4 | win32:TARGET = Launchy 5 | macx:TARGET = Launchy 6 | 7 | CONFIG += debug_and_release 8 | 9 | QT += core 10 | 11 | SOURCES += CatalogItem.cpp \ 12 | InputData.cpp \ 13 | PluginInterface.cpp \ 14 | PluginInfo.cpp 15 | 16 | HEADERS += CatalogItem.h \ 17 | InputData.h \ 18 | LaunchyLib.h \ 19 | PluginInterface.h \ 20 | PluginMsg.h \ 21 | PluginInfo.h 22 | 23 | DEFINES += LAUNCHY_LIB 24 | 25 | win32 { 26 | LIBS += user32.lib \ 27 | shell32.lib 28 | } 29 | -------------------------------------------------------------------------------- /src_old/DropTableWidget.cpp: -------------------------------------------------------------------------------- 1 | #include "DropTableWidget.h" 2 | #include 3 | 4 | 5 | DropTableWidget::DropTableWidget(QWidget* pParent) : 6 | QTableWidget(pParent) 7 | { 8 | setAcceptDrops(true); 9 | } 10 | 11 | 12 | DropTableWidget::~DropTableWidget() 13 | { 14 | } 15 | 16 | 17 | void DropTableWidget::dragEnterEvent(QDragEnterEvent *event) 18 | { 19 | emit dragEnter(event); 20 | } 21 | 22 | 23 | void DropTableWidget::dragMoveEvent(QDragMoveEvent *event) 24 | { 25 | emit dragMove(event); 26 | } 27 | 28 | 29 | void DropTableWidget::dropEvent(QDropEvent *event) 30 | { 31 | emit drop(event); 32 | } 33 | -------------------------------------------------------------------------------- /plugins/controly/fhoenv.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Fabian Hofsaess 2 | 3 | #include "precompiled.h" 4 | #include "fhoenv.h" 5 | 6 | // Launchy already implements expandEnvironmentVars but it's difficult to reuse in plugins 7 | QString FhoEnv::expand(QString txt) { 8 | QString result; 9 | 10 | DWORD size = ExpandEnvironmentStrings((LPCWSTR)txt.utf16(), NULL, 0); 11 | if (size > 0) 12 | { 13 | TCHAR* buffer = new TCHAR[size]; 14 | ExpandEnvironmentStrings((LPCWSTR)txt.utf16(), buffer, size); 15 | result = QString::fromUtf16((const ushort*)buffer); 16 | delete[] buffer; 17 | } 18 | 19 | return result; 20 | } 21 | -------------------------------------------------------------------------------- /src_old/DropTableWidget.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPTABLEWIDGET_H 2 | #define DROPTABLEWIDGET_H 3 | 4 | 5 | #include 6 | 7 | class DropTableWidget : public QTableWidget 8 | { 9 | Q_OBJECT 10 | public: 11 | DropTableWidget(QWidget* pParent = NULL); 12 | virtual ~DropTableWidget(); 13 | 14 | protected: 15 | void dragEnterEvent(QDragEnterEvent *event); 16 | void dragMoveEvent(QDragMoveEvent *event); 17 | void dropEvent(QDropEvent *event); 18 | 19 | signals: 20 | void dragEnter(QDragEnterEvent *event); 21 | void dragMove(QDragMoveEvent *event); 22 | void drop(QDropEvent *event); 23 | }; 24 | 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/linux/platform_unix_util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | class UnixIconProvider : public QFileIconProvider 11 | { 12 | private: 13 | QHash file2mime; 14 | QHash mime2desktop; 15 | QHash desktop2icon; 16 | QHash icon2path; 17 | QStringList xdgDataDirs; 18 | public: 19 | UnixIconProvider(); 20 | ~UnixIconProvider() {} 21 | virtual QIcon icon(const QFileInfo& info); 22 | QString getDesktopIcon(QString desktopFile, QString IconName = ""); 23 | }; 24 | 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | labels: 5 | 6 | --- 7 | 8 | **Is your feature request related to a problem? Please describe.** 9 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 10 | 11 | **Describe the solution you'd like** 12 | A clear and concise description of what you want to happen. 13 | 14 | **Describe alternatives you've considered** 15 | A clear and concise description of any alternative solutions or features you've considered. 16 | 17 | **Additional context** 18 | Add any other context or screenshots about the feature request here. 19 | -------------------------------------------------------------------------------- /dist/linux/debian/control: -------------------------------------------------------------------------------- 1 | Source: launchy 2 | Section: unknown 3 | Priority: extra 4 | Maintainer: Josh Karlin 5 | Build-Depends: debhelper (>= 5) 6 | Standards-Version: 3.7.2 7 | 8 | Package: launchy 9 | Architecture: any 10 | Depends: ${shlibs:Depends}, ${misc:Depends}, xdg-utils 11 | Description: Open Source Keystroke Launcher 12 | Launchy is a free, cross-platform utility, designed 13 | to help you forget about your start menu, the icons 14 | on your desktop, and even your file manager. Launchy 15 | indexes the programs in your start menu and can launch 16 | your documents, project files, folders, and bookmarks 17 | with just a few keystrokes! -------------------------------------------------------------------------------- /dist/mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleIconFile 6 | launchy_icon_mac.icns 7 | CFBundlePackageType 8 | APPL 9 | CFBundleGetInfoString 10 | Created by Qt/QMake 11 | CFBundleSignature 12 | ???? 13 | CFBundleExecutable 14 | Launchy 15 | CFBundleIdentifier 16 | Code Jelly's Launchy 17 | NOTE 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /plugins/winshell/winshell.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin release 3 | VPATH += ../../src/ 4 | INCLUDEPATH += ../../src/ 5 | UI_DIR = ../../plugins/winshell/ 6 | FORMS = dlg.ui 7 | HEADERS = plugin_interface.h winshell.h gui.h globals.h 8 | SOURCES = plugin_interface.cpp winshell.cpp gui.cpp 9 | TARGET = winshell 10 | 11 | win32 { 12 | CONFIG -= embed_manifest_dll 13 | LIBS += shell32.lib 14 | % LIBS += user32.lib 15 | % LIBS += Gdi32.lib 16 | % LIBS += comctl32.lib 17 | } 18 | 19 | *:debug { 20 | DESTDIR = ../../debug/plugins/ 21 | } 22 | *:release { 23 | DESTDIR = ../../release/plugins/ 24 | %QMAKE_CXXFLAGS += /Ox /Ob2 /Oi /Oy /GT /GA /WX 25 | } 26 | 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | 35 | # GUN global 36 | GPATH 37 | GTAGS 38 | GRTAGS 39 | 40 | # Qt creator 41 | *.pro.user 42 | *.qm 43 | 44 | # Visual Studio 45 | *.vcxproj.user 46 | *.db 47 | *.opendb 48 | ipch 49 | x64 50 | [B|b]uild* 51 | [D|d]ebug* 52 | [R|r]elease* 53 | .vs 54 | GeneratedFiles 55 | [P|p]recompiled.h.cpp 56 | 57 | 58 | # Python 59 | __pycache__ 60 | *.pyc -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | labels: 5 | 6 | --- 7 | 8 | **Describe the bug** 9 | A clear and concise description of what the bug is. 10 | 11 | **To Reproduce** 12 | Steps to reproduce the behavior: 13 | 1. Go to '...' 14 | 2. Click on '....' 15 | 3. Scroll down to '....' 16 | 4. type '...' 17 | 5. See error 18 | 19 | **Expected behavior** 20 | A clear and concise description of what you expected to happen. 21 | 22 | **Screenshots** 23 | If applicable, add screenshots to help explain your problem. 24 | 25 | **Desktop (please complete the following information):** 26 | - Operation System: [e.g. windows 7 sp1] 27 | - Launchy Version: [e.g. 3.0.2] 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /plugins/loader/loader.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin debug_and_release 3 | VPATH += ../../src/ 4 | INCLUDEPATH += ../../src/ 5 | UI_DIR = ../../plugins/loader/ 6 | FORMS = dlg.ui 7 | HEADERS = plugin_interface.h loader.h gui.h globals.h 8 | SOURCES = plugin_interface.cpp loader.cpp gui.cpp 9 | TARGET = loader 10 | 11 | win32 { 12 | CONFIG -= embed_manifest_dll 13 | LIBS += shell32.lib 14 | % LIBS += user32.lib 15 | % LIBS += Gdi32.lib 16 | % LIBS += comctl32.lib 17 | } 18 | 19 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { 20 | DESTDIR = ../../debug/plugins 21 | } 22 | 23 | if(!debug_and_release|build_pass):CONFIG(release, debug|release) { 24 | DESTDIR = ../../release/plugins 25 | } 26 | 27 | 28 | unix { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /dist/linux/build_deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dir=`pwd` 4 | 5 | if [ $# -ne 1 ] 6 | then 7 | echo "1 arg needed to build deb, ./build.sh " 8 | exit 9 | fi 10 | 11 | ver=$1 12 | 13 | rm -rf launchy-$ver* 14 | rm launchy_$ver* 15 | svn export ../ launchy-$ver 16 | tar cfz launchy-$ver.tar.gz launchy-$ver/ 17 | cd launchy-$ver 18 | dh_make -e karlinjf@sourceforge.net -f ../launchy-$ver.tar.gz -c gpl --single 19 | cp ../debian/* debian/ 20 | qmake -r Launchy.pro 21 | INSTALL_ROOT=$DESTDIR dpkg-buildpackage -rfakeroot 22 | 23 | cd .. 24 | 25 | #mkdir repository 26 | #mkdir repository/binary 27 | #mkdir repository/source 28 | #cp *.deb repository/binary/ 29 | #cp *.orig.* *.diff.gz *.dsc repository/source/ 30 | #cd repository 31 | #dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz 32 | #dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz -------------------------------------------------------------------------------- /src/pluginpy/ExportPyQString.h: -------------------------------------------------------------------------------- 1 | /* 2 | SmartLaunch: multi-function app launcher. 3 | Copyright (C) 2017 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | #pragma once 19 | namespace exportpy { 20 | void ExportQString(); 21 | } -------------------------------------------------------------------------------- /skins/QuickSilver2/style.qss: -------------------------------------------------------------------------------- 1 | #launchy { 2 | } 3 | 4 | #input { 5 | font: 14px Sans, Verdana, Arial; 6 | border-width: 0px; 7 | background-color: rgb(255,255,255); 8 | border-style: solid; 9 | color: black; 10 | qproperty-alignment: AlignLeft; 11 | qproperty-geometry: rect(19 61 221 25); 12 | } 13 | 14 | #output { 15 | font: 12px Sans, Verdana, Arial; 16 | border-width: 0px; 17 | background-color: rgba(255,255,255,0%); 18 | border-style: solid; 19 | color: black; 20 | qproperty-alignment: AlignCenter; 21 | qproperty-geometry: rect(56 19 184 20); 22 | } 23 | 24 | #outputIcon { 25 | qproperty-geometry: rect(19 11 32 32); 26 | } 27 | 28 | #alternatives { 29 | font: 12px Sans, Verdana, Arial; 30 | border-width: 0px; 31 | background-color: rgb(255,255,255); 32 | border-style: solid; 33 | color: black; 34 | qproperty-geometry: rect(19 85 350 100); 35 | } 36 | -------------------------------------------------------------------------------- /src/pluginpy/ExportPyQString.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SmartLaunch: multi-function app launcher. 3 | Copyright (C) 2017 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | // © for utf-8 20 | 21 | namespace exportpy { 22 | void ExportQString() { 23 | 24 | } 25 | } -------------------------------------------------------------------------------- /plugins/controly/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_CONTROLY_H 21 | #define GLOBALS_CONTROLY_H 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /plugins/loader/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | #include 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/resources/basicskin.qss: -------------------------------------------------------------------------------- 1 | #launchy { 2 | border: 2px solid #8f8f91; 3 | border-radius: 6px; 4 | background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); 5 | qproperty-geometry: rect(0 0 700 110); 6 | } 7 | 8 | #input { 9 | font: 16px "Tahoma"; 10 | border-width: 0px; 11 | background-color: rgba(0,244,120,0%); 12 | border: 2px solid #8f8f91; 13 | border-radius: 3px; 14 | color: black; 15 | qproperty-alignment: AlignLeft; 16 | qproperty-geometry: rect(46 30 580 24) 17 | } 18 | 19 | #output { 20 | font: 12px "Tahoma"; 21 | color: black; 22 | qproperty-alignment: AlignLeft; 23 | qproperty-geometry: rect(48 60 580 24); 24 | } 25 | 26 | #outputIcon { 27 | qproperty-geometry: rect(640 40 32 32); 28 | } 29 | 30 | #alternatives { 31 | font: 12px "Tahoma"; 32 | qproperty-geometry: rect(5 104 690 200); 33 | } 34 | 35 | #alternatives::item { 36 | padding: 2px 0px; 37 | } 38 | -------------------------------------------------------------------------------- /plugins/tasky/readme.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | tasky Project Overview 3 | ======================================================================== 4 | 5 | Description: 6 | ------------ 7 | This project provides a plug-in which allows Launchy to search window titles of currently open windows giving users a convenient way to switch between tasks. Supports Launchy 2.0 only. 8 | 9 | Changelog: 10 | ---------- 11 | 0.2b 12 | - Added catalog item Tasky. Type Tasky and press TAB button to see all tasks. 13 | Type Tasky and press Enter button to redo the last task switch. 14 | 15 | Website: 16 | -------- 17 | http://tasky-launchy.sourceforge.net/ 18 | 19 | Installation: 20 | ------------- 21 | Copy tasky.dll to \plugins, copy tasky.png to \plugins\icons and restart Launchy. 22 | 23 | ///////////////////////////////////////////////////////////////////////////// 24 | -------------------------------------------------------------------------------- /plugins/calcy/Calculator.h: -------------------------------------------------------------------------------- 1 | /* 2 | Calcy - plugin for LaunchyQt 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | 23 | class Calculator { 24 | public: 25 | static bool calculate(const std::string& expr, double& result); 26 | }; 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /skins/Simple/style.qss: -------------------------------------------------------------------------------- 1 | #launchy { 2 | border: 2px solid #8f8f91; 3 | border-radius: 6px; 4 | background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); 5 | qproperty-geometry: rect(0 0 700 110); 6 | } 7 | 8 | #input { 9 | font: 16px Sans, Tahoma, Arial; 10 | border-width: 0px; 11 | background-color: rgba(0,244,120,0%); 12 | border: 2px solid #8f8f91; 13 | border-radius: 3px; 14 | color: black; 15 | qproperty-alignment: AlignLeft; 16 | qproperty-geometry: rect(46 30 580 24) 17 | } 18 | 19 | #output { 20 | font: 12px Sans, Tahoma, Arial; 21 | color: black; 22 | qproperty-alignment: AlignLeft; 23 | qproperty-geometry: rect(48 60 580 24); 24 | } 25 | 26 | #outputIcon { 27 | qproperty-geometry: rect(640 40 32 32); 28 | } 29 | 30 | #alternatives { 31 | font: 12px Sans, Tahoma, Arial; 32 | qproperty-geometry: rect(5 104 690 200); 33 | } 34 | 35 | #alternatives::item { 36 | padding: 2px 0px; 37 | } 38 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/MyPlugin.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MyPlugin", "MyPlugin.vcproj", "{08B29CAE-8850-4669-9B02-E3A14FF5A07B}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {08B29CAE-8850-4669-9B02-E3A14FF5A07B}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {08B29CAE-8850-4669-9B02-E3A14FF5A07B}.Debug|Win32.Build.0 = Debug|Win32 14 | {08B29CAE-8850-4669-9B02-E3A14FF5A07B}.Release|Win32.ActiveCfg = Release|Win32 15 | {08B29CAE-8850-4669-9B02-E3A14FF5A07B}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /plugins/controly/fhoreg.h: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Fabian Hofsaess 2 | 3 | #ifndef FHOREG_H 4 | #define FHOREG_H 5 | 6 | 7 | // implement a convenient class instead of an aggregation of static semi-convenient methods! 8 | class FhoReg { 9 | private: 10 | static const DWORD maxSize = 256; 11 | 12 | public: 13 | static HKEY OpenKey(HKEY baseKey, QString &subKeyName, DWORD options); 14 | static void CloseKey(HKEY key); 15 | 16 | static QString GetKeyValue(HKEY key, QString &valueName); 17 | static QString GetKeyValue(HKEY parentKey, QString &parentSubKeyName, QString &valueName); 18 | static QString GetKeyDefaultValue(HKEY key); 19 | static QString GetKeyDefaultValue(HKEY parentKey, QString &parentSubKeyName); 20 | 21 | static QStringList* EnumValues(HKEY parentKey, QString &parentSubKeyName); 22 | static QStringList* EnumSubKeys(HKEY key); 23 | static QStringList* EnumSubKeys(HKEY parentKey, QString &parentSubKeyName); 24 | 25 | }; 26 | 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /plugins/runner/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | 23 | 24 | struct runnerCmd { 25 | QString name; 26 | QString file; 27 | QString args; 28 | }; 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /plugins/verby/dlg.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | Dlg 4 | 5 | 6 | 7 | 0 8 | 0 9 | 354 10 | 273 11 | 12 | 13 | 14 | Verby - Adds verbs to commands 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Qt::Vertical 23 | 24 | 25 | 26 | 20 27 | 40 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /plugins/winshell/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | #include 23 | 24 | struct winshellCmd { 25 | QString name; 26 | QString file; 27 | QString args; 28 | }; 29 | 30 | #endif -------------------------------------------------------------------------------- /src/linux/unix.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | TARGET = platform_unix 3 | CONFIG += plugin qt_warn debug_and_release 4 | VPATH += ../../src/ 5 | INCLUDEPATH += ../../src/ 6 | SOURCES = platform_x11_hotkey.cpp platform_base_hotkey.cpp platform_unix.cpp platform_unix_util.cpp 7 | HEADERS = platform_base.h platform_unix.h platform_base_hotkey.h platform_base_hottrigger.h platform_unix_util.h \ 8 | platform_x11_hotkey.h 9 | CONFIG -= embed_manifest_dll 10 | LIBS += -lX11 -lXext -lXrender 11 | 12 | 13 | unix { 14 | PREFIX = /usr 15 | DEFINES += SKINS_PATH=\\\"$$PREFIX/share/launchy/skins/\\\" \ 16 | PLUGINS_PATH=\\\"$$PREFIX/lib/launchy/plugins/\\\" \ 17 | PLATFORMS_PATH=\\\"$$PREFIX/lib/launchy/\\\" 18 | target.path = $$PREFIX/lib/launchy/ 19 | INSTALLS += target 20 | } 21 | 22 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { 23 | DESTDIR = ../../debug/ 24 | } 25 | 26 | if(!debug_and_release|build_pass):CONFIG(release, debug|release) { 27 | DESTDIR = ../../release/ 28 | } 29 | -------------------------------------------------------------------------------- /src/pluginpy/ExportPyPlugin.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "ExportPyPlugin.h" 3 | 4 | namespace py = pybind11; 5 | 6 | namespace exportpy { 7 | 8 | void ExportPlugin(const pybind11::module& m) { 9 | py::class_(m, "Plugin") 10 | .def(py::init<>()) 11 | .def("init", &exportpy::Plugin::init) 12 | .def("getID", &exportpy::Plugin::getID) 13 | .def("getName", &exportpy::Plugin::getName) 14 | .def("setPath", &exportpy::Plugin::setPath) 15 | .def("getLabels", &exportpy::Plugin::getLabels) 16 | .def("getResults", &exportpy::Plugin::getResults) 17 | .def("getCatalog", &exportpy::Plugin::getCatalog) 18 | .def("launchItem", &exportpy::Plugin::launchItem) 19 | .def("hasDialog", &exportpy::Plugin::hasDialog) 20 | .def("doDialog", &exportpy::Plugin::doDialog) 21 | .def("endDialog", &exportpy::Plugin::endDialog) 22 | .def("launchyShow", &exportpy::Plugin::launchyShow) 23 | .def("launchyHide", &exportpy::Plugin::launchyHide); 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /plugins/loader/gui.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #include "gui.h" 21 | #include "loader.h" 22 | #include 23 | 24 | #define ROW_PADDING 6 25 | 26 | 27 | Gui::Gui(QWidget* parent) 28 | : QWidget(parent) 29 | { 30 | setupUi(this); 31 | } 32 | -------------------------------------------------------------------------------- /plugins/calcy/Converter.h: -------------------------------------------------------------------------------- 1 | /* 2 | Calcy - plugin for LaunchyQt 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | class Converter { 20 | public: 21 | static bool octStr(qlonglong num, QString& reslut); 22 | static bool decStr(qlonglong num, QString& reslut); 23 | static bool hexStr(qlonglong num, QString& reslut); 24 | static bool binStr(qlonglong num, QString& reslut); 25 | }; 26 | -------------------------------------------------------------------------------- /src_old/platform_util.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | /* 21 | #ifndef PLATFORM_UTIL_Z 22 | #define PLATFORM_UTIL_Z 23 | 24 | #include 25 | #include "platform_base.h" 26 | 27 | 28 | PlatformBase * loadPlatform(); 29 | 30 | 31 | #endif 32 | */ 33 | -------------------------------------------------------------------------------- /plugins/verby/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Verby: Plugin for Launchy 3 | Copyright (C) 2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "ui_dlg.h" 23 | 24 | class Gui : public QWidget, private Ui::Dlg { 25 | Q_OBJECT 26 | public: 27 | Gui(QWidget* parent); 28 | virtual ~Gui(); 29 | void writeOptions(); 30 | }; 31 | -------------------------------------------------------------------------------- /plugins/verby/gui.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Verby: Plugin for Launchy 3 | Copyright (C) 2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #include "gui.h" 21 | #include "Verby.h" 22 | 23 | Gui::Gui(QWidget* parent) 24 | : QWidget(parent) { 25 | setupUi(this); 26 | } 27 | 28 | Gui::~Gui() { 29 | this->hide(); 30 | } 31 | 32 | void Gui::writeOptions() { 33 | } -------------------------------------------------------------------------------- /src/win/win.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | TARGET = platform_win 3 | CONFIG += plugin \ 4 | qt_warn \ 5 | debug_and_release 6 | VPATH += ../../src/ 7 | INCLUDEPATH += ../../src/ 8 | INCLUDEPATH += ../../common/ 9 | INCLUDEPATH += c:/boost/ 10 | INCLUDEPATH += ../../win/ 11 | VPATH += src/ 12 | SOURCES = platform_win.cpp \ 13 | platform_base_hotkey.cpp \ 14 | platform_win_hotkey.cpp \ 15 | platform_win_util.cpp \ 16 | WinIconProvider.cpp 17 | HEADERS = platform_base.h \ 18 | platform_win.h \ 19 | platform_base_hotkey.h \ 20 | platform_base_hottrigger.h \ 21 | platform_win_util.h \ 22 | WinIconProvider.h 23 | LIBS += shell32.lib \ 24 | user32.lib \ 25 | gdi32.lib \ 26 | comctl32.lib \ 27 | advapi32.lib \ 28 | userenv.lib 29 | CONFIG -= embed_manifest_dll 30 | win32:debug:DESTDIR = ../../debug/ 31 | win32:release:DESTDIR = ../../release/ 32 | DEFINES = VC_EXTRALEAN \ 33 | WIN32 \ 34 | _UNICODE \ 35 | UNICODE \ 36 | WINVER=0x0510 \ 37 | _WIN32_WINNT=0x0510 \ 38 | _WIN32_WINDOWS=0x0510 \ 39 | _WIN32_IE=0x0600 40 | -------------------------------------------------------------------------------- /plugins/calcy/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #ifdef _MSC_VER 23 | #pragma warning(push,1) 24 | #define _CRT_SECURE_NO_WARNINGS 25 | #endif 26 | 27 | #include 28 | 29 | #include 30 | #include 31 | 32 | #ifdef _MSC_VER 33 | #pragma warning(pop) 34 | #endif 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/win/readme.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | MAKEFILE PROJECT : win Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this win project for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your win project. 9 | 10 | 11 | win.vcproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | This project allows you to build/clean/rebuild from within Visual Studio by calling the commands you have input 18 | in the wizard. The build command can be nmake or any other tool you use. 19 | 20 | This project does not contain any files, so there are none displayed in Solution Explorer. 21 | 22 | ///////////////////////////////////////////////////////////////////////////// 23 | -------------------------------------------------------------------------------- /docs/CREDITS.org: -------------------------------------------------------------------------------- 1 | 2 | * Credits 3 | ** Launchy 4 | - original code forked from https://sourceforge.net/projects/launchy 5 | - original svn path https://svn.code.sf.net/p/launchy/code/trunk/Launchy_QT [R671] 6 | 7 | ** 3rd party 8 | - [[https://github.com/mitei/qglobalshortcut][qglobalshortcut (Qhotkey)]] - N/A 9 | - [[https://github.com/itay-grudev/SingleApplication][singleapplication]] - MIT 10 | - [[https://sourceforge.net/projects/tasky-launchy/][tasky]] - N/A 11 | - [[https://github.com/kshahar/pylaunchy][pylaunchy (develop plugin in python)]] - GPLv2 12 | - CalcyPy (from [[https://github.com/kshahar/pylaunchy][pylaunchy]]) - GPLv2 13 | - [[https://github.com/pybind/pybind11][pybind11]] - [[https://github.com/pybind/pybind11/blob/master/LICENSE][LICENSE]] 14 | - [[https://github.com/ArashPartow/exprtk][exprtk]] - MIT 15 | - WebSearchPy (from [[https://github.com/j5shi/Thruster][Thruster]]) - GPLv2 16 | - PyDiryPy (from [[https://github.com/kshahar/pylaunchy][pylaunchy]]) - GPLv2 17 | -------------------------------------------------------------------------------- /plugins/tasky/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | #include 23 | 24 | struct taskySite { 25 | QString base; 26 | QString name; 27 | QString query; 28 | }; 29 | 30 | struct Bookmark { 31 | QString url; 32 | QString shortcut; 33 | QString name; 34 | }; 35 | 36 | #endif -------------------------------------------------------------------------------- /plugins/calcy/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include 24 | #include "ui_dlg.h" 25 | 26 | class Gui : public QWidget, private Ui::Dlg { 27 | Q_OBJECT 28 | public: 29 | Gui(QWidget* parent); 30 | virtual ~Gui(); 31 | void writeOptions(); 32 | 33 | public slots: 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | #include 23 | 24 | struct mypluginSite { 25 | QString base; 26 | QString name; 27 | QString query; 28 | }; 29 | 30 | struct Bookmark { 31 | QString url; 32 | QString shortcut; 33 | QString name; 34 | }; 35 | 36 | #endif -------------------------------------------------------------------------------- /plugins/controly/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include "ui_dlg.h" 24 | #include "globals.h" 25 | 26 | class Gui : public QWidget, private Ui::Dlg 27 | { 28 | Q_OBJECT 29 | 30 | public: 31 | Gui(QWidget* parent); 32 | ~Gui() { this->hide(); } 33 | void writeOptions(); 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include "ui_dlg.h" 24 | #include "globals.h" 25 | 26 | 27 | class Gui : public QWidget, private Ui::Dlg 28 | { 29 | Q_OBJECT 30 | 31 | public: 32 | Gui(QWidget* parent); 33 | ~Gui(); 34 | void writeOptions(); 35 | 36 | public slots: 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/readme.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | MAKEFILE PROJECT : MyPlugin Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this MyPlugin project for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your MyPlugin project. 9 | 10 | 11 | MyPlugin.vcproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | This project allows you to build/clean/rebuild from within Visual Studio by calling the commands you have input 18 | in the wizard. The build command can be nmake or any other tool you use. 19 | 20 | This project does not contain any files, so there are none displayed in Solution Explorer. 21 | 22 | ///////////////////////////////////////////////////////////////////////////// 23 | -------------------------------------------------------------------------------- /src/pluginpy/TestWidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "PluginPyLib.h" 22 | 23 | namespace pluginpy { 24 | 25 | class PLUGINPY_EXPORT TestWidget { 26 | public: 27 | static TestWidget& instance(); 28 | 29 | void initTestWidget(); 30 | 31 | private: 32 | TestWidget(); 33 | Q_DISABLE_COPY(TestWidget) 34 | 35 | private: 36 | QWidget* m_testWidget; 37 | }; 38 | 39 | 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/FileSearch.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | 21 | #ifndef FILESEARCH_H 22 | #define FILESEARCH_H 23 | 24 | #include "CatalogItem.h" 25 | #include "InputDataList.h" 26 | 27 | namespace launchy { 28 | class FileSearch { 29 | public: 30 | static void search(const QString& searchText, 31 | QList& searchResults, 32 | InputDataList& inputData); 33 | }; 34 | } 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /plugins/loader/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include "ui_dlg.h" 24 | #include "globals.h" 25 | //#include 26 | 27 | 28 | class Gui : public QWidget, private Ui::Dlg 29 | { 30 | 31 | 32 | Q_OBJECT 33 | private: 34 | public: 35 | Gui(QWidget* parent); 36 | ~Gui() { this->hide(); } 37 | 38 | public slots: 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src_old/platforms/gnome/gnome.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | TARGET = platform_gnome 3 | CONFIG += plugin qt_warn debug_and_release 4 | VPATH += ../../src/ ../unix 5 | INCLUDEPATH += ../../src/ ../unix 6 | SOURCES = platform_x11_hotkey.cpp platform_base_hotkey.cpp \ 7 | platform_gnome.cpp platform_gnome_util.cpp \ 8 | platform_unix.cpp platform_unix_util.cpp 9 | 10 | HEADERS = platform_base.h platform_gnome.h \ 11 | platform_base_hotkey.h platform_base_hottrigger.h \ 12 | platform_gnome_util.h platform_unix.h \ 13 | platform_unix_util.h 14 | 15 | CONFIG -= embed_manifest_dll 16 | CONFIG += link_pkgconfig 17 | PKGCONFIG += gtk+-2.0 libgnomeui-2.0 gnome-desktop-2.0 18 | LIBS += -lX11 -lXext -lXrender 19 | 20 | DEFINES += SKINS_PATH=$(SKINS_PATH) PLUGINS_PATH=$(PLUGINS_PATH)\ 21 | PLATFORMS_PATH=$(PLATFORMS_PATH) 22 | 23 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { 24 | DESTDIR = ../../debug/ 25 | } 26 | 27 | if(!debug_and_release|build_pass):CONFIG(release, debug|release) { 28 | DESTDIR = ../../release/ 29 | } 30 | 31 | 32 | 33 | 34 | unix { 35 | } 36 | -------------------------------------------------------------------------------- /src/Directory.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | 25 | namespace launchy { 26 | struct Directory { 27 | Directory(); 28 | Directory(const QString& n); 29 | Directory(const QString& n, const QStringList& t, bool d, bool e, int dep); 30 | 31 | bool indexDirs; 32 | bool indexExe; 33 | QString name; 34 | QStringList types; 35 | int depth; 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /src/pluginpy/ExportPy.h: -------------------------------------------------------------------------------- 1 | /* 2 | PluginPy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | #include 23 | 24 | namespace py = pybind11; 25 | 26 | namespace exportpy { 27 | 28 | void registerPlugin(py::object pluginClass); 29 | 30 | unsigned int hash(const std::string& str); 31 | 32 | std::string getAppPath(bool toNative = true); 33 | 34 | void runProgram(const std::string& file, const std::string& args); 35 | 36 | // for debu and test use 37 | void objectReceiver(py::object obj); 38 | } -------------------------------------------------------------------------------- /plugins/verby/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #ifdef _MSC_VER 23 | #pragma warning(push,3) 24 | #endif 25 | #include 26 | 27 | #include 28 | #ifdef Q_OS_WIN 29 | #include 30 | #include 31 | #include 32 | #endif 33 | 34 | #include 35 | #include 36 | #include 37 | 38 | #ifdef _MSC_VER 39 | #pragma warning(pop) 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /plugins/winshell/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include "ui_dlg.h" 24 | #include "globals.h" 25 | //#include 26 | 27 | 28 | class Gui : public QWidget, private Ui::Dlg 29 | { 30 | 31 | 32 | Q_OBJECT 33 | private: 34 | public: 35 | Gui(QWidget* parent); 36 | ~Gui() { this->hide(); } 37 | void writeOptions(); 38 | 39 | public slots: 40 | void newRow(); 41 | void remRow(); 42 | }; 43 | 44 | #endif -------------------------------------------------------------------------------- /deps/SingleApplication/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Itay Grudev 2015 - 2016 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | Note: Some of the examples include code not distributed under the terms of the 24 | MIT License. 25 | -------------------------------------------------------------------------------- /plugins/controly/gui.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #include "precompiled.h" 21 | #include "gui.h" 22 | #include "controly.h" 23 | 24 | Gui::Gui(QWidget* parent) 25 | : QWidget(parent) 26 | { 27 | setupUi(this); 28 | 29 | QSettings* settings = *gControlyInstance->settings; 30 | if (settings == NULL) 31 | return; 32 | } 33 | 34 | void Gui::writeOptions() 35 | { 36 | QSettings* settings = *gControlyInstance->settings; 37 | if (settings == NULL) 38 | return; 39 | } 40 | -------------------------------------------------------------------------------- /plugins/gcalc/gcalc.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | QT += network 3 | CONFIG += plugin debug_and_release 4 | VPATH += ../../src/ 5 | INCLUDEPATH += ../../src/ 6 | INCLUDEPATH += c:/boost/ 7 | PRECOMPILED_HEADER = precompiled.h 8 | UI_DIR = ../../plugins/gcalc/ 9 | HEADERS = plugin_interface.h gcalc.h precompiled.h 10 | SOURCES = plugin_interface.cpp gcalc.cpp 11 | TARGET = gcalc 12 | win32 { 13 | CONFIG -= embed_manifest_dll 14 | LIBS += user32.lib shell32.lib 15 | QMAKE_CXXFLAGS_RELEASE += /Zi 16 | QMAKE_LFLAGS_RELEASE += /DEBUG 17 | } 18 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/plugins 19 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/plugins 20 | unix:!macx { 21 | PREFIX = /usr 22 | target.path = $$PREFIX/lib/launchy/plugins/ 23 | 24 | # icon.path = $$PREFIX/lib/launchy/plugins/icons/ 25 | # icon.files = gcalc.png 26 | INSTALLS += target 27 | } 28 | macx { 29 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/Launchy.app/Contents/MacOS/plugins 30 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/Launchy.app/Contents/MacOS/plugins 31 | 32 | 33 | INCLUDEPATH += /opt/local/include/ 34 | } 35 | -------------------------------------------------------------------------------- /src_old/platform_util.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | #include 3 | #include 4 | #include "plugin_interface.h" 5 | #include "platform_util.h" 6 | #include "globals.h" 7 | #include "main.h" 8 | 9 | 10 | PlatformBase * loadPlatform() 11 | { 12 | QList files; 13 | QString file; 14 | 15 | #ifdef Q_WS_WIN 16 | // Look for the platform file in the same directory as the executable 17 | wchar_t module_name[MAX_PATH+1]; 18 | GetModuleFileNameW(0, module_name, MAX_PATH); 19 | module_name[MAX_PATH] = 0; 20 | QFileInfo fileInfo = QString::fromUtf16((ushort*)module_name); 21 | QString filePath = fileInfo.path(); 22 | SetCurrentDirectory(filePath.utf16()); 23 | files += "platform_win.dll"; 24 | #endif 25 | #ifdef Q_WS_X11 26 | files += "libplatform_unix.so"; 27 | files += QString(PLATFORMS_PATH) + "/libplatform_unix.so"; 28 | #endif 29 | 30 | QObject * plugin = NULL; 31 | foreach(QString file, files) 32 | { 33 | qDebug() << file; 34 | QPluginLoader loader(file); 35 | plugin = loader.instance(); 36 | if (plugin) 37 | break; 38 | qDebug() << loader.errorString(); 39 | } 40 | 41 | if (!plugin) 42 | { 43 | qDebug() << "Could not load platform file!"; 44 | exit(1); 45 | } 46 | 47 | return qobject_cast(plugin); 48 | } 49 | */ -------------------------------------------------------------------------------- /plugins/runner/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef PRECOMPILED_H 21 | #define PRECOMPILED_H 22 | 23 | #ifdef _MSC_VER 24 | #pragma warning(push,3) 25 | #endif 26 | 27 | #include 28 | 29 | #ifdef _MSC_VER 30 | #pragma warning(pop) 31 | #endif 32 | 33 | #include 34 | // #include 35 | 36 | // using namespace boost; 37 | 38 | 39 | #ifdef Q_OS_WIN 40 | #include 41 | #endif 42 | 43 | 44 | #endif // PRECOMPILED_H 45 | -------------------------------------------------------------------------------- /src/AnimationLabel.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2010 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | 25 | namespace launchy { 26 | 27 | class AnimationLabel : public QLabel 28 | { 29 | public: 30 | AnimationLabel(QWidget* parent); 31 | virtual ~AnimationLabel(); 32 | 33 | public: 34 | void LoadAnimation(const QString& animationPath); 35 | 36 | public slots: 37 | void Start(); 38 | void Stop(); 39 | 40 | private: 41 | QPointer animation; 42 | }; 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/lib/PluginInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include 20 | #include "LaunchyLib.h" 21 | namespace launchy { 22 | class PluginInterface; 23 | 24 | // This structure is used by plugins such as PyLaunchy, so it must not be extended 25 | // with virtual methods or additional data members 26 | struct LAUNCHY_EXPORT PluginInfo { 27 | uint id; 28 | QString name; 29 | QString path; 30 | PluginInterface* obj; 31 | bool loaded; 32 | 33 | PluginInfo(); 34 | ~PluginInfo(); 35 | 36 | bool isValid() const; 37 | 38 | int sendMsg(int msgId, void* wParam = NULL, void* lParam = NULL); 39 | }; 40 | } 41 | -------------------------------------------------------------------------------- /src/pluginpy/PluginWrapper.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "PluginInterface.h" 5 | #include "ExportPyPlugin.h" 6 | #include "InputData.h" 7 | #include "CatalogItem.h" 8 | 9 | namespace pluginpy { 10 | 11 | class PluginWrapper : public launchy::PluginInterface { 12 | 13 | public: 14 | PluginWrapper(exportpy::Plugin* plugin); 15 | virtual ~PluginWrapper(); 16 | 17 | virtual int msg(int msgId, void* wParam = NULL, void* lParam = NULL); 18 | 19 | private: 20 | void init(); 21 | void setPath(const QString* path); 22 | void getLabels(QList* inputData); 23 | void getID(uint* id); 24 | void getName(QString* name); 25 | void getResults(QList* inputData, QList* result); 26 | void getCatalog(QList* catItem); 27 | void launchItem(QList* inputData, launchy::CatItem* catItem); 28 | bool hasDialog(); 29 | void doDialog(QWidget* parent, QWidget** dialog); 30 | void endDialog(bool accept); 31 | void launchyShow(); 32 | void launchyHide(); 33 | 34 | //! Does the actual work of calling a Python function 35 | int dispatchFunction(int msgId, void* wParam, void* lParam); 36 | 37 | 38 | private: 39 | exportpy::Plugin* m_plugin; 40 | static QMutex s_inPythonLock; 41 | }; 42 | 43 | } 44 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/dlg.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | Dlg 4 | 5 | 6 | 7 | 0 8 | 0 9 | 464 10 | 271 11 | 12 | 13 | 14 | MyPlugin - Example Launchy Plugin 15 | 16 | 17 | 18 | 19 | 20 | Option 1 21 | 22 | 23 | 24 | 25 | 26 | 27 | Option 2 28 | 29 | 30 | 31 | 32 | 33 | 34 | Qt::Vertical 35 | 36 | 37 | 38 | 20 39 | 40 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /plugins/calcy/Calculator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Calcy - plugin for Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "Calculator.h" 20 | #include "exprtk.hpp" 21 | 22 | bool Calculator::calculate(const std::string& expr, double& result) { 23 | typedef exprtk::symbol_table symbol_table_t; 24 | typedef exprtk::expression expression_t; 25 | typedef exprtk::parser parser_t; 26 | 27 | expression_t expression; 28 | //expression.register_symbol_table(symbol_table); 29 | 30 | parser_t parser; 31 | bool ret = parser.compile(expr, expression); 32 | result = expression.value(); 33 | 34 | return ret; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /src/win/IconProviderWin.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | 24 | class IconProviderWin : public QFileIconProvider { 25 | public: 26 | IconProviderWin(); 27 | virtual ~IconProviderWin(); 28 | 29 | virtual QIcon icon(const QFileInfo& info) const; 30 | void setPreferredIconSize(int size); 31 | 32 | private: 33 | bool addIconFromImageList(int imageListIndex, int iconIndex, QIcon& icon) const; 34 | bool addIconFromShellFactory(const QString& filePath, QIcon& icon) const; 35 | 36 | int m_preferredSize; 37 | }; 38 | -------------------------------------------------------------------------------- /src/pluginpy/pluginconf.py: -------------------------------------------------------------------------------- 1 | 2 | import sys, os 3 | 4 | print("sys.prefix:", sys.prefix) 5 | xlib = os.path.join(sys.prefix, 'Lib') 6 | sys.path.insert(0, xlib) 7 | sys.path.insert(0, sys.prefix) 8 | sys.path.insert(0, ".") 9 | 10 | path = os.environ.get('PATH', '') 11 | #print ("env.path(origin):", path) 12 | 13 | os.environ['PATH'] = path + os.pathsep + sys.prefix + os.pathsep 14 | 15 | print ("sys.path1:", sys.path) 16 | print ("env.path1:", os.environ.get('PATH', '')) 17 | 18 | import site 19 | site.main() 20 | 21 | print ("sys.path2:", sys.path) 22 | print ("env.path2:", os.environ.get('PATH', '')) 23 | 24 | os.chdir(sys.prefix) 25 | 26 | 27 | from PyQt5.QtWidgets import (QWidget, QToolTip, 28 | QPushButton, QApplication) 29 | from PyQt5.QtGui import QFont 30 | 31 | class Example(QWidget): 32 | def __init__(self): 33 | super().__init__() 34 | self.initUI() 35 | 36 | def initUI(self): 37 | QToolTip.setFont(QFont('SansSerif', 10)) 38 | 39 | self.setToolTip('This is a QWidget widget') 40 | 41 | btn = QPushButton('Button', self) 42 | btn.setToolTip('This is a QPushButton widget') 43 | btn.resize(btn.sizeHint()) 44 | btn.move(50, 50) 45 | 46 | self.setGeometry(300, 300, 300, 200) 47 | self.setWindowTitle('Tooltips') 48 | self.show() 49 | 50 | #ex = Example() 51 | -------------------------------------------------------------------------------- /plugins/calcy/Converter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Calcy - plugin for LaunchyQt 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "Converter.h" 20 | 21 | bool Converter::octStr(qlonglong num, QString& reslut) { 22 | reslut = "0" + QString::number(num, 8); 23 | return true; 24 | } 25 | 26 | bool Converter::decStr(qlonglong num, QString& reslut) { 27 | reslut = QString::number(num, 10); 28 | return true; 29 | } 30 | 31 | bool Converter::hexStr(qlonglong num, QString& reslut) { 32 | reslut = "0x" + QString::number(num, 16); 33 | return true; 34 | } 35 | 36 | bool Converter::binStr(qlonglong num, QString& reslut) { 37 | reslut = QString::number(num, 2); 38 | return true; 39 | } -------------------------------------------------------------------------------- /src/UpdateChecker.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | 23 | class QNetworkAccessManager; 24 | class QTimer; 25 | 26 | namespace launchy { 27 | class UpdateChecker : public QObject{ 28 | Q_OBJECT 29 | public: 30 | static UpdateChecker& instance(); 31 | void startup(); 32 | void reloadConfig(); 33 | void manualCheck(); 34 | 35 | private: 36 | UpdateChecker(); 37 | Q_DISABLE_COPY(UpdateChecker) 38 | 39 | private slots: 40 | void getVersionInfo(); 41 | void replyFinished(QNetworkReply* reply); 42 | 43 | private: 44 | QNetworkAccessManager* m_mgr; 45 | QTimer* m_timerStartup; 46 | bool m_manualCheck; 47 | }; 48 | 49 | } -------------------------------------------------------------------------------- /plugins/controly/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef PRECOMPILED_H 21 | #define PRECOMPILED_H 22 | 23 | #ifdef _MSC_VER 24 | #pragma warning(push,3) 25 | #endif 26 | 27 | #include 28 | 29 | #ifdef _MSC_VER 30 | #pragma warning(pop) 31 | #endif 32 | 33 | #include 34 | 35 | #ifdef Q_WS_WIN 36 | #define _WIN32_WINNT 0x0600 37 | #define _WIN32_IE 0x0700 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #endif 44 | 45 | 46 | #endif // PRECOMPILED_H 47 | -------------------------------------------------------------------------------- /plugins/weby/globals.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GLOBALS_H 21 | #define GLOBALS_H 22 | #include 23 | 24 | struct WebySite { 25 | QString base; 26 | QString name; 27 | QString query; 28 | QString suggest; 29 | bool def; 30 | 31 | WebySite() { def = false; } 32 | 33 | WebySite(QString b, QString n, QString q, bool d = true, QString s = "") : 34 | base(b), name(n), query(q), suggest(s), def(d) {} 35 | }; 36 | 37 | struct Bookmark { 38 | QString url; 39 | QString shortcut; 40 | QString name; 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/CommandHistory.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "CatalogItem.h" 23 | #include "InputDataList.h" 24 | namespace launchy { 25 | class CommandHistory { 26 | public: 27 | CommandHistory(); 28 | 29 | bool load(const QString& filename); 30 | void save(const QString& filename) const; 31 | 32 | void addItem(const InputDataList& item); 33 | void removeAt(int index); 34 | const InputDataList& getItem(int index); 35 | void search(const QString& searchText, QList& searchResults) const; 36 | 37 | private: 38 | QLinkedList m_history; 39 | }; 40 | } 41 | -------------------------------------------------------------------------------- /src/pluginpy/PluginLoader.h: -------------------------------------------------------------------------------- 1 | /* 2 | PluginPy 3 | Copyright (C) 2017 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "PluginPyLib.h" 22 | 23 | namespace launchy { class PluginInterface; } 24 | 25 | namespace pluginpy { 26 | 27 | class PLUGINPY_EXPORT PluginLoader { 28 | public: 29 | PluginLoader(const QString& pluginName, const QString& pluginPath); 30 | 31 | launchy::PluginInterface* instance(); 32 | 33 | bool unload(); 34 | 35 | static void initSettings(QSettings* setting); 36 | 37 | private: 38 | void setFileName(const QString& fileName); 39 | bool load(); 40 | 41 | private: 42 | QString m_pluginName; 43 | QString m_pluginPath; 44 | launchy::PluginInterface* m_interface; 45 | }; 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/win/launchy.rc: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | ///////////////////////////////////////////////////////////////////////////// 5 | // 6 | // Icon 7 | // 8 | 9 | // Icon with lowest ID value placed first to ensure application icon 10 | // remains consistent on all systems. 11 | IDI_ICON1 ICON DISCARDABLE "launchy.ico" 12 | 13 | 14 | ///////////////////////////////////////////////////////////////////////////// 15 | // 16 | // Version 17 | // 18 | 19 | VS_VERSION_INFO VERSIONINFO 20 | FILEVERSION 3,0,4,0 21 | PRODUCTVERSION 3,0,4,0 22 | // FILEFLAGSMASK 0x3fL 23 | // #ifdef _DEBUG 24 | // FILEFLAGS 0x1L 25 | // #else 26 | // FILEFLAGS 0x0L 27 | // #endif 28 | // FILEOS 0x4L 29 | // FILETYPE 0x1L 30 | // FILESUBTYPE 0x0L 31 | BEGIN 32 | BLOCK "StringFileInfo" 33 | BEGIN 34 | BLOCK "040904E4" 35 | BEGIN 36 | VALUE "FileDescription", "LaunchyQt" 37 | VALUE "FileVersion", "3.0.4.0" 38 | VALUE "InternalName", "Launchy.exe" 39 | VALUE "LegalCopyright", "GPLv3" 40 | VALUE "OriginalFilename", "Launchy.exe" 41 | VALUE "ProductName", "Launchy" 42 | VALUE "ProductVersion", "3.0.4.0" 43 | END 44 | END 45 | BLOCK "VarFileInfo" 46 | BEGIN 47 | VALUE "Translation", 0x409, 1252 48 | END 49 | END 50 | -------------------------------------------------------------------------------- /plugins/tasky/Precompiled.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | // Modify the following defines if you have to target a platform prior to the ones specified below. 5 | // Refer to MSDN for the latest info on corresponding values for different platforms. 6 | #ifndef WINVER // Allow use of features specific to Windows XP or later. 7 | #define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows. 8 | #endif 9 | 10 | #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. 11 | #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | #ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later. 15 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 16 | #endif 17 | 18 | #ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later. 19 | #define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE. 20 | #endif 21 | 22 | //#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 23 | 24 | // Windows Header Files: 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | -------------------------------------------------------------------------------- /src/pluginpy/launchy_test.py: -------------------------------------------------------------------------------- 1 | 2 | import sys, os 3 | import launchy 4 | 5 | print("launchy_test") 6 | print("sys.path4:", sys.path) 7 | print("env.path4:", os.environ.get('PATH', '')) 8 | 9 | def setTestWidgetObject(): 10 | print("launchy_test, setTestWidgetObject called") 11 | # Set the launchy.settings object 12 | try: 13 | # Based on http://lists.kde.org/?l=pykde&m=108947844203156&w=2 14 | from PyQt5 import QtCore 15 | from sip import wrapinstance, unwrapinstance 16 | from PyQt5.QtWidgets import QApplication, QWidget 17 | print("QApplication:", QApplication) 18 | print("QWidget:", QWidget) 19 | print("QtCore:", QtCore) 20 | print("launchy:", dir(launchy)) 21 | launchy.testWidget = wrapinstance(launchy.__testWidget, QWidget) 22 | print(launchy.testWidget) 23 | except ImportError as err: 24 | print("ImportError,", err) 25 | except NameError: 26 | print("launchy_test, NameError") 27 | except Exception as err: 28 | print("Exception,", err) 29 | 30 | 31 | def initTestWidget(): 32 | from PyQt5 import QtWidgets 33 | print("launchy_test, initTestwidget called") 34 | testWidget = launchy.testWidget 35 | testWidget.label = QtWidgets.QLabel(testWidget) 36 | testWidget.label.setText("hello world") 37 | testWidget.show() 38 | 39 | try: 40 | setTestWidgetObject() 41 | initTestWidget() 42 | except Exception as err: 43 | print("launchy_test,", err) 44 | -------------------------------------------------------------------------------- /plugins/gcalc/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef PRECOMPILED_H 21 | #define PRECOMPILED_H 22 | 23 | 24 | #ifdef Q_OS_WIN 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #endif 32 | 33 | #ifdef _MSC_VER 34 | #pragma warning(push,3) 35 | #endif 36 | 37 | #include 38 | #include 39 | #include 40 | #include 41 | 42 | #ifdef _MSC_VER 43 | #pragma warning(pop) 44 | #endif 45 | 46 | 47 | // #include 48 | // using namespace boost; 49 | 50 | #endif // PRECOMPILED_H 51 | -------------------------------------------------------------------------------- /src/Fader.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "Precompiled.h" 23 | 24 | namespace launchy { 25 | class Fader : public QThread { 26 | Q_OBJECT 27 | public: 28 | Fader(QObject* parent = NULL); 29 | virtual ~Fader(); 30 | 31 | void fadeIn(bool quick); 32 | void fadeOut(bool quick); 33 | void run(); 34 | 35 | inline void stop() { m_keepRunning = false; } 36 | inline bool isFading() const { return m_delta < 0 && isRunning(); } 37 | 38 | signals: 39 | void fadeLevel(double level); 40 | 41 | private: 42 | QMutex m_mutex; 43 | bool m_keepRunning; 44 | 45 | double m_delta; 46 | int m_delay; 47 | 48 | double m_level; 49 | double m_targetLevel; 50 | }; 51 | } 52 | -------------------------------------------------------------------------------- /plugins/weby/precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef PRECOMPILED_H 21 | #define PRECOMPILED_H 22 | 23 | #ifdef _MSC_VER 24 | #pragma warning(push,3) 25 | #endif 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | #ifdef _MSC_VER 32 | #pragma warning(pop) 33 | #endif 34 | 35 | #include 36 | // #include 37 | 38 | // using namespace boost; 39 | 40 | 41 | #ifdef Q_WS_WIN 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #endif 49 | 50 | 51 | #endif // PRECOMPILED_H 52 | -------------------------------------------------------------------------------- /plugins/runner/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | 24 | #include "FileBrowserDelegate.h" 25 | #include "ui_dlg.h" 26 | #include "globals.h" 27 | #include 28 | 29 | class Gui : public QWidget, private Ui::Dlg 30 | { 31 | 32 | Q_OBJECT 33 | public: 34 | Gui(QWidget* parent, QSettings* settings); 35 | ~Gui() { this->hide(); } 36 | void writeOptions(); 37 | 38 | private slots: 39 | void newRow(); 40 | void remRow(); 41 | void dragEnter(QDragEnterEvent *event); 42 | void drop(QDropEvent *event); 43 | 44 | private: 45 | void appendRow(const QString& name, const QString& file, const QString& args); 46 | 47 | QSettings* settings; 48 | FileBrowserDelegate delegate; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/DropListWidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef DROPLISTWIDGET_H 21 | #define DROPLISTWIDGET_H 22 | 23 | 24 | #include 25 | 26 | namespace launchy { 27 | class DropListWidget : public QListWidget { 28 | Q_OBJECT 29 | public: 30 | DropListWidget(QWidget* pParent = NULL); 31 | virtual ~DropListWidget(); 32 | 33 | protected: 34 | virtual void dragEnterEvent(QDragEnterEvent *event); 35 | virtual void dragMoveEvent(QDragMoveEvent *event); 36 | virtual void dropEvent(QDropEvent *event); 37 | 38 | signals: 39 | void dragEnter(QDragEnterEvent *event); 40 | void dragMove(QDragMoveEvent *event); 41 | void drop(QDropEvent *event); 42 | }; 43 | } 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /plugins/weby/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef GUI_H 21 | #define GUI_H 22 | 23 | #include "ui_dlg.h" 24 | #include "globals.h" 25 | #include 26 | 27 | class Gui : public QWidget, private Ui::Dlg 28 | { 29 | Q_OBJECT 30 | private: 31 | QList sites; 32 | public: 33 | Gui(QWidget* parent, QSettings* settings); 34 | ~Gui() { this->hide(); } 35 | void writeOptions(); 36 | QString defaultName; 37 | 38 | public slots: 39 | void newRow(); 40 | void remRow(); 41 | void dragEnter(QDragEnterEvent *event); 42 | void drop(QDropEvent *event); 43 | void makeDefault(); 44 | void clearDefault(); 45 | 46 | private: 47 | void appendRow(const QString& name, const QString& path); 48 | 49 | QSettings* settings; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/InputDataList.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "InputDataList.h" 3 | #include "GlobalVar.h" 4 | namespace launchy { 5 | 6 | QString InputDataList::s_separator = QString(" ") + QChar(0x25ba) + QString(" "); 7 | 8 | void InputDataList::setSeparator(const QString& sepa) { 9 | s_separator = sepa; 10 | } 11 | 12 | void InputDataList::parse(const QString& text) { 13 | if (text.isEmpty()) { 14 | clear(); 15 | } 16 | else { 17 | QStringList split = text.split(s_separator); 18 | 19 | // Truncate inputData to the same length as the new input text 20 | if (split.count() < count()) { 21 | erase(begin() + split.count(), end()); 22 | } 23 | 24 | // Truncate to the first different entry 25 | for (int i = 0; i < count(); ++i) { 26 | (*this)[i].clearLabel(); 27 | if (at(i).getText() != split[i]) { 28 | erase(begin() + i, end()); 29 | break; 30 | } 31 | } 32 | 33 | // And add anything new 34 | for (int i = count(); i < split.count(); ++i) { 35 | InputData data(split[i]); 36 | push_back(data); 37 | } 38 | } 39 | } 40 | 41 | QString InputDataList::toString(bool omitLast) const { 42 | QString result = ""; 43 | for (int i = 0; i < count(); ++i) { 44 | if (i > 0) { 45 | result += s_separator; 46 | } 47 | if (!omitLast || i < count()-1) { 48 | result += at(i).getText(); 49 | } 50 | } 51 | return result; 52 | } 53 | } -------------------------------------------------------------------------------- /src/DropListWidget.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #include "Precompiled.h" 21 | #include "DropListWidget.h" 22 | 23 | namespace launchy { 24 | DropListWidget::DropListWidget(QWidget* pParent) 25 | : QListWidget(pParent) { 26 | setAcceptDrops(true); 27 | } 28 | 29 | DropListWidget::~DropListWidget() { 30 | } 31 | 32 | void DropListWidget::dragEnterEvent(QDragEnterEvent *event) { 33 | emit dragEnter(event); 34 | event->acceptProposedAction(); 35 | } 36 | 37 | void DropListWidget::dragMoveEvent(QDragMoveEvent *event) { 38 | emit dragMove(event); 39 | event->acceptProposedAction(); 40 | } 41 | 42 | void DropListWidget::dropEvent(QDropEvent *event) { 43 | emit drop(event); 44 | event->acceptProposedAction(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /plugins/controly/controly.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin \ 3 | release 4 | VPATH += ../../src/ 5 | INCLUDEPATH += ../../src/ 6 | PRECOMPILED_HEADER = precompiled.h 7 | DEFINES += WITH_GUI 8 | 9 | # UI_DIR = ../../plugins/controly/ 10 | FORMS = dlg.ui 11 | HEADERS = plugin_interface.h \ 12 | controly.h \ 13 | gui.h \ 14 | ControlPanelItemFinder.h \ 15 | fhoicon.h \ 16 | fhoenv.h \ 17 | fhoreg.h \ 18 | fhores.h \ 19 | precompiled.h 20 | SOURCES = plugin_interface.cpp \ 21 | controly.cpp \ 22 | gui.cpp \ 23 | ControlPanelItemFinder.cpp \ 24 | fhoicon.cpp \ 25 | fhoenv.cpp \ 26 | fhoreg.cpp \ 27 | fhores.cpp 28 | TARGET = controly 29 | win32 { 30 | CONFIG -= embed_manifest_dll 31 | LIBS += shell32.lib 32 | LIBS += user32.lib 33 | LIBS += Gdi32.lib 34 | LIBS += comctl32.lib 35 | LIBS += Advapi32.lib 36 | LIBS += ole32.lib 37 | LIBS += shlwapi.lib 38 | QMAKE_CXXFLAGS_RELEASE += /Zi 39 | QMAKE_LFLAGS_RELEASE += /DEBUG 40 | # disable optimizations to prevent crashes with certain third party control panel 41 | # applets when Controly is built using VC++ 2005. 42 | QMAKE_CXXFLAGS_RELEASE -= -O2 43 | } 44 | 45 | # *:debug { 46 | # DESTDIR = ../../debug/plugins/ 47 | # } 48 | # *:release { 49 | # DESTDIR = ../../release/plugins/ 50 | # %QMAKE_CXXFLAGS += /Ox /Ob2 /Oi /Oy /GT /GA /WX 51 | # } 52 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/plugins 53 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/plugins 54 | -------------------------------------------------------------------------------- /src_old/platforms/gnome/platform_gnome.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "platform_unix.h" 23 | #include "platform_unix_util.h" 24 | #include "platform_gnome_util.h" 25 | #include "platform_base.h" 26 | #include "platform_base_hotkey.h" 27 | #include "platform_base_hottrigger.h" 28 | 29 | 30 | 31 | class PlatformGnome : public PlatformUnix 32 | { 33 | private: 34 | 35 | Q_OBJECT 36 | Q_INTERFACES(PlatformBase) 37 | public: 38 | PlatformGnome(); 39 | ~PlatformGnome(); 40 | 41 | QApplication* init(int* argc, char** argv); 42 | 43 | void AddToNotificationArea() {}; 44 | void RemoveFromNotificationArea() {}; 45 | 46 | void alterItem(CatItem*); 47 | bool Execute(QString path, QString args); 48 | }; 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/win/AppWin.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "AppBase.h" 23 | class CrashDumper; 24 | 25 | namespace launchy { 26 | class AppWin : public AppBase { 27 | public: 28 | AppWin(int& argc, char** argv); 29 | virtual ~AppWin(); 30 | 31 | virtual void setPreferredIconSize(int size); 32 | virtual QHash> getDirectories(); 33 | virtual QList getDefaultCatalogDirectories(); 34 | virtual QString expandEnvironmentVars(QString); 35 | virtual bool supportsAlphaBorder() const; 36 | virtual void sendInstanceCommand(int command); 37 | virtual bool getComputers(QStringList& computers) const; 38 | 39 | private: 40 | HANDLE localMutex; 41 | HANDLE globalMutex; 42 | CrashDumper* m_crashDumper; 43 | }; 44 | } 45 | -------------------------------------------------------------------------------- /src/IconExtractor.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2009 Simon Capewell, Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include "CatalogItem.h" 29 | 30 | namespace launchy { 31 | class IconExtractor : public QThread { 32 | Q_OBJECT 33 | public: 34 | IconExtractor(); 35 | void processIcon(const CatItem& item, bool highPriority = false); 36 | void processIcons(const QList& newItems, bool reset = true); 37 | void stop(); 38 | 39 | protected: 40 | virtual void run(); 41 | 42 | signals: 43 | void iconExtracted(int itemIndex, QString path, QIcon icon); 44 | 45 | private: 46 | QIcon getIcon(const CatItem& item); 47 | 48 | QMutex m_mutex; 49 | QQueue m_items; 50 | }; 51 | } 52 | -------------------------------------------------------------------------------- /deps/SingleApplication/Windows.md: -------------------------------------------------------------------------------- 1 | Windows Specific Implementations 2 | ================================ 3 | 4 | Setting the foreground window 5 | ----------------------------- 6 | 7 | In the `instanceStarted()` example in the `README` we demonstrated how an 8 | application can bring it's primary instance window whenever a second copy 9 | of the application is started. 10 | 11 | On Windows the ability to bring the application windows to the foreground is 12 | restricted, see [`AllowSetForegroundWindow()`][AllowSetForegroundWindow] for more 13 | details. 14 | 15 | The background process (the primary instance) can bring its windows to the 16 | foreground if it is allowed by the current foreground process (the secondary 17 | instance). To bypass this `SingleApplication` must be initialized with the 18 | `allowSecondary` parameter set to `true` and the `options` parameter must 19 | include `Mode::SecondaryNotification`, See `SingleApplication::Mode` for more 20 | details. 21 | 22 | Here is an example: 23 | 24 | ```cpp 25 | if( app.isSecondary() ) { 26 | // This API requires LIBS += User32.lib to be added to the project 27 | AllowSetForegroundWindow( DWORD( app.getPrimaryPid() ) ); 28 | } 29 | 30 | if( app.isPrimary() ) { 31 | QObject::connect( 32 | &app, 33 | &SingleApplication::instanceStarted, 34 | this, 35 | &App::instanceStarted 36 | ); 37 | } 38 | ``` 39 | 40 | ```cpp 41 | void App::instanceStarted() { 42 | QApplication::setActiveWindow( [window/widget to set to the foreground] ); 43 | } 44 | ``` 45 | 46 | [AllowSetForegroundWindow]: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632668.aspx 47 | -------------------------------------------------------------------------------- /deps/pybind11/detail/typeid.h: -------------------------------------------------------------------------------- 1 | /* 2 | pybind11/detail/typeid.h: Compiler-independent access to type identifiers 3 | 4 | Copyright (c) 2016 Wenzel Jakob 5 | 6 | All rights reserved. Use of this source code is governed by a 7 | BSD-style license that can be found in the LICENSE file. 8 | */ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include 14 | 15 | #if defined(__GNUG__) 16 | #include 17 | #endif 18 | 19 | NAMESPACE_BEGIN(PYBIND11_NAMESPACE) 20 | NAMESPACE_BEGIN(detail) 21 | /// Erase all occurrences of a substring 22 | inline void erase_all(std::string &string, const std::string &search) { 23 | for (size_t pos = 0;;) { 24 | pos = string.find(search, pos); 25 | if (pos == std::string::npos) break; 26 | string.erase(pos, search.length()); 27 | } 28 | } 29 | 30 | PYBIND11_NOINLINE inline void clean_type_id(std::string &name) { 31 | #if defined(__GNUG__) 32 | int status = 0; 33 | std::unique_ptr res { 34 | abi::__cxa_demangle(name.c_str(), nullptr, nullptr, &status), std::free }; 35 | if (status == 0) 36 | name = res.get(); 37 | #else 38 | detail::erase_all(name, "class "); 39 | detail::erase_all(name, "struct "); 40 | detail::erase_all(name, "enum "); 41 | #endif 42 | detail::erase_all(name, "pybind11::"); 43 | } 44 | NAMESPACE_END(detail) 45 | 46 | /// Return a string representation of a C++ type 47 | template static std::string type_id() { 48 | std::string name(typeid(T).name()); 49 | detail::clean_type_id(name); 50 | return name; 51 | } 52 | 53 | NAMESPACE_END(PYBIND11_NAMESPACE) 54 | -------------------------------------------------------------------------------- /plugins/verby/verby.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin \ 3 | release 4 | VPATH += ../../src/ 5 | INCLUDEPATH += ../../src/ 6 | PRECOMPILED_HEADER = precompiled.h 7 | UI_DIR = ../../plugins/Verby/ 8 | FORMS = dlg.ui 9 | HEADERS = plugin_interface.h \ 10 | gui.h \ 11 | Verby.h \ 12 | precompiled.h 13 | SOURCES = plugin_interface.cpp \ 14 | gui.cpp \ 15 | Verby.cpp 16 | TARGET = verby 17 | win32 { 18 | CONFIG -= embed_manifest_dll 19 | LIBS += user32.lib shell32.lib 20 | QMAKE_CXXFLAGS_RELEASE += /Zi 21 | QMAKE_LFLAGS_RELEASE += /DEBUG 22 | } 23 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/plugins 24 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/plugins 25 | unix:!macx { 26 | PREFIX = /usr 27 | target.path = $$PREFIX/lib/launchy/plugins/ 28 | icon.path = $$PREFIX/lib/launchy/plugins/icons/ 29 | icon.files = verby.png copy.png opencontainer.png properties.png run.png 30 | INSTALLS += target \ 31 | icon 32 | } 33 | macx { 34 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/Launchy.app/Contents/MacOS/plugins 35 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/Launchy.app/Contents/MacOS/plugins 36 | CONFIG(debug, debug|release):icons.path = ../../debug/Launchy.app/Contents/MacOS/plugins/icons/ 37 | CONFIG(release, debug|release):icons.path = ../../release/Launchy.app/Contents/MacOS/plugins/icons/ 38 | icons.files = verby.png copy.png opencontainer.png properties.png run.png 39 | INSTALLS += icons 40 | INCLUDEPATH += /opt/local/include/ 41 | } 42 | -------------------------------------------------------------------------------- /src/pluginpy/PluginMgr.h: -------------------------------------------------------------------------------- 1 | /* 2 | PluginPy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | 23 | namespace launchy { class PluginInterface; } 24 | namespace py = pybind11; 25 | 26 | namespace pluginpy { 27 | 28 | class PluginMgr { 29 | public: 30 | static PluginMgr& instance(); 31 | 32 | launchy::PluginInterface* loadPlugin(const QString& pluginName, const QString& pluginPath); 33 | bool unloadPlugin(uint pluginId); 34 | 35 | void initSettings(QSettings* setting); 36 | 37 | void registerPlugin(py::object pluginClass); 38 | 39 | private: 40 | PluginMgr(); 41 | ~PluginMgr(); 42 | PluginMgr(const PluginMgr&) = delete; 43 | PluginMgr& operator=(const PluginMgr&) = delete; 44 | 45 | private: 46 | // type of python (embedable or installed) 47 | QVector m_pluginClass; 48 | QHash m_pluginObject; 49 | QHash m_pluginInterface; 50 | //QVector m_pluginObject; 51 | }; 52 | 53 | } 54 | -------------------------------------------------------------------------------- /plugins/calcy/calcy.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | CONFIG += plugin \ 3 | debug_and_release 4 | VPATH += ../../src/ 5 | INCLUDEPATH += ../../src/ 6 | #INCLUDEPATH += c:/boost/ 7 | PRECOMPILED_HEADER = precompiled.h 8 | UI_DIR = ../../plugins/calcy/ 9 | HEADERS = plugin_interface.h \ 10 | calcy.h \ 11 | precompiled.h \ 12 | gui.h 13 | SOURCES = plugin_interface.cpp \ 14 | calcy.cpp \ 15 | gui.cpp 16 | FORMS += dlg.ui 17 | 18 | TARGET = calcy 19 | 20 | win32 { 21 | CONFIG -= embed_manifest_dll 22 | LIBS += user32.lib shell32.lib 23 | QMAKE_CXXFLAGS_RELEASE += /Zi 24 | QMAKE_LFLAGS_RELEASE += /DEBUG 25 | } 26 | 27 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/plugins 28 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/plugins 29 | 30 | unix:!macx { 31 | PREFIX = /usr 32 | target.path = $$PREFIX/lib/launchy/plugins/ 33 | icon.path = $$PREFIX/lib/launchy/plugins/icons/ 34 | icon.files = calcy.png 35 | INSTALLS += target \ 36 | icon 37 | } 38 | 39 | 40 | macx { 41 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/Launchy.app/Contents/MacOS/plugins 42 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/Launchy.app/Contents/MacOS/plugins 43 | 44 | CONFIG(debug, debug|release):icons.path = ../../debug/Launchy.app/Contents/MacOS/plugins/icons/ 45 | CONFIG(release, debug|release):icons.path = ../../release/Launchy.app/Contents/MacOS/plugins/icons/ 46 | icons.files = calcy.png 47 | INSTALLS += icons 48 | 49 | INCLUDEPATH += /opt/local/include/ 50 | } 51 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/gui.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #include 21 | #include "gui.h" 22 | #include "myplugin.h" 23 | 24 | 25 | Gui::Gui(QWidget* parent) 26 | : QWidget(parent) 27 | { 28 | setupUi(this); 29 | QSettings* settings = *gmypluginInstance->settings; 30 | if (settings == NULL) 31 | return; 32 | 33 | chkOption1->setChecked(settings->value("myplugin/option1", true).toBool()); 34 | chkOption2->setChecked(settings->value("myplugin/option2", true).toBool()); 35 | } 36 | 37 | 38 | Gui::~Gui() 39 | { 40 | this->hide(); 41 | } 42 | 43 | 44 | void Gui::writeOptions() 45 | { 46 | QSettings* settings = *gmypluginInstance->settings; 47 | if (settings == NULL) 48 | return; 49 | 50 | settings->setValue("myplugin/option1", chkOption1->isChecked()); 51 | settings->setValue("myplugin/option2", chkOption2->isChecked()); 52 | } 53 | -------------------------------------------------------------------------------- /src/GlobalVar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | class QSettings; 25 | 26 | namespace launchy { 27 | 28 | extern const int LAUNCHY_VERSION; 29 | extern const char* LAUNCHY_VERSION_STRING; 30 | extern const char* LAUNCHY_BIT_STRING; 31 | 32 | extern const uint HASH_LAUNCHY; 33 | extern const uint HASH_HISTORY; 34 | extern const uint HASH_LAUNCHYFILE; 35 | extern const uint LABEL_FILE; 36 | extern const uint LABEL_AUTOSUGGEST; 37 | extern const uint LABEL_HISTORY; 38 | 39 | class AppBase; 40 | class LaunchyWidget; 41 | class Catalog; 42 | class CatalogBuilder; 43 | 44 | extern QScopedPointer g_app; 45 | extern QScopedPointer g_mainWidget; 46 | extern QScopedPointer g_settings; 47 | extern QScopedPointer g_catalog; 48 | extern QScopedPointer g_builder; 49 | extern QString g_searchText; 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/CatalogBuilder.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include "PluginHandler.h" 24 | class QThread; 25 | namespace launchy { 26 | class CatalogBuilder : public QObject, public INotifyProgressStep { 27 | Q_OBJECT 28 | public: 29 | CatalogBuilder(); 30 | virtual ~CatalogBuilder(); 31 | 32 | int getProgress() const; 33 | int isRunning() const; 34 | virtual bool progressStep(int newStep); 35 | 36 | public slots: 37 | void buildCatalog(); 38 | 39 | signals: 40 | void catalogIncrement(int); 41 | void catalogFinished(); 42 | 43 | private: 44 | void indexDirectory(const QString& dir, const QStringList& filters, 45 | bool fdirs, bool fbin, int depth); 46 | QThread* m_thread; 47 | 48 | QSet m_indexed; 49 | int m_progress; 50 | int m_currentItem; 51 | int m_totalItems; 52 | }; 53 | } 54 | -------------------------------------------------------------------------------- /src/CharLineEdit.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef CHARLINEEDIT_H 21 | #define CHARLINEEDIT_H 22 | 23 | #include 24 | 25 | namespace launchy { 26 | class CharLineEdit : public QLineEdit { 27 | Q_OBJECT 28 | public: 29 | CharLineEdit(QWidget* parent = 0); 30 | 31 | void processKey(QKeyEvent* event); 32 | bool focusNextPrevChild(bool next); 33 | 34 | QString separatorText() const; 35 | 36 | protected: 37 | virtual void keyPressEvent(QKeyEvent* event); 38 | virtual void focusInEvent(QFocusEvent* event); 39 | virtual void focusOutEvent(QFocusEvent* event); 40 | virtual void inputMethodEvent(QInputMethodEvent *event); 41 | 42 | signals: 43 | void keyPressed(QKeyEvent* event); 44 | void focusIn(); 45 | void focusOut(); 46 | void inputMethod(QInputMethodEvent *event); 47 | 48 | private: 49 | bool isAtStartOfSeparator() const; 50 | bool isAtEndOfSeparator() const; 51 | QChar separatorChar() const; 52 | }; 53 | } 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /plugins/weby/weby.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = lib 2 | QT += network 3 | CONFIG += plugin \ 4 | debug_and_release 5 | VPATH += ../../src/ 6 | PRECOMPILED_HEADER = precompiled.h 7 | INCLUDEPATH += ../../src/ 8 | INCLUDEPATH += c:/boost/ 9 | INCLUDEPATH += ../../common 10 | UI_DIR = ../../plugins/weby/ 11 | FORMS = dlg.ui 12 | HEADERS = plugin_interface.h \ 13 | weby.h \ 14 | gui.h \ 15 | globals.h \ 16 | ../../common/DropTableWidget.h \ 17 | precompiled.h \ 18 | IconCache.h 19 | SOURCES = plugin_interface.cpp \ 20 | weby.cpp \ 21 | gui.cpp \ 22 | ../../common/DropTableWidget.cpp \ 23 | IconCache.cpp 24 | TARGET = weby 25 | win32 { 26 | CONFIG -= embed_manifest_dll 27 | LIBS += user32.lib shell32.lib 28 | } 29 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/plugins 30 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/plugins 31 | unix:!macx { 32 | PREFIX = /usr 33 | target.path = $$PREFIX/lib/launchy/plugins/ 34 | icon.path = $$PREFIX/lib/launchy/plugins/icons/ 35 | icon.files = weby.png 36 | INSTALLS += target \ 37 | icon 38 | } 39 | 40 | macx { 41 | if(!debug_and_release|build_pass):CONFIG(debug, debug|release):DESTDIR = ../../debug/Launchy.app/Contents/MacOS/plugins 42 | if(!debug_and_release|build_pass):CONFIG(release, debug|release):DESTDIR = ../../release/Launchy.app/Contents/MacOS/plugins 43 | CONFIG(debug, debug|release):icons.path = ../../debug/Launchy.app/Contents/MacOS/plugins/icons/ 44 | CONFIG(release, debug|release):icons.path = ../../release/Launchy.app/Contents/MacOS/plugins/icons/ 45 | icons.files = weby.png 46 | INSTALLS += icons 47 | INCLUDEPATH += /opt/local/include/ 48 | } 49 | -------------------------------------------------------------------------------- /src_old/platform_base_hotkey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * globalshortcutmanager.h - Class managing global shortcuts 3 | * Copyright (C) 2006 Maciej Niedzielski 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | */ 20 | 21 | #ifndef GLOBALSHORTCUTMANAGER_H 22 | #define GLOBALSHORTCUTMANAGER_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | 29 | class QObject; 30 | //class KeyTrigger; 31 | 32 | class GlobalShortcutManager : public QObject 33 | { 34 | public: 35 | static GlobalShortcutManager* instance(); 36 | static void connect(const QKeySequence& key, QObject* receiver, const char* slot); 37 | static void disconnect(const QKeySequence& key, QObject* receiver, const char* slot); 38 | static bool isConnected(const QKeySequence& key); 39 | static void clear(); 40 | 41 | private: 42 | GlobalShortcutManager(); 43 | virtual ~GlobalShortcutManager(); 44 | 45 | private: 46 | static GlobalShortcutManager* instance_; 47 | class KeyTrigger; 48 | QMap triggers_; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/FileBrowserDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2009 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #ifndef FILEBROWSERDELEGATE_H 20 | #define FILEBROWSERDELEGATE_H 21 | 22 | #include "FileBrowser.h" 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | namespace launchy { 29 | class FileBrowserDelegate : public QStyledItemDelegate { 30 | Q_OBJECT 31 | 32 | public: 33 | FileBrowserDelegate(QObject* parent = 0, FileBrowser::BrowseType browseType = FileBrowser::File); 34 | 35 | QWidget *createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const; 36 | 37 | void setEditorData(QWidget* editor, const QModelIndex& index) const; 38 | void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const; 39 | 40 | void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const; 41 | 42 | private: 43 | FileBrowser::BrowseType m_browseType; 44 | }; 45 | } 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src_old/platforms/mac/platform_mac.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2010 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | #include "platform_base.h" 22 | #include "platform_base_hotkey.h" 23 | #include "platform_base_hottrigger.h" 24 | 25 | class PlatformMac : public PlatformBase 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | PlatformMac(int& argc, char** argv); 31 | ~PlatformMac(); 32 | 33 | virtual void setPreferredIconSize(int size) { size = size; return; } 34 | virtual QKeySequence getHotkey() const { return oldKey; } 35 | virtual bool setHotkey(const QKeySequence& newHotkey, QObject* receiver, const char* slot); 36 | virtual QHash > getDirectories(); 37 | virtual QList getDefaultCatalogDirectories(); 38 | virtual QString expandEnvironmentVars(QString); 39 | virtual bool supportsAlphaBorder() const { return true; } 40 | virtual bool isAlreadyRunning() const; 41 | virtual void alterItem(CatItem* item); 42 | private: 43 | QKeySequence oldKey; 44 | 45 | }; 46 | 47 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/myplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #pragma once 20 | 21 | #define PLUGIN_NAME "MyPlugin" 22 | 23 | #include "plugin_interface.h" 24 | 25 | class Gui; 26 | 27 | 28 | class mypluginPlugin : public QObject, public PluginInterface 29 | { 30 | Q_OBJECT 31 | Q_INTERFACES(PluginInterface) 32 | 33 | public: 34 | uint HASH_myplugin; 35 | 36 | public: 37 | mypluginPlugin(); 38 | ~mypluginPlugin(); 39 | int msg(int msgId, void* wParam = NULL, void* lParam = NULL); 40 | 41 | void getLabels(QList*); 42 | void getID(uint*); 43 | void getName(QString*); 44 | void getResults(QList* id, QList* results); 45 | void getCatalog(QList* items); 46 | void launchItem(QList*, CatItem*); 47 | void doDialog(QWidget* parent, QWidget**); 48 | void endDialog(bool accept); 49 | void init(); 50 | QString getIcon(); 51 | 52 | private: 53 | Gui* gui; 54 | }; 55 | 56 | extern mypluginPlugin* gmypluginInstance; 57 | -------------------------------------------------------------------------------- /src/CharListWidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | 24 | namespace launchy { 25 | class IconDelegate; 26 | 27 | class CharListWidget : public QListWidget { 28 | Q_OBJECT 29 | public: 30 | CharListWidget(QWidget* parent = 0); 31 | 32 | void updateGeometry(const QPoint& basePos, const QPoint& offset); 33 | void resetGeometry(); 34 | void setListMode(int mode); 35 | void setIconSize(int size); 36 | 37 | protected: 38 | virtual void keyPressEvent(QKeyEvent* event); 39 | virtual void mouseDoubleClickEvent(QMouseEvent* event); 40 | virtual void focusInEvent(QFocusEvent* event); 41 | virtual void focusOutEvent(QFocusEvent* event); 42 | 43 | signals: 44 | void keyPressed(QKeyEvent* event); 45 | void focusIn(); 46 | void focusOut(); 47 | 48 | private: 49 | QRect m_baseGeometry; 50 | IconDelegate* m_iconListDelegate; 51 | QAbstractItemDelegate* m_defaultListDelegate; 52 | QLabel* m_alternativePath; 53 | }; 54 | } 55 | -------------------------------------------------------------------------------- /src/win/CrashDumper.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2010 Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | 24 | // from dbghelp.h 25 | typedef BOOL(WINAPI *MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType, 26 | CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, 27 | CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, 28 | CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam); 29 | 30 | class CrashDumper { 31 | public: 32 | CrashDumper(const TCHAR* appName); 33 | private: 34 | static LONG WINAPI TopLevelFilter(struct _EXCEPTION_POINTERS *exceptionInfo); 35 | static MINIDUMPWRITEDUMP GetMiniDumpWriteFunction(); 36 | static bool CreateMiniDump(const TCHAR* postfix, struct _EXCEPTION_POINTERS *exceptionInfo, MINIDUMP_TYPE dumpType); 37 | static BOOL DirectoryExists(LPCTSTR szPath); 38 | 39 | static MINIDUMPWRITEDUMP m_dumpFunction; 40 | static TCHAR* m_appName; 41 | }; 42 | 43 | -------------------------------------------------------------------------------- /src/SettingsManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2010 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | #include 25 | #include "Directory.h" 26 | 27 | namespace launchy { 28 | class SettingsManager { 29 | public: 30 | static SettingsManager& instance(); 31 | 32 | public: 33 | void load(); 34 | 35 | bool isPortable() const; 36 | QList directory(QString name) const; 37 | QString catalogFilename() const; 38 | QString historyFilename() const; 39 | QString skinPath(const QString& skinName) const; 40 | void setPortable(bool makePortable); 41 | void removeAll(); 42 | void setProfileName(const QString& name); 43 | QList readCatalogDirectories(); 44 | void writeCatalogDirectories(QList& directories); 45 | 46 | private: 47 | SettingsManager(); 48 | Q_DISABLE_COPY(SettingsManager) 49 | 50 | private: 51 | QString configDirectory(bool portable) const; 52 | 53 | private: 54 | bool m_portable; 55 | QString m_profileName; 56 | QHash> m_dirs; 57 | }; 58 | } 59 | -------------------------------------------------------------------------------- /src/lib/PluginInfo.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "PluginInfo.h" 20 | #include 21 | #include 22 | #include "PluginInterface.h" 23 | 24 | namespace launchy { 25 | PluginInfo::PluginInfo() 26 | : id(0), 27 | obj(nullptr), 28 | loaded(false) { 29 | } 30 | 31 | PluginInfo::~PluginInfo() { 32 | QPluginLoader loader(path); 33 | loader.unload(); 34 | } 35 | 36 | bool PluginInfo::isValid() const { 37 | return obj && !name.isNull() && id > 0; 38 | } 39 | 40 | int PluginInfo::sendMsg(int msgId, void* wParam, void* lParam) { 41 | // This should have some kind of exception guard to prevent 42 | // Launchy from crashing when a plugin is misbehaving. 43 | // This would consist of a try/catch block to handle C++ exceptions 44 | // and on Windows would also include a structured exception handler 45 | 46 | int ret = 0; 47 | try { 48 | ret = obj->msg(msgId, wParam, lParam); 49 | } 50 | catch (const std::exception& e) { 51 | qWarning() << "PluginInfo::sendMsg, exception catched:" << e.what(); 52 | } 53 | return ret; 54 | } 55 | } -------------------------------------------------------------------------------- /dist/win/Microsoft.VC80.CRT.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | n9On8FItNsK/DmT8UQxu6jYDtWQ= 6 | 0KJ/VTwP4OUHx98HlIW2AdW1kuY= 7 | YJuB+9Os2oxW4mY+2oC/r8lICZE= 8 | -------------------------------------------------------------------------------- /plugins/controly/fhores.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Fabian Hofsaess 2 | 3 | #include "precompiled.h" 4 | #include "fhores.h" 5 | #include "fhoenv.h" 6 | 7 | 8 | const DWORD maxSize = 256; 9 | 10 | QString FhoRes::getResourceString(HINSTANCE hLib, int resourceId) { 11 | QString resourceString; 12 | 13 | if (hLib != NULL) { 14 | TCHAR buffer[maxSize]; 15 | 16 | int res = LoadString(hLib, abs(resourceId), buffer, maxSize); 17 | if (res != 0) { 18 | resourceString = QString::fromUtf16(buffer); 19 | } 20 | } 21 | 22 | return resourceString; 23 | } 24 | 25 | QString FhoRes::getResourceString(QString &resourceName, int resourceId) { 26 | // e.g. '@%SystemRoot%\system32\SHELL32.dll' ,-32517 27 | 28 | QString resourceString; 29 | 30 | QString libraryName = FhoEnv::expand(resourceName); 31 | // remove leading @ 32 | if (libraryName.startsWith('@')) { 33 | libraryName = libraryName.right(libraryName.length()-1); 34 | } 35 | 36 | // can we do this without loading the library (like for icons via ExtractIcon instead of LoadIcon/LoadImage)? 37 | HINSTANCE hLib = LoadLibrary((LPCTSTR) libraryName.utf16()); 38 | if (hLib != NULL) { 39 | resourceString = getResourceString(hLib, resourceId); 40 | 41 | FreeLibrary(hLib); 42 | } 43 | 44 | return resourceString; 45 | } 46 | 47 | QString FhoRes::getResourceString(QString &resourceIdentifier) { 48 | // e.g. '@%SystemRoot%\system32\SHELL32.dll,-32517' 49 | 50 | QString resourceString; 51 | 52 | QStringList split = resourceIdentifier.split(",", QString::SkipEmptyParts); 53 | if (split.size() == 2) { 54 | QString resourceName = split.at(0); 55 | QString resourceIdStr = split.at(1); 56 | int resourceId = resourceIdStr.toInt(); 57 | 58 | resourceString = getResourceString(resourceName, resourceId); 59 | } 60 | 61 | return resourceString; 62 | } 63 | 64 | -------------------------------------------------------------------------------- /docs/HOW_TO_BUILD.org: -------------------------------------------------------------------------------- 1 | 2 | 3 | * How to build 4 | 5 | ** Windows with Visual Studio 2015 6 | *** Environments 7 | Here is what I am using for development and release build. 8 | - Visual Studio Community 2015 ([[https://my.visualstudio.com/Downloads?q=visual%2520studio%25202015&wt.mc_id=o~msft~vscom~older-downloads][download page]]) 9 | - Qt5.11.1 ([[https://download.qt.io/archive/qt/5.11/5.11.1/][download page]]) 10 | - Qt-VS-addin msvc2015 ([[https://download.qt.io/official_releases/vsaddin/][downlaod page]]) 11 | - Python3.6.7 ([[https://www.python.org/downloads/release/python-367/][download page]]) 12 | 13 | *** Configuration 14 | After you have all the above installed, you need to: 15 | 1. Configure qt-vs-addin to the qt path. I recommend to set name to =Qt5.11.1x64= in the Qt Version panel(and =Qt5.11.1x86= if you want to build a win32 version), because this name will be stored in "Launchy.sln". This [[http://doc.qt.io/archives/vs-addin/vs-addin-managing-projects.html][qt official manual]] maight help. 16 | 2. Change launchy solution's Qt version to what you have just configured in step 1. 17 | 3. Add =PYTHONPATH= in user environment variables (and =PYTHONPATH32= if you want to build a win32 version), the value should be the path that you installed python. 18 | 19 | *** Build and debug 20 | Now you can build and debug Launchy. There are the tips: 21 | 1. You should build in =Release= configuration. 22 | 2. Even when you are debugging, you should still use release configuration, because we have installed python in release, [[https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017][this page]] have more detailed information about VS working with python. 23 | 3. When debugging in release configuration, you may encounter "unwanted fast jumps" when stepping the code, this is because of compile optimization, and you can turn it off temporary in project property panel. 24 | -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/plugin_interface.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #include "plugin_interface.h" 20 | 21 | /*! \file 22 | \brief A Documented file. 23 | 24 | Details. 25 | */ 26 | 27 | void runProgram(QString path, QString args) { 28 | #ifdef Q_WS_WIN 29 | SHELLEXECUTEINFO ShExecInfo; 30 | 31 | ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); 32 | ShExecInfo.fMask = SEE_MASK_FLAG_NO_UI; 33 | ShExecInfo.hwnd = NULL; 34 | ShExecInfo.lpVerb = NULL; 35 | ShExecInfo.lpFile = (LPCTSTR) (path).utf16(); 36 | if (args != "") { 37 | ShExecInfo.lpParameters = (LPCTSTR) args.utf16(); 38 | } else { 39 | ShExecInfo.lpParameters = NULL; 40 | } 41 | QDir dir(path); 42 | QFileInfo info(path); 43 | if (!info.isDir() && info.isFile()) 44 | dir.cdUp(); 45 | ShExecInfo.lpDirectory = (LPCTSTR)QDir::toNativeSeparators(dir.absolutePath()).utf16(); 46 | ShExecInfo.nShow = SW_NORMAL; 47 | ShExecInfo.hInstApp = NULL; 48 | 49 | ShellExecuteEx(&ShExecInfo); 50 | #endif 51 | 52 | #ifdef Q_WS_MAC 53 | 54 | #endif 55 | 56 | #ifdef Q_WS_X11 57 | 58 | #endif 59 | 60 | } -------------------------------------------------------------------------------- /docs/docs_old/Plugin API/myplugin/plugin_interface.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #include "plugin_interface.h" 20 | 21 | /*! \file 22 | \brief A Documented file. 23 | 24 | Details. 25 | */ 26 | 27 | void runProgram(QString path, QString args) { 28 | #ifdef Q_WS_WIN 29 | SHELLEXECUTEINFO ShExecInfo; 30 | 31 | ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); 32 | ShExecInfo.fMask = SEE_MASK_FLAG_NO_UI; 33 | ShExecInfo.hwnd = NULL; 34 | ShExecInfo.lpVerb = NULL; 35 | ShExecInfo.lpFile = (LPCTSTR) (path).utf16(); 36 | if (args != "") { 37 | ShExecInfo.lpParameters = (LPCTSTR) args.utf16(); 38 | } else { 39 | ShExecInfo.lpParameters = NULL; 40 | } 41 | QDir dir(path); 42 | QFileInfo info(path); 43 | if (!info.isDir() && info.isFile()) 44 | dir.cdUp(); 45 | ShExecInfo.lpDirectory = (LPCTSTR)QDir::toNativeSeparators(dir.absolutePath()).utf16(); 46 | ShExecInfo.nShow = SW_NORMAL; 47 | ShExecInfo.hInstApp = NULL; 48 | 49 | ShellExecuteEx(&ShExecInfo); 50 | #endif 51 | 52 | #ifdef Q_WS_MAC 53 | 54 | #endif 55 | 56 | #ifdef Q_WS_X11 57 | 58 | #endif 59 | 60 | } -------------------------------------------------------------------------------- /skins/Note/style.qss: -------------------------------------------------------------------------------- 1 | #launchy { 2 | } 3 | 4 | #input { 5 | font: 14px "NoteScrawl"; 6 | border-width: 0px; 7 | background-color: rgba(0,244,120,0%); 8 | border-style: solid; 9 | color: rgb(157,12,21); 10 | qproperty-alignment: AlignLeft; 11 | qproperty-geometry: rect(25 130 130 25); 12 | } 13 | 14 | #output { 15 | font: 14px "NoteScrawl"; 16 | border-width: 0px; 17 | background-color: rgba(0,244,120,0%); 18 | border-style: solid; 19 | color: rgb(157,12,21); 20 | qproperty-alignment: AlignCenter; 21 | qproperty-geometry: rect(25 170 170 20); 22 | } 23 | 24 | #outputIcon { 25 | qproperty-geometry: rect(180 65 32 32); 26 | } 27 | 28 | #alternatives { 29 | font: 12px Sans, Verdana; 30 | background-color: rgb(255,243,149); 31 | alternate-background-color: rgb(255,245,120); 32 | color: rgb(157,12,21); 33 | border-style: solid; 34 | border-width: 2px; 35 | border-color: rgb(255,243,149); 36 | qproperty-geometry: rect(8 215 256 40); 37 | } 38 | QScrollBar#altScroll:vertical { 39 | image: url(scrollBack.png); 40 | width: 16px; 41 | margin: 16px 0px 16px 0px; 42 | } 43 | 44 | 45 | QScrollBar#altScroll::handle:vertical { 46 | background: qlineargradient(x1:0, y1:0.5, x2:1, y2:0.5, stop:0 rgb(255,245,120), stop:0.5 white, stop:1 rgb(255,245,120)); 47 | } 48 | 49 | QScrollBar#altScroll::sub-line:vertical { 50 | width: 16px; 51 | height: 16px; 52 | subcontrol-position: top; 53 | subcontrol-origin: margin; 54 | image: url(scrollUp.png); 55 | } 56 | 57 | QScrollBar#altScroll::add-page:vertical { 58 | background: url(scrollBack.png); 59 | } 60 | 61 | QScrollBar#altScroll::sub-page:vertical { 62 | background: url(scrollBack.png); 63 | } 64 | 65 | QScrollBar#altScroll::add-line:vertical { 66 | width: 16px; 67 | height: 16px; 68 | subcontrol-position: bottom; 69 | subcontrol-origin: margin; 70 | image: url(scrollDown.png); 71 | } 72 | -------------------------------------------------------------------------------- /src/IconDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | 25 | #define ROLE_SHORT Qt::DisplayRole 26 | #define ROLE_FULL Qt::ToolTipRole 27 | #define ROLE_ICON Qt::DecorationRole 28 | 29 | namespace launchy { 30 | class IconDelegate : public QStyledItemDelegate { 31 | Q_OBJECT 32 | public: 33 | IconDelegate(QObject *parent = 0); 34 | 35 | virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, 36 | const QModelIndex &index) const; 37 | 38 | virtual QSize sizeHint(const QStyleOptionViewItem &option, 39 | const QModelIndex &index) const; 40 | 41 | void setColor(QString line, bool hi = false); 42 | 43 | void setFamily(QString fam); 44 | void setSize(int s); 45 | void setWeight(int w); 46 | void setItalics(int i); 47 | void setAlternativePathWidget(QLabel* label); 48 | 49 | private: 50 | QColor m_color; 51 | QColor m_hiColor; 52 | QString m_family; 53 | int m_size; 54 | int m_weight; 55 | int italics; 56 | QLabel* m_alternativesPath; 57 | }; 58 | } -------------------------------------------------------------------------------- /src/win/UtilWin.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2007-2009 Josh Karlin, Simon Capewell 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | void UpdateEnvironment(); 23 | 24 | QString GetShellDirectory(int type); 25 | 26 | bool EnumerateNetworkServers(QStringList& items, DWORD serverType, const wchar_t* domain = NULL); 27 | 28 | void SetForegroundWindowEx(HWND hWnd); 29 | 30 | /* 31 | class LimitSingleInstance { 32 | public: 33 | LimitSingleInstance(const TCHAR *strMutexName) 34 | { 35 | //Make sure that you use a name that is unique for this application otherwise 36 | //two apps may think they are the same if they are using same name for 37 | //3rd parm to CreateMutex 38 | mutex = CreateMutex(NULL, FALSE, strMutexName); //do early 39 | lastError = GetLastError(); //save for use later... 40 | } 41 | 42 | ~LimitSingleInstance() 43 | { 44 | if (mutex) //Do not forget to close handles. 45 | { 46 | CloseHandle(mutex); //Do as late as possible. 47 | mutex = NULL; //Good habit to be in. 48 | } 49 | } 50 | 51 | bool IsAnotherInstanceRunning() 52 | { 53 | return (ERROR_ALREADY_EXISTS == lastError); 54 | } 55 | 56 | private: 57 | HANDLE mutex; 58 | DWORD lastError; 59 | }; 60 | */ 61 | -------------------------------------------------------------------------------- /src_old/platforms/gnome/platform_gnome_util.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "platform_gnome_util.h" 4 | #include 5 | 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | 14 | QIcon GnomeIconProvider::icon(const QFileInfo& info) const 15 | { 16 | if (info.fileName().endsWith(".png", Qt::CaseInsensitive)) 17 | { 18 | return QIcon(info.absoluteFilePath()); 19 | } 20 | if (info.fileName().endsWith(".ico", Qt::CaseInsensitive)) 21 | return QIcon(info.absoluteFilePath()); 22 | 23 | gdk_threads_enter(); 24 | GnomeIconLookupResultFlags resultFlags; 25 | char* file = gnome_icon_lookup_sync(gtk_icon_theme_get_default(), 26 | NULL, 27 | info.absoluteFilePath().toLocal8Bit().data(), 28 | NULL, 29 | GNOME_ICON_LOOKUP_FLAGS_NONE, 30 | &resultFlags); 31 | GtkIconInfo* icinfo = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(), 32 | file, 33 | 32, 34 | GTK_ICON_LOOKUP_NO_SVG); 35 | 36 | GdkPixbuf* buff = gtk_icon_info_load_icon(icinfo, NULL); 37 | gchar* pixmap; 38 | gsize buflen; 39 | 40 | gdk_pixbuf_save_to_buffer (buff, 41 | &pixmap, 42 | &buflen, 43 | "png", 44 | NULL, NULL); 45 | QPixmap qp; 46 | qp.loadFromData((const uchar*) pixmap, buflen, "png"); 47 | QIcon qico(qp); 48 | free(pixmap); 49 | g_object_unref(buff); 50 | gdk_threads_leave(); 51 | 52 | return qp; 53 | } 54 | -------------------------------------------------------------------------------- /src/linux/platform_unix.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy: Application Launcher 3 | Copyright (C) 2008 Josh Karlin 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License 7 | as published by the Free Software Foundation; either version 2 8 | of the License, or (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "AppBase.h" 23 | #include "platform_unix_util.h" 24 | #include "Directory.h" 25 | 26 | namespace launchy { 27 | 28 | class AppUnix : public AppBase { 29 | Q_OBJECT 30 | public: 31 | AppUnix(int& argc, char** argv); 32 | virtual ~AppUnix(); 33 | 34 | void setPreferredIconSize(int size); 35 | 36 | QString GetSettingsDirectory() { return ""; } 37 | QList getDefaultCatalogDirectories(); 38 | 39 | 40 | void AddToNotificationArea() {} 41 | void RemoveFromNotificationArea() {} 42 | 43 | virtual QHash> getDirectories(); 44 | virtual QString expandEnvironmentVars(QString txt); 45 | 46 | bool supportsAlphaBorder() const; 47 | /* 48 | QIcon icon(const QFileInfo& info) { 49 | shared_ptr u(dynamic_pointer_cast(icons)); 50 | return u->getIcon(info); 51 | // return ((UnixIconProvider*) icons.get())->getIcon(info); 52 | } 53 | */ 54 | 55 | virtual void alterItem(CatItem*); 56 | }; 57 | 58 | } 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /src_old/platform_base_hottrigger.h: -------------------------------------------------------------------------------- 1 | /* 2 | * globalshortcuttrigger.h - Helper class activating global shortcut 3 | * Copyright (C) 2006 Maciej Niedzielski 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License 7 | * as published by the Free Software Foundation; either version 2 8 | * of the License, or (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | * 19 | */ 20 | 21 | #ifndef GLOBALSHORTCUTTRIGGER_H 22 | #define GLOBALSHORTCUTTRIGGER_H 23 | 24 | #include 25 | #include "platform_base_hotkey.h" 26 | // #include 27 | #include 28 | 29 | // using namespace boost; 30 | 31 | class GlobalShortcutManager::KeyTrigger : public QObject 32 | { 33 | Q_OBJECT 34 | public: 35 | /** 36 | * Is there any slot connected to this hotkey? 37 | */ 38 | bool isUsed() const 39 | { 40 | return QObject::receivers(SIGNAL(activated())) > 0; 41 | } 42 | 43 | signals: 44 | void activated(); 45 | 46 | private: 47 | friend class GlobalShortcutManager; 48 | /** 49 | * Registers the \a key. 50 | */ 51 | KeyTrigger(const QKeySequence& key); 52 | /** 53 | * Unregisters the key. 54 | */ 55 | virtual ~KeyTrigger(); 56 | 57 | bool isConnected(); 58 | 59 | /** 60 | * Platform-specific helper 61 | */ 62 | class Impl; 63 | std::shared_ptr d; 64 | }; 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /deps/QHotkey/QHotkeyP.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include "QHotkey.h" 7 | 8 | class QHotkeyPrivate : public QObject { 9 | Q_OBJECT 10 | public: 11 | Q_DECLARE_PUBLIC(QHotkey) 12 | 13 | explicit QHotkeyPrivate(QHotkey* q); 14 | virtual ~QHotkeyPrivate(); 15 | 16 | public: 17 | const QKeySequence& keySeq() const; 18 | void setKeySeq(const QKeySequence& keySeq); 19 | bool registered() const; 20 | 21 | private: 22 | void init(); 23 | void unsetKey(); 24 | 25 | 26 | private: 27 | static bool activateHotKey(int keyId); 28 | static int calcHotkeyId(const QKeySequence& keySeq); 29 | static int calcHotkeyId(quint32 key, quint32 mod); 30 | static inline Qt::Key getKey(const QKeySequence& keySeq); 31 | static inline Qt::KeyboardModifiers getModifiers(const QKeySequence& keySeq); 32 | static quint32 toNativeKeycode(Qt::Key key); 33 | static quint32 toNativeModifiers(Qt::KeyboardModifiers mod); 34 | static bool registerKey(quint32 key, quint32 mod, int keyId); 35 | static void unregisterKey(quint32 key, quint32 mod, int keyId); 36 | 37 | private: 38 | class EventFilter : public QAbstractNativeEventFilter { 39 | public: 40 | virtual bool nativeEventFilter(const QByteArray &eventType, 41 | void *message, 42 | long *result); 43 | }; 44 | 45 | private: 46 | QHotkey* q_ptr; 47 | QKeySequence m_keySeq; 48 | bool m_bRegistered; 49 | 50 | static QScopedPointer s_eventFilter; 51 | static QMultiHash s_hotKeys; 52 | 53 | static struct NativeKeyMap { 54 | Qt::Key qtKey; 55 | quint32 nativeKey; 56 | } s_keyMap[]; 57 | 58 | static struct NativeModMap { 59 | Qt::KeyboardModifier qtMod; 60 | quint32 nativeMod; 61 | } s_modMap[]; 62 | }; 63 | -------------------------------------------------------------------------------- /src/pluginpy/TestWidget.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Launchy 3 | Copyright (C) 2018 Samson Wang 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "TestWidget.h" 20 | #include 21 | 22 | namespace py = pybind11; 23 | 24 | namespace pluginpy { 25 | 26 | TestWidget& TestWidget::instance() { 27 | static TestWidget s_obj; 28 | return s_obj; 29 | } 30 | 31 | TestWidget::TestWidget() 32 | : m_testWidget(new QWidget) { 33 | 34 | } 35 | 36 | void pluginpy::TestWidget::initTestWidget() { 37 | 38 | try { 39 | // init qsetting 40 | py::object launchyModule = py::module::import("launchy"); 41 | py::object launchyDict = launchyModule.attr("__dict__"); 42 | PyObject* widgetPyObj = PyLong_FromVoidPtr(m_testWidget); 43 | launchyDict["__testWidget"] = py::handle(widgetPyObj); 44 | 45 | // run setQSetting from launchy_util 46 | py::object launchyUtilModule = py::module::import("launchy_test"); 47 | 48 | m_testWidget->show(); 49 | } 50 | catch (const py::error_already_set& e) { 51 | PyErr_Print(); 52 | PyErr_Clear(); 53 | const char* errInfo = e.what(); 54 | qWarning() << "pluginpy::TestWidget::initTestWidget," 55 | << "fail to init test widget," << errInfo; 56 | } 57 | } 58 | 59 | 60 | } -------------------------------------------------------------------------------- /docs/docs_old/readme.txt: -------------------------------------------------------------------------------- 1 | For installation instructions, please refer to the INSTALL.txt file. This file is for the author's random notes to himself. 2 | 3 | 2.2 Issues in OS X: 4 | . need to be able to bring launchy up on any virtual desktop, not have to switch to launchy's desktop 5 | 6 | 2.2 Issues in Linux: 7 | 8 | 9 | 10 | Bugs for 2.2: 11 | 12 | 13 | To be done for 2.2 All: 14 | . why are there so many checks for updates on some networks? It seems like it should only happen once.. 15 | . add a history of recent commands mapped to up arrow 16 | . fix text alignment problem for output box in skins (discussed in skins 2.0 forum) 17 | 18 | To be done for 2.2 Windows: 19 | . Rescue mode should kill running Launchy's 20 | . .png and .ico files should display correctly. 21 | . add a run as admin option 22 | 23 | To be done for 2.1.3: 24 | . Lost .png support in Windows. It just shows the default png app as opposed to the actual picture. This is due to my switch back in windows for 2.1.2 for .ico support. 25 | 26 | 27 | Done for 2.1.2: 28 | . Multiple tabs problem fixed. 29 | . Added support for plugins to load other plugins (now python plugins can be made) 30 | . Added back .ico support 31 | 32 | 2.0+: 33 | . Add memory for runny/launchy (rebuild/exit/etc..) 34 | . Add a plugin for open with etc.. 35 | . Add BBorn's kanji shortcuts 36 | 37 | 38 | Done for 2.1: 39 | . Added default search 40 | . Better file browsing (/ and \ now tab complete) 41 | . Added rescue mode (new shortcut in start menu) 42 | . Fixed the database update timer 43 | . Limited the transparency to a minimum of 15% 44 | . Fixed the centering problem when multiple monitors in use 45 | . Fixed the encoding problem with urls, e.g. googling for "c#" now works 46 | . Searches are now even faster, and the catalog uses slightly less memory. 47 | 48 | 49 | To be fixed from 2.0: 50 | . encording of url characters in weby 51 | . Memory problem 52 | 53 | 54 | --------------------------------------------------------------------------------