Merge remote-tracking branch 'origin/pr/3750'
This commit is contained in:
commit
e5ffcbd49f
@ -264,7 +264,7 @@
|
||||
|<<url.searchengines,url.searchengines>>|Search engines which can be used via the address bar.
|
||||
|<<url.start_pages,url.start_pages>>|Page(s) to open at the start.
|
||||
|<<url.yank_ignored_parameters,url.yank_ignored_parameters>>|URL parameters to strip with `:yank url`.
|
||||
|<<window.hide_wayland_decoration,window.hide_wayland_decoration>>|Hide the window decoration when using wayland.
|
||||
|<<window.hide_decoration,window.hide_decoration>>|Hide the window decoration.
|
||||
|<<window.title_format,window.title_format>>|Format to use for the window title. The same placeholders like for
|
||||
|<<zoom.default,zoom.default>>|Default zoom level.
|
||||
|<<zoom.levels,zoom.levels>>|Available zoom levels.
|
||||
@ -3157,9 +3157,9 @@ Default:
|
||||
- +pass:[utm_term]+
|
||||
- +pass:[utm_content]+
|
||||
|
||||
[[window.hide_wayland_decoration]]
|
||||
=== window.hide_wayland_decoration
|
||||
Hide the window decoration when using wayland.
|
||||
[[window.hide_decoration]]
|
||||
=== window.hide_decoration
|
||||
Hide the window decoration.
|
||||
This setting requires a restart.
|
||||
|
||||
Type: <<types,Bool>>
|
||||
|
@ -1534,10 +1534,15 @@ url.yank_ignored_parameters:
|
||||
## window
|
||||
|
||||
window.hide_wayland_decoration:
|
||||
renamed: window.hide_decoration
|
||||
|
||||
window.hide_decoration:
|
||||
type: Bool
|
||||
default: false
|
||||
restart: true
|
||||
desc: Hide the window decoration when using wayland.
|
||||
restart: false
|
||||
desc: |
|
||||
Hide the window decoration. Does require a restart for
|
||||
Wayland users.
|
||||
|
||||
window.title_format:
|
||||
type:
|
||||
|
@ -90,7 +90,7 @@ def _init_envvars():
|
||||
if config.val.qt.force_platform is not None:
|
||||
os.environ['QT_QPA_PLATFORM'] = config.val.qt.force_platform
|
||||
|
||||
if config.val.window.hide_wayland_decoration:
|
||||
if config.val.window.hide_decoration:
|
||||
os.environ['QT_WAYLAND_DISABLE_WINDOWDECORATION'] = '1'
|
||||
|
||||
if config.val.qt.highdpi:
|
||||
|
@ -230,6 +230,7 @@ class MainWindow(QWidget):
|
||||
config.instance.changed.connect(self._on_config_changed)
|
||||
|
||||
objreg.get("app").new_window.emit(self)
|
||||
self._set_decoration(config.val.window.hide_decoration)
|
||||
|
||||
def _init_geometry(self, geometry):
|
||||
"""Initialize the window geometry or load it from disk."""
|
||||
@ -344,6 +345,8 @@ class MainWindow(QWidget):
|
||||
elif option == 'statusbar.position':
|
||||
self._add_widgets()
|
||||
self._update_overlay_geometries()
|
||||
elif option == 'window.hide_decoration':
|
||||
self._set_decoration(config.val.window.hide_decoration)
|
||||
|
||||
def _add_widgets(self):
|
||||
"""Add or readd all widgets to the VBox."""
|
||||
@ -493,6 +496,16 @@ class MainWindow(QWidget):
|
||||
completion_obj.on_clear_completion_selection)
|
||||
cmd.hide_completion.connect(completion_obj.hide)
|
||||
|
||||
def _set_decoration(self, hidden):
|
||||
"""Set the visibility of the window decoration via Qt."""
|
||||
window_flags = Qt.Window
|
||||
refresh_window = self.isVisible()
|
||||
if hidden:
|
||||
window_flags |= Qt.CustomizeWindowHint | Qt.NoDropShadowWindowHint
|
||||
self.setWindowFlags(window_flags)
|
||||
if refresh_window:
|
||||
self.show()
|
||||
|
||||
@pyqtSlot(bool)
|
||||
def _on_fullscreen_requested(self, on):
|
||||
if not config.val.content.windowed_fullscreen:
|
||||
|
@ -292,7 +292,7 @@ class TestEarlyInit:
|
||||
'QT_XCB_FORCE_SOFTWARE_OPENGL', '1'),
|
||||
('qt.force_platform', 'toaster', 'QT_QPA_PLATFORM', 'toaster'),
|
||||
('qt.highdpi', True, 'QT_AUTO_SCREEN_SCALE_FACTOR', '1'),
|
||||
('window.hide_wayland_decoration', True,
|
||||
('window.hide_decoration', True,
|
||||
'QT_WAYLAND_DISABLE_WINDOWDECORATION', '1')
|
||||
])
|
||||
def test_env_vars(self, monkeypatch, config_stub,
|
||||
|
Loading…
Reference in New Issue
Block a user