πŸŽ‰ ScreenPlay v0.10 released! Massive performance increase and wallpaper mouse interactions!

Published on Mar 14, 2020 by Elias Steurer | Kelteseth

ScreenPlay is an Open-Source Live Wallpaper and Widgets app for Windows & macOS (and soon Linux) written in modern C++/Qt/QML and is in active development since early 2017 on Gitlab.
You can download ScreenPlay via Steam for free!

Major Changes

πŸŽ‰ Massive performance increase when a wallpaper is not visible

adOvId8VDV

ScreenPlay does not render any video which results in 0% CPU and GPU usage!

lgDw03pe2f

The audio will still continue to play as usual!

πŸŽ‰ Forward mouse click events to wallpaper (HTML and QML)

xfY7d7LqdE

πŸŽ‰ Live reloading of wallpaper changes (HTML and QML)

Kb5vw3ZnLf

πŸŽ‰ Support for more wallpaper settings types

image

πŸŽ‰ πŸ‡°πŸ‡· Korean and πŸ‡»πŸ‡³ Vietnamese language support provided by Deleted User f6a9k4y2o0u and naram.dash!

image




This month's Most Valuable Person (MVP) is [Graphicscore](https://gitlab.com/Graphicscore)
for adding support for a number of features like: Better property controls and helping with input key forwarding!



Bug reports

Please report any bugs in the forum. Discord is sadly not suitable for proper deep discussions!

Help ScreenPlay


Complete Changelog:

Added

  • Add Filesystemwatcher for wallpaper
    • This means we can now live edit wallpaper without reloading!
  • Add working videoFillMode as enum. The Sidebar now also uses this value as default!
Crash breakpad analytics
  • Add qt-breakpad to the README for git submodules
  • Add browser and buttons for click testing
  • Add breakpad support for ScreenPlayWallpaper
    • This generates a minidump file when ScreenPlay or ScreenPlayWallpaper crashes. With this file we can better analyze the cause of the crash!
  • Add google breakpad for crash analytics
Pause wallpaper rendering when wallpaper is behind a window
  • Add release event to mouse hook
  • Add working pause visual part of the video with settings
  • Add activeScreensList to base Window
  • Add check for multiple monitors for pausing wallpaper if an app is maximized on the same screen
  • Add basic detection of fullscreen window. Only tested with one monitor and simply pause the wallpaper for now!
Language
  • Add Korean and Vietnamese languages to the feature list
  • Add Vietnamese language by Deleted User f6a9k4y2o0u
  • Add Korean language support with custom noto fontThis needed a larger refactoring because we only want to set the noto korean font when the korean font is selected. For this we use ScreenPlay.settings.font The font must be located inside the /assets/fonts/fontname.otf because it is to large for our resource .qrc file
  • Add checkbox to monitor settings dialog
  • Add delay for setting up mouse hook. This is a workaround for a lag on startup for now.
  • Add support override of display text for properties

Fixed

  • Fix accidental click of installed wallpaper by adding a MouseArea
  • Fix default value of language setting
  • Fix wallpaper not using mouse inputs when enabled
  • Fix get method if wallpaper creation in sidebar
  • Fix Checkbox and Colorpicker in Monitor Settings
  • Fix profile path for loading and saving settings
  • Fix some styling issues
  • Fix VisualsPaused check for multiple monitorsFix inverted bool logic
  • Fix issue where not specifying a text field in wallpaper properties could lead to undefined behavior
  • Fix wallpaper window flags for now. This introduces a 1pixel border but it is still the only way to reliably display the wallpaper without interfering of the window manager. This means no longer minimizing when pressing “minimize all windows”. Because of this the wallpaper is 2 pixel larger in height and widget and offset by one in x and y.

Misc

  • Refactor fullscreen window check to use the same check on one or more monitors
  • Increase all combobox sizes to implicit 200 for now. So we do not cut text like qt 5.14 currently does
  • Implement loadFromFile function for qml usage
  • Reset log after 10000 character length
  • Refactor settings to use enums instead of stringsRefactor settings to use QSettings instead of settings.json
  • Remove Qt version checksAdd comments to the ScreenPlayWindow tests
  • Remove old settings json

ScreenPlay Is Open Source Software

Everyone can contribute with code, design, documentation or translation. If you have questions about contributing do not hesitate to ask in the Forum or Discord. Here are some ways you can contribute: