Multiwindow =========== cmdutils.register (and thus Command) gets argument scope which is global/window when scope=global, instance is searched starting with the application singleton. when scope=window, instance is searched starting with the window the command was executed in. Each window has its own CommandDispatcher, which adds the window as an attribute to every Command before calling the handler. The handler then uses this to get the starting point for instance=. IPC === We use QLocalSocket to communicate with another instance TODO: find out why many apps just use QLocalSocket as a control channel, and shared memory for data. Max data size might be 8k, but this is enough for commandline args. http://developer.nokia.com/community/wiki/Qt_IPC_using_QLocalSocket_%26_QLocalServer https://www.mail-archive.com/pyqt@riverbankcomputing.com/msg22736.html http://stackoverflow.com/a/8795563/2085149 http://nullege.com/codes/show/src%40n%40i%40ninja-ide2-2.1.1%40ninja_ide%40core%40ipc.py/20/PyQt4.QtNetwork.QLocalSocket/python http://nullege.com/codes/show/src%40t%40a%40taurus-3.0.0%40lib%40taurus%40qt%40qtgui%40container%40taurusmainwindow.py/780/PyQt4.QtNetwork.QLocalSocket/python http://nullege.com/codes/show/src%40h%40e%40Heliotrope-HEAD%40purple_server.py/95/PyQt4.QtNetwork.QLocalSocket/python http://qt-project.org/doc/qt-4.8/qlocalserver.html https://gitorious.org/qsingleapplication/qsingleapplication/source/ca13324b0f5bdfcaf4e379a78108f0bd85fed98a:qSingleApplication.py#L49 http://www.dallagnese.fr/en/computers-it/recette-python-qt4-qsingleapplication-pyside/ http://stackoverflow.com/questions/8786136/pyqt-how-to-detect-and-close-ui-if-its-already-running http://stackoverflow.com/questions/12712360/qtsingleapplication-for-pyside-or-pyqt Netscape cookies ================ http://www.cookiecentral.com/faq/#3.5 https://docs.python.org/3.4/library/http.cookies.html http://qt-project.org/doc/qt-4.8/qnetworkcookie.html - Second column (flag): TRUE if domain starts with ., else FALSE - if a cookie is a http-only cookie domain is prepended with a #HttpOnly_ - Python's http.cookiejar.MozillaCookieJar might help Element selection detection =========================== Possible options: - javascript: http://stackoverflow.com/a/2848120/2085149 - microFocusChanged and check active element via: frame = page.currentFrame() elem = frame.findFirstElement('*:focus') Completion view (not QTreeView) =============================== Perhaps using a QHBoxLayout of QTableViews and creating/destroying them based on the completion would be a better idea? HTML help pages =============== - Only generate HTML when releasing (and ship it with the releases!) (setuptools integration) X Update asciidoc along with source updates X Provide script to generate HTML from asciidoc - Show error page with some instructions when HTMLs are missing. - Show some kind of message when: - .html files are found - .asciidoc files are found (because qutebrowser is running locally from gitrepo) - .asciidoc files are newer than .html files