diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml index e5b6972..2137aea 100644 --- a/.github/workflows/arch.yml +++ b/.github/workflows/arch.yml @@ -2,9 +2,11 @@ name: ArchLinux on: push: - branches: [ master, latest-shapecorners-code, kwin_5.23, kwin_5.24, kwin_5.25 ] + branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] pull_request: branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] schedule: - cron: "0 0 * * *" diff --git a/.github/workflows/debian12.yml b/.github/workflows/debian12.yml index 7553f68..73a2fd3 100644 --- a/.github/workflows/debian12.yml +++ b/.github/workflows/debian12.yml @@ -2,9 +2,11 @@ name: Debian 12 on: push: - branches: [ master, latest-shapecorners-code, kwin_5.23, kwin_5.24, kwin_5.25 ] + branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] pull_request: branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] schedule: - cron: "0 0 * * *" diff --git a/.github/workflows/glslangValidator.yml b/.github/workflows/glslangValidator.yml index 50efbc7..744974c 100644 --- a/.github/workflows/glslangValidator.yml +++ b/.github/workflows/glslangValidator.yml @@ -2,9 +2,11 @@ name: GLSL Validator on: push: - branches: [ master, latest-shapecorners-code, kwin_5.23 ] + branches: [ master ] + paths: [ '**.frag' ] pull_request: branches: [ master ] + paths: [ '**.frag' ] env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) diff --git a/.github/workflows/kubuntu2204-backports.yml b/.github/workflows/kubuntu2204-backports.yml index 87614e3..c3acfae 100644 --- a/.github/workflows/kubuntu2204-backports.yml +++ b/.github/workflows/kubuntu2204-backports.yml @@ -2,9 +2,11 @@ name: Kubuntu 22.04 Backports on: push: - branches: [ master, latest-shapecorners-code, kwin_5.24 ] + branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] pull_request: branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] schedule: - cron: "0 0 * * *" diff --git a/.github/workflows/neon.yml b/.github/workflows/neon.yml index d42141a..f84cecd 100644 --- a/.github/workflows/neon.yml +++ b/.github/workflows/neon.yml @@ -2,9 +2,11 @@ name: KDE Neon (Stable) on: push: - branches: [ master, latest-shapecorners-code, kwin_5.23, kwin_5.24, kwin_5.25 ] + branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] pull_request: branches: [ master ] + paths-ignore: [ '**.md', '**.png' ] schedule: - cron: "0 0 * * *" diff --git a/README.md b/README.md index bf7e757..b091ead 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,12 @@ You need to install development packages for your distribution first: ``` xbps-install git cmake make qt5-tools-devel extra-cmake-modules qt5-x11extras-devel gettext-devel kwin-devel ``` +- **NixOS** - by [Pavel Zolotarevskiy](https://github.com/flexagoon) + ``` + nix-env -iA nixos.kde-rounded-corners + ``` + + Then get the source code and compile: ``` git clone https://github.com/matinlotfali/KDE-Rounded-Corners diff --git a/src/ShapeCornersShader.cpp b/src/ShapeCornersShader.cpp index fd84a67..008e05c 100644 --- a/src/ShapeCornersShader.cpp +++ b/src/ShapeCornersShader.cpp @@ -31,7 +31,6 @@ ShapeCornersShader::ShapeCornersShader(): // qDebug() << frag; if (m_shader->isValid()) { - m_shader_windowHasDecoration = m_shader->uniformLocation("windowHasDecoration"); m_shader_disableRoundedTile = m_shader->uniformLocation("disableRoundedTile"); m_shader_windowSize = m_shader->uniformLocation("windowSize"); m_shader_windowExpandedSize = m_shader->uniformLocation("windowExpandedSize"); @@ -66,7 +65,6 @@ ShapeCornersShader::Bind(KWin::EffectWindow *w, bool isTiled) const { m_shader->setUniform(m_shader_windowSize, QVector2D(w->frameGeometry().width(), w->frameGeometry().height())); m_shader->setUniform(m_shader_windowExpandedSize, QVector2D(w->expandedGeometry().width(), w->expandedGeometry().height())); m_shader->setUniform(m_shader_windowTopLeft, xy); - m_shader->setUniform(m_shader_windowHasDecoration, w->hasDecoration()); m_shader->setUniform(m_shader_disableRoundedTile, isTiled && ShapeCornersConfig::disableRoundTile()); m_shader->setUniform(m_shader_front, 0); if (ShapeCornersEffect::isWindowActive(w)) { diff --git a/src/ShapeCornersShader.h b/src/ShapeCornersShader.h index a014107..074a084 100644 --- a/src/ShapeCornersShader.h +++ b/src/ShapeCornersShader.h @@ -32,7 +32,6 @@ class ShapeCornersShader { int m_shader_windowSize = 0; int m_shader_windowExpandedSize = 0; int m_shader_windowTopLeft = 0; - int m_shader_windowHasDecoration = 0; int m_shader_disableRoundedTile = 0; int m_shader_shadowColor = 0; int m_shader_shadowSize = 0; diff --git a/src/shaders_110/shapecorners.frag b/src/shaders_110/shapecorners.frag index 697a3fc..f2572a9 100644 --- a/src/shaders_110/shapecorners.frag +++ b/src/shaders_110/shapecorners.frag @@ -2,7 +2,6 @@ uniform sampler2D front; uniform float radius; -uniform bool windowHasDecoration; uniform bool disableRoundedTile; uniform vec2 windowSize; uniform vec2 windowExpandedSize; @@ -16,7 +15,7 @@ uniform float saturation; varying vec2 texcoord0; -bool isDrawingShadows() { return windowHasDecoration && shadowColor.a > 0.0; } +bool isDrawingShadows() { return windowSize != windowExpandedSize && shadowColor.a > 0.0; } bool isDrawingOutline() { return outlineColor.a > 0.0 && outlineThickness > 0.0; } vec4 shadowCorner(float distance_from_center) { diff --git a/src/shaders_140/shapecorners.frag b/src/shaders_140/shapecorners.frag index 3775387..41df6c5 100644 --- a/src/shaders_140/shapecorners.frag +++ b/src/shaders_140/shapecorners.frag @@ -2,7 +2,6 @@ uniform sampler2D front; uniform float radius; -uniform bool windowHasDecoration; uniform bool disableRoundedTile; uniform vec2 windowSize; uniform vec2 windowExpandedSize; @@ -17,7 +16,7 @@ uniform float saturation; in vec2 texcoord0; out vec4 fragColor; -bool isDrawingShadows() { return windowHasDecoration && shadowColor.a > 0.0; } +bool isDrawingShadows() { return windowSize != windowExpandedSize && shadowColor.a > 0.0; } bool isDrawingOutline() { return outlineColor.a > 0.0 && outlineThickness > 0.0; } vec4 shadowCorner(float distance_from_center) {