Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hotfix #304: Compositing glitches when restoring from tray #307

Merged
merged 6 commits into from
Feb 14, 2017

Conversation

phoerious
Copy link
Member

@phoerious phoerious commented Feb 14, 2017

This PR resolves #304.

Description

When "Hide window to system tray when minimized" and "Minimize window at application startup" are enabled, restoring the window from the tray causes compositing problems on Ubuntu Unity/Compiz.
Most of those glitches have already been solved as a result of #276 which properly sets the minimize flag on the window before hiding it, but that didn't apply at startup time.

With this fix, KeePassXC doesn't try to show the main window anymore, only to minimize it right after if both options are set. This not only gets rid of artifacts on Ubuntu, but also prevents the window from flashing up for a split second after starting KeePassXC.

I also smuggled another small fix into this PR which solves a timing issues which sometimes causes the window to not be shown properly when restoring it from the tray on Linux (at the cost of not having the window manager's restore animation anymore).

How Has This Been Tested?

This was tested on a physical Ubuntu 16.04 machine with Unity and the glitches are gone.

It was also tested on the following non-affected platforms to ensure no regressions were introduced:

  • Arch Linux with Plasma 5
  • Ubuntu 16.10 with Plasma 5
  • Ubuntu 16.04 with Unity inside a VirtualBox VM
  • Windows 10 (also a VirtualBox VM)

Mac was not tested because it doesn't have a tray.

Types of changes

  • ✅ Bug fix (non-breaking change which fixes an issue)

Checklist:

  • ✅ I have read the CONTRIBUTING document. [REQUIRED]
  • ✅ My code follows the code style of this project. [REQUIRED]
  • ✅ All new and existing tests passed. [REQUIRED]

@phoerious phoerious merged commit 012d0ee into release/2.1.2 Feb 14, 2017
@phoerious phoerious deleted the hotfix/304-minimize-tray-decoration-glitches branch February 14, 2017 21:21
phoerious added a commit that referenced this pull request Feb 17, 2017
- Ask for save location when creating a new database [#302]
- Remove Libmicrohttpd dependency to clean up the code and ensure better OS X compatibility [#317, #265]
- Prevent Qt from degrading Wifi network performance on certain platforms [#318]
- Visually refine user interface on OS X and other platforms [#299]
- Remove unusable tray icon setting on OS X [#293]
- Fix compositing glitches on Ubuntu and prevent flashing when minimizing to the tray at startup [#307]
- Fix AppImage tray icon on Ubuntu [#277, #273]
- Fix global menu disappearing after restoring KeePassXC from the tray on Ubuntu [#276]
- Fix result order in entry search [#320]
- Enable HiDPI scaling on supported platforms [#315]
- Remove empty directories from installation target [#282]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants