Commit Graph

446 Commits

Author SHA1 Message Date
Almamu
a14ded12d7 fix: issue #211 2024-05-10 04:06:12 +02:00
Almamu
445f970b69 chore: update README.md to mention Wayland 2024-05-07 19:57:40 +02:00
Almamu
ac62d5470a fix: CWebBrowserContext wasn't in the right place 2024-05-07 14:00:31 +02:00
Almamu
8dbb4aa7e8 chore: linting 2024-05-07 04:24:46 +02:00
Almamu
f20b2a0c37 fix: web backgrounds should work on multiple screens now 2024-05-07 04:23:59 +02:00
Almamu
9e271a2b39 chore: remove notion of default background in render, each screen needs it's own independent render 2024-05-07 04:15:20 +02:00
Almamu
235cda8c94 chore: move cef initialization to its own context 2024-05-07 03:59:40 +02:00
Almamu
006d4ee3d0 chore: move wallpaper types to their own folder 2024-05-07 02:55:10 +02:00
Almamu
02fd7effbb chore: linting 2024-05-05 23:48:31 +02:00
Pasalc
ca3c73740c
Basic support for web wallpapers (#196)
* Updated gitignore

* Basic Web support

* Basic Cmake(not working)

* Working CEF

* Clean up Render/CWeb

* Download CEF in CMAKE

* Fixed compile error(excesive comma)

* Fixed CWeb compile error(scaling mode)

* Commented flag in CEF flag(-fno-rtti) which disabled dynamic cast

* Commented CEF compiler flags for MacOS

* Added third_party to gitignore

* Fixed libvulkan.so.1 error (deleted file entirely)

* Removed cefsimple, CefShutdown in signal, cleaned up cmake a bit

* Updated .gitignore

* Get render function to previous version

* Fixed typo in coment

* Fixed tab

* Removed shaders too

* Fix codefactor issues
2024-05-05 23:44:26 +02:00
Alexis Maiquez
e28780562b fix: default background is not necessary
fix: added --bg to the help output as it was missing

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-24 17:06:19 +01:00
Alexis Maiquez
c90cc4d915 feat: add option to disable audio processing
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 03:21:06 +01:00
Alexis Maiquez
bd5e452d34 fix: support shaders without textures (like flat), improves #184
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 03:10:52 +01:00
Alexis Maiquez
170af5ff7c fix: black backgrounds on latest wallpaperengine version (g_Color4 was added)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:59:00 +01:00
Alexis Maiquez
b8fd1eefac chore: clang-format and code formatting done with an extra of code cleanup
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:20:34 +01:00
Alexis Maiquez
f89cc438f8 validate only PKGV part, ignore number
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:17:49 +01:00
Alexis Maiquez
89a2178308 CDirectory should not use sLog for errors
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:13:06 +01:00
Alexis Maiquez
b58cd97255 remove define code for shaders that was generating errors
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 02:00:43 +01:00
Alexis Maiquez
432814f956 hopefully added snap directories too (#166)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 01:23:49 +01:00
Alexis Maiquez
865d3a0d5d add flatpak paths to asset and content discovery (#166)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-12 01:15:21 +01:00
Alexis Maiquez
51db2962e7
Merge pull request #188 from Pasalc/viewport-clamp
Fixed texture clamping caused by texture coordinates being outside of (0,1) interval
2023-12-12 01:06:19 +01:00
Alexis Maiquez
13ba153042
Merge branch 'main' into viewport-clamp 2023-12-12 00:57:51 +01:00
Ryan
827912e465 App now exits happily after providing help msg 2023-12-12 00:51:27 +01:00
Pasalc
11666abf32 Added scaling and clamp support 2023-11-13 21:38:56 +03:00
Pasalc
4212095335 Added zoom fill 2023-11-08 20:14:22 +03:00
Pasalc
f6bff679ca Added --clamp-strategy option 2023-11-06 17:30:48 +03:00
Pasalc
3dee616cf6 Fixed not full texture rendering on viewport resulting in clamping 2023-11-04 17:08:59 +03:00
Alexis Maiquez
21c38d9fd1 Add support for disabling mouse interactions with the background (#176)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-09-23 18:20:35 +02:00
Phantasm
89612ea6c2 Reuse the same no output handling from wayland mode, remove the old one. 2023-09-23 18:04:37 +02:00
Phantasm
a853b50efe Unify error with the Wayland mode 2023-09-23 18:04:37 +02:00
Phantasm
d4c3ca3b44 Handle bad screen-root arguments in X11 mode
Still leaves a SIGABRT after the thrown exception from the logging
system.
2023-09-23 18:04:37 +02:00
Phantasm
ab9486b2f6 Add comments 2023-09-23 18:04:37 +02:00
Phantasm
ee499b06e2 Fix crash when 2+ screens are connected but not all are active in X11
When not all connected screens are active XRRGetCrtcInfo returns NULL
for the inactive screens resulting in a SIGSEGV when trying to push it
to the screens vector.
2023-09-23 18:04:37 +02:00
metafive
cdf571f6a4 some minor spelling errors/grammatical errors 2023-08-30 10:23:15 +02:00
Alexis Maiquez
af72b8163b Enable wayland support automatically if all libraries are available instead of having an individual switch
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-07 21:31:51 +02:00
Alexis Maiquez
660f798d9a Move cstdint and cstdio for fft to the header file
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-07 19:54:39 +02:00
Alexis Maiquez
181dd1eef8 Fix for #161, texture priorities were not being properly taken into account
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-07 18:54:01 +02:00
Alexis Maiquez
5016a9d873 Merge branch 'vaxerski-main' 2023-05-07 18:18:34 +02:00
Alexis Maiquez
f8eb7c9fdf Remove ubuntu 20.04 from the wayland pipeline due to error: ‘const wl_output_listener’ has no non-static data member named ‘name’
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-06 16:47:51 +02:00
Alexis Maiquez
e18e6f01be Added cstdint to ftt.cpp and CFileEntry.h
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-06 16:41:31 +02:00
Alexis Maiquez
1d45e2c88c Fix compilation on Ubuntu 20.04
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-06 14:27:06 +02:00
Alexis Maiquez
723fca552c Wayland: Moved frame-time checking to CWaylandOpenGLDriver instead of viewports
Wayland doesn't require specifics timings, each frame drawn re-queues a new frame
  so treating it as "render the screens" seems to be a safe bet for now
  As indicated in the TODOs once actual work is being done in the event loop
  it should be replaced by a non-blocking option in case no surface is being rendered

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-06 14:14:21 +02:00
Alexis Maiquez
dad98d93bd Brought back missing EGL code
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-23 04:33:32 +02:00
Alexis Maiquez
bd6fd9a100 Output rendering is now responsibility of the drivers (as it should be) instead of being handled by the CRenderContext
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-23 00:12:23 +02:00
Alexis Maiquez
21bcb7008f Prevent crashing on the PulseAudioPlayingDetector
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 14:02:25 +02:00
Alexis Maiquez
7c39db8b4b Added unistd.h missing from CWaylandOutputViewport
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 13:44:56 +02:00
Alexis Maiquez
b9dbb652d3 Hopefully last missed ENABLE_WAYLAND check
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 13:13:00 +02:00
Alexis Maiquez
ddd448b1e3 Added wayland build to github actions
Ensure wayland included files are ignored unless ENABLE_WAYLAND is enabled

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 13:09:31 +02:00
Alexis Maiquez
f047bdd2d6 Fixed oversight on Video backgrounds not working on X11
Added unistd.h to fix compilation error on ubuntu

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 12:57:47 +02:00
Alexis Maiquez
f21a6e64a7 Wayland implementation cleanup
Removed wayland-display in favour of screen-root, it should automatically switch between X11 and Wayland implementations
Removed all the window-server-specific code from CWallpaperApplication
Moved COutput from CWallpaperApplication to each CVideoDriver as the output is tied to the driver
Moved CFullScreenDetector from CWallpaperApplication to each CVideoDriver as the detection is tied to the video driver
Applied the Driver treatment to the Input, this way CInputContext doesn't depend on the driver used
Updated CRenderContext to be aware of viewport-specific context updates
Viewport information is now held inside COutputViewport instead of being a simple map
Merged CLayerSurface and SWaylandOutput, inheriting from the new COutputViewport to standarize the minimum requirements of a viewport
  (makeCurrent and swapOutput are common requirements, X11 was the outlier not needing these per-viewport)
Moved all the viewport-specific code of Wayland from CWaylandOpenGLDriver to It's own class CWaylandOutputViewport
Fixed an issue under Wayland where sometimes the background surfaces wouldn't get anything drawn because the CWaylandOutput wasn't reset
Updated screenshot-taking code to be standard for all drivers again

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-22 11:31:50 +02:00