Foi dito que isso era impossível... [KDE Plasma]

Eu uso o openSUSE Krypton, que é o Tumbleweed com os repositórios KDE Frameworks Unstable, KDE Applications Unstable, KDE Extras Unstable e Qt5 Unstable. Eu tenho todas essas dependências instaladas. No entanto, por se tratar do futuro KDE Plasma 5.21, esse LightlyShaders não é compatível com essa versão do KWin que uso. Aqui está o log do processo inteiro:

silas@lenovoSUSE ~/A/L/qt5build (master) [1]>
cmake …/ -DCMAKE_INSTALL_PREFIX=/usr -DQT5BUILD=ON
– The C compiler identification is GNU 10.2.1
– The CXX compiler identification is GNU 10.2.1
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Looking for pthread.h
– Looking for pthread.h - found
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
– Installing in the same prefix as Qt, adopting their path scheme.
– Setting build type to ‘Debug’ as none was specified.
– Looking for GLIBC
– Looking for GLIBC - found
– Performing Test _OFFT_IS_64BIT
– Performing Test _OFFT_IS_64BIT - Success
– Performing Test HAVE_DATE_TIME
– Performing Test HAVE_DATE_TIME - Success
– Found KF5Config: /usr/lib64/cmake/KF5Config/KF5ConfigConfig.cmake (found version “5.79.0”)
– Found KF5ConfigWidgets: /usr/lib64/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version “5.79.0”)
– Found KF5CoreAddons: /usr/lib64/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version “5.79.0”)
– Found KF5Crash: /usr/lib64/cmake/KF5Crash/KF5CrashConfig.cmake (found version “5.79.0”)
– Found KF5GlobalAccel: /usr/lib64/cmake/KF5GlobalAccel/KF5GlobalAccelConfig.cmake (found version “5.79.0”)
– Found Gettext: /usr/bin/msgmerge (found version “0.21”)
– Found KF5I18n: /usr/lib64/cmake/KF5I18n/KF5I18nConfig.cmake (found version “5.79.0”)
– Found KF5KIO: /usr/lib64/cmake/KF5KIO/KF5KIOConfig.cmake (found version “5.79.0”)
– Found KF5Service: /usr/lib64/cmake/KF5Service/KF5ServiceConfig.cmake (found version “5.79.0”)
– Found KF5Init: /usr/lib64/cmake/KF5Init/KF5InitConfig.cmake (found version “5.79.0”)
– Found KF5Notifications: /usr/lib64/cmake/KF5Notifications/KF5NotificationsConfig.cmake (found version “5.79.0”)
– Found KF5WidgetsAddons: /usr/lib64/cmake/KF5WidgetsAddons/KF5WidgetsAddonsConfig.cmake (found version “5.79.0”)
– Found KF5WindowSystem: /usr/lib64/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version “5.79.0”)
– Found KF5GuiAddons: /usr/lib64/cmake/KF5GuiAddons/KF5GuiAddonsConfig.cmake (found version “5.79.0”)
– Found KF5: success (found suitable version “5.79.0”, minimum required is “5.9.0”) found components: Config ConfigWidgets CoreAddons Crash GlobalAccel I18n KIO Service Init Notifications Service WidgetsAddons WindowSystem GuiAddons
– Found X11: /usr/include
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
– Looking for gethostbyname
– Looking for gethostbyname - found
– Looking for connect
– Looking for connect - found
– Looking for remove
– Looking for remove - found
– Looking for shmat
– Looking for shmat - found
– Looking for IceConnectionNumber in ICE
– Looking for IceConnectionNumber in ICE - found
– Found PkgConfig: /usr/bin/pkg-config (found version “1.7.3”)
– Found XCB_XCB: /usr/lib64/libxcb.so (found version “1.14”)
– Found XCB_RENDER: /usr/lib64/libxcb-render.so (found version “1.14”)
– Found XCB_SHAPE: /usr/lib64/libxcb-shape.so (found version “1.14”)
– Found XCB_XFIXES: /usr/lib64/libxcb-xfixes.so (found version “1.14”)
– Found XCB_SHM: /usr/lib64/libxcb-shm.so (found version “1.14”)
– Found XCB_ATOM: /usr/lib64/libxcb-util.so (found version “0.4.0”)
– Found XCB_AUX: /usr/lib64/libxcb-util.so (found version “0.4.0”)
– Found XCB_COMPOSITE: /usr/lib64/libxcb-composite.so (found version “1.14”)
– Found XCB_CURSOR: /usr/lib64/libxcb-cursor.so (found version “0.1.3”)
– Found XCB_DAMAGE: /usr/lib64/libxcb-damage.so (found version “1.14”)
– Found XCB_DPMS: /usr/lib64/libxcb-dpms.so (found version “1.14”)
– Found XCB_DRI2: /usr/lib64/libxcb-dri2.so (found version “1.14”)
– Found XCB_DRI3: /usr/lib64/libxcb-dri3.so (found version “1.14”)
– Found XCB_EVENT: /usr/lib64/libxcb-util.so (found version “0.4.0”)
– Found XCB_EWMH: /usr/lib64/libxcb-ewmh.so (found version “0.4.1”)
– Found XCB_GLX: /usr/lib64/libxcb-glx.so (found version “1.14”)
– Found XCB_ICCCM: /usr/lib64/libxcb-icccm.so (found version “0.4.1”)
– Found XCB_IMAGE: /usr/lib64/libxcb-image.so (found version “0.4.0”)
– Found XCB_KEYSYMS: /usr/lib64/libxcb-keysyms.so (found version “0.4.0”)
– Found XCB_PRESENT: /usr/lib64/libxcb-present.so (found version “1.14”)
– Found XCB_RANDR: /usr/lib64/libxcb-randr.so (found version “1.14”)
– Found XCB_RECORD: /usr/lib64/libxcb-record.so (found version “1.14”)
– Found XCB_RENDERUTIL: /usr/lib64/libxcb-render-util.so (found version “0.3.9”)
– Found XCB_RES: /usr/lib64/libxcb-res.so (found version “1.14”)
– Found XCB_SCREENSAVER: /usr/lib64/libxcb-screensaver.so (found version “1.14”)
– Found XCB_SYNC: /usr/lib64/libxcb-sync.so (found version “1.14”)
– Found XCB_UTIL: /usr/lib64/libxcb-util.so (found version “0.4.0”)
– Could NOT find XCB_XEVIE (missing: XCB_XEVIE_LIBRARY) (found version “”)
– Found XCB_XF86DRI: /usr/lib64/libxcb-xf86dri.so (found version “1.14”)
– Found XCB_XINERAMA: /usr/lib64/libxcb-xinerama.so (found version “1.14”)
– Found XCB_XKB: /usr/lib64/libxcb-xkb.so (found version “1.14”)
– Could NOT find XCB_XPRINT (missing: XCB_XPRINT_LIBRARY) (found version “”)
– Found XCB_XTEST: /usr/lib64/libxcb-xtest.so (found version “1.14”)
– Found XCB_XV: /usr/lib64/libxcb-xv.so (found version “1.14”)
– Found XCB_XVMC: /usr/lib64/libxcb-xvmc.so (found version “1.14”)
– Found XCB: /usr/lib64/libxcb.so;/usr/lib64/libxcb-render.so;/usr/lib64/libxcb-shape.so;/usr/lib64/libxcb-xfixes.so;/usr/lib64/libxcb-shm.so;/usr/lib64/libxcb-util.so;/usr/lib64/libxcb-composite.so;/usr/lib64/libxcb-cursor.so;/usr/lib64/libxcb-damage.so;/usr/lib64/libxcb-dpms.so;/usr/lib64/libxcb-dri2.so;/usr/lib64/libxcb-dri3.so;/usr/lib64/libxcb-ewmh.so;/usr/lib64/libxcb-glx.so;/usr/lib64/libxcb-icccm.so;/usr/lib64/libxcb-image.so;/usr/lib64/libxcb-keysyms.so;/usr/lib64/libxcb-present.so;/usr/lib64/libxcb-randr.so;/usr/lib64/libxcb-record.so;/usr/lib64/libxcb-render-util.so;/usr/lib64/libxcb-res.so;/usr/lib64/libxcb-screensaver.so;/usr/lib64/libxcb-sync.so;/usr/lib64/libxcb-xf86dri.so;/usr/lib64/libxcb-xinerama.so;/usr/lib64/libxcb-xkb.so;/usr/lib64/libxcb-xtest.so;/usr/lib64/libxcb-xv.so;/usr/lib64/libxcb-xvmc.so (found version “1.14”)
– Configuring done
– Generating done
CMake Warning:
Manually-specified variables were not used by the project:

QT5BUILD

– Build files have been written to: /home/silas/Applications/LightlyShaders/qt5build
silas@lenovoSUSE ~/A/L/qt5build (master)> make
Scanning dependencies of target kwin4_lightlyshaders_config_autogen
[ 7%] Generating lightlyshaders_config.json
About to parse service type file “/usr/share/kservicetypes5/kcmodule.desktop”
Found property definition “X-KDE-FactoryName” with type “QString”
Found property definition “X-KDE-ParentComponents” with type “QStringList”
Found property definition “X-KDE-CfgDlgHierarchy” with type “QString”
Found property definition “X-KDE-System-Settings-Parent-Category” with type “QString”
Found property definition “X-KDE-KInfoCenter-Category” with type “QString”
Found property definition “X-KDE-Weight” with type “int”
Found property definition “X-KDE-PluginKeyword” with type “QString”
Found property definition “X-KDE-OnlyShowOnQtPlatforms” with type “QStringList”
Found property definition “X-KDE-KCM-Args” with type “QStringList”
Generated “/home/silas/Applications/LightlyShaders/qt5build/lightlyshaders_config.json”
[ 15%] Automatic MOC for target kwin4_lightlyshaders_config
[ 15%] Built target kwin4_lightlyshaders_config_autogen
[ 23%] Generating ui_lightlyshaders_config.h
[ 30%] Generating kwineffects_interface.cpp, kwineffects_interface.h
[ 38%] Generating kwineffects_interface.moc
Scanning dependencies of target kwin4_lightlyshaders_config
[ 46%] Building CXX object CMakeFiles/kwin4_lightlyshaders_config.dir/kwin4_lightlyshaders_config_autogen/mocs_compilation.cpp.o
In file included from /home/silas/Applications/LightlyShaders/qt5build/kwin4_lightlyshaders_config_autogen/EWIEGA46WW/moc_lightlyshaders_config.cpp:10,
from /home/silas/Applications/LightlyShaders/qt5build/kwin4_lightlyshaders_config_autogen/mocs_compilation.cpp:2:
/home/silas/Applications/LightlyShaders/qt5build/kwin4_lightlyshaders_config_autogen/EWIEGA46WW/…/…/…/lightlyshaders_config.h:13:10: warning: ‘virtual void LightlyShadersConfig::save()’ can be marked override [-Wsuggest-override]
13 | void save();
| ^~~~
/home/silas/Applications/LightlyShaders/qt5build/kwin4_lightlyshaders_config_autogen/EWIEGA46WW/…/…/…/lightlyshaders_config.h:14:10: warning: ‘virtual void LightlyShadersConfig::load()’ can be marked override [-Wsuggest-override]
14 | void load();
| ^~~~
/home/silas/Applications/LightlyShaders/qt5build/kwin4_lightlyshaders_config_autogen/EWIEGA46WW/…/…/…/lightlyshaders_config.h:15:10: warning: ‘virtual void LightlyShadersConfig::defaults()’ can be marked override [-Wsuggest-override]
15 | void defaults();
| ^~~~~~~~
[ 53%] Building CXX object CMakeFiles/kwin4_lightlyshaders_config.dir/lightlyshaders_config.cpp.o
In file included from /home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp:1:
/home/silas/Applications/LightlyShaders/lightlyshaders_config.h:13:10: warning: ‘virtual void LightlyShadersConfig::save()’ can be marked override [-Wsuggest-override]
13 | void save();
| ^~~~
/home/silas/Applications/LightlyShaders/lightlyshaders_config.h:14:10: warning: ‘virtual void LightlyShadersConfig::load()’ can be marked override [-Wsuggest-override]
14 | void load();
| ^~~~
/home/silas/Applications/LightlyShaders/lightlyshaders_config.h:15:10: warning: ‘virtual void LightlyShadersConfig::defaults()’ can be marked override [-Wsuggest-override]
15 | void defaults();
| ^~~~~~~~
/home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp: In constructor ‘LightlyShadersConfig::LightlyShadersConfig(QWidget*, const QVariantList&)’:
/home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp:51:28: warning: ‘static KAboutData* KAboutData::pluginData(const QString&)’ is deprecated: Since 5.76. See API docs [-Wdeprecated-declarations]
51 | : KCModule(KAboutData::pluginData(QStringLiteral(“kwin4_effect_lightlyshaders”)), parent, args)
| ^~~~~~~~~~
In file included from /usr/include/KF5/KCoreAddons/KAboutData:1,
from /home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp:16:
/usr/include/KF5/KCoreAddons/kaboutdata.h:467:24: note: declared here
467 | static KAboutData pluginData(const QString &componentName);
| ^~~~~~~~~~
/home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp:51:84: warning: ‘static KAboutData
KAboutData::pluginData(const QString&)’ is deprecated: Since 5.76. See API docs [-Wdeprecated-declarations]
51 | boutData::pluginData(QStringLiteral(“kwin4_effect_lightlyshaders”)), parent, args)
| ^

In file included from /usr/include/KF5/KCoreAddons/KAboutData:1,
from /home/silas/Applications/LightlyShaders/lightlyshaders_config.cpp:16:
/usr/include/KF5/KCoreAddons/kaboutdata.h:467:24: note: declared here
467 | static KAboutData *pluginData(const QString &componentName);
| ^~~~~~~~~~
[ 61%] Building CXX object CMakeFiles/kwin4_lightlyshaders_config.dir/kwineffects_interface.cpp.o
[ 69%] Linking CXX shared module kwin4_lightlyshaders_config.so
[ 69%] Built target kwin4_lightlyshaders_config
Scanning dependencies of target kwin4_effect_lightlyshaders_autogen
[ 76%] Automatic MOC for target kwin4_effect_lightlyshaders
AutoMoc warning

“SRC:/lightlyshaders.cpp”
includes the moc file “lightlyshaders.moc”, but does not contain a Q_OBJECT, Q_GADGET, Q_NAMESPACE, Q_NAMESPACE_EXPORT, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON, K_PLUGIN_CLASS_WITH_JSON, K_PLUGIN_FACTORY, K_PLUGIN_FACTORY_WITH_JSON or K_PLUGIN_CLASS_WITH_JSON macro.

[ 76%] Built target kwin4_effect_lightlyshaders_autogen
Scanning dependencies of target kwin4_effect_lightlyshaders
[ 84%] Building CXX object CMakeFiles/kwin4_effect_lightlyshaders.dir/kwin4_effect_lightlyshaders_autogen/mocs_compilation.cpp.o
In file included from /home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/EWIEGA46WW/…/…/…/dbus.h:5,
from /home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/EWIEGA46WW/moc_dbus.cpp:10,
from /home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/mocs_compilation.cpp:2:
/home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/EWIEGA46WW/…/…/…/lightlyshaders.h:43:10: warning: ‘virtual void LightlyShadersEffect::reconfigure(KWin::Effect::ReconfigureFlags)’ can be marked override [-Wsuggest-override]
43 | void reconfigure(ReconfigureFlags flags);
| ^~~~~~~~~~~
/home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/EWIEGA46WW/…/…/…/lightlyshaders.h:45:10: warning: ‘virtual void LightlyShadersEffect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&)’ can be marked override [-Wsuggest-override]
45 | void paintWindow(KWin::EffectWindow* w, int mask, QRegion region, KWin::WindowPaintData& data);
| ^~~~~~~~~~~
/home/silas/Applications/LightlyShaders/qt5build/kwin4_effect_lightlyshaders_autogen/EWIEGA46WW/…/…/…/lightlyshaders.h:46:17: warning: ‘virtual int LightlyShadersEffect::requestedEffectChainPosition() const’ can be marked override [-Wsuggest-override]
46 | virtual int requestedEffectChainPosition() const { return 99; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 92%] Building CXX object CMakeFiles/kwin4_effect_lightlyshaders.dir/lightlyshaders.cpp.o
In file included from /home/silas/Applications/LightlyShaders/dbus.h:5,
from /home/silas/Applications/LightlyShaders/lightlyshaders.cpp:20:
/home/silas/Applications/LightlyShaders/lightlyshaders.h:43:10: warning: ‘virtual void LightlyShadersEffect::reconfigure(KWin::Effect::ReconfigureFlags)’ can be marked override [-Wsuggest-override]
43 | void reconfigure(ReconfigureFlags flags);
| ^~~~~~~~~~~
/home/silas/Applications/LightlyShaders/lightlyshaders.h:45:10: warning: ‘virtual void LightlyShadersEffect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&)’ can be marked override [-Wsuggest-override]
45 | void paintWindow(KWin::EffectWindow* w, int mask, QRegion region, KWin::WindowPaintData& data);
| ^~~~~~~~~~~
/home/silas/Applications/LightlyShaders/lightlyshaders.h:46:17: warning: ‘virtual int LightlyShadersEffect::requestedEffectChainPosition() const’ can be marked override [-Wsuggest-override]
46 | virtual int requestedEffectChainPosition() const { return 99; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/silas/Applications/LightlyShaders/lightlyshaders.cpp: In member function ‘void LightlyShadersEffect::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, int)’:
/home/silas/Applications/LightlyShaders/lightlyshaders.cpp:208:48: error: cannot convert ‘int’ to ‘std::chrono::milliseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000> >’}
208 | KWin::effects->prePaintWindow(w, data, time);
| ^~~~
| |
| int
In file included from /home/silas/Applications/LightlyShaders/lightlyshaders.h:23,
from /home/silas/Applications/LightlyShaders/dbus.h:5,
from /home/silas/Applications/LightlyShaders/lightlyshaders.cpp:20:
/usr/include/kwineffects.h:838:102: note: initializing argument 3 of ‘virtual void KWin::EffectsHandler::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, std::chrono::milliseconds)’
838 | ectWindow* w, WindowPrePaintData& data, std::chrono::milliseconds presentTime) = 0;
| ~~~~~~~~~~~~~~~~^

/home/silas/Applications/LightlyShaders/lightlyshaders.cpp:228:44: error: cannot convert ‘int’ to ‘std::chrono::milliseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000> >’}
228 | KWin::effects->prePaintWindow(w, data, time);
| ^~~~
| |
| int
In file included from /home/silas/Applications/LightlyShaders/lightlyshaders.h:23,
from /home/silas/Applications/LightlyShaders/dbus.h:5,
from /home/silas/Applications/LightlyShaders/lightlyshaders.cpp:20:
/usr/include/kwineffects.h:838:102: note: initializing argument 3 of ‘virtual void KWin::EffectsHandler::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, std::chrono::milliseconds)’
838 | ectWindow* w, WindowPrePaintData& data, std::chrono::milliseconds presentTime) = 0;
| ~~~~~~~~~~~~~~~~^

In file included from /usr/include/qt5/QtDBus/qtdbusglobal.h:43,
from /usr/include/qt5/QtDBus/qdbusabstractadaptor.h:43,
from /usr/include/qt5/QtDBus/QDBusAbstractAdaptor:1,
from /home/silas/Applications/LightlyShaders/dbus.h:4,
from /home/silas/Applications/LightlyShaders/lightlyshaders.cpp:20:
/home/silas/Applications/LightlyShaders/lightlyshaders.cpp: In member function ‘void LightlyShadersEffect::fillRegion(const QRegion&, const QColor&)’:
/home/silas/Applications/LightlyShaders/lightlyshaders.cpp:355:41: warning: ‘QVector QRegion::rects() const’ is deprecated: Use begin()/end() instead [-Wdeprecated-declarations]
355 | foreach (const QRect & r, reg.rects())
| ^
In file included from /usr/include/qt5/QtGui/qmatrix.h:45,
from /usr/include/qt5/QtGui/qtransform.h:43,
from /usr/include/qt5/QtGui/qimage.h:48,
from /usr/include/qt5/QtGui/QImage:1,
from /usr/include/kwinglobals.h:14,
from /usr/include/kwineffects.h:18,
from /home/silas/Applications/LightlyShaders/lightlyshaders.h:23,
from /home/silas/Applications/LightlyShaders/dbus.h:5,
from /home/silas/Applications/LightlyShaders/lightlyshaders.cpp:20:
/usr/include/qt5/QtGui/qregion.h:125:20: note: declared here
125 | QVector rects() const;
| ^~~~~
make[2]: *** [CMakeFiles/kwin4_effect_lightlyshaders.dir/build.make:95: CMakeFiles/kwin4_effect_lightlyshaders.dir/lightlyshaders.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:128: CMakeFiles/kwin4_effect_lightlyshaders.dir/all] Error 2
make: *** [Makefile:160: all] Error 2

Como pode ver, o erro acontece quando uso o mais recente do KDE Plasma, não o mais estável. O LightlyShaders precisa ser modificado para o novo KWin, algo que só vai acontecer quando o 5.21 já ter sido lançado. Por isso que especifiquei que era o openSUSE Krypton, não o openSUSE Tumbleweed normal. Caso tenha instalado os repositórios do KDE Unstable em uma instalação do Tumbleweed existente, você esqueceu de especificar a troca das fontes dos repositórios para usar as do KDE Unstable no lugar das do openSUSE.

1 curtida

Achei a ISO que você falou, vou baixar e testar nele.

Finalmente alguém notou e disse algo a respeito!

@ryu_ketsueki Foi não… hahaha :rofl:

Pelo que eu vi, nesta versão “instável”, deve corrigir o código da linha 208 e 228 OU modificar a linha 199 para que estas 2 linhas funcionem.
Também há um problema com pthread, porém, não é algo que faria a compilação parar.

Quanto a Distro, gostei mais da versão TW do que a versão Krypton. Há diferença até na performance. o TW está melhor, na minha opinião.

Sei não hein. Eu soube de um cara que estava com inveja dos quatro segundos de boot no openSUSE Krypton do meu laptop LOL. Só parou para colocar a senha de descriptografar a partição do usuário. Nunca usei um sistema mais responsivo até agora

1 curtida

Talvez haja alguma diferença entre testar em máquina virtual e usar em máquina real.
Como só testei em máquina virtual, tive esta impressão.

Eu queria usar Arch ou OpenSuse, mas quando utilizar o repositor git do plasma nassas distros tudo fica em inglês e eu não consigo me acostumar.

Entendi. Bem, não é um problema para mim mas eu sinto por estar passando por isso.

Você já tentou no openSUSE usando os repositórios oficiais? Não é preciso pegar os fontes via Git para ter as novidades. O ambiente deveria ficar parcialmente em português, no pior caso, mas não totalmente em inglês.

LightlyShaders já ta compilando normalmente.

2 curtidas
  1. Continua sendo impossível apenas com o QT.
  2. Não que o QT não possa ser alterado para tal, mas não é o lugar certo para isso e um feature request provavelmente não seria aceito
  3. Isso funciona apenas por causa do Kwin que aplica filtros durante a composição das camadas de buffers que formam a janela. (e não tem muito a ver com o fato de usar QT).

E realmente, existem n formas de você contornar , muito na computação é sobre criatividade, se o framework não resolve, o compositor resolve, e se esse não resolver, talvez o driver de jeito, e assim vai. :slightly_smiling_face:

1 curtida

Sim, eu instalei antes de virar upstream. Um dos forks havia corrigido isso e uso desde então.

1 curtida

Sabe dizer se o Mac OS Big Sur continua usando Qt? Aqueles efeitos de transparência podem ser efeito do Window Manager deles então. Talvez o Quartz Compositor seja o que permite isso.

Edit: Acabei de fazer um teste rápido. Parece que qualquer Compositor que suporte transparência, vai permitir que o Lightly tenha a toolbar transparente. Testei com o Compiz e com o Openbox. O primeiro permitiu a transparência enquanto o segundo deixou opaco

1 curtida

Que eu saiba eles nunca usaram QT, a Apple sempre usou um framework próprio, pelo menos desde que lembro, primeiro o Carbon e atualmente o Cocoa. Não necessariamente a funcionalidade é resolvida no Quartz ou totalmente só pelo compositor, existem diversas formas de se resolver esse problema e motivos para não fazer isso em nível de framework assim como motivos para fazer isso em nível de framework.

Uma coisa da programação é que código tem alguns aspectos da literatura, um problema pode ser resolvido das mais diversas formas, com suas vantagens e desvantagens, assim como uma história.

1 curtida

Estranho. Achei que era Qt. Não lembro quem me disse que era Qt. Eu estava tão empolgado com esse pensamento. Ainda bem que nunca espalhei esse equivoco para ninguém.

1 curtida

A grande maioria das tecnologias da Apple são coisas feitas na empresa, é a melhor estratégia para a plataforma deles, ajuda inclusive a reduzir os custos de desenvolvimento, ajudar a garantir qualidade com baixo custo, etc.

O QT tem certos compromissos inevitáveis que dificultam sua manutenção por ser um framework tão genérico como é… O KDE provavelmente não usa nem metade das funcionalidades do QT eu acredito.

2 curtidas

Entendi. Pois é, faz sentido. Qt sozinho não vai permitir isso. Mas aí é tirar do contexto, o que o tsujan disse. Acredito que o que ele se referia era a forma como todos os widgets são organizados enquanto se usa Qt. O Kvantum mesmo apenas usava de SVGs para fazer tudo o que faz, então é claro que a janela é sólida e não vai permitir uma toolbar transparente.

Não sei exatamente como o Lightly funciona para fazer a transparência funcionar. Atualmente, o que define o nível de transparência na toolbar é um parâmetro não definido das color schemes do Plasma. É possível definir transparência nas color schemes e, caso o Widget Style saiba interpretar, vai funcionar. Talvez tenha mais a ver com o KF5 do que com Qt por si só, o que pode explicar o motivo do Compiz também permitir a transparência funcionar, já que parece que o KWin começou como um fork do Compiz ou algo parecido. Muitos dos efeitos do KWin, comportamento da área de trabalho e ambientes virtuais, vieram do Compiz.

1 curtida

Não é uma questão de usar SVG até porque o formato suporta canal alfa, o QT sozinho não resolve de fato, sendo um framework multiplataforma, isso é um problema que deve ser resolvido pelo compositor, QWidget suporta os atributos Qt::WA_TranslucentBackground e QT::WA_NoSystemBackground exatamente para isso, mas se o sistema não tiver um compositor e um servidor gráfico com suporte, não vai funcionar, inclusive pode envolver idiossincrasias extras a depender da plataforma (Windows).

Existe toda uma miríade de gambiarras que poderiam resolver isso, nenhuma delas minimamente de qualidade, por isso o meu ponto de não ser adequado implementar no framework. :wink:

Quanto ao que tsujan respondeu, é difícil saber o contexto sem ter participado da conversa, mas uma das questões pode ser o fato de que o Kvantum evoluiu sem considerar estas questões. O QT de fato sem ajustes específicos pinta o fundo de janelas decoradas por n motivos, mas resumindo, ser multiplataforma, existir a tantos anos, ter de garantir retrocompatibilidade e oferecer novas features são coisas complicadas de agregar em um mesmo produto.

Num exemplo simples Cocoa pode e muito provavelmente ignorar completamente estas questões. O problema é que provavelmente se comunicando com um compositor e servidor gráfico que não entende canais alfa ou não está preparado para ignorar os dados extras, iria dar ruim.

2 curtidas

Entendi. Valeu aí pela explicação mano e por esclarecer para eu abandonar esses equivocos. De fato, faz sentido que o compositor e servidor gráfico é o que faz tudo isso possível. Eu lembro de quando GTK parecia alienígena no KDE Plasma por causa da forma como o KWin fazia as janelas com headerbar aparecer. Alguns temas até tinham bordas pretas horrorosas, como o McOS. Hoje, isso não acontece mais e os apps GTK são integrados até de boa, com direito ao Breeze-gtk tendo suporte as color schemes do Plasma. Ainda não tinha me dado conta que Qt também precisava de um certo tratamento nessa parte também.

Quer dizer, eu tinha uma breve noção quando eu trocava de KWin para outro WM ou de X11 para Wayland. De fato, Qt por sí só não vai fazer nada se não tiver compositor e servidor gráfico que dê suporte. Até quando eu testo o Plasma Wayland de vez em quando, a forma como os programas aparecem na tela é totalmente diferente de quando era em X11. Depender do compositor e servidor gráfico realmente parece fazer mais sentido do que implementar no framework, até para não conflitar com soluções que os dois oferecem. Talvez por isso que os programas que usam KDE Frameworks são tão diferentes de outros programas que usam Qt “puro”, digamos assim, embora o uso do Qt permita aproximar algumas coisas, como usar um mesmo Widget Style, nesse caso o Lightly, para todos os apps que suportam essa troca de estilo. Até hoje não sei o motivo do dfilemanager por Appimage não usar o Lightly.

Sobre a resposta do tsujan, o contexto era que eu estava tentando recriar o Aero Glass ou Acryllic do Windows com um tema Kvantum, ou seja, ter uma toolbar transparente com suporte a blur, permitindo ver o que está atrás da janela. O tsujan disse que isso era impossível de ser feito com Kvantum ou basicamente qualquer outro Widget Style para Qt, não só Kvantum. Ver o Lightly fazer isso que me trouxe a criar o tópico. Não fiz com intenção de expor o tsujan, mas apenas para criar um título clickbait, digamos assim, para divulgar algo que me mostraram e achei bacana e que ia contra o que o tsujan havia me dito. Mas considerando como o próprio Kvantum já tráz a possibilidade de deixar o background de uma janela transparente, era só uma questão de isolar um background opaco em um lugar e colocar um transparente em outro, indo contra o que o Qt faz de pintar o fundo da janela inteira para depois colocar os elementos. Foi legal ver o Luwx fazer isso com o Lightly e agora estou curioso para ver como ele fez isso.

2 curtidas

São informações desinteressantes as vezes, costumo colocar pois tem gente que as vezes se interessa pelos detalhes.

Por exemplo, uma gambiarra que literalmente foi praticada e era horrível, super lenta, com desalinhamento, consumo enorme de enegia e tal, consistia em capturar o fundo, recortar, aplicar filtros ineficientes, tudo sem aceleração e enviar o pseudofundo transparente para o compositor. Ficava horrível, :joy: mas “funcionava” em todas as plataformas e exigia quase nenhuma mudança na DE ou engine.

1 curtida