Giter Club home page Giter Club logo

kwin-colorcorrection-effect's Introduction

Color Correction Filters

This effect is based on prior work of Matin Lotfaliei and Rob, authors of the KDE-Rounded-Corners effect, Kevinlekiller author of kwin-effect-shaders. Special thanks to Patricio Gonzalez Vivo for his daltonize shader of Lygia.

  • KDE-Rounded-Corners
  • kwin-effect-shaders
  • Lygia

The main idea is to manipulate pixel colors with a shader for helping in color-blindness related issues.

The configuration is pretty simple, only choose the desired color correction.

How to build from source code:

You need to install development packages for your distribution first:

Debian based (LliureX, Ubuntu, Kubuntu, KDE Neon)
  • Plasma 5 - by alex47:
    sudo apt install git cmake g++ extra-cmake-modules kwin-dev libkf5configwidgets-dev 
    
  • Plasma 6
    sudo apt install git cmake g++ extra-cmake-modules kwin-dev qt6-base-dev-tools kf6-kcmutils-dev
    
Fedora
  • Plasma 5 (Fedora 39)
    sudo dnf install git cmake gcc-c++ extra-cmake-modules kwin-devel kf5-kconfigwidgets-devel libepoxy-devel
  • Plasma 6 (Fedora 40 and later)
    sudo dnf install git cmake gcc-c++ extra-cmake-modules kwin-devel kf6-kconfigwidgets-devel libepoxy-devel kf6-kcmutils-devel qt6-qtbase-private-devel wayland-devel
Arch - by https://github.com/hexa-one
sudo pacman -S git cmake extra-cmake-modules base-devel
yay -S qt5-tools

or AUR package by xiota

sudo pamac build kwin-effect-rounded-corners-git
OpenSUSE - by https://github.com/mathiasgredal and https://github.com/Richardsause
sudo zypper install git cmake gcc-c++ extra-cmake-modules libqt5-qttools-devel kconfigwidgets-devel kwindowsystem-devel kguiaddons-devel ki18n-devel knotifications-devel kwin5-devel libQt5Gui-devel libQt5OpenGL-devel libepoxy-devel libqt5-qtnetworkauth-devel
Void - by https://github.com/lay-by
xbps-install git cmake make qt5-tools-devel extra-cmake-modules gettext-devel kwin-devel
NixOS - by https://github.com/flexagoon
nix-env -iA nixos.kde-rounded-corners

Then clone the source code and compile it:

git clone https://github.com/lliurex/kwin-colorcorrection-effect
cd kwin-colorcorrection-effect
mkdir build
cd build
cmake .. --install-prefix /usr
make
sudo make install

Load & Unload

To activate the effect, you can now log out and log back in, or run the command below inside the build directory:

sh ../tools/load.sh

To fully uninstall the effect, run the following commands inside the build directory:

sh ../tools/unload.sh
sudo make uninstall

Auto install after KWin update

After each kwin package update, the effect becomes incompatible. So it won't load without a rebuild.

You can automate the re-installation by running the command below inside the build directory:

sh ../tools/install-autorun-test.sh

The command above adds a desktop file inside the autorun directory which checks if the effect is still supported, if it is not supported, it will automatically rebuild and reinstall the effect.

Settings

You can change the color correction, or disable the effect in:

[ System Settings ] --> [ Workspace Behavior ] --> [ Desktop Effects ] --> [ Color Correction Filters ]

imatge

imatge

Screenshots

RGB wheel without color correction

imatge

RGB wheel with protanopia_2 filter

imatge

RGB wheel with deuteranopia_3 filter

imatge

RGB wheel with tritanopia_1 filter and error correction enabled

imatge

kwin-colorcorrection-effect's People

Contributors

juanma1980 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.