diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 1cdc19113..c8dafa97b 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -63,6 +63,8 @@ Removed and thus removed. - The `:completion-item-prev` and `:completion-item-next` commands got merged into a new `:completion-focus {prev,next}` command and thus removed. +- The `ui -> hide-mouse-cursor` setting since it was completely broken and + nobody seemed to care. v0.8.3 (unreleased) ------------------- diff --git a/qutebrowser/app.py b/qutebrowser/app.py index cdcbff460..a25e3a4bb 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -33,9 +33,9 @@ import tokenize from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtWebKit import QWebSettings -from PyQt5.QtGui import QDesktopServices, QPixmap, QIcon, QCursor, QWindow +from PyQt5.QtGui import QDesktopServices, QPixmap, QIcon, QWindow from PyQt5.QtCore import (pyqtSlot, qInstallMessageHandler, QTimer, QUrl, - QObject, Qt, QEvent, pyqtSignal) + QObject, QEvent, pyqtSignal) try: import hunter except ImportError: @@ -339,16 +339,17 @@ def _save_version(): def on_focus_changed(_old, new): """Register currently focused main window in the object registry.""" - if not isinstance(new, QWidget) and new is not None: + if new is None: + return + + if not isinstance(new, QWidget): log.misc.debug("on_focus_changed called with non-QWidget {!r}".format( new)) return - if new is not None: - _maybe_hide_mouse_cursor() - objreg.register('last-focused-main-window', new.window(), update=True) - else: - qApp.restoreOverrideCursor() + window = new.window() + if isinstance(window, mainwindow.MainWindow): + objreg.register('last-focused-main-window', window, update=True) def open_desktopservices_url(url): @@ -359,17 +360,6 @@ def open_desktopservices_url(url): tabbed_browser.tabopen(url) -@config.change_filter('ui', 'hide-mouse-cursor', function=True) -def _maybe_hide_mouse_cursor(): - """Hide the mouse cursor if it isn't yet and it's configured.""" - if config.get('ui', 'hide-mouse-cursor'): - if qApp.overrideCursor() is not None: - return - qApp.setOverrideCursor(QCursor(Qt.BlankCursor)) - else: - qApp.restoreOverrideCursor() - - def _init_modules(args, crash_handler): """Initialize all 'modules' which need to be initialized. @@ -431,8 +421,6 @@ def _init_modules(args, crash_handler): os.environ['QT_WAYLAND_DISABLE_WINDOWDECORATION'] = '1' else: os.environ.pop('QT_WAYLAND_DISABLE_WINDOWDECORATION', None) - _maybe_hide_mouse_cursor() - objreg.get('config').changed.connect(_maybe_hide_mouse_cursor) temp_downloads = downloads.TempDownloadManager(qApp) objreg.register('temporary-downloads', temp_downloads) diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index a5521e275..412fdc68f 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -350,6 +350,7 @@ class ConfigManager(QObject): ('tabs', 'auto-hide'), ('tabs', 'hide-always'), ('ui', 'display-statusbar-messages'), + ('ui', 'hide-mouse-cursor'), ('general', 'wrap-search'), ] CHANGED_OPTIONS = { diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py index 6837ed70a..11ebe5415 100644 --- a/qutebrowser/config/configdata.py +++ b/qutebrowser/config/configdata.py @@ -346,10 +346,6 @@ def data(readonly=False): "* `{scroll_pos}`: The page scroll position.\n" "* `{host}`: The host of the current web page."), - ('hide-mouse-cursor', - SettingValue(typ.Bool(), 'false'), - "Whether to hide the mouse cursor."), - ('modal-js-dialog', SettingValue(typ.Bool(), 'false'), "Use standard JavaScript modal dialog for alert() and confirm()"), diff --git a/qutebrowser/mainwindow/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py index 8198ba8cd..b44a5b782 100644 --- a/qutebrowser/mainwindow/mainwindow.py +++ b/qutebrowser/mainwindow/mainwindow.py @@ -175,9 +175,6 @@ class MainWindow(QWidget): QTimer.singleShot(0, self._connect_resize_keyhint) objreg.get('config').changed.connect(self.on_config_changed) - if config.get('ui', 'hide-mouse-cursor'): - self.setCursor(Qt.BlankCursor) - objreg.get("app").new_window.emit(self) def _init_downloadmanager(self):