Fix the window.hide_wayland_decoration setting

Fixes #2267
This commit is contained in:
Florian Bruhin 2017-10-09 06:49:27 +02:00
parent 220d1be500
commit f63b95c298
4 changed files with 23 additions and 4 deletions

View File

@ -94,6 +94,7 @@ Fixes
insert mode anymore.
- The keybinding help widget now works correctly when using keybindings with a
count.
- The `window.hide_wayland_decoration setting now works correctly again.
v0.11.1 (unreleased)
--------------------

View File

@ -473,10 +473,6 @@ def _init_modules(args, crash_handler):
objreg.register('cache', diskcache)
log.init.debug("Misc initialization...")
if config.val.window.hide_wayland_decoration:
os.environ['QT_WAYLAND_DISABLE_WINDOWDECORATION'] = '1'
else:
os.environ.pop('QT_WAYLAND_DISABLE_WINDOWDECORATION', None)
macros.init()
# Init backend-specific stuff
browsertab.init()

View File

@ -80,6 +80,11 @@ def early_init(args):
config.val.force_software_rendering):
os.environ['QT_XCB_FORCE_SOFTWARE_OPENGL'] = '1'
if config.val.window.hide_wayland_decoration:
os.environ['QT_WAYLAND_DISABLE_WINDOWDECORATION'] = '1'
else:
os.environ.pop('QT_WAYLAND_DISABLE_WINDOWDECORATION', None)
def get_backend(args):
"""Find out what backend to use based on available libraries."""

View File

@ -209,6 +209,23 @@ class TestEarlyInit:
assert os.environ[envvar] == '1'
@pytest.mark.parametrize('old', ['1', '0', None])
@pytest.mark.parametrize('configval', [True, False])
def test_hide_wayland_decoration(self, monkeypatch, init_patch, args,
old, configval):
envvar = 'QT_WAYLAND_DISABLE_WINDOWDECORATION'
if old is None:
monkeypatch.delenv(envvar, raising=False)
else:
monkeypatch.setenv(envvar, old)
args.temp_settings = [('window.hide_wayland_decoration',
str(configval))]
configinit.early_init(args)
expected = '1' if configval else None
assert os.environ.get(envvar) == expected
@pytest.mark.parametrize('errors', [True, False])
def test_late_init(init_patch, monkeypatch, fake_save_manager, args,