From 604eb21a7e55d85ec7f6cb8cba39fc4c20a07a9d Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Thu, 29 Aug 2024 23:30:12 +0200 Subject: [PATCH] renderer: better lockscreen dead behavior (#7574) --------- Co-authored-by: Mihai Fufezan --- CMakeLists.txt | 10 ++- assets/install/lockdead.png | Bin 0 -> 113201 bytes assets/install/lockdead2.png | Bin 0 -> 49466 bytes assets/install/meson.build | 6 ++ assets/{ => install}/wall0.png | Bin assets/{ => install}/wall1.png | Bin assets/{ => install}/wall2.png | Bin assets/meson.build | 7 +- src/managers/SessionLockManager.cpp | 5 ++ src/managers/SessionLockManager.hpp | 1 + src/render/OpenGL.cpp | 119 +++++++++++++++++++++++++--- src/render/OpenGL.hpp | 6 +- src/render/Renderer.cpp | 53 +++++++++---- src/render/Renderer.hpp | 1 + 14 files changed, 171 insertions(+), 37 deletions(-) create mode 100755 assets/install/lockdead.png create mode 100644 assets/install/lockdead2.png create mode 100644 assets/install/meson.build rename assets/{ => install}/wall0.png (100%) rename assets/{ => install}/wall1.png (100%) rename assets/{ => install}/wall2.png (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e8ea4797f..84a856b8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -336,12 +336,14 @@ install( install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/wayland-sessions) -# allow Hyprland to find wallpapers +# allow Hyprland to find assets add_compile_definitions(DATAROOTDIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}") -# wallpapers -file(GLOB_RECURSE WALLPAPERS "assets/wall*") -install(FILES ${WALLPAPERS} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/hypr) +# installable assets +file(GLOB_RECURSE INSTALLABLE_ASSETS "assets/install/*") +list(FILTER INSTALLABLE_ASSETS EXCLUDE REGEX "meson.build") +install(FILES ${INSTALLABLE_ASSETS} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/hypr) # default config install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.conf diff --git a/assets/install/lockdead.png b/assets/install/lockdead.png new file mode 100755 index 0000000000000000000000000000000000000000..f8bae2255f9a4f576011355c8242cbb8a88079ce GIT binary patch literal 113201 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 z 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

Wp^;@NCnr|!yMD0gtmz@37hF(x7FBMPZd`; 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†hJi}L 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 literal 0 HcmV?d00001 diff --git a/assets/install/lockdead2.png b/assets/install/lockdead2.png new file mode 100644 index 0000000000000000000000000000000000000000..3f46c434aabbc47344a9e870766805d94505db73 GIT binary patch literal 49466 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 LTeIr#uipGGxM=s2 literal 0 HcmV?d00001 diff --git a/assets/install/meson.build b/assets/install/meson.build new file mode 100644 index 000000000..19b49638d --- /dev/null +++ b/assets/install/meson.build @@ -0,0 +1,6 @@ +globber = run_command('sh', '-c', 'find -type f -not -name "*.build"', check: true) +files = globber.stdout().strip().split('\n') + +foreach file : files + install_data(file, install_dir: join_paths(get_option('datadir'), 'hypr'), install_tag: 'runtime') +endforeach diff --git a/assets/wall0.png b/assets/install/wall0.png similarity index 100% rename from assets/wall0.png rename to assets/install/wall0.png diff --git a/assets/wall1.png b/assets/install/wall1.png similarity index 100% rename from assets/wall1.png rename to assets/install/wall1.png diff --git a/assets/wall2.png b/assets/install/wall2.png similarity index 100% rename from assets/wall2.png rename to assets/install/wall2.png diff --git a/assets/meson.build b/assets/meson.build index 47de3d02c..0648037af 100644 --- a/assets/meson.build +++ b/assets/meson.build @@ -1,7 +1,2 @@ -wallpapers = ['0', '1', '2'] - -foreach type : wallpapers - install_data(f'wall@type@.png', install_dir: join_paths(get_option('datadir'), 'hypr'), install_tag: 'runtime') -endforeach - install_data('hyprland-portals.conf', install_dir: join_paths(get_option('datadir'), 'xdg-desktop-portal'), install_tag: 'runtime') +subdir('install') diff --git a/src/managers/SessionLockManager.cpp b/src/managers/SessionLockManager.cpp index 81e228895..7267b8f24 100644 --- a/src/managers/SessionLockManager.cpp +++ b/src/managers/SessionLockManager.cpp @@ -4,6 +4,7 @@ #include "../protocols/FractionalScale.hpp" #include "../protocols/SessionLock.hpp" #include +#include SSessionLockSurface::SSessionLockSurface(SP surface_) : surface(surface_) { pWlrSurface = surface->surface(); @@ -166,3 +167,7 @@ void CSessionLockManager::removeSessionLockSurface(SSessionLockSurface* pSLS) { bool CSessionLockManager::isSessionLockPresent() { return m_pSessionLock && !m_pSessionLock->vSessionLockSurfaces.empty(); } + +bool CSessionLockManager::anySessionLockSurfacesPresent() { + return m_pSessionLock && std::ranges::any_of(m_pSessionLock->vSessionLockSurfaces, [](const auto& surf) { return surf->mapped; }); +} diff --git a/src/managers/SessionLockManager.hpp b/src/managers/SessionLockManager.hpp index b01ee288c..9b3b882cc 100644 --- a/src/managers/SessionLockManager.hpp +++ b/src/managers/SessionLockManager.hpp @@ -55,6 +55,7 @@ class CSessionLockManager { bool isSessionLocked(); bool isSessionLockPresent(); bool isSurfaceSessionLock(SP); + bool anySessionLockSurfacesPresent(); void removeSessionLockSurface(SSessionLockSurface*); diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 67c11c234..91849701c 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -338,6 +338,8 @@ CHyprOpenGLImpl::CHyprOpenGLImpl() { initDRMFormats(); + initAssets(); + static auto P = g_pHookSystem->hookDynamic("preRender", [&](void* self, SCallbackInfo& info, std::any data) { preRender(std::any_cast(data)); }); RASSERT(eglMakeCurrent(m_pEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT), "Couldn't unset current EGL!"); @@ -2614,14 +2616,17 @@ void CHyprOpenGLImpl::renderSplash(cairo_t* const CAIRO, cairo_surface_t* const cairo_surface_flush(CAIROSURFACE); } -void CHyprOpenGLImpl::createBackgroundTexture(const std::string& texPath) { - const auto CAIROSURFACE = cairo_image_surface_create_from_png(texPath.c_str()); - const auto CAIROFORMAT = cairo_image_surface_get_format(CAIROSURFACE); +SP CHyprOpenGLImpl::loadAsset(const std::string& file) { + const auto CAIROSURFACE = cairo_image_surface_create_from_png(file.c_str()); - m_pBackgroundTexture = makeShared(); + if (!CAIROSURFACE) + return nullptr; - m_pBackgroundTexture->allocate(); - m_pBackgroundTexture->m_vSize = {cairo_image_surface_get_width(CAIROSURFACE), cairo_image_surface_get_height(CAIROSURFACE)}; + const auto CAIROFORMAT = cairo_image_surface_get_format(CAIROSURFACE); + auto tex = makeShared(); + + tex->allocate(); + tex->m_vSize = {cairo_image_surface_get_width(CAIROSURFACE), cairo_image_surface_get_height(CAIROSURFACE)}; const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? #ifdef GLES2 @@ -2634,7 +2639,7 @@ void CHyprOpenGLImpl::createBackgroundTexture(const std::string& texPath) { const GLint glType = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_FLOAT : GL_UNSIGNED_BYTE; const auto DATA = cairo_image_surface_get_data(CAIROSURFACE); - glBindTexture(GL_TEXTURE_2D, m_pBackgroundTexture->m_iTexID); + glBindTexture(GL_TEXTURE_2D, tex->m_iTexID); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); #ifndef GLES2 @@ -2643,9 +2648,105 @@ void CHyprOpenGLImpl::createBackgroundTexture(const std::string& texPath) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED); } #endif - glTexImage2D(GL_TEXTURE_2D, 0, glIFormat, m_pBackgroundTexture->m_vSize.x, m_pBackgroundTexture->m_vSize.y, 0, glFormat, glType, DATA); + glTexImage2D(GL_TEXTURE_2D, 0, glIFormat, tex->m_vSize.x, tex->m_vSize.y, 0, glFormat, glType, DATA); cairo_surface_destroy(CAIROSURFACE); + + return tex; +} + +SP CHyprOpenGLImpl::renderText(const std::string& text, CColor col, int pt, bool italic) { + SP tex = makeShared(); + + static auto FONT = CConfigValue("misc:font_family"); + + const auto FONTFAMILY = *FONT; + const auto FONTSIZE = pt; + const auto COLOR = col; + + auto CAIROSURFACE = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 1920, 1080 /* arbitrary, just for size */); + auto CAIRO = cairo_create(CAIROSURFACE); + + PangoLayout* layoutText = pango_cairo_create_layout(CAIRO); + PangoFontDescription* pangoFD = pango_font_description_new(); + + pango_font_description_set_family_static(pangoFD, FONTFAMILY.c_str()); + pango_font_description_set_absolute_size(pangoFD, FONTSIZE * PANGO_SCALE); + pango_font_description_set_style(pangoFD, italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL); + pango_font_description_set_weight(pangoFD, PANGO_WEIGHT_NORMAL); + pango_layout_set_font_description(layoutText, pangoFD); + + cairo_set_source_rgba(CAIRO, COLOR.r, COLOR.g, COLOR.b, COLOR.a); + + int textW = 0, textH = 0; + pango_layout_set_text(layoutText, text.c_str(), -1); + pango_layout_get_size(layoutText, &textW, &textH); + textW /= PANGO_SCALE; + textH /= PANGO_SCALE; + + pango_font_description_free(pangoFD); + g_object_unref(layoutText); + cairo_destroy(CAIRO); + cairo_surface_destroy(CAIROSURFACE); + + CAIROSURFACE = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, textW, textH); + CAIRO = cairo_create(CAIROSURFACE); + + layoutText = pango_cairo_create_layout(CAIRO); + pangoFD = pango_font_description_new(); + + pango_font_description_set_family_static(pangoFD, FONTFAMILY.c_str()); + pango_font_description_set_absolute_size(pangoFD, FONTSIZE * PANGO_SCALE); + pango_font_description_set_style(pangoFD, italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL); + pango_font_description_set_weight(pangoFD, PANGO_WEIGHT_NORMAL); + pango_layout_set_font_description(layoutText, pangoFD); + pango_layout_set_text(layoutText, text.c_str(), -1); + + cairo_set_source_rgba(CAIRO, COLOR.r, COLOR.g, COLOR.b, COLOR.a); + + cairo_move_to(CAIRO, 0, 0); + pango_cairo_show_layout(CAIRO, layoutText); + + pango_font_description_free(pangoFD); + g_object_unref(layoutText); + + cairo_surface_flush(CAIROSURFACE); + + tex->allocate(); + tex->m_vSize = {cairo_image_surface_get_width(CAIROSURFACE), cairo_image_surface_get_height(CAIROSURFACE)}; + + const auto DATA = cairo_image_surface_get_data(CAIROSURFACE); + glBindTexture(GL_TEXTURE_2D, tex->m_iTexID); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +#ifndef GLES2 + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_BLUE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED); +#endif + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex->m_vSize.x, tex->m_vSize.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, DATA); + + cairo_destroy(CAIRO); + cairo_surface_destroy(CAIROSURFACE); + + return tex; +} + +void CHyprOpenGLImpl::initAssets() { + std::string assetsPath = ""; +#ifndef DATAROOTDIR + assetsPath = "/usr/share/hypr/"; +#else + assetsPath = std::format("{}{}", DATAROOTDIR, "/hypr/"); +#endif + + m_pLockDeadTexture = loadAsset(assetsPath + "lockdead.png"); + m_pLockDead2Texture = loadAsset(assetsPath + "lockdead2.png"); + + m_pLockTtyTextTexture = renderText(std::format("Running on tty {}", + g_pCompositor->m_pAqBackend->hasSession() && g_pCompositor->m_pAqBackend->session->vt > 0 ? + std::to_string(g_pCompositor->m_pAqBackend->session->vt) : + "unknown"), + CColor{0.9F, 0.9F, 0.9F, 0.7F}, 20, true); } void CHyprOpenGLImpl::createBGTextureForMonitor(CMonitor* pMonitor) { @@ -2694,7 +2795,7 @@ void CHyprOpenGLImpl::createBGTextureForMonitor(CMonitor* pMonitor) { return; // the texture will be empty, oh well. We'll clear with a solid color anyways. } - createBackgroundTexture(texPath); + m_pBackgroundTexture = loadAsset(texPath); } // create a new one with cairo diff --git a/src/render/OpenGL.hpp b/src/render/OpenGL.hpp index f405cb7c0..06078a00e 100644 --- a/src/render/OpenGL.hpp +++ b/src/render/OpenGL.hpp @@ -277,7 +277,7 @@ class CHyprOpenGLImpl { CShader m_sFinalScreenShader; CTimer m_tGlobalTimer; - SP m_pBackgroundTexture; + SP m_pBackgroundTexture, m_pLockDeadTexture, m_pLockDead2Texture, m_pLockTtyTextTexture; void logShaderError(const GLuint&, bool program = false); GLuint createProgram(const std::string&, const std::string&, bool dynamic = false); @@ -287,7 +287,9 @@ class CHyprOpenGLImpl { void initDRMFormats(); void initEGL(bool gbm); EGLDeviceEXT eglDeviceFromDRMFD(int drmFD); - void createBackgroundTexture(const std::string& path); + SP loadAsset(const std::string& file); + SP renderText(const std::string& text, CColor col, int pt, bool italic = false); + void initAssets(); // std::optional> getModsForFormat(EGLint format); diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 336797310..2854a9737 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -839,9 +839,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(CMonitor* pMonitor, PHLWORKSPAC if (g_pSessionLockManager->isSessionLocked() && !g_pSessionLockManager->isSessionLockPresent()) { // locked with no exclusive, draw only red - CBox boxe = {0, 0, INT16_MAX, INT16_MAX}; - const float A = g_pSessionLockManager->getRedScreenAlphaForMonitor(pMonitor->ID); - g_pHyprOpenGL->renderRect(&boxe, CColor(1.0, 0.2, 0.2, A)); + renderSessionLockMissing(pMonitor); return; } @@ -1001,27 +999,50 @@ void CHyprRenderer::renderLockscreen(CMonitor* pMonitor, timespec* now, const CB if (g_pSessionLockManager->isSessionLocked()) { Vector2D translate = {geometry.x, geometry.y}; - float scale = (float)geometry.width / pMonitor->vecPixelSize.x; const auto PSLS = g_pSessionLockManager->getSessionLockSurfaceForMonitor(pMonitor->ID); - if (!PSLS) { - // locked with no surface, fill with red - const auto ALPHA = g_pSessionLockManager->getRedScreenAlphaForMonitor(pMonitor->ID); - - CBox monbox = {translate.x, translate.y, pMonitor->vecTransformedSize.x * scale, pMonitor->vecTransformedSize.y * scale}; - g_pHyprOpenGL->renderRect(&monbox, CColor(1.0, 0.2, 0.2, ALPHA)); - - if (ALPHA < 1.f) /* animate */ - damageMonitor(pMonitor); - else - g_pSessionLockManager->onLockscreenRenderedOnMonitor(pMonitor->ID); - } else { + if (!PSLS) + renderSessionLockMissing(pMonitor); + else { renderSessionLockSurface(PSLS, pMonitor, now); g_pSessionLockManager->onLockscreenRenderedOnMonitor(pMonitor->ID); } } } +void CHyprRenderer::renderSessionLockMissing(CMonitor* pMonitor) { + const auto ALPHA = g_pSessionLockManager->getRedScreenAlphaForMonitor(pMonitor->ID); + + CBox monbox = {{}, pMonitor->vecPixelSize}; + + const bool ANY_PRESENT = g_pSessionLockManager->anySessionLockSurfacesPresent(); + + if (ANY_PRESENT) { + // render image2, without instructions. Lock still "alive", unless texture dead + if (g_pHyprOpenGL->m_pLockDead2Texture) + g_pHyprOpenGL->renderTexture(g_pHyprOpenGL->m_pLockDead2Texture, &monbox, ALPHA); + else + g_pHyprOpenGL->renderRect(&monbox, CColor(1.0, 0.2, 0.2, ALPHA)); + } else { + // render image, with instructions. Lock is gone. + if (g_pHyprOpenGL->m_pLockDeadTexture) { + g_pHyprOpenGL->renderTexture(g_pHyprOpenGL->m_pLockDeadTexture, &monbox, ALPHA); + + // also render text for the tty number + if (g_pHyprOpenGL->m_pLockTtyTextTexture) { + CBox texbox = {{}, g_pHyprOpenGL->m_pLockTtyTextTexture->m_vSize}; + g_pHyprOpenGL->renderTexture(g_pHyprOpenGL->m_pLockTtyTextTexture, &texbox, 1.F); + } + } else + g_pHyprOpenGL->renderRect(&monbox, CColor(1.0, 0.2, 0.2, ALPHA)); + } + + if (ALPHA < 1.f) /* animate */ + damageMonitor(pMonitor); + else + g_pSessionLockManager->onLockscreenRenderedOnMonitor(pMonitor->ID); +} + void CHyprRenderer::calculateUVForSurface(PHLWINDOW pWindow, SP pSurface, bool main, const Vector2D& projSize, bool fixMisalignedFSV1) { if (!pWindow || !pWindow->m_bIsX11) { Vector2D uvTL; diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 0b16efeaa..d00c0a17e 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -123,6 +123,7 @@ class CHyprRenderer { void renderWorkspace(CMonitor* pMonitor, PHLWORKSPACE pWorkspace, timespec* now, const CBox& geometry); void sendFrameEventsToWorkspace(CMonitor* pMonitor, PHLWORKSPACE pWorkspace, timespec* now); // sends frame displayed events but doesn't actually render anything void renderAllClientsForWorkspace(CMonitor* pMonitor, PHLWORKSPACE pWorkspace, timespec* now, const Vector2D& translate = {0, 0}, const float& scale = 1.f); + void renderSessionLockMissing(CMonitor* pMonitor); bool commitPendingAndDoExplicitSync(CMonitor* pMonitor);