1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-23 03:02:30 +01:00
Go to file
Elias Steurer 52fb670d55 Change widget and wallpaper types to use enums
Apparently this is the only way for qml to work
 * https://www.kdab.com/new-qt-5-8-meta-object-support-namespaces/

moc needs full enum namespace info see QTBUG-58454

    void createWallpaper(
        const ScreenPlay::Enums::WallpaperType type,
        const ScreenPlay::Enums::FillMode fillMode,
        const QString& absoluteStoragePath,
        const QString& previewImage,
        QVector<int> monitorIndex,
        const float volume,
        const bool saveToProfilesConfigFile);
2020-05-14 16:45:50 +02:00
.gitlab Add install-dependencies.sh for linux 2020-01-28 18:08:12 +01:00
Common Update breakpad submodule 2020-05-03 19:24:50 +02:00
Docs Fix documentation style by using \brief everywhere 2020-03-31 15:35:51 +02:00
Legal Add contributing and AGPL 2019-06-11 13:46:19 +02:00
ScreenPlay Change widget and wallpaper types to use enums 2020-05-14 16:45:50 +02:00
ScreenPlaySDK Remove old project files 2020-05-01 16:46:09 +02:00
ScreenPlaySysInfo Add cmake QtCreator readme setup 2020-05-03 13:11:26 +02:00
ScreenPlayWallpaper Merge branch 'master' into refactor/save-configs 2020-05-03 19:22:40 +02:00
ScreenPlayWidget Remove old project files 2020-05-01 16:46:09 +02:00
.clang-format Add clang format 2019-04-25 13:17:35 +02:00
.gitattributes Add workshop project 2018-11-17 11:48:57 +01:00
.gitignore Add cmake QtCreator readme setup 2020-05-03 13:11:26 +02:00
.gitlab-ci.yml Add qtquickcompiler to ci 2019-12-27 12:33:01 +01:00
.gitmodules Add first working cmake version for ScreenPlay 2020-04-30 20:03:14 +02:00
CMakeLists.txt Add first working cmake version for ScreenPlay 2020-04-30 20:03:14 +02:00
install_dependencies_linux_mac.sh Update vcpkg install method 2020-04-30 20:18:27 +02:00
install_dependencies_windows.bat Update vcpkg install method 2020-04-30 20:18:27 +02:00
LICENSE Add LICENSE 2019-09-18 10:41:13 +00:00
README.md Add cmake QtCreator readme setup 2020-05-03 13:11:26 +02:00

ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widgets and AppDrawer. It is written in modern C++17/Qt5/QML. Binaries with workshop support are available for Windows and soon Linux & MacOSX via Steam. Join our community:

Homepage - Forum - 🎉 Discord (Free Steam Key Here!) - Reddit


Preview


Developer C++ Classes Documentation and Wallpaper And Widgets Guide

Platform support

  • Not working/Not implemented
  • Only partical implemented/Not tested
Feature Windows Linux MacOS
ScreenPlay Main App
Steam Binaries
Wallpaper Help Needed for Gnome/KDE/etc!
Widgets
Multilanguage (EN,DE,RU,FR,ES,KO🆕,VI🆕)

Because every operating system has his own version of desktop environment we need to adapt the ScreenPlayWindow for every platform seperate. The most feature complete for now is Windows 10. Windows 7 works but the wallpaper have the worng coordinates. MacOS has some basic wallpaper functionality but no maintainer. For Linux we sadly have no support for any desktops environments at the moment.

If you want to help and add new desktop environments look at ScreenPlayWallpaper/src folder

Plattform Windows 7 Windows 8/8.1 Windows 10 Gnome KDE XFCE MacOS
Wallpaper Help Needed! Help Needed! Help Needed! Help Needed! Help Needed! (Basic implementation) Help Needed!

Contributing

Everyone can contribute with code, design, documentation or translation. Visit our contributing guide for more informations.

Getting started

Basic

  1. Install latest git + git-lfs
  2. Clone ScreenPlay
git clone --recursive https://gitlab.com/kelteseth/ScreenPlay.git
  1. Download the latest Qt 5.14. Earlier versions are not supported!
  2. Start install-dependencies.bat to download dependencies into the Common/ folder
//Windows
.\install-dependencies.bat

//Linux
sudo apt install git gcc cmake build-essential libgl1-mesa-dev
chmod +x install-dependencies.sh
.\install-dependencies.sh
  • This will install these dependencies via vcpkg
    • libzippp
    • nlohmann-json
    • openSSL 1.1.1d
    • zlib& libzip
    • breakpad
  • Download these dependencies via git submodules
    • stomt-qt-sdk
    • qt-google-analytics
    • qt-breakpad
  1. Follow the steps below for your OS. Then open the CMakeLists.txt via QtCreator.
  2. Add install to the build steps. Projects -> Build -> Add Build Step -> Select Build -> Select "install" .
    • CMake -> Check if cmake is listed there, otherwise add it
    • Kits -> CMakeGenerator -> Change... (Otherwhise your builds are slow!)
      • Generator: Ninja
      • Extra Generator: CodeBlocks
    • Add CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET
      • Extras -> Tools -> Kits -> -> CMake Configuration -> Append this:
      • CMAKE_TOOLCHAIN_FILE:STRING=%{CurrentProject:Path}/ScreenPlay/Common/vcpkg/scripts/buildsystems/vcpkg.cmake
      • VCPKG_TARGET_TRIPLET:STRING=x64-windows
      • or Linux: x64-linux MacOSX: x64-osx
  3. Press build (the green play button). This will compile the project and copy all necessary files into your Qt installation.

Windows

  1. Download and install MSVC 2019 Community
    • Select "Desktop development with C++"
  2. Download and install Qt 5 binary installer from qt.io
    • Install the Maintaince tool
    • Select the following features to install:
      • Qt 5.14.2
        • MSVC 2017 64-bit
        • Qt WebEngine
      • Developer and Designer Tools
        • Cmake
        • Ninja

Linux

  1. Install dependencies for your distro:
# Debian/Ubuntu
sudo apt install build-essential libgl1-mesa-dev lld ninja-build cmake

# Fedora/RHEL/CentOS (yum)
sudo yum groupinstall "C Development Tools and Libraries"
sudo yum install mesa-libGL-devel

# openSUSE (zypper)
sudo zypper install -t pattern devel_basis
  1. Download and install Qt 5 binary installer from qt.io
    • Install the Maintaince tool
    • Select the following features to install:
      • Qt 5.14.2
        • GCC
        • Qt WebEngine

OSX

  1. Download and install Qt 5 binary installer from qt.io
    • Install the Maintaince tool
    • Select the following features to install:
      • Qt 5.14.2
        • Qt WebEngine
      • Developer and Designer Tools
        • OpenSSL 1.1.1.c Toolkit
          • OpenSSL 64-bit binaries
        • Cmake
        • Ninja
  2. Install homebrew
    • Open a terminal and install clang -> brew install llvm
  3. Change your default kit: QtCreator -> Options -> Kits -> Select your default kit (Desktop Qt 5.13.0) -> Change c and c++ Compiler to Apple Clang (x86_64)