diff --git a/effects.cpp b/effects.cpp --- a/effects.cpp +++ b/effects.cpp @@ -338,6 +338,11 @@ emit windowHidden(c->effectWindow()); } ); + connect(c, &AbstractClient::fullScreenChanged, this, + [this, c]() { + emit windowFullScreenStateChanged(c->effectWindow(), c->isFullScreen()); + } + ); } void EffectsHandlerImpl::setupClientConnections(Client* c) diff --git a/effects/CMakeLists.txt b/effects/CMakeLists.txt --- a/effects/CMakeLists.txt +++ b/effects/CMakeLists.txt @@ -135,6 +135,7 @@ add_subdirectory( fade ) add_subdirectory( fadedesktop ) add_subdirectory( frozenapp ) +add_subdirectory( fullscreen ) add_subdirectory( login ) add_subdirectory( logout ) add_subdirectory( maximize ) diff --git a/effects/fullscreen/CMakeLists.txt b/effects/fullscreen/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/effects/fullscreen/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory( package ) diff --git a/effects/fullscreen/package/CMakeLists.txt b/effects/fullscreen/package/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/effects/fullscreen/package/CMakeLists.txt @@ -0,0 +1,6 @@ +install(DIRECTORY contents DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/effects/kwin4_effect_fullscreen) +install(FILES metadata.desktop DESTINATION ${DATA_INSTALL_DIR}/${KWIN_NAME}/effects/kwin4_effect_fullscreen) + +install(FILES metadata.desktop + DESTINATION ${SERVICES_INSTALL_DIR}/${KWIN_NAME} + RENAME kwin4_effect_fullscreen.desktop) diff --git a/effects/fullscreen/package/contents/code/fullscreen.js b/effects/fullscreen/package/contents/code/fullscreen.js --- a/effects/fullscreen/package/contents/code/fullscreen.js +++ b/effects/fullscreen/package/contents/code/fullscreen.js @@ -1,7 +1,7 @@ /******************************************************************** This file is part of the KDE project. - Copyright (C) 2012 Martin Gr��lin + Copyright (C) 2012 Martin Gräßlin Copyright (C) 2017 Vlad Zagorodniy This program is free software; you can redistribute it and/or modify diff --git a/effects/fullscreen/package/metadata.desktop b/effects/fullscreen/package/metadata.desktop --- a/effects/fullscreen/package/metadata.desktop +++ b/effects/fullscreen/package/metadata.desktop @@ -1,8 +1,6 @@ [Desktop Entry] Name=Fullscreen -Name[x-test]=xxFullscreenxx Comment=Animates transition to/from fullscreen mode -Comment[x-test]=xxAnimates transition to/from fullscreen modexx Icon=preferences-system-windows-effect-fullscreen Encoding=UTF-8 diff --git a/libkwineffects/kwineffects.h b/libkwineffects/kwineffects.h --- a/libkwineffects/kwineffects.h +++ b/libkwineffects/kwineffects.h @@ -1695,6 +1695,14 @@ **/ void xcbConnectionChanged(); + /** + * Signal emitted when fullscreen state of a window changed. + * @param w The window whose fullscreen state changed + * @param fullscreen The new fullscreen state + * @since 5.12 + **/ + void windowFullScreenStateChanged(KWin::EffectWindow *w, bool fullScreen); + protected: QVector< EffectPair > loaded_effects; //QHash< QString, EffectFactory* > effect_factories;