├── examples
├── plugin
│ ├── .gitignore
│ ├── metadata.json.license
│ ├── metadata.json
│ └── eventlistener.h
├── quick-effect
│ ├── .gitignore
│ ├── package
│ │ ├── metadata.json.license
│ │ ├── contents
│ │ │ ├── config
│ │ │ │ ├── main.xml.license
│ │ │ │ └── main.xml
│ │ │ └── ui
│ │ │ │ └── config.ui.license
│ │ └── metadata.json
│ └── CMakeLists.txt
└── quick-script
│ ├── .gitignore
│ ├── package
│ ├── metadata.json.license
│ └── metadata.json
│ └── CMakeLists.txt
├── src
├── helpers
│ └── CMakeLists.txt
├── platformsupport
│ ├── CMakeLists.txt
│ └── scenes
│ │ ├── CMakeLists.txt
│ │ ├── qpainter
│ │ ├── CMakeLists.txt
│ │ └── qpaintersurfacetexture_wayland.h
│ │ └── opengl
│ │ ├── CMakeLists.txt
│ │ ├── openglsurfacetexture_wayland.cpp
│ │ ├── openglsurfacetexture_x11.cpp
│ │ ├── openglsurfacetexture_x11.h
│ │ └── openglsurfacetexture_wayland.h
├── plugins
│ ├── fade
│ │ ├── CMakeLists.txt
│ │ └── package
│ │ │ └── contents
│ │ │ └── config
│ │ │ └── main.xml
│ ├── login
│ │ ├── CMakeLists.txt
│ │ └── package
│ │ │ └── contents
│ │ │ └── config
│ │ │ └── main.xml
│ ├── logout
│ │ └── CMakeLists.txt
│ ├── scale
│ │ └── CMakeLists.txt
│ ├── squash
│ │ └── CMakeLists.txt
│ ├── videowall
│ │ └── CMakeLists.txt
│ ├── maximize
│ │ └── CMakeLists.txt
│ ├── minimizeall
│ │ └── CMakeLists.txt
│ ├── dimscreen
│ │ └── CMakeLists.txt
│ ├── eyeonscreen
│ │ └── CMakeLists.txt
│ ├── fadedesktop
│ │ └── CMakeLists.txt
│ ├── frozenapp
│ │ └── CMakeLists.txt
│ ├── fullscreen
│ │ └── CMakeLists.txt
│ ├── qpa
│ │ ├── kwin.json
│ │ ├── platformcursor.h
│ │ └── eglhelpers.h
│ ├── sessionquit
│ │ └── CMakeLists.txt
│ ├── desktopchangeosd
│ │ ├── CMakeLists.txt
│ │ └── package
│ │ │ └── contents
│ │ │ └── ui
│ │ │ └── main.qml
│ ├── dialogparent
│ │ └── CMakeLists.txt
│ ├── fadingpopups
│ │ └── CMakeLists.txt
│ ├── idletime
│ │ ├── kwin.json
│ │ └── CMakeLists.txt
│ ├── translucency
│ │ └── CMakeLists.txt
│ ├── kpackage
│ │ ├── aurorae
│ │ │ └── aurorae.json
│ │ ├── effect
│ │ │ └── effect.json
│ │ ├── scripts
│ │ │ └── scripts.json
│ │ ├── decoration
│ │ │ └── decoration.json
│ │ ├── windowswitcher
│ │ │ └── windowswitcher.json
│ │ └── CMakeLists.txt
│ ├── windowaperture
│ │ └── CMakeLists.txt
│ ├── synchronizeskipswitcher
│ │ ├── CMakeLists.txt
│ │ └── package
│ │ │ └── contents
│ │ │ └── code
│ │ │ └── main.js
│ ├── windowsystem
│ │ ├── kwindowsystem.json
│ │ ├── CMakeLists.txt
│ │ └── windowshadow.h
│ ├── nightlight
│ │ ├── metadata.json
│ │ ├── nightlightsettings.kcfgc
│ │ └── constants.h
│ ├── krunner-integration
│ │ ├── metadata.json
│ │ └── CMakeLists.txt
│ ├── blur
│ │ ├── blurconfig.kcfgc
│ │ ├── shaders
│ │ │ ├── vertex.vert
│ │ │ ├── vertex_core.vert
│ │ │ ├── noise.frag
│ │ │ ├── contrast_rounded.vert
│ │ │ ├── contrast_rounded_core.vert
│ │ │ ├── noise_core.frag
│ │ │ ├── downsample.frag
│ │ │ └── downsample_core.frag
│ │ ├── main.cpp
│ │ ├── blur_config.h
│ │ └── blur.kcfg
│ ├── colorblindnesscorrection
│ │ ├── metadata.json.license
│ │ ├── colorblindnesscorrection.qrc
│ │ ├── colorblindnesscorrectionconfig.kcfgc
│ │ ├── main.cpp
│ │ ├── shaders
│ │ │ └── README
│ │ └── CMakeLists.txt
│ ├── zoom
│ │ ├── zoomconfig.kcfgc
│ │ ├── zoom.qrc
│ │ ├── main.cpp
│ │ └── CMakeLists.txt
│ ├── glide
│ │ ├── glideconfig.kcfgc
│ │ ├── main.cpp
│ │ └── glide_config.h
│ ├── sheet
│ │ ├── sheetconfig.kcfgc
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── sheet.kcfg
│ ├── slide
│ │ ├── slideconfig.kcfgc
│ │ └── main.cpp
│ ├── trackmouse
│ │ ├── data
│ │ │ ├── tm_inner.png
│ │ │ └── tm_outer.png
│ │ ├── trackmouseconfig.kcfgc
│ │ └── main.cpp
│ ├── kscreen
│ │ ├── kscreenconfig.kcfgc
│ │ ├── main.cpp
│ │ ├── CMakeLists.txt
│ │ └── kscreen.kcfg
│ ├── systembell
│ │ ├── shaders
│ │ │ ├── color.frag
│ │ │ └── color_core.frag
│ │ ├── systembell.qrc
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── fallapart
│ │ ├── fallapartconfig.kcfgc
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── fallapart.kcfg
│ ├── magiclamp
│ │ ├── magiclampconfig.kcfgc
│ │ ├── main.cpp
│ │ ├── magiclamp.kcfg
│ │ └── magiclamp_config.h
│ ├── magnifier
│ │ ├── magnifierconfig.kcfgc
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── mousemark
│ │ ├── mousemarkconfig.kcfgc
│ │ └── main.cpp
│ ├── mouseclick
│ │ ├── mouseclickconfig.kcfgc
│ │ └── main.cpp
│ ├── diminactive
│ │ ├── diminactiveconfig.kcfgc
│ │ └── main.cpp
│ ├── slidingpopups
│ │ ├── slidingpopupsconfig.kcfgc
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── slidingpopups.kcfg
│ ├── thumbnailaside
│ │ ├── thumbnailasideconfig.kcfgc
│ │ └── main.cpp
│ ├── wobblywindows
│ │ ├── wobblywindowsconfig.kcfgc
│ │ └── main.cpp
│ ├── invert
│ │ ├── invert.qrc
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── startupfeedback
│ │ ├── startupfeedback.qrc
│ │ ├── shaders
│ │ │ ├── blinking-startup.frag
│ │ │ └── blinking-startup_core.frag
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── showpaint
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── slideback
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── overview
│ │ ├── overviewconfig.kcfgc
│ │ ├── main.cpp
│ │ └── kcm
│ │ │ ├── CMakeLists.txt
│ │ │ └── overvieweffectkcm.h
│ ├── backgroundcontrast
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── windowview
│ │ ├── windowviewconfig.kcfgc
│ │ ├── main.cpp
│ │ └── kcm
│ │ │ ├── CMakeLists.txt
│ │ │ └── windowvieweffectkcm.h
│ ├── blendchanges
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── colorpicker
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── highlightwindow
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── screenedge
│ │ ├── CMakeLists.txt
│ │ └── main.cpp
│ ├── outputlocator
│ │ ├── main.cpp
│ │ └── CMakeLists.txt
│ ├── private
│ │ ├── plugin.h
│ │ ├── plugin.cpp
│ │ └── CMakeLists.txt
│ ├── showfps
│ │ ├── main.cpp
│ │ └── CMakeLists.txt
│ ├── tileseditor
│ │ ├── main.cpp
│ │ ├── kcm
│ │ │ ├── CMakeLists.txt
│ │ │ └── tileseditoreffectkcm.h
│ │ └── CMakeLists.txt
│ └── screenshot
│ │ └── main.cpp
├── backends
│ ├── CMakeLists.txt
│ ├── x11
│ │ ├── CMakeLists.txt
│ │ └── standalone
│ │ │ ├── x11_common_logging.cpp
│ │ │ ├── x11_standalone_logging.cpp
│ │ │ ├── x11_standalone_logging.h
│ │ │ ├── x11_common_logging_p.h
│ │ │ ├── x11_standalone_glxconvenience.h
│ │ │ ├── x11_standalone_screenedges_filter.h
│ │ │ ├── x11_standalone_glx_context_attribute_builder.h
│ │ │ ├── x11_standalone_xfixes_cursor_event_filter.h
│ │ │ └── x11_standalone_placeholderoutput.h
│ └── virtual
│ │ ├── CMakeLists.txt
│ │ ├── virtual_logging.h
│ │ └── virtual_logging.cpp
├── wayland
│ ├── tools
│ │ ├── .clang-format
│ │ └── README.md
│ ├── protocols
│ │ └── README.md
│ ├── textinput.cpp
│ ├── abstract_drop_handler.cpp
│ └── abstract_drop_handler.h
├── kcms
│ ├── common
│ │ ├── Messages.sh
│ │ └── genericscriptedconfig.json
│ ├── tabbox
│ │ ├── thumbnails
│ │ │ ├── falkon.png
│ │ │ ├── kmail.png
│ │ │ ├── desktop.png
│ │ │ ├── dolphin.png
│ │ │ └── systemsettings.png
│ │ ├── Messages.sh
│ │ ├── kwinswitcheffectsettings.kcfgc
│ │ ├── kwintabboxsettings.kcfgc
│ │ └── kwinswitcheffectsettings.kcfg
│ ├── animations
│ │ ├── Messages.sh
│ │ ├── animationskdeglobalssettings.kcfgc
│ │ ├── animationskdeglobalssettings.kcfg
│ │ └── CMakeLists.txt
│ ├── effects
│ │ ├── Messages.sh
│ │ └── desktopeffectsdata.h
│ ├── decoration
│ │ ├── Messages.sh
│ │ ├── kwindecorationsettings.kcfgc
│ │ └── declarative-plugin
│ │ │ └── types.h
│ ├── desktop
│ │ ├── Messages.sh
│ │ └── virtualdesktopssettings.kcfgc
│ ├── rules
│ │ └── Messages.sh
│ ├── options
│ │ ├── Messages.sh
│ │ ├── kwinoptions_settings.kcfgc
│ │ ├── kwinoptions_kdeglobals_settings.kcfgc
│ │ ├── AUTHORS
│ │ └── kwinoptions_kdeglobals_settings.kcfg
│ ├── compositing
│ │ ├── Messages.sh
│ │ ├── kwincompositing_setting.kcfgc
│ │ └── kwincompositingdata.h
│ ├── screenedges
│ │ ├── Messages.sh
│ │ ├── kwinscreenedgesettings.kcfgc
│ │ ├── kwintouchscreensettings.kcfgc
│ │ ├── kwinscreenedgeeffectsettings.kcfgc
│ │ ├── kwinscreenedgescriptsettings.kcfgc
│ │ ├── kwintouchscreenscriptsettings.kcfgc
│ │ ├── kwintouchscreenedgeeffectsettings.kcfgc
│ │ ├── kwinscreenedgeeffectsettings.kcfg
│ │ ├── kwinscreenedgescriptsettings.kcfg
│ │ ├── kwintouchscreenscriptsettings.kcfg
│ │ └── kwintouchscreenedgeeffectsettings.kcfg
│ ├── scripts
│ │ ├── Messages.sh
│ │ ├── CMakeLists.txt
│ │ └── kwinscriptsdata.h
│ └── CMakeLists.txt
├── rulebooksettingsbase.kcfgc
├── settings.kcfgc
├── rulesettings.kcfgc
├── Messages.sh
├── qml
│ ├── onscreennotification
│ │ └── plasma
│ │ │ └── dummydata
│ │ │ └── osd.qml
│ └── CMakeLists.txt
├── tabbox
│ ├── switchers
│ │ └── CMakeLists.txt
│ ├── tabbox_logging.cpp
│ └── tabbox_logging.h
├── input_event.cpp
├── effect
│ ├── logging.cpp
│ └── logging_p.h
├── scene
│ ├── rootitem.cpp
│ ├── rootitem.h
│ ├── itemrenderer.cpp
│ └── cursordelegate_qpainter.h
├── utils
│ ├── executable_path.h
│ ├── vsyncmonitor.cpp
│ ├── realtime.h
│ ├── executable_path_proc.cpp
│ ├── xcursorreader.h
│ ├── svgcursorreader.h
│ ├── c_ptr.h
│ ├── kernel.h
│ ├── realtime.cpp
│ ├── resource.h
│ └── executable_path_sysctl.cpp
├── scripting
│ ├── org.kde.kwin.Script.xml
│ ├── scripting_logging.cpp
│ ├── scripting_logging.h
│ └── scriptingutils.h
├── decorations
│ ├── decorations_logging.cpp
│ └── decorations_logging.h
├── plugin.cpp
├── xwayland
│ ├── lib
│ │ ├── xauthority.h
│ │ └── CMakeLists.txt
│ └── CMakeLists.txt
├── opengl
│ ├── saturation.glsl
│ └── sdf.glsl
├── mousebuttons.h
├── core
│ ├── graphicsbufferallocator.cpp
│ ├── overlaywindow.cpp
│ ├── shmgraphicsbufferallocator.h
│ ├── inputbackend.cpp
│ ├── brightnessdevice.cpp
│ ├── gbmgraphicsbufferallocator.h
│ ├── colorpipelinestage.h
│ ├── graphicsbufferview.h
│ └── outputconfiguration.cpp
├── waylandshellintegration.cpp
├── resources.qrc
├── waylandshellintegration.h
├── moving_client_x11_filter.h
├── syncalarmx11filter.h
├── was_user_interaction_x11_filter.h
├── KWinX11Config.cmake.in
├── killwindow.h
├── placeholderoutput.h
├── inputpanelv1integration.h
├── window_property_notify_x11_filter.h
├── kscreenintegration.h
├── osd.h
├── rulebooksettingsbase.kcfg
└── rootinfo_filter.h
├── logo.png
├── autotests
├── integration
│ ├── fakes
│ │ ├── CMakeLists.txt
│ │ └── org.kde.kdecoration3
│ │ │ ├── fakedecoration_with_shadows.json
│ │ │ └── CMakeLists.txt
│ ├── data
│ │ ├── example.desktop
│ │ ├── same serial number
│ │ │ ├── edid.bin
│ │ │ └── edid2.bin
│ │ ├── rules
│ │ │ ├── maximize-vert-apply-initial
│ │ │ └── force-maximize
│ │ └── anim-data-delete-effect
│ │ │ └── effect.js
│ ├── scripting
│ │ ├── CMakeLists.txt
│ │ └── scripts
│ │ │ ├── screenedge.js
│ │ │ ├── touchScreenedge.js
│ │ │ ├── screenedgetouch.qml
│ │ │ └── screenedgeunregister.js
│ ├── effects
│ │ └── scripts
│ │ │ ├── screenEdgeTest.js
│ │ │ ├── screenEdgeTouchTest.js
│ │ │ ├── shortcutsTest.js
│ │ │ ├── grabTest.js
│ │ │ ├── effectContext.js
│ │ │ ├── grabAlreadyGrabbedWindowTest_grabber.js
│ │ │ ├── grabAlreadyGrabbedWindowTest_owner.js
│ │ │ ├── grabAlreadyGrabbedWindowForcedTest_owner.js
│ │ │ ├── grabAlreadyGrabbedWindowForcedTest_thief.js
│ │ │ ├── keepAliveTestDontKeep.js
│ │ │ ├── keepAliveTest.js
│ │ │ ├── fullScreenEffectTest.js
│ │ │ ├── animationTest.js
│ │ │ ├── ungrabTest.js
│ │ │ ├── completeTest.js
│ │ │ ├── redirectAnimateDontTerminateTest.js
│ │ │ ├── redirectAnimateTerminateTest.js
│ │ │ ├── redirectSetDontTerminateTest.js
│ │ │ └── redirectSetTerminateTest.js
│ ├── helper
│ │ └── CMakeLists.txt
│ ├── scene_opengl_test.cpp
│ └── scene_opengl_es_test.cpp
├── data
│ ├── Framework 13.icc
│ └── Samsung CRG49 Shaper Matrix.icc
├── effect
│ └── data
│ │ └── glplatform
│ │ ├── V3D-V3D_4_2-desktop-2.1
│ │ ├── VC4-V3D_2_1-desktop-2.1
│ │ ├── lima-mali400-desktop-3.0
│ │ ├── qualcomm-adreno-330-libhybris-gles-3.0
│ │ ├── panfrost-malit860-desktop-3.0
│ │ ├── nvidia-geforce-gtx-950-4.5
│ │ ├── nvidia-geforce-gtx-560-4.5
│ │ ├── nvidia-geforce-gtx-660-3.1
│ │ ├── nvidia-geforce-gtx-970-3.1
│ │ ├── nvidia-geforce-gtx-980-3.1
│ │ ├── intel-kabylake-gt2-4.6
│ │ ├── nvidia-geforce-gtx-970M-3.1
│ │ ├── virgl-3.1
│ │ ├── intel-skylake-gt2-3.0
│ │ ├── intel-haswell-mobile-3.3
│ │ ├── intel-ivybridge-desktop-3.3
│ │ ├── intel-ivybridge-mobile-3.3
│ │ ├── intel-sandybridge-mobile-3.3
│ │ ├── amd-catalyst-radeonhd-7700M-3.1.13399
│ │ ├── amd-gallium-hawaii-3.0
│ │ ├── intel-ivybridge-desktop-3.0
│ │ ├── llvmpipe-10.0
│ │ ├── llvmpipe-5.0
│ │ ├── amd-gallium-bonaire-3.0
│ │ ├── intel-broadwell-gt2-3.3
│ │ ├── amd-gallium-navi-4.5
│ │ ├── amd-gallium-redwood-3.0
│ │ ├── llvmpipe-3.0
│ │ ├── amd-gallium-radeon-r9-290-4.5
│ │ ├── amd-gallium-tonga-4.1
│ │ ├── amd-gallium-radeon-rx-550-series-3.1
│ │ ├── amd-gallium-cayman-gles-3.0
│ │ ├── amd-gallium-radeon-rx-vega-56-4.5
│ │ ├── amd-gallium-radeon-rx-vega-64-4.5
│ │ ├── amd-gallium-radeon-rx-5700-xt-4.6
│ │ ├── amd-gallium-radeon-rx-580-series-4.5
│ │ └── amd-gallium-radeon-rx-480-series-4.5
└── onscreennotificationtest.h
├── doc
├── kwineffects-x11
│ ├── video.png
│ ├── configure-effects.png
│ ├── dialog-information.png
│ └── CMakeLists.txt
├── kwindecoration-x11
│ ├── main.png
│ ├── button.png
│ ├── configure.png
│ ├── decoration.png
│ └── CMakeLists.txt
├── kwintabbox-x11
│ ├── taskswitcher.png
│ └── CMakeLists.txt
├── windowspecific-x11
│ ├── Face-smile.png
│ ├── emacs-info.png
│ ├── knotes-info.png
│ ├── kopete-info.png
│ ├── akgregator-info.png
│ ├── akregator-fav.png
│ ├── emacs-attribute.png
│ ├── kwin-rules-main.png
│ ├── tbird-main-info.png
│ ├── knotes-attribute.png
│ ├── kopete-chat-info.png
│ ├── kwin-kopete-rules.png
│ ├── kwin-rule-editor.png
│ ├── pager-4-desktops.png
│ ├── akregator-attributes.png
│ ├── config-win-behavior.png
│ ├── kopete-attribute-2.png
│ ├── kwin-detect-window.png
│ ├── kwin-rules-ordering.png
│ ├── kwin-window-matching.png
│ ├── tbird-compose-info.png
│ ├── tbird-main-attribute.png
│ ├── tbird-reminder-info.png
│ ├── window-matching-init.png
│ ├── kopete-chat-attribute.png
│ ├── kwin-window-attributes.png
│ ├── window-matching-emacs.png
│ ├── window-matching-knotes.png
│ ├── window-matching-kopete.png
│ ├── tbird-compose-attribute.png
│ ├── kwin-rules-main-n-akregator.png
│ ├── tbird-reminder-attribute-2.png
│ ├── window-matching-kopete-chat.png
│ ├── window-matching-tbird-main.png
│ ├── window-matching-tbird-compose.png
│ ├── window-matching-tbird-reminder.png
│ ├── focus-stealing-pop2top-attribute.png
│ ├── window-matching-ready-akregator.png
│ └── CMakeLists.txt
├── moveresizerestriction
│ └── moveresizerestriction.pdf
├── desktop-x11
│ └── CMakeLists.txt
├── kwinscreenedges-x11
│ └── CMakeLists.txt
├── kwintouchscreen-x11
│ └── CMakeLists.txt
├── windowbehaviour-x11
│ └── CMakeLists.txt
├── kwinvirtualkeyboard-x11
│ └── CMakeLists.txt
└── CMakeLists.txt
├── data
├── icons
│ ├── 16-apps-kwin-x11.png
│ ├── 32-apps-kwin-x11.png
│ ├── 48-apps-kwin-x11.png
│ ├── sc-apps-kwin-x11.svgz
│ └── CMakeLists.txt
└── CMakeLists.txt
├── plasma-kwin_x11.service.in
├── Mainpage.dox
├── tests
├── lockscreenoverlaytest.desktop
└── pointergesturestest.qml
├── .gitlab-ci.yml
├── .gitignore
└── LICENSES
└── LicenseRef-KDE-Accepted-GPL.txt
/examples/plugin/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 |
--------------------------------------------------------------------------------
/examples/quick-effect/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 |
--------------------------------------------------------------------------------
/examples/quick-script/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 |
--------------------------------------------------------------------------------
/src/helpers/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(killer)
2 |
--------------------------------------------------------------------------------
/src/platformsupport/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(scenes)
2 |
--------------------------------------------------------------------------------
/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/logo.png
--------------------------------------------------------------------------------
/src/plugins/fade/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(fade package)
2 |
--------------------------------------------------------------------------------
/src/plugins/login/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(login package)
2 |
--------------------------------------------------------------------------------
/src/plugins/logout/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(logout package)
2 |
--------------------------------------------------------------------------------
/src/plugins/scale/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(scale package)
2 |
--------------------------------------------------------------------------------
/src/plugins/squash/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(squash package)
2 |
--------------------------------------------------------------------------------
/src/plugins/videowall/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_script(videowall package)
2 |
--------------------------------------------------------------------------------
/src/backends/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(virtual)
2 | add_subdirectory(x11)
3 |
--------------------------------------------------------------------------------
/src/plugins/maximize/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(maximize package)
2 |
--------------------------------------------------------------------------------
/src/plugins/minimizeall/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_script(minimizeall package)
2 |
--------------------------------------------------------------------------------
/src/wayland/tools/.clang-format:
--------------------------------------------------------------------------------
1 | DisableFormat: true
2 | SortIncludes: false
3 |
--------------------------------------------------------------------------------
/autotests/integration/fakes/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(org.kde.kdecoration3)
2 |
--------------------------------------------------------------------------------
/src/plugins/dimscreen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(dimscreen package)
2 |
--------------------------------------------------------------------------------
/src/plugins/eyeonscreen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(eyeonscreen package)
2 |
--------------------------------------------------------------------------------
/src/plugins/fadedesktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(fadedesktop package)
2 |
--------------------------------------------------------------------------------
/src/plugins/frozenapp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(frozenapp package)
2 |
--------------------------------------------------------------------------------
/src/plugins/fullscreen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(fullscreen package)
2 |
--------------------------------------------------------------------------------
/src/plugins/qpa/kwin.json:
--------------------------------------------------------------------------------
1 | {
2 | "Keys": [ "wayland-org.kde.kwin.qpa" ]
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/sessionquit/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(sessionquit package)
2 |
--------------------------------------------------------------------------------
/src/plugins/desktopchangeosd/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_script(desktopchangeosd package)
2 |
--------------------------------------------------------------------------------
/src/plugins/dialogparent/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(dialogparent package)
2 |
--------------------------------------------------------------------------------
/src/plugins/fadingpopups/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(fadingpopups package)
2 |
--------------------------------------------------------------------------------
/src/plugins/idletime/kwin.json:
--------------------------------------------------------------------------------
1 | {
2 | "platforms": ["wayland-org.kde.kwin.qpa"]
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/translucency/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(translucency package)
2 |
--------------------------------------------------------------------------------
/src/plugins/kpackage/aurorae/aurorae.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Aurorae"
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/kpackage/effect/effect.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Effect"
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/kpackage/scripts/scripts.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Script"
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/windowaperture/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_scripted_effect(windowaperture package)
2 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(qpainter)
2 | add_subdirectory(opengl)
3 |
--------------------------------------------------------------------------------
/src/plugins/synchronizeskipswitcher/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | kwin_add_script(synchronizeskipswitcher package)
2 |
--------------------------------------------------------------------------------
/examples/plugin/metadata.json.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: None
2 | SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/src/plugins/kpackage/decoration/decoration.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Decoration"
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/windowsystem/kwindowsystem.json:
--------------------------------------------------------------------------------
1 | {
2 | "platforms": ["wayland-org.kde.kwin.qpa"]
3 | }
4 |
--------------------------------------------------------------------------------
/autotests/integration/data/example.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=An example application
3 | Icon=kwin-x11
4 |
--------------------------------------------------------------------------------
/doc/kwineffects-x11/video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwineffects-x11/video.png
--------------------------------------------------------------------------------
/examples/plugin/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPlugin": {
3 | "EnabledByDefault": true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/backends/x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | if (KWIN_BUILD_X11_BACKEND)
2 | add_subdirectory(standalone)
3 | endif()
4 |
--------------------------------------------------------------------------------
/autotests/data/Framework 13.icc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/autotests/data/Framework 13.icc
--------------------------------------------------------------------------------
/data/icons/16-apps-kwin-x11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/data/icons/16-apps-kwin-x11.png
--------------------------------------------------------------------------------
/data/icons/32-apps-kwin-x11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/data/icons/32-apps-kwin-x11.png
--------------------------------------------------------------------------------
/data/icons/48-apps-kwin-x11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/data/icons/48-apps-kwin-x11.png
--------------------------------------------------------------------------------
/data/icons/sc-apps-kwin-x11.svgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/data/icons/sc-apps-kwin-x11.svgz
--------------------------------------------------------------------------------
/doc/kwindecoration-x11/main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwindecoration-x11/main.png
--------------------------------------------------------------------------------
/src/plugins/kpackage/windowswitcher/windowswitcher.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/WindowSwitcher"
3 | }
4 |
--------------------------------------------------------------------------------
/src/plugins/nightlight/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPlugin": {
3 | "EnabledByDefault": true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/autotests/integration/scripting/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | integrationTest(NAME testScriptingScreenEdge SRCS screenedge_test.cpp)
2 |
--------------------------------------------------------------------------------
/doc/kwindecoration-x11/button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwindecoration-x11/button.png
--------------------------------------------------------------------------------
/examples/quick-effect/package/metadata.json.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: None
2 | SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/examples/quick-script/package/metadata.json.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: None
2 | SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/src/kcms/common/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name \*.cpp` -o $podir/kcmkwincommon_x11.pot
3 |
--------------------------------------------------------------------------------
/doc/kwindecoration-x11/configure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwindecoration-x11/configure.png
--------------------------------------------------------------------------------
/doc/kwindecoration-x11/decoration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwindecoration-x11/decoration.png
--------------------------------------------------------------------------------
/doc/kwintabbox-x11/taskswitcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwintabbox-x11/taskswitcher.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/Face-smile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/Face-smile.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/emacs-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/emacs-info.png
--------------------------------------------------------------------------------
/src/kcms/tabbox/thumbnails/falkon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/kcms/tabbox/thumbnails/falkon.png
--------------------------------------------------------------------------------
/src/kcms/tabbox/thumbnails/kmail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/kcms/tabbox/thumbnails/kmail.png
--------------------------------------------------------------------------------
/src/plugins/krunner-integration/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPlugin": {
3 | "EnabledByDefault": true
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/autotests/integration/scripting/scripts/screenedge.js:
--------------------------------------------------------------------------------
1 | registerScreenEdge(readConfig("Edge", 1), workspace.slotToggleShowDesktop);
2 |
--------------------------------------------------------------------------------
/doc/windowspecific-x11/knotes-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/knotes-info.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kopete-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kopete-info.png
--------------------------------------------------------------------------------
/examples/quick-effect/package/contents/config/main.xml.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: None
2 | SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/examples/quick-effect/package/contents/ui/config.ui.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: None
2 | SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/src/kcms/tabbox/thumbnails/desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/kcms/tabbox/thumbnails/desktop.png
--------------------------------------------------------------------------------
/src/kcms/tabbox/thumbnails/dolphin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/kcms/tabbox/thumbnails/dolphin.png
--------------------------------------------------------------------------------
/src/plugins/blur/blurconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=blur.kcfg
2 | ClassName=BlurConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/metadata.json.license:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: None
2 | # SPDX-License-Identifier: CC0-1.0
3 |
--------------------------------------------------------------------------------
/src/plugins/zoom/zoomconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=zoom.kcfg
2 | ClassName=ZoomConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/doc/kwineffects-x11/configure-effects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwineffects-x11/configure-effects.png
--------------------------------------------------------------------------------
/doc/kwineffects-x11/dialog-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/kwineffects-x11/dialog-information.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/akgregator-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/akgregator-info.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/akregator-fav.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/akregator-fav.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/emacs-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/emacs-attribute.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-rules-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-rules-main.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-main-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-main-info.png
--------------------------------------------------------------------------------
/src/kcms/common/genericscriptedconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "Type": "Service",
3 | "X-KDE-Library": "kcm_kwin4_genericscripted"
4 | }
5 |
--------------------------------------------------------------------------------
/src/plugins/glide/glideconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=glide.kcfg
2 | ClassName=GlideConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/sheet/sheetconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=sheet.kcfg
2 | ClassName=SheetConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/slide/slideconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=slide.kcfg
2 | ClassName=SlideConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/trackmouse/data/tm_inner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/plugins/trackmouse/data/tm_inner.png
--------------------------------------------------------------------------------
/src/plugins/trackmouse/data/tm_outer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/plugins/trackmouse/data/tm_outer.png
--------------------------------------------------------------------------------
/src/wayland/protocols/README.md:
--------------------------------------------------------------------------------
1 | Folder for storing external protocols that aren't in released wayland-protocols or Plasma specific.
2 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/screenEdgeTest.js:
--------------------------------------------------------------------------------
1 | registerScreenEdge(1, function() {
2 | sendTestResponse("triggered");
3 | });
4 |
--------------------------------------------------------------------------------
/autotests/integration/scripting/scripts/touchScreenedge.js:
--------------------------------------------------------------------------------
1 | registerTouchScreenEdge(readConfig("Edge", 1), workspace.slotToggleShowDesktop);
2 |
--------------------------------------------------------------------------------
/doc/windowspecific-x11/knotes-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/knotes-attribute.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kopete-chat-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kopete-chat-info.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-kopete-rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-kopete-rules.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-rule-editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-rule-editor.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/pager-4-desktops.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/pager-4-desktops.png
--------------------------------------------------------------------------------
/src/kcms/animations/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name \*.cpp -o -name \*.qml` -o $podir/kcm_animations_x11.pot
3 |
--------------------------------------------------------------------------------
/src/kcms/effects/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name \*.cpp -o -name \*.qml` -o $podir/kcm_kwin_effects_x11.pot
3 |
--------------------------------------------------------------------------------
/autotests/data/Samsung CRG49 Shaper Matrix.icc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/autotests/data/Samsung CRG49 Shaper Matrix.icc
--------------------------------------------------------------------------------
/doc/windowspecific-x11/akregator-attributes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/akregator-attributes.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/config-win-behavior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/config-win-behavior.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kopete-attribute-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kopete-attribute-2.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-detect-window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-detect-window.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-rules-ordering.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-rules-ordering.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-window-matching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-window-matching.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-compose-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-compose-info.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-main-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-main-attribute.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-reminder-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-reminder-info.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-init.png
--------------------------------------------------------------------------------
/src/kcms/decoration/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name "*.cpp" -o -name "*.qml"` -o $podir/kcm_kwindecoration_x11.pot
3 |
--------------------------------------------------------------------------------
/src/kcms/desktop/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name \*.cpp -o -name \*.qml` -o $podir/kcm_kwin_virtualdesktops_x11.pot
3 |
--------------------------------------------------------------------------------
/src/kcms/tabbox/thumbnails/systemsettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/src/kcms/tabbox/thumbnails/systemsettings.png
--------------------------------------------------------------------------------
/src/plugins/kscreen/kscreenconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=kscreen.kcfg
2 | ClassName=KscreenConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/systembell/shaders/color.frag:
--------------------------------------------------------------------------------
1 | uniform vec4 geometryColor;
2 |
3 | void main()
4 | {
5 | gl_FragColor = geometryColor;
6 | }
7 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/screenEdgeTouchTest.js:
--------------------------------------------------------------------------------
1 | registerTouchScreenEdge(1, function() {
2 | sendTestResponse("triggered");
3 | });
4 |
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kopete-chat-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kopete-chat-attribute.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-window-attributes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-window-attributes.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-emacs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-emacs.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-knotes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-knotes.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-kopete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-kopete.png
--------------------------------------------------------------------------------
/src/kcms/rules/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $XGETTEXT `find . -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kcm_kwinrules_x11.pot
3 |
--------------------------------------------------------------------------------
/src/plugins/fallapart/fallapartconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=fallapart.kcfg
2 | ClassName=FallApartConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/magiclamp/magiclampconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=magiclamp.kcfg
2 | ClassName=MagicLampConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/magnifier/magnifierconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=magnifier.kcfg
2 | ClassName=MagnifierConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/mousemark/mousemarkconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=mousemark.kcfg
2 | ClassName=MouseMarkConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/systembell/shaders/color_core.frag:
--------------------------------------------------------------------------------
1 | uniform vec4 geometryColor;
2 |
3 | void main()
4 | {
5 | gl_FragColor = geometryColor;
6 | }
7 |
--------------------------------------------------------------------------------
/doc/moveresizerestriction/moveresizerestriction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/moveresizerestriction/moveresizerestriction.pdf
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-compose-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-compose-attribute.png
--------------------------------------------------------------------------------
/src/kcms/options/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $EXTRACTRC `find . -name \*.ui` >> rc.cpp || exit 11
3 | $XGETTEXT *.cpp -o $podir/kcmkwm_x11.pot
4 |
--------------------------------------------------------------------------------
/src/plugins/mouseclick/mouseclickconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=mouseclick.kcfg
2 | ClassName=MouseClickConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/trackmouse/trackmouseconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=trackmouse.kcfg
2 | ClassName=TrackMouseConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/autotests/integration/data/same serial number/edid.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/autotests/integration/data/same serial number/edid.bin
--------------------------------------------------------------------------------
/doc/windowspecific-x11/kwin-rules-main-n-akregator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/kwin-rules-main-n-akregator.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/tbird-reminder-attribute-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/tbird-reminder-attribute-2.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-kopete-chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-kopete-chat.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-tbird-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-tbird-main.png
--------------------------------------------------------------------------------
/src/kcms/tabbox/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $EXTRACTRC *.ui >> rc.cpp || exit 11
3 | $XGETTEXT *.cpp -o $podir/kcm_kwintabbox_x11.pot
4 | rm -f rc.cpp
5 |
--------------------------------------------------------------------------------
/src/plugins/diminactive/diminactiveconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=diminactive.kcfg
2 | ClassName=DimInactiveConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/autotests/integration/data/same serial number/edid2.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/autotests/integration/data/same serial number/edid2.bin
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-tbird-compose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-tbird-compose.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-tbird-reminder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-tbird-reminder.png
--------------------------------------------------------------------------------
/src/rulebooksettingsbase.kcfgc:
--------------------------------------------------------------------------------
1 | File=rulebooksettingsbase.kcfg
2 | NameSpace=KWin
3 | ClassName=RuleBookSettingsBase
4 | Mutators=true
5 | ParentInConstructor=true
6 |
--------------------------------------------------------------------------------
/doc/windowspecific-x11/focus-stealing-pop2top-attribute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/focus-stealing-pop2top-attribute.png
--------------------------------------------------------------------------------
/doc/windowspecific-x11/window-matching-ready-akregator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sonic-DE/sonic-win/HEAD/doc/windowspecific-x11/window-matching-ready-akregator.png
--------------------------------------------------------------------------------
/src/kcms/compositing/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $EXTRACTRC `find . -name \*.ui` >> rc.cpp || exit 11
3 | $XGETTEXT *.cpp -o $podir/kcmkwincompositing_x11.pot
4 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $EXTRACTRC *.ui >> rc.cpp || exit 11
3 | $XGETTEXT *.cpp -o $podir/kcmkwinscreenedges_x11.pot
4 | rm -f rc.cpp
5 |
--------------------------------------------------------------------------------
/src/plugins/slidingpopups/slidingpopupsconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=slidingpopups.kcfg
2 | ClassName=SlidingPopupsConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/thumbnailaside/thumbnailasideconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=thumbnailaside.kcfg
2 | ClassName=ThumbnailAsideConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/src/plugins/wobblywindows/wobblywindowsconfig.kcfgc:
--------------------------------------------------------------------------------
1 | File=wobblywindows.kcfg
2 | ClassName=WobblyWindowsConfig
3 | NameSpace=KWin
4 | Singleton=true
5 | Mutators=true
6 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/shortcutsTest.js:
--------------------------------------------------------------------------------
1 | registerShortcut("testShortcut", "Test Shortcut", "Meta+Shift+Y", function() {
2 | sendTestResponse("shortcutTriggered");
3 | });
4 |
--------------------------------------------------------------------------------
/src/settings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwin.kcfg
2 | NameSpace=KWin
3 | ClassName=Settings
4 | # options.h is needed for FocusPolicy and PlacementPolicy
5 | IncludeFiles=\"options.h\"
6 | UseEnumTypes=true
7 |
--------------------------------------------------------------------------------
/doc/desktop-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/desktop-x11)
3 |
--------------------------------------------------------------------------------
/src/kcms/compositing/kwincompositing_setting.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwincompositing_setting.kcfg
2 | ClassName=KWinCompositingSetting
3 | Mutators=true
4 | DefaultValueGetters=true
5 | ParentInConstructor=true
6 |
--------------------------------------------------------------------------------
/doc/kwineffects-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwineffects-x11)
3 |
--------------------------------------------------------------------------------
/doc/kwintabbox-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwintabbox-x11)
3 |
--------------------------------------------------------------------------------
/src/rulesettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=rulesettings.kcfg
2 | IncludeFiles=\"rules.h\",netwm_def.h
3 | NameSpace=KWin
4 | ClassName=RuleSettings
5 | UseEnumTypes=true
6 | Mutators=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/doc/kwindecoration-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwindecoration-x11)
3 |
--------------------------------------------------------------------------------
/doc/kwinscreenedges-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwinscreenedges-x11)
3 |
--------------------------------------------------------------------------------
/doc/kwintouchscreen-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwintouchscreen-x11)
3 |
--------------------------------------------------------------------------------
/doc/windowbehaviour-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/windowbehaviour-x11)
3 |
--------------------------------------------------------------------------------
/doc/windowspecific-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/windowspecific-x11)
3 |
--------------------------------------------------------------------------------
/src/kcms/options/kwinoptions_settings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinoptions_settings.kcfg
2 | ClassName=KWinOptionsSettings
3 | IncludeFiles=options.h
4 | Mutators=true
5 | DefaultValueGetters=true
6 | ParentInConstructor=true
7 |
--------------------------------------------------------------------------------
/src/kcms/tabbox/kwinswitcheffectsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinswitcheffectsettings.kcfg
2 | NameSpace=KWin::TabBox
3 | ClassName=SwitchEffectSettings
4 | Mutators=true
5 | DefaultValueGetters=true
6 | ParentInConstructor=true
7 |
--------------------------------------------------------------------------------
/src/plugins/invert/invert.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | shaders/invert.frag
4 | shaders/invert_core.frag
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/plugins/zoom/zoom.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | shaders/pixelgrid.frag
4 | shaders/pixelgrid_core.frag
5 |
6 |
7 |
--------------------------------------------------------------------------------
/doc/kwinvirtualkeyboard-x11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########### install files ###############
2 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kcontrol/kwinvirtualkeyboard-x11)
3 |
--------------------------------------------------------------------------------
/src/backends/virtual/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | target_sources(kwin PRIVATE
2 | virtual_backend.cpp
3 | virtual_egl_backend.cpp
4 | virtual_logging.cpp
5 | virtual_output.cpp
6 | virtual_qpainter_backend.cpp
7 | )
8 |
--------------------------------------------------------------------------------
/src/kcms/desktop/virtualdesktopssettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=virtualdesktopssettings.kcfg
2 | ClassName=VirtualDesktopsSettings
3 | Mutators=true
4 | DefaultValueGetters=true
5 | GenerateProperties=true
6 | ParentInConstructor=true
7 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/qpainter/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | target_sources(kwin PRIVATE
2 | qpaintersurfacetexture.cpp
3 | qpaintersurfacetexture_wayland.cpp
4 | qpainterbackend.cpp
5 | qpainterswapchain.cpp
6 | )
7 |
--------------------------------------------------------------------------------
/src/kcms/options/kwinoptions_kdeglobals_settings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinoptions_kdeglobals_settings.kcfg
2 | ClassName=KWinOptionsKDEGlobalsSettings
3 | IncludeFiles=options.h
4 | Mutators=true
5 | DefaultValueGetters=true
6 | ParentInConstructor=true
7 |
--------------------------------------------------------------------------------
/src/kcms/tabbox/kwintabboxsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwintabboxsettings.kcfg
2 | NameSpace=KWin::TabBox
3 | ClassName=TabBoxSettings
4 | IncludeFiles=\"tabbox/tabboxconfig.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/kcms/scripts/Messages.sh:
--------------------------------------------------------------------------------
1 | #!bin/sh
2 | $EXTRACTRC `find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
3 | $XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kcm_kwin_scripts_x11.pot
4 | rm -f rc.cpp
5 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwinscreenedgesettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinscreenedgesettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinScreenEdgeSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/Messages.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | $EXTRACTRC `find . -not -path "./kcms/*" \( -name \*.kcfg -o -name \*.ui \)` >> rc.cpp || exit 11
3 | $XGETTEXT `find . -not -path "./kcms/*" \( -name \*.cpp -o -name \*.qml \)` -o $podir/kwin_x11.pot
4 | rm -f rc.cpp
5 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwintouchscreensettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwintouchscreensettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinTouchScreenSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/qml/onscreennotification/plasma/dummydata/osd.qml:
--------------------------------------------------------------------------------
1 | import QtQuick
2 |
3 | QtObject {
4 | property bool visible: true
5 | property string message: "This is an example message.\nUsing multiple lines"
6 | property string iconName: "kwin-x11"
7 | }
8 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/grabTest.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/src/plugins/startupfeedback/startupfeedback.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | shaders/blinking-startup.frag
4 | shaders/blinking-startup_core.frag
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/kcms/decoration/kwindecorationsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwindecorationsettings.kcfg
2 | ClassName=KWinDecorationSettings
3 | Mutators=true
4 | DefaultValueGetters=true
5 | GenerateProperties=true
6 | ParentInConstructor=true
7 | Notifiers=buttonsOnLeft,buttonsOnRight,theme
8 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwinscreenedgeeffectsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinscreenedgeeffectsettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinScreenEdgeEffectSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwinscreenedgescriptsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwinscreenedgescriptsettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinScreenEdgeScriptSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwintouchscreenscriptsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwintouchscreenscriptsettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinTouchScreenScriptSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/plugins/nightlight/nightlightsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=nightlightsettings.kcfg
2 | NameSpace=KWin
3 | ClassName=NightLightSettings
4 | Singleton=true
5 | Mutators=true
6 | # nightlightmanager.h is needed for NightLightMode
7 | IncludeFiles=nightlightmanager.h
8 | UseEnumTypes=true
9 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/effectContext.js:
--------------------------------------------------------------------------------
1 | sendTestResponse(displayWidth() + "x" + displayHeight());
2 | sendTestResponse(animationTime(100));
3 |
4 | //test enums for Effect / QEasingCurve
5 | sendTestResponse(Effect.Saturation)
6 | sendTestResponse(QEasingCurve.Linear)
7 |
--------------------------------------------------------------------------------
/src/tabbox/switchers/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2023 Nate Graham
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | set(TABBOX_DIR ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/tabbox)
6 | install(DIRECTORY thumbnail_grid DESTINATION ${TABBOX_DIR})
7 |
--------------------------------------------------------------------------------
/src/wayland/textinput.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Bhushan Shah
3 |
4 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 | */
6 |
7 | #include "textinput.h"
8 |
9 | #include "moc_textinput.cpp"
10 |
--------------------------------------------------------------------------------
/src/input_event.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "input_event.h"
10 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwintouchscreenedgeeffectsettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=kwintouchscreenedgeeffectsettings.kcfg
2 | NameSpace=KWin
3 | ClassName=KWinTouchScreenEdgeEffectSettings
4 | IncludeFiles=\"effect/globals.h\"
5 | Mutators=true
6 | DefaultValueGetters=true
7 | ParentInConstructor=true
8 |
--------------------------------------------------------------------------------
/src/kcms/animations/animationskdeglobalssettings.kcfgc:
--------------------------------------------------------------------------------
1 | File=animationskdeglobalssettings.kcfg
2 | ClassName=AnimationsGlobalsSettings
3 | Mutators=true
4 | DefaultValueGetters=true
5 | GenerateProperties=true
6 | ParentInConstructor=true
7 | Notifiers=animationDurationFactor
8 | NameSpace=KWin
9 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/grabAlreadyGrabbedWindowTest_grabber.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/grabAlreadyGrabbedWindowTest_owner.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/data/icons/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ecm_install_icons(
2 | ICONS
3 | 16-apps-kwin-x11.png
4 | 32-apps-kwin-x11.png
5 | 48-apps-kwin-x11.png
6 | sc-apps-kwin-x11.svgz
7 | DESTINATION
8 | ${KDE_INSTALL_ICONDIR}
9 | THEME
10 | hicolor
11 | )
12 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/opengl/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | target_sources(kwin PRIVATE
2 | abstract_egl_backend.cpp
3 | basiceglsurfacetexture_wayland.cpp
4 | openglbackend.cpp
5 | openglsurfacetexture.cpp
6 | openglsurfacetexture_wayland.cpp
7 | openglsurfacetexture_x11.cpp
8 | )
9 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/grabAlreadyGrabbedWindowForcedTest_owner.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/autotests/integration/scripting/scripts/screenedgetouch.qml:
--------------------------------------------------------------------------------
1 | import QtQuick
2 | import org.kde.kwin
3 |
4 | ScreenEdgeHandler {
5 | edge: ScreenEdgeHandler.LeftEdge
6 | mode: ScreenEdgeHandler.Touch
7 | onActivated: {
8 | Workspace.slotToggleShowDesktop();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/plasma-kwin_x11.service.in:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=KDE Window Manager
3 | After=plasma-kcminit.service
4 | PartOf=graphical-session.target
5 |
6 | [Service]
7 | ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/kwin_x11 --replace
8 | BusName=org.kde.KWin
9 | Slice=session.slice
10 | Restart=on-failure
11 |
--------------------------------------------------------------------------------
/src/backends/virtual/virtual_logging.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | Q_DECLARE_LOGGING_CATEGORY(KWIN_VIRTUAL)
12 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/grabAlreadyGrabbedWindowForcedTest_thief.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole, true)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/colorblindnesscorrection.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | shaders/colorblindnesscorrection.frag
4 | shaders/colorblindnesscorrection_core.frag
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/plugins/showpaint/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(showpaint_SOURCES
5 | main.cpp
6 | showpaint.cpp
7 | )
8 |
9 | kwin_add_builtin_effect(showpaint ${showpaint_SOURCES})
10 | target_link_libraries(showpaint PRIVATE
11 | kwin
12 | )
13 |
--------------------------------------------------------------------------------
/src/plugins/systembell/systembell.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | shaders/color.frag
4 | shaders/color_core.frag
5 | shaders/invert.frag
6 | shaders/invert_core.frag
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/backends/virtual/virtual_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "virtual_logging.h"
8 |
9 | Q_LOGGING_CATEGORY(KWIN_VIRTUAL, "kwin_platform_virtual", QtWarningMsg)
10 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/vertex.vert:
--------------------------------------------------------------------------------
1 | uniform mat4 modelViewProjectionMatrix;
2 |
3 | attribute vec2 position;
4 | attribute vec2 texcoord;
5 |
6 | varying vec2 uv;
7 |
8 | void main(void)
9 | {
10 | gl_Position = modelViewProjectionMatrix * vec4(position, 0.0, 1.0);
11 | uv = texcoord;
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/colorblindnesscorrectionconfig.kcfgc:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2023 Fushan Wen
2 | # SPDX-License-Identifier: GPL-2.0-or-later
3 |
4 | File=colorblindnesscorrectionconfig.kcfg
5 | ClassName=ColorBlindnessCorrectionSettings
6 | NameSpace=KWin
7 | Singleton=true
--------------------------------------------------------------------------------
/src/plugins/slideback/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | kwin_add_builtin_effect(slideback)
5 | target_sources(slideback PRIVATE
6 | main.cpp
7 | motionmanager.cpp
8 | slideback.cpp
9 | )
10 | target_link_libraries(slideback PRIVATE
11 | kwin
12 | )
13 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/vertex_core.vert:
--------------------------------------------------------------------------------
1 | #version 140
2 |
3 | uniform mat4 modelViewProjectionMatrix;
4 |
5 | in vec2 position;
6 | in vec2 texcoord;
7 |
8 | out vec2 uv;
9 |
10 | void main(void)
11 | {
12 | gl_Position = modelViewProjectionMatrix * vec4(position, 0.0, 1.0);
13 | uv = texcoord;
14 | }
15 |
--------------------------------------------------------------------------------
/src/plugins/overview/overviewconfig.kcfgc:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
2 | #
3 | # SPDX-License-Identifier: CC0-1.0
4 |
5 | File=overviewconfig.kcfg
6 | ClassName=OverviewConfig
7 | NameSpace=KWin
8 | Singleton=true
9 | Mutators=true
10 | IncludeFiles=\"effect/globals.h\"
11 |
--------------------------------------------------------------------------------
/src/qml/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | install(DIRECTORY outline/plasma DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/outline)
2 | install(DIRECTORY onscreennotification/plasma DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/onscreennotification)
3 | install(DIRECTORY frames/plasma DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/frames)
4 |
--------------------------------------------------------------------------------
/src/plugins/backgroundcontrast/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(contrast_SOURCES
6 | contrast.cpp
7 | contrastshader.cpp
8 | main.cpp
9 | )
10 | kwin_add_builtin_effect(contrast ${contrast_SOURCES})
11 | target_link_libraries(contrast PRIVATE kwin)
12 |
--------------------------------------------------------------------------------
/src/plugins/idletime/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(idletime_plugin_SRCS
2 | poller.cpp
3 | )
4 |
5 | add_library(KF6IdleTimeKWinPlugin OBJECT ${idletime_plugin_SRCS})
6 | target_compile_definitions(KF6IdleTimeKWinPlugin PRIVATE QT_STATICPLUGIN)
7 | target_link_libraries(KF6IdleTimeKWinPlugin
8 | KF6::IdleTime
9 | kwin
10 | )
11 |
--------------------------------------------------------------------------------
/src/plugins/windowview/windowviewconfig.kcfgc:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
2 | #
3 | # SPDX-License-Identifier: CC0-1.0
4 |
5 | File=windowviewconfig.kcfg
6 | ClassName=WindowViewConfig
7 | NameSpace=KWin
8 | Singleton=true
9 | Mutators=true
10 | IncludeFiles=\"effect/globals.h\"
11 |
--------------------------------------------------------------------------------
/src/plugins/blendchanges/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(blendchanges_SOURCES
5 | main.cpp
6 | blendchanges.cpp
7 | )
8 |
9 | kwin_add_builtin_effect(blendchanges ${blendchanges_SOURCES})
10 | target_link_libraries(blendchanges PRIVATE
11 | kwin
12 | Qt::DBus
13 | )
14 |
--------------------------------------------------------------------------------
/src/plugins/startupfeedback/shaders/blinking-startup.frag:
--------------------------------------------------------------------------------
1 | uniform sampler2D sampler;
2 | uniform vec4 geometryColor;
3 |
4 | varying vec2 texcoord0;
5 |
6 | void main()
7 | {
8 | vec4 tex = texture2D(sampler, texcoord0);
9 | if (tex.a != 1.0) {
10 | tex = geometryColor;
11 | }
12 | gl_FragColor = tex;
13 | }
14 |
--------------------------------------------------------------------------------
/src/effect/logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "logging_p.h"
10 | Q_LOGGING_CATEGORY(LIBKWINEFFECTS, "effect", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/plugins/systembell/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(systembell_SOURCES
2 | systembell.cpp
3 | systembell.qrc
4 | main.cpp
5 | )
6 |
7 | kwin_add_builtin_effect(systembell ${systembell_SOURCES})
8 | target_link_libraries(systembell PRIVATE
9 | kwin
10 |
11 | KF6::GlobalAccel
12 | KF6::I18n
13 | Canberra::Canberra
14 | )
15 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/noise.frag:
--------------------------------------------------------------------------------
1 | uniform sampler2D texUnit;
2 | uniform vec2 noiseTextureSize;
3 | uniform vec2 texStartPos;
4 |
5 | varying vec2 uv;
6 |
7 | void main(void)
8 | {
9 | vec2 uvNoise = vec2((texStartPos.xy + gl_FragCoord.xy) / noiseTextureSize);
10 |
11 | gl_FragColor = vec4(texture2D(texUnit, uvNoise).rrr, 0);
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/invert/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(invert_SOURCES
5 | invert.cpp
6 | invert.qrc
7 | main.cpp
8 | )
9 |
10 | kwin_add_builtin_effect(invert ${invert_SOURCES})
11 | target_link_libraries(invert PRIVATE
12 | kwin
13 |
14 | KF6::GlobalAccel
15 | KF6::I18n
16 | )
17 |
--------------------------------------------------------------------------------
/src/scene/rootitem.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "scene/rootitem.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | RootItem::RootItem(Scene *scene)
13 | {
14 | setScene(scene);
15 | }
16 |
17 | } // namespace KWin
18 |
--------------------------------------------------------------------------------
/src/tabbox/tabbox_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "tabbox_logging.h"
10 | Q_LOGGING_CATEGORY(KWIN_TABBOX, "kwin_tabbox", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/plugins/colorpicker/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(colorpicker_SOURCES
5 | colorpicker.cpp
6 | main.cpp
7 | )
8 |
9 | kwin_add_builtin_effect(colorpicker ${colorpicker_SOURCES})
10 | target_link_libraries(colorpicker PRIVATE
11 | kwin
12 |
13 | KF6::I18n
14 |
15 | Qt::DBus
16 | )
17 |
--------------------------------------------------------------------------------
/src/utils/executable_path.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Tobias C. Berner
3 |
4 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 | */
6 |
7 | #pragma once
8 |
9 | #include "kwin_export.h"
10 |
11 | #include
12 |
13 | KWIN_EXPORT QString executablePathFromPid(pid_t);
14 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/contrast_rounded.vert:
--------------------------------------------------------------------------------
1 | uniform mat4 modelViewProjectionMatrix;
2 |
3 | attribute vec2 position;
4 | attribute vec2 texcoord;
5 |
6 | varying vec2 uv;
7 | varying vec2 vertex;
8 |
9 | void main(void)
10 | {
11 | gl_Position = modelViewProjectionMatrix * vec4(position, 0.0, 1.0);
12 | uv = texcoord;
13 | vertex = position;
14 | }
15 |
--------------------------------------------------------------------------------
/src/scripting/org.kde.kwin.Script.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/scripting/scripting_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "scripting_logging.h"
10 | Q_LOGGING_CATEGORY(KWIN_SCRIPTING, "kwin_scripting", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/utils/vsyncmonitor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "utils/vsyncmonitor.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | VsyncMonitor::VsyncMonitor() = default;
13 |
14 | } // namespace KWin
15 |
16 | #include "moc_vsyncmonitor.cpp"
17 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/V3D-V3D_4_2-desktop-2.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Broadcom VideoCore 3D
3 | Renderer=V3D 4.2
4 | Version=2.1 Mesa 19.1
5 |
6 | [Settings]
7 | LooseBinding=true
8 | GLSL=false
9 | TextureNPOT=false
10 | Mesa=true
11 | V3D=true
12 | GLVersion=2,1
13 | MesaVersion=19,1
14 | DriverVersion=19,1
15 | Driver=21
16 | ChipClass=7000
17 | Compositor=4
18 |
--------------------------------------------------------------------------------
/src/tabbox/tabbox_logging.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include
11 | #include
12 | Q_DECLARE_LOGGING_CATEGORY(KWIN_TABBOX)
13 |
--------------------------------------------------------------------------------
/Mainpage.dox:
--------------------------------------------------------------------------------
1 | /** @mainpage KWin
2 |
3 | KWin is the KDE window manager.
4 |
5 | @authors
6 | Matthias Ettrich \
7 | Lubos Lunak \
8 |
9 | @maintainers
10 | Lubos Lunak \
11 |
12 | @licenses
13 | @gpl
14 |
15 |
16 | */
17 |
18 | // DOXYGEN_SET_PROJECT_NAME = KWin
19 | // vim:ts=4:sw=4:expandtab:filetype=doxygen
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/VC4-V3D_2_1-desktop-2.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Broadcom VideoCore IV
3 | Renderer=VC4 V3D 2.1
4 | Version=2.1 Mesa 19.1
5 |
6 | [Settings]
7 | LooseBinding=true
8 | GLSL=false
9 | TextureNPOT=false
10 | Mesa=true
11 | VC4=true
12 | GLVersion=2,1
13 | MesaVersion=19,1
14 | DriverVersion=19,1
15 | Driver=20
16 | ChipClass=6000
17 | Compositor=4
18 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/keepAliveTestDontKeep.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | effects.windowClosed.connect(function (window) {
4 | animate({
5 | window: window,
6 | type: Effect.Scale,
7 | duration: 1000,
8 | from: 1.0,
9 | to: 0.0,
10 | keepAlive: false
11 | });
12 | sendTestResponse("triggered");
13 | });
14 |
--------------------------------------------------------------------------------
/src/decorations/decorations_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "decorations_logging.h"
10 | Q_LOGGING_CATEGORY(KWIN_DECORATIONS, "kwin_decorations", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/plugin.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "plugin.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | Plugin::Plugin() = default;
13 |
14 | PluginFactory::PluginFactory() = default;
15 |
16 | } // namespace KWin
17 |
18 | #include "moc_plugin.cpp"
19 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/contrast_rounded_core.vert:
--------------------------------------------------------------------------------
1 | #version 140
2 |
3 | uniform mat4 modelViewProjectionMatrix;
4 |
5 | in vec2 position;
6 | in vec2 texcoord;
7 |
8 | out vec2 uv;
9 | out vec2 vertex;
10 |
11 | void main(void)
12 | {
13 | gl_Position = modelViewProjectionMatrix * vec4(position, 0.0, 1.0);
14 | uv = texcoord;
15 | vertex = position;
16 | }
17 |
--------------------------------------------------------------------------------
/src/plugins/highlightwindow/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(highlightwindow_SOURCES
6 | highlightwindow.cpp
7 | main.cpp
8 | )
9 |
10 | kwin_add_builtin_effect(highlightwindow ${highlightwindow_SOURCES})
11 | target_link_libraries(highlightwindow PRIVATE
12 | kwin
13 |
14 | Qt::DBus
15 | )
16 |
--------------------------------------------------------------------------------
/src/plugins/screenedge/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(screenedge_SOURCES
6 | main.cpp
7 | screenedgeeffect.cpp
8 | )
9 |
10 | kwin_add_builtin_effect(screenedge ${screenedge_SOURCES})
11 | target_link_libraries(screenedge PRIVATE
12 | kwin
13 |
14 | KF6::Svg
15 | KF6::ConfigCore
16 | )
17 |
--------------------------------------------------------------------------------
/src/plugins/startupfeedback/shaders/blinking-startup_core.frag:
--------------------------------------------------------------------------------
1 | #version 140
2 | uniform sampler2D sampler;
3 | uniform vec4 geometryColor;
4 |
5 | in vec2 texcoord0;
6 |
7 | out vec4 fragColor;
8 |
9 | void main()
10 | {
11 | vec4 tex = texture(sampler, texcoord0);
12 | if (tex.a != 1.0) {
13 | tex = geometryColor;
14 | }
15 | fragColor = tex;
16 | }
17 |
--------------------------------------------------------------------------------
/tests/lockscreenoverlaytest.desktop:
--------------------------------------------------------------------------------
1 | # copy to $(qtpaths --install-prefix)/share/applications/
2 | # remember to change the Exec line to your builddir path
3 |
4 | [Desktop Entry]
5 | Exec=absolute/path/to/the/executable/bin/lockscreenoverlaytest
6 | Type=Application
7 | X-KDE-Wayland-Interfaces=kde_lockscreen_overlay_v1
8 | NoDisplay=true
9 | Name=KWin LockScreen Overay Test
10 |
--------------------------------------------------------------------------------
/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: None
2 | # SPDX-License-Identifier: CC0-1.0
3 |
4 | include:
5 | - project: sysadmin/ci-utilities
6 | file:
7 | - /gitlab-templates/linux-qt6.yml
8 | - /gitlab-templates/linux-qt6-next.yml
9 | - /gitlab-templates/freebsd-qt6.yml
10 | - /gitlab-templates/xml-lint.yml
11 | - /gitlab-templates/yaml-lint.yml
12 |
--------------------------------------------------------------------------------
/src/effect/logging_p.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 |
11 | #include
12 | #include
13 |
14 | Q_DECLARE_LOGGING_CATEGORY(LIBKWINEFFECTS)
15 |
--------------------------------------------------------------------------------
/src/kcms/options/AUTHORS:
--------------------------------------------------------------------------------
1 | Please use https://bugs.kde.org to report bugs.
2 | The following authors may have retired by the time you read this :-)
3 |
4 | KWM Configuration Module:
5 |
6 | Pat Dowler (dowler@pt1B1106.FSH.UVic.CA)
7 |
8 | Bernd Wuebben
9 |
10 | Conversion to kcontrol applet:
11 |
12 | Matthias Hoelzer (hoelzer@physik.uni-wuerzburg.de)
13 |
--------------------------------------------------------------------------------
/src/plugins/sheet/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(sheet_SOURCES
6 | main.cpp
7 | sheet.cpp
8 | )
9 | kconfig_add_kcfg_files(sheet_SOURCES sheetconfig.kcfgc)
10 |
11 | kwin_add_builtin_effect(sheet ${sheet_SOURCES})
12 | target_link_libraries(sheet PRIVATE
13 | kwin
14 |
15 | KF6::ConfigGui
16 | )
17 |
--------------------------------------------------------------------------------
/src/plugins/zoom/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "zoom.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(ZoomEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/scripting/scripting_logging.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include
11 | #include
12 | Q_DECLARE_LOGGING_CATEGORY(KWIN_SCRIPTING)
13 |
--------------------------------------------------------------------------------
/autotests/integration/scripting/scripts/screenedgeunregister.js:
--------------------------------------------------------------------------------
1 | function init() {
2 | const edge = readConfig("Edge", 1);
3 | if (readConfig("mode", "") == "unregister") {
4 | unregisterScreenEdge(edge);
5 | } else {
6 | registerScreenEdge(edge, workspace.slotToggleShowDesktop);
7 | }
8 | }
9 | options.configChanged.connect(init);
10 |
11 | init();
12 |
13 |
--------------------------------------------------------------------------------
/src/decorations/decorations_logging.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include
11 | #include
12 | Q_DECLARE_LOGGING_CATEGORY(KWIN_DECORATIONS)
13 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/keepAliveTest.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | effects.windowClosed.connect(function (window) {
4 | animate({
5 | window: window,
6 | type: Effect.Scale,
7 | duration: 1000,
8 | from: 1.0,
9 | to: 0.0
10 | // by default, keepAlive is set to true
11 | });
12 | sendTestResponse("triggered");
13 | });
14 |
--------------------------------------------------------------------------------
/src/plugins/kscreen/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "kscreen.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(KscreenEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/plugins/outputlocator/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 David Redondo
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 |
7 | #include "outputlocator.h"
8 |
9 | namespace KWin
10 | {
11 | KWIN_EFFECT_FACTORY(OutputLocatorEffect, "metadata.json.stripped");
12 | }
13 |
14 | #include "main.moc"
15 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_common_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "x11_common_logging_p.h"
10 | Q_LOGGING_CATEGORY(LIBKWINXRENDERUTILS, "libkwinxrenderutils", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/noise_core.frag:
--------------------------------------------------------------------------------
1 | #version 140
2 |
3 | uniform sampler2D texUnit;
4 | uniform vec2 noiseTextureSize;
5 | uniform vec2 texStartPos;
6 |
7 | in vec2 uv;
8 |
9 | out vec4 fragColor;
10 |
11 | void main(void)
12 | {
13 | vec2 uvNoise = vec2((texStartPos.xy + gl_FragCoord.xy) / noiseTextureSize);
14 |
15 | fragColor = vec4(texture(texUnit, uvNoise).rrr, 0);
16 | }
17 |
--------------------------------------------------------------------------------
/src/plugins/kscreen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(kscreen_SOURCES
6 | kscreen.cpp
7 | main.cpp
8 | )
9 |
10 | kconfig_add_kcfg_files(kscreen_SOURCES kscreenconfig.kcfgc)
11 | kwin_add_builtin_effect(kscreen ${kscreen_SOURCES})
12 | target_link_libraries(kscreen PRIVATE
13 | kwin
14 |
15 | KF6::ConfigGui
16 | )
17 |
--------------------------------------------------------------------------------
/src/plugins/showpaint/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "showpaint.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(ShowPaintEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/plugins/slideback/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "slideback.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(SlideBackEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/plugins/windowsystem/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(kwindowsystem_plugin_SRCS
2 | plugin.cpp
3 | windoweffects.cpp
4 | windowshadow.cpp
5 | windowsystem.cpp
6 | )
7 |
8 | add_library(KF6WindowSystemKWinPlugin OBJECT ${kwindowsystem_plugin_SRCS})
9 | target_compile_definitions(KF6WindowSystemKWinPlugin PRIVATE QT_STATICPLUGIN)
10 | target_link_libraries(KF6WindowSystemKWinPlugin kwin)
11 |
--------------------------------------------------------------------------------
/autotests/integration/data/rules/maximize-vert-apply-initial:
--------------------------------------------------------------------------------
1 | [1]
2 | Description=Window settings for kpat
3 | clientmachine=localhost
4 | clientmachinematch=0
5 | maximizevert=true
6 | maximizevertrule=3
7 | title=KPatience
8 | titlematch=0
9 | types=1
10 | windowrole=mainwindow
11 | windowrolematch=1
12 | wmclass=kpat
13 | wmclasscomplete=false
14 | wmclassmatch=1
15 |
16 | [General]
17 | count=1
18 |
--------------------------------------------------------------------------------
/src/plugins/diminactive/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "diminactive.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(DimInactiveEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/plugins/mouseclick/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "mouseclick.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(MouseClickEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/plugins/trackmouse/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "trackmouse.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(TrackMouseEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/xwayland/lib/xauthority.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2021 David Edmundson
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 |
10 | #pragma once
11 |
12 | class QTemporaryFile;
13 |
14 | bool generateXauthorityFile(int display, QTemporaryFile *authorityFile);
15 |
--------------------------------------------------------------------------------
/autotests/integration/helper/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_executable(copy copy.cpp)
2 | target_link_libraries(copy Qt::Gui)
3 | ecm_mark_as_test(copy)
4 | ######################
5 | add_executable(paste paste.cpp)
6 | target_link_libraries(paste Qt::Gui)
7 | ecm_mark_as_test(paste)
8 | ######################
9 | add_executable(kill kill.cpp)
10 | target_link_libraries(kill Qt::Widgets)
11 | ecm_mark_as_test(kill)
12 |
--------------------------------------------------------------------------------
/src/plugins/screenedge/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "screenedgeeffect.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(ScreenEdgeEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/utils/realtime.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "kwin_export.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | /**
15 | * Makes the calling thread to use realtime scheduling.
16 | */
17 | KWIN_EXPORT void gainRealTime();
18 |
19 | } // namespace KWin
20 |
--------------------------------------------------------------------------------
/autotests/integration/fakes/org.kde.kdecoration3/fakedecoration_with_shadows.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPlugin": {
3 | "Description": "Window decoration to test shadow tile overlaps",
4 | "EnabledByDefault": false,
5 | "Id": "org.kde.test.fakedecowithshadows",
6 | "Name": "Fake Decoration With Shadows"
7 | },
8 | "org.kde.kdecoration2": {
9 | "blur": false
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_logging.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "x11_standalone_logging.h"
10 | Q_LOGGING_CATEGORY(KWIN_X11STANDALONE, "kwin_platform_x11_standalone", QtWarningMsg)
11 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_logging.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include
11 | #include
12 |
13 | Q_DECLARE_LOGGING_CATEGORY(KWIN_X11STANDALONE)
14 |
--------------------------------------------------------------------------------
/src/plugins/thumbnailaside/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "thumbnailaside.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(ThumbnailAsideEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_common_logging_p.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2015 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 |
11 | #include
12 | #include
13 |
14 | Q_DECLARE_LOGGING_CATEGORY(LIBKWINXRENDERUTILS)
15 |
--------------------------------------------------------------------------------
/src/plugins/highlightwindow/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "highlightwindow.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY(HighlightWindowEffect,
13 | "metadata.json.stripped")
14 |
15 | } // namespace KWin
16 |
17 | #include "main.moc"
18 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/lima-mali400-desktop-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Mali (Lima)
3 | Renderer=Mali 400 (Lima)
4 | Version=3.0 Mesa 19.1
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Lima=true
13 | GLVersion=3,0
14 | GLSLVersion=1,30
15 | MesaVersion=19,1
16 | DriverVersion=19,1
17 | Driver=19
18 | ChipClass=5000
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/src/opengl/saturation.glsl:
--------------------------------------------------------------------------------
1 | uniform float saturation;
2 | uniform vec3 primaryBrightness;
3 |
4 | vec4 adjustSaturation(vec4 color) {
5 | // this calculates the Y component of the XYZ color representation for the color,
6 | // which roughly corresponds to the brightness of the RGB tuple
7 | float Y = dot(color.rgb, primaryBrightness);
8 | return vec4(mix(vec3(Y), color.rgb, saturation), color.a);
9 | }
10 |
--------------------------------------------------------------------------------
/src/mousebuttons.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 David Redondo
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | namespace KWin
12 | {
13 |
14 | uint32_t qtMouseButtonToButton(Qt::MouseButton button);
15 | Qt::MouseButton buttonToQtMouseButton(uint32_t button);
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/plugins/startupfeedback/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(startupfeedback_SOURCES
6 | main.cpp
7 | startupfeedback.cpp
8 | startupfeedback.qrc
9 | )
10 |
11 | kwin_add_builtin_effect(startupfeedback ${startupfeedback_SOURCES})
12 | target_link_libraries(startupfeedback PRIVATE
13 | kwin
14 |
15 | Qt::DBus
16 | Qt::Widgets
17 | )
18 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/qualcomm-adreno-330-libhybris-gles-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Qualcomm
3 | Renderer=Adreno (TM) 330
4 | Version=OpenGL ES 2.0 (OpenGL ES 3.0 V@104.0 AU@ (GIT@Id3510ff6dc))
5 | ShadingLanguageVersion=OpenGL ES GLSL ES 3.00
6 |
7 | [Settings]
8 | GLSL=true
9 | TextureNPOT=true
10 | GLVersion=2,0
11 | GLSLVersion=3,0
12 | GLES=true
13 | Adreno=true
14 | Driver=15
15 | ChipClass=3002
16 | Compositor=1
17 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_glxconvenience.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 | #include
11 |
12 | namespace KWin
13 | {
14 |
15 | GLXFBConfig chooseGlxFbConfig(::Display *display, const int attributes[]);
16 |
17 | } // namespace KWin
18 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/panfrost-malit860-desktop-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Panfrost
3 | Renderer=Mali T860 (Panfrost)
4 | Version=3.0 Mesa 19.1
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Panfrost=true
13 | GLVersion=3,0
14 | GLSLVersion=1,30
15 | MesaVersion=19,1
16 | DriverVersion=19,1
17 | Driver=18
18 | ChipClass=4001
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/autotests/integration/data/rules/force-maximize:
--------------------------------------------------------------------------------
1 | [$Version]
2 | update_info=kwinrules.upd:replace-placement-string-to-enum,kwinrules.upd:use-virtual-desktop-ids
3 |
4 | [General]
5 | count=1
6 | rules=ad6fd81c-6dea-46e6-a652-dbffe0aeb7d7
7 |
8 | [ad6fd81c-6dea-46e6-a652-dbffe0aeb7d7]
9 | Description=force maximize everything
10 | maximizehoriz=true
11 | maximizehorizrule=2
12 | maximizevert=true
13 | maximizevertrule=2
14 | types=1
15 |
--------------------------------------------------------------------------------
/src/plugins/fallapart/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(fallapart_SOURCES
6 | fallapart.cpp
7 | main.cpp
8 | )
9 |
10 | kconfig_add_kcfg_files(fallapart_SOURCES
11 | fallapartconfig.kcfgc
12 | )
13 |
14 | kwin_add_builtin_effect(fallapart ${fallapart_SOURCES})
15 | target_link_libraries(fallapart PRIVATE
16 | kwin
17 |
18 | KF6::ConfigGui
19 | )
20 |
--------------------------------------------------------------------------------
/src/scripting/scriptingutils.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2012 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 |
10 | #pragma once
11 |
12 | #include
13 |
14 | namespace KWin
15 | {
16 |
17 | QVariant dbusToVariant(const QVariant &variant);
18 |
19 | } // namespace KWin
20 |
--------------------------------------------------------------------------------
/src/utils/executable_path_proc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Tobias C. Berner
3 |
4 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 | */
6 |
7 | #include "executable_path.h"
8 |
9 | #include
10 |
11 | QString executablePathFromPid(pid_t pid)
12 | {
13 | return QFileInfo(QStringLiteral("/proc/%1/exe").arg(pid)).symLinkTarget();
14 | }
15 |
--------------------------------------------------------------------------------
/tests/pointergesturestest.qml:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 | import QtQuick
7 | import org.kde.kwin.tests
8 |
9 | Image {
10 | source: "../48-apps-kwin.png"
11 | scale: gesture.scale * gesture.progressScale
12 |
13 | PinchGesture {
14 | id: gesture
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/core/graphicsbufferallocator.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2023 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "core/graphicsbufferallocator.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | GraphicsBufferAllocator::GraphicsBufferAllocator()
13 | {
14 | }
15 |
16 | GraphicsBufferAllocator::~GraphicsBufferAllocator()
17 | {
18 | }
19 |
20 | } // namespace KWin
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore the following files
2 | .vscode
3 | *~
4 | *.[oa]
5 | *.diff
6 | *.kate-swp
7 | *.kdev4
8 | .kdev_include_paths
9 | *.kdevelop.pcs
10 | *.moc
11 | *.moc.cpp
12 | *.orig
13 | *.user
14 | .*.swp
15 | .swp.*
16 | Doxyfile
17 | Makefile
18 | avail
19 | random_seed
20 | /build*/
21 | /_build*/
22 | CMakeLists.txt.user*
23 | *.unc-backup*
24 | /compile_commands.json
25 | .clangd
26 | .idea
27 | /cmake-build*
28 | .cache
29 | .directory
30 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/nvidia-geforce-gtx-950-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=NVIDIA Corporation
3 | Renderer=GeForce GTX 950/PCIe/SSE2
4 | Version=4.5.0 NVIDIA 364.19
5 | ShadingLanguageVersion=4.50 NVIDIA
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Nvidia=true
12 | PreferBufferSubData=true
13 | GLVersion=4,5
14 | GLSLVersion=4,50
15 | DriverVersion=364,19
16 | Driver=8
17 | ChipClass=1999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/fullScreenEffectTest.js:
--------------------------------------------------------------------------------
1 | effects.desktopChanged.connect(function(old, current) {
2 | var stackingOrder = effects.stackingOrder;
3 | for (var i=0; i {
6 | if (w.minimized) {
7 | retarget(w.anim1, 1.5, 200);
8 | } else {
9 | cancel(w.anim1);
10 | }
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/src/wayland/tools/README.md:
--------------------------------------------------------------------------------
1 | QtWayland scanner;s home is inside QtWayland in Qt (https://code.qt.io/cgit/qt/qtwayland.git/tree/src/qtwaylandscanner)
2 |
3 | We have a temporary fork to deliver some crucial fixes that are affecting our code that is not released in Qt5.15, including an API change which can't be relied upon via patching.
4 |
5 | Patches should still go via upstream to Qt and be "cherry-picked" here.
6 |
7 | This folder should be dropped in Plasma 6
8 |
--------------------------------------------------------------------------------
/src/waylandshellintegration.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "waylandshellintegration.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | WaylandShellIntegration::WaylandShellIntegration(QObject *parent)
13 | : QObject(parent)
14 | {
15 | }
16 |
17 | } // namespace KWin
18 |
19 | #include "moc_waylandshellintegration.cpp"
20 |
--------------------------------------------------------------------------------
/src/opengl/sdf.glsl:
--------------------------------------------------------------------------------
1 | float sdfRoundedBox(vec2 position, vec2 center, vec2 extents, vec4 radius) {
2 | vec2 p = position - center;
3 | float r = p.x > 0.0
4 | ? (p.y < 0.0 ? radius.y : radius.w)
5 | : (p.y < 0.0 ? radius.x : radius.z);
6 | vec2 q = abs(p) - extents + vec2(r);
7 | return min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r;
8 | }
9 |
10 | float sdfSubtract(float f1, float f2) {
11 | return max(f1, -f2);
12 | }
13 |
--------------------------------------------------------------------------------
/src/plugins/magnifier/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(magnifier_SOURCES
5 | magnifier.cpp
6 | main.cpp
7 | )
8 |
9 | kconfig_add_kcfg_files(magnifier_SOURCES
10 | magnifierconfig.kcfgc
11 | )
12 |
13 | kwin_add_builtin_effect(magnifier ${magnifier_SOURCES})
14 | target_link_libraries(magnifier PRIVATE
15 | kwin
16 |
17 | KF6::ConfigGui
18 | KF6::GlobalAccel
19 | KF6::I18n
20 | )
21 |
--------------------------------------------------------------------------------
/src/utils/xcursorreader.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "utils/cursortheme.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class XCursorReader
15 | {
16 | public:
17 | static QList load(const QString &filePath, int desiredSize, qreal devicePixelRatio);
18 | };
19 |
20 | } // namespace KWin
21 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/nvidia-geforce-gtx-660-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=NVIDIA Corporation
3 | Renderer=GeForce GTX 660/PCIe/SSE2
4 | Version=3.1.0 NVIDIA 367.27
5 | ShadingLanguageVersion=1.40 NVIDIA via Cg compiler
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Nvidia=true
12 | PreferBufferSubData=true
13 | GLVersion=3,1
14 | GLSLVersion=1,40
15 | DriverVersion=367,27
16 | Driver=8
17 | ChipClass=1999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/nvidia-geforce-gtx-970-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=NVIDIA Corporation
3 | Renderer=GeForce GTX 970/PCIe/SSE2
4 | Version=3.1.0 NVIDIA 367.35
5 | ShadingLanguageVersion=1.40 NVIDIA via Cg compiler
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Nvidia=true
12 | PreferBufferSubData=true
13 | GLVersion=3,1
14 | GLSLVersion=1,40
15 | DriverVersion=367,35
16 | Driver=8
17 | ChipClass=1999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/nvidia-geforce-gtx-980-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=NVIDIA Corporation
3 | Renderer=GeForce GTX 980/PCIe/SSE2
4 | Version=3.1.0 NVIDIA 364.19
5 | ShadingLanguageVersion=1.40 NVIDIA via Cg compiler
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Nvidia=true
12 | PreferBufferSubData=true
13 | GLVersion=3,1
14 | GLSLVersion=1,40
15 | DriverVersion=364,19
16 | Driver=8
17 | ChipClass=1999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/src/core/overlaywindow.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2011 Arthur Arlt
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 |
10 | #include "overlaywindow.h"
11 |
12 | namespace KWin
13 | {
14 | OverlayWindow::OverlayWindow()
15 | {
16 | }
17 |
18 | OverlayWindow::~OverlayWindow()
19 | {
20 | }
21 |
22 | } // namespace KWin
23 |
--------------------------------------------------------------------------------
/src/plugins/outputlocator/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2022 David Redondo
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 |
6 | kwin_add_builtin_effect(outputlocator main.cpp outputlocator.cpp)
7 | target_link_libraries(outputlocator PRIVATE
8 | kwin
9 | Qt::DBus
10 | Qt::Quick
11 | KF6::I18n
12 | )
13 |
14 | install(DIRECTORY qml DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/effects/outputlocator)
15 |
--------------------------------------------------------------------------------
/src/plugins/slidingpopups/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | # Source files
5 | set(slidingpopups_SOURCES
6 | main.cpp
7 | slidingpopups.cpp
8 | )
9 |
10 | kconfig_add_kcfg_files(slidingpopups_SOURCES
11 | slidingpopupsconfig.kcfgc
12 | )
13 |
14 | kwin_add_builtin_effect(slidingpopups ${slidingpopups_SOURCES})
15 | target_link_libraries(slidingpopups PRIVATE
16 | kwin
17 |
18 | KF6::ConfigGui
19 | )
20 |
--------------------------------------------------------------------------------
/src/utils/svgcursorreader.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "utils/cursortheme.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class SvgCursorReader
15 | {
16 | public:
17 | static QList load(const QString &filePath, int desiredSize, qreal devicePixelRatio);
18 | };
19 |
20 | } // namespace KWin
21 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-kabylake-gt2-4.6:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel
3 | Renderer=Mesa Intel(R) UHD Graphics 620 (KBL GT2)
4 | Version=4.6 (Compatibility Profile) Mesa 20.3.2
5 | ShadingLanguageVersion=4.60
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=4,6
14 | GLSLVersion=4,60
15 | MesaVersion=20,3,2
16 | DriverVersion=20,3,2
17 | Driver=7
18 | ChipClass=2012
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/nvidia-geforce-gtx-970M-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=NVIDIA Corporation
3 | Renderer=GeForce GTX 970M/PCIe/SSE2
4 | Version=3.1.0 NVIDIA 364.12
5 | ShadingLanguageVersion=1.40 NVIDIA via Cg compiler
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Nvidia=true
12 | PreferBufferSubData=true
13 | GLVersion=3,1
14 | GLSLVersion=1,40
15 | DriverVersion=364,12
16 | Driver=8
17 | ChipClass=1999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/virgl-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Red Hat
3 | Renderer=virgl
4 | Version=3.1 Mesa 19.0.8
5 | ShadingLanguageVersion=1.40
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Virgl=true
14 | VirtualMachine=true
15 | GLVersion=3,1
16 | GLSLVersion=1,40
17 | MesaVersion=19,0,8
18 | GalliumVersion=0,4
19 | DriverVersion=19,0,8
20 | Driver=17
21 | ChipClass=99999
22 | Compositor=1
23 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2023 Fushan Wen
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "colorblindnesscorrection.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(ColorBlindnessCorrectionEffect, "metadata.json.stripped", return ColorBlindnessCorrectionEffect::supported();)
13 |
14 | } // namespace KWin
15 |
16 | #include "main.moc"
17 |
--------------------------------------------------------------------------------
/src/plugins/mousemark/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 | SPDX-FileCopyrightText: 2023 Andrew Shark
4 |
5 | SPDX-License-Identifier: GPL-2.0-or-later
6 | */
7 |
8 | #include "mousemark.h"
9 |
10 | namespace KWin
11 | {
12 |
13 | KWIN_EFFECT_FACTORY(MouseMarkEffect,
14 | "metadata.json.stripped")
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/glide/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "glide.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(GlideEffect,
13 | "metadata.json.stripped",
14 | return GlideEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/invert/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "invert.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(InvertEffect,
13 | "metadata.json.stripped",
14 | return InvertEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/sheet/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "sheet.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(SheetEffect,
13 | "metadata.json.stripped",
14 | return SheetEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/slide/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "slide.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(SlideEffect,
13 | "metadata.json.stripped",
14 | return SlideEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-skylake-gt2-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
4 | Version=3.0 Mesa 11.2.0
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,0
14 | GLSLVersion=1,30
15 | MesaVersion=11,2,0
16 | DriverVersion=11,2,0
17 | Driver=7
18 | ChipClass=2999
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-haswell-mobile-3.3:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) Haswell Mobile
4 | Version=3.3 (Core Profile) Mesa 11.2.2
5 | ShadingLanguageVersion=3.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,3
14 | GLSLVersion=3,30
15 | MesaVersion=11,2,2
16 | DriverVersion=11,2,2
17 | Driver=7
18 | ChipClass=2005
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/shaders/README:
--------------------------------------------------------------------------------
1 | ColorBlindness correction shader with adjustable intensity. Can correct for:
2 | * Protanopia (Greatly reduced reds)
3 | * Deuteranopia (Greatly reduced greens)
4 | * Tritanopia (Greatly reduced blues)
5 |
6 | The correction algorithm is taken from http://www.daltonize.org/search/label/Daltonize
7 |
8 | This shader is released under the CC0 license. Feel free to use, improve and change this shader and consider sharing the modified result.
9 |
--------------------------------------------------------------------------------
/src/plugins/private/plugin.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | class EffectKitExtensionPlugin : public QQmlExtensionPlugin
12 | {
13 | Q_OBJECT
14 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
15 |
16 | public:
17 | void registerTypes(const char *uri) override;
18 | };
19 |
--------------------------------------------------------------------------------
/src/plugins/showfps/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "showfpseffect.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(ShowFpsEffect,
13 | "metadata.json.stripped",
14 | return ShowFpsEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-ivybridge-desktop-3.3:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) Ivybridge Desktop
4 | Version=3.3 (Core Profile) Mesa 11.2.2
5 | ShadingLanguageVersion=3.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,3
14 | GLSLVersion=3,30
15 | MesaVersion=11,2,2
16 | DriverVersion=11,2,2
17 | Driver=7
18 | ChipClass=2004
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-ivybridge-mobile-3.3:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) Ivybridge Mobile
4 | Version=3.3 (Core Profile) Mesa 12.0.1
5 | ShadingLanguageVersion=3.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,3
14 | GLSLVersion=3,30
15 | MesaVersion=12,0,1
16 | DriverVersion=12,0,1
17 | Driver=7
18 | ChipClass=2004
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-sandybridge-mobile-3.3:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) Sandybridge Mobile
4 | Version=3.3 (Core Profile) Mesa 12.0.1
5 | ShadingLanguageVersion=3.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,3
14 | GLSLVersion=3,30
15 | MesaVersion=12,0,1
16 | DriverVersion=12,0,1
17 | Driver=7
18 | ChipClass=2003
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/doc/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ecm_optional_add_subdirectory(desktop-x11)
2 | ecm_optional_add_subdirectory(kwindecoration-x11)
3 | ecm_optional_add_subdirectory(kwinscreenedges-x11)
4 | ecm_optional_add_subdirectory(kwintabbox-x11)
5 | ecm_optional_add_subdirectory(kwintouchscreen-x11)
6 | ecm_optional_add_subdirectory(kwinvirtualkeyboard-x11)
7 | ecm_optional_add_subdirectory(windowbehaviour-x11)
8 | ecm_optional_add_subdirectory(windowspecific-x11)
9 | ecm_optional_add_subdirectory(kwineffects-x11)
10 |
--------------------------------------------------------------------------------
/examples/quick-effect/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: None
2 | # SPDX-License-Identifier: CC0-1.0
3 |
4 | cmake_minimum_required(VERSION 3.20)
5 | project(quick-effect)
6 |
7 | set(KF6_MIN_VERSION "6.0.0")
8 |
9 | find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
10 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
11 |
12 | find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
13 | Package
14 | )
15 |
16 | kpackage_install_package(package quick-effect effects kwin)
17 |
--------------------------------------------------------------------------------
/examples/quick-script/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: None
2 | # SPDX-License-Identifier: CC0-1.0
3 |
4 | cmake_minimum_required(VERSION 3.20)
5 | project(quick-script)
6 |
7 | set(KF6_MIN_VERSION "6.0.0")
8 |
9 | find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
10 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
11 |
12 | find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
13 | Package
14 | )
15 |
16 | kpackage_install_package(package quick-script scripts kwin)
17 |
--------------------------------------------------------------------------------
/src/plugins/blendchanges/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 David Edmundson
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "blendchanges.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(BlendChanges,
13 | "metadata.json.stripped",
14 | return BlendChanges::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/fallapart/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "fallapart.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(FallApartEffect,
13 | "metadata.json.stripped",
14 | return FallApartEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/magiclamp/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "magiclamp.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(MagicLampEffect,
13 | "metadata.json.stripped",
14 | return MagicLampEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/magnifier/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "magnifier.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(MagnifierEffect,
13 | "metadata.json.stripped",
14 | return MagnifierEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/overview/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "overvieweffect.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(OverviewEffect,
13 | "metadata.json.stripped",
14 | return OverviewEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/systembell/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Nicolas Fella
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "systembell.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(SystemBellEffect,
13 | "metadata.json.stripped",
14 | return SystemBellEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/tileseditor/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Marco Martin
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "tileseditoreffect.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(TilesEditorEffect,
13 | "metadata.json.stripped",
14 | return TilesEditorEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-catalyst-radeonhd-7700M-3.1.13399:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=ATI Technologies Inc.
3 | Renderer=AMD Radeon HD 7700M Series
4 | Version=3.1.13399 Compatibility Profile Context FireGL 15.201.1151
5 | ShadingLanguageVersion=4.40
6 |
7 | [Settings]
8 | LooseBinding=false
9 | GLSL=true
10 | TextureNPOT=true
11 | Catalyst=true
12 | Radeon=true
13 | GLVersion=3,1,13399
14 | GLSLVersion=4,40
15 | DriverVersion=15,201,1151
16 | Driver=9
17 | ChipClass=999
18 | Compositor=1
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-hawaii-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.7.1)
4 | Version=3.0 Mesa 11.1.2
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=3,0
15 | GLSLVersion=1,30
16 | MesaVersion=11,1,2
17 | GalliumVersion=0,4
18 | DriverVersion=11,1,2
19 | Driver=16
20 | ChipClass=10
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-ivybridge-desktop-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) Ivybridge Desktop
4 | Version=3.0 Mesa 11.1.0 (git-525f3c2)
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,0
14 | GLSLVersion=1,30
15 | MesaVersion=11,1,0
16 | DriverVersion=11,1,0
17 | Driver=7
18 | ChipClass=2004
19 | Compositor=1
20 |
21 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/llvmpipe-10.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Mesa/X.org
3 | Renderer=llvmpipe (LLVM 10.0.1, 256 bits)
4 | Version=3.1 Mesa 20.2.1
5 | ShadingLanguageVersion=1.40
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | SoftwareEmulation=true
14 | GLVersion=3,1
15 | GLSLVersion=1,40
16 | MesaVersion=20,2,1
17 | GalliumVersion=0,4
18 | DriverVersion=20,2,1
19 | Driver=12
20 | ChipClass=99999
21 | Compositor=1
22 |
23 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/llvmpipe-5.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=VMware, Inc.
3 | Renderer=llvmpipe (LLVM 5.0, 256 bits)
4 | Version=3.0 Mesa 17.2.6
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | SoftwareEmulation=true
14 | GLVersion=3,0
15 | GLSLVersion=1,30
16 | MesaVersion=17,2,6
17 | GalliumVersion=0,4
18 | DriverVersion=17,2,6
19 | Driver=12
20 | ChipClass=99999
21 | Compositor=1
22 |
23 |
--------------------------------------------------------------------------------
/src/plugins/colorpicker/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "colorpicker.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(ColorPickerEffect,
13 | "metadata.json.stripped",
14 | return ColorPickerEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/screenshot/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "screenshot.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(ScreenShotEffect,
13 | "metadata.json.stripped",
14 | return ScreenShotEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-bonaire-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Gallium 0.4 on AMD BONAIRE (DRM 2.43.0, LLVM 3.8.0)
4 | Version=3.0 Mesa 11.2.2
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=3,0
15 | GLSLVersion=1,30
16 | MesaVersion=11,2,2
17 | GalliumVersion=0,4
18 | DriverVersion=11,2,2
19 | Driver=16
20 | ChipClass=10
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/intel-broadwell-gt2-3.3:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=Intel Open Source Technology Center
3 | Renderer=Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
4 | Version=3.3 (Core Profile) Mesa 11.2.2
5 | ShadingLanguageVersion=3.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Intel=true
13 | GLVersion=3,3
14 | GLSLVersion=3,30
15 | MesaVersion=11,2,2
16 | DriverVersion=11,2,2
17 | Driver=7
18 | ChipClass=2999
19 | Compositor=1
20 |
--------------------------------------------------------------------------------
/src/plugins/windowview/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "windowvieweffect.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(WindowViewEffect,
13 | "metadata.json.stripped",
14 | return WindowViewEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/slidingpopups/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "slidingpopups.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(SlidingPopupsEffect,
13 | "metadata.json.stripped",
14 | return SlidingPopupsEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/plugins/wobblywindows/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "wobblywindows.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(WobblyWindowsEffect,
13 | "metadata.json.stripped",
14 | return WobblyWindowsEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-navi-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=AMD NAVI10 (DRM 3.36.0, 5.5.1-arch1-1, LLVM 9.0.1)
4 | Version=4.5 (Core Profile) Mesa 19.3.3
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=19,3,3
17 | GalliumVersion=0,4
18 | DriverVersion=19,3,3
19 | Driver=16
20 | ChipClass=14
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-redwood-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Gallium 0.4 on AMD REDWOOD (DRM 2.43.0 / 4.6.4-1-ARCH, LLVM 3.8.0)
4 | Version=3.0 Mesa 12.0.1
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=3,0
15 | GLSLVersion=1,30
16 | MesaVersion=12,0,1
17 | GalliumVersion=0,4
18 | DriverVersion=12,0,1
19 | Driver=5
20 | ChipClass=7
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/llvmpipe-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=VMware, Inc.
3 | Renderer=Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
4 | Version=3.0 Mesa 11.2.0
5 | ShadingLanguageVersion=1.30
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | SoftwareEmulation=true
14 | GLVersion=3,0
15 | GLSLVersion=1,30
16 | MesaVersion=11,2,0
17 | GalliumVersion=0,4
18 | DriverVersion=11,2,0
19 | Driver=12
20 | ChipClass=99999
21 | Compositor=1
22 |
23 |
--------------------------------------------------------------------------------
/autotests/integration/data/anim-data-delete-effect/effect.js:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | effects.windowAdded.connect(function(w) {
10 | w.fadeAnimation = effect.animate(w, Effect.Opacity, 100, 1.0, 0.0);
11 | });
12 | effect.animationEnded.connect(function(w) {
13 | cancel(w.fadeAnimation);
14 | });
15 |
--------------------------------------------------------------------------------
/src/scene/rootitem.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "scene/item.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | /**
15 | * The RootItem type represents the root item in the scene.
16 | */
17 | class KWIN_EXPORT RootItem : public Item
18 | {
19 | Q_OBJECT
20 |
21 | public:
22 | explicit RootItem(Scene *scene);
23 | };
24 |
25 | } // namespace KWin
26 |
--------------------------------------------------------------------------------
/src/core/shmgraphicsbufferallocator.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2023 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "core/graphicsbufferallocator.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class KWIN_EXPORT ShmGraphicsBufferAllocator : public GraphicsBufferAllocator
15 | {
16 | public:
17 | GraphicsBuffer *allocate(const GraphicsBufferOptions &options) override;
18 | };
19 |
20 | } // namespace KWin
21 |
--------------------------------------------------------------------------------
/src/plugins/kscreen/kscreen.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | 0
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/plugins/showfps/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2022 Arjen Hiemstra
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | set(showfps_SOURCES
6 | main.cpp
7 | showfpseffect.cpp
8 | )
9 |
10 | kwin_add_builtin_effect(showfps ${showfps_SOURCES})
11 |
12 | target_link_libraries(showfps PRIVATE
13 | kwin
14 |
15 | KF6::I18n
16 |
17 | Qt::Quick
18 | )
19 |
20 | install(DIRECTORY qml DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/effects/showfps)
21 |
--------------------------------------------------------------------------------
/src/plugins/startupfeedback/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "startupfeedback.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED(StartupFeedbackEffect,
13 | "metadata.json.stripped",
14 | return StartupFeedbackEffect::supported();)
15 |
16 | } // namespace KWin
17 |
18 | #include "main.moc"
19 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/opengl/openglsurfacetexture_wayland.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "openglsurfacetexture_wayland.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | OpenGLSurfaceTextureWayland::OpenGLSurfaceTextureWayland(OpenGLBackend *backend, SurfacePixmap *pixmap)
13 | : OpenGLSurfaceTexture(backend)
14 | , m_pixmap(pixmap)
15 | {
16 | }
17 |
18 | } // namespace KWin
19 |
--------------------------------------------------------------------------------
/src/xwayland/lib/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(KWinXwaylandCommon STATIC
2 | xwaylandsocket.cpp
3 | xauthority.cpp
4 | )
5 |
6 | ecm_qt_declare_logging_category(KWinXwaylandCommon
7 | HEADER
8 | xwayland_logging.h
9 | IDENTIFIER
10 | KWIN_XWL
11 | CATEGORY_NAME
12 | kwin_xwl
13 | DEFAULT_SEVERITY
14 | Warning
15 | )
16 |
17 | target_include_directories(KWinXwaylandCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
18 | target_link_libraries(KWinXwaylandCommon Qt::Core)
19 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-r9-290-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=AMD Radeon R9 200 Series (HAWAII DRM 3.26.0 4.18.9-92.current LLVM 6.0.1)
4 | Version=4.5 Mesa 18.1.6
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=18,1,6
17 | GalliumVersion=0,4
18 | DriverVersion=18,1,6
19 | Driver=16
20 | ChipClass=10
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-tonga-4.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Gallium 0.4 on AMD TONGA (DRM 3.2.0 / 4.7.0-0-MANJARO, LLVM 3.8.0)
4 | Version=4.1 (Core Profile) Mesa 12.0.1
5 | ShadingLanguageVersion=4.10
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,1
15 | GLSLVersion=4,10
16 | MesaVersion=12,0,1
17 | GalliumVersion=0,4
18 | DriverVersion=12,0,1
19 | Driver=16
20 | ChipClass=11
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-550-series-3.1:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Radeon RX 550 Series (POLARIS12, DRM 3.25.0, 4.17.0-rc6-GTW1+, LLVM 6.0.0)
4 | Version=3.1 Mesa 18.1.0
5 | ShadingLanguageVersion=1.40
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=3,1
15 | GLSLVersion=1,40
16 | MesaVersion=18,1,0
17 | GalliumVersion=0,4
18 | DriverVersion=18,1,0
19 | Driver=16
20 | ChipClass=12
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/opengl/openglsurfacetexture_x11.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "platformsupport/scenes/opengl/openglsurfacetexture_x11.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | OpenGLSurfaceTextureX11::OpenGLSurfaceTextureX11(OpenGLBackend *backend, SurfacePixmapX11 *pixmap)
13 | : OpenGLSurfaceTexture(backend)
14 | , m_pixmap(pixmap)
15 | {
16 | }
17 |
18 | } // namespace KWin
19 |
--------------------------------------------------------------------------------
/src/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | opengl/colormanagement.glsl
4 | opengl/icc.frag
5 | opengl/icc_core.frag
6 | opengl/saturation.glsl
7 | opengl/sdf.glsl
8 | scene/shaders/debug_fractional.frag
9 | scene/shaders/debug_fractional.vert
10 | scene/shaders/debug_fractional_core.frag
11 | scene/shaders/debug_fractional_core.vert
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/waylandshellintegration.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "window.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class WaylandShellIntegration : public QObject
15 | {
16 | Q_OBJECT
17 |
18 | public:
19 | explicit WaylandShellIntegration(QObject *parent = nullptr);
20 |
21 | Q_SIGNALS:
22 | void windowCreated(Window *window);
23 | };
24 |
25 | } // namespace KWin
26 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-cayman-gles-3.0:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Gallium 0.4 on AMD CAYMAN (DRM 2.43.0, LLVM 3.8.0)
4 | Version=OpenGL ES 3.0 Mesa 11.2.2
5 | ShadingLanguageVersion=OpenGL ES GLSL ES 3.00
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=3,0
15 | GLSLVersion=3,0
16 | GLES=true
17 | MesaVersion=11,2,2
18 | GalliumVersion=0,4
19 | DriverVersion=11,2,2
20 | Driver=5
21 | ChipClass=8
22 | Compositor=1
23 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-vega-56-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Radeon RX Vega (VEGA10, DRM 3.25.0, 4.17.0-trunk-amd64, LLVM 6.0.0)
4 | Version=4.5 (Core Profile) Mesa 18.1.2
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=18,1,2
17 | GalliumVersion=0,4
18 | DriverVersion=18,1,2
19 | Driver=16
20 | ChipClass=13
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/src/kcms/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS)
2 |
3 | add_subdirectory(common)
4 |
5 | add_subdirectory(animations)
6 | add_subdirectory(compositing)
7 | add_subdirectory(options)
8 | add_subdirectory(decoration)
9 | add_subdirectory(rules)
10 | add_subdirectory(screenedges)
11 | add_subdirectory(scripts)
12 | add_subdirectory(desktop)
13 | add_subdirectory(effects)
14 |
15 | if (KWIN_BUILD_TABBOX)
16 | add_subdirectory(tabbox)
17 | endif()
18 |
--------------------------------------------------------------------------------
/src/plugins/sheet/sheet.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | 0
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-vega-64-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Radeon RX Vega (VEGA10 / DRM 3.23.0 / 4.16.16-300.fc28.x86_64, LLVM 6.0.0)
4 | Version=4.5 (Core Profile) Mesa 18.0.5
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=18,0,5
17 | GalliumVersion=0,4
18 | DriverVersion=18,0,5
19 | Driver=16
20 | ChipClass=13
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/src/wayland/abstract_drop_handler.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 David Edmundson
3 | SPDX-FileCopyrightText: 2021 David Redondo
4 |
5 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6 | */
7 |
8 | #include "abstract_drop_handler.h"
9 |
10 | namespace KWin
11 | {
12 | AbstractDropHandler::AbstractDropHandler(QObject *parent)
13 | : QObject(parent)
14 | {
15 | }
16 |
17 | }
18 |
19 | #include "moc_abstract_drop_handler.cpp"
20 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-5700-xt-4.6:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=AMD
3 | Renderer=AMD Radeon RX 5700 XT (NAVI10, DRM 3.40.0, 5.10.9-arch1-1, LLVM 11.0.1)
4 | Version=4.6 (Compatibility Profile) Mesa 20.3.3
5 | ShadingLanguageVersion=4.60
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,6
15 | GLSLVersion=4,60
16 | MesaVersion=20,3,3
17 | GalliumVersion=0,4
18 | DriverVersion=20,3,3
19 | Driver=16
20 | ChipClass=14
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/src/moving_client_x11_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "x11eventfilter.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | class MovingClientX11Filter : public X11EventFilter
16 | {
17 | public:
18 | explicit MovingClientX11Filter();
19 |
20 | bool event(xcb_generic_event_t *event) override;
21 | };
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/plugins/login/package/contents/config/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | false
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/syncalarmx11filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 |
10 | #pragma once
11 |
12 | #include "x11eventfilter.h"
13 |
14 | namespace KWin
15 | {
16 |
17 | class SyncAlarmX11Filter : public X11EventFilter
18 | {
19 | public:
20 | SyncAlarmX11Filter();
21 |
22 | bool event(xcb_generic_event_t *event) override;
23 | };
24 |
25 | } // namespace KWin
26 |
--------------------------------------------------------------------------------
/src/plugins/magiclamp/magiclamp.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | 0
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-580-series-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=Radeon RX 580 Series (POLARIS10, DRM 3.27.0, 4.19.10-arch1-1-ARCH, LLVM 7.0.0)
4 | Version=4.5 (Compatibility Profile) Mesa 18.3.1
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=18,3,1
17 | GalliumVersion=0,4
18 | DriverVersion=18,3,1
19 | Driver=16
20 | ChipClass=12
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/examples/quick-effect/package/contents/config/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | #ff00ff
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/downsample.frag:
--------------------------------------------------------------------------------
1 | uniform sampler2D texUnit;
2 | uniform float offset;
3 | uniform vec2 halfpixel;
4 |
5 | varying vec2 uv;
6 |
7 | void main(void)
8 | {
9 | vec4 sum = texture2D(texUnit, uv) * 4.0;
10 | sum += texture2D(texUnit, uv - halfpixel.xy * offset);
11 | sum += texture2D(texUnit, uv + halfpixel.xy * offset);
12 | sum += texture2D(texUnit, uv + vec2(halfpixel.x, -halfpixel.y) * offset);
13 | sum += texture2D(texUnit, uv - vec2(halfpixel.x, -halfpixel.y) * offset);
14 |
15 | gl_FragColor = sum / 8.0;
16 | }
17 |
--------------------------------------------------------------------------------
/src/plugins/private/plugin.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "plugin.h"
8 | #include "expoarea.h"
9 | #include "expolayout.h"
10 |
11 | void EffectKitExtensionPlugin::registerTypes(const char *uri)
12 | {
13 | qmlRegisterType(uri, 1, 0, "ExpoArea");
14 | qmlRegisterType(uri, 1, 0, "ExpoLayout");
15 | qmlRegisterType(uri, 1, 0, "ExpoCell");
16 | }
17 |
18 | #include "moc_plugin.cpp"
19 |
--------------------------------------------------------------------------------
/src/was_user_interaction_x11_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "x11eventfilter.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | class WasUserInteractionX11Filter : public X11EventFilter
16 | {
17 | public:
18 | explicit WasUserInteractionX11Filter();
19 |
20 | bool event(xcb_generic_event_t *event) override;
21 | };
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/KWinX11Config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | include(CMakeFindDependencyMacro)
4 | find_dependency(Qt6Core "@QT_MIN_VERSION@")
5 | find_dependency(Qt6Gui "@QT_MIN_VERSION@")
6 | find_dependency(Qt6Quick "@QT_MIN_VERSION@")
7 | find_dependency(KF6Config "@KF6_MIN_VERSION@")
8 | find_dependency(KF6CoreAddons "@KF6_MIN_VERSION@")
9 | find_dependency(KF6WindowSystem "@KF6_MIN_VERSION@")
10 | find_dependency(Wayland REQUIRED Server)
11 | find_dependency(epoxy)
12 |
13 | @PACKAGE_SETUP_KWIN_AUTOMOC_VARIABLES@
14 | include("${CMAKE_CURRENT_LIST_DIR}/KWinX11Targets.cmake")
15 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_screenedges_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "x11eventfilter.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | class ScreenEdgesFilter : public X11EventFilter
16 | {
17 | public:
18 | explicit ScreenEdgesFilter();
19 |
20 | bool event(xcb_generic_event_t *event) override;
21 | };
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/data/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(icons)
2 |
3 | ########### next target ###############
4 | add_executable(kwin5_update_default_rules_x11 update_default_rules.cpp)
5 | target_link_libraries(kwin5_update_default_rules_x11
6 | KF6::ConfigCore
7 | Qt::Core
8 | Qt::DBus
9 | )
10 | install(TARGETS kwin5_update_default_rules_x11 DESTINATION ${KDE_INSTALL_LIBDIR}/kconf_update_bin/)
11 |
12 | ########### install files ###############
13 |
14 | install(FILES org_kde_kwin.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} RENAME org_kde_kwin_x11.categories)
15 |
--------------------------------------------------------------------------------
/src/kcms/options/kwinoptions_kdeglobals_settings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 | true
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/plugins/tileseditor/kcm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2022 Marco Martin
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | set(kwin_tileseditor_config_SOURCES tileseditoreffectkcm.cpp)
6 | ki18n_wrap_ui(kwin_tileseditor_config_SOURCES tileseditoreffectkcm.ui)
7 |
8 | kwin_add_effect_config(kwin_tileseditor_config ${kwin_tileseditor_config_SOURCES})
9 | target_link_libraries(kwin_tileseditor_config
10 | KF6::KCMUtils
11 | KF6::CoreAddons
12 | KF6::GlobalAccel
13 | KF6::I18n
14 | KF6::XmlGui
15 | KWinEffectsInterface
16 | )
17 |
--------------------------------------------------------------------------------
/autotests/effect/data/glplatform/amd-gallium-radeon-rx-480-series-4.5:
--------------------------------------------------------------------------------
1 | [Driver]
2 | Vendor=X.Org
3 | Renderer=AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.23.0 / 4.15.0-rc1-g516fb7f2e73d, LLVM 6.0.0)
4 | Version=4.5 (Core Profile) Mesa 17.4.0-devel (git-b6b4b2c6d8)
5 | ShadingLanguageVersion=4.50
6 |
7 | [Settings]
8 | LooseBinding=true
9 | GLSL=true
10 | TextureNPOT=true
11 | Mesa=true
12 | Gallium=true
13 | Radeon=true
14 | GLVersion=4,5
15 | GLSLVersion=4,50
16 | MesaVersion=17,4,0
17 | GalliumVersion=0,4
18 | DriverVersion=17,4,0
19 | Driver=16
20 | ChipClass=12
21 | Compositor=1
22 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_glx_context_attribute_builder.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "opengl/abstract_opengl_context_attribute_builder.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | class GlxContextAttributeBuilder : public AbstractOpenGLContextAttributeBuilder
16 | {
17 | public:
18 | std::vector build() const override;
19 | };
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/plugins/colorblindnesscorrection/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2023 Fushan Wen
2 | # SPDX-License-Identifier: BSD-3-Clause
3 |
4 | kwin_add_builtin_effect(colorblindnesscorrection)
5 |
6 | target_sources(colorblindnesscorrection PRIVATE
7 | main.cpp
8 | colorblindnesscorrection.cpp
9 | colorblindnesscorrection.qrc
10 | )
11 |
12 | kconfig_add_kcfg_files(colorblindnesscorrection
13 | colorblindnesscorrectionconfig.kcfgc
14 | )
15 |
16 | target_link_libraries(colorblindnesscorrection PRIVATE
17 | kwin
18 | KF6::ConfigGui
19 | )
20 |
--------------------------------------------------------------------------------
/autotests/onscreennotificationtest.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2016 Martin Graesslin
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 |
6 | */
7 |
8 | #ifndef ONSCREENNOTIFICATIONTEST_H
9 | #define ONSCREENNOTIFICATIONTEST_H
10 |
11 | #include
12 |
13 | class OnScreenNotificationTest : public QObject
14 | {
15 | Q_OBJECT
16 | private Q_SLOTS:
17 |
18 | void show();
19 | void timeout();
20 | void iconName();
21 | void message();
22 | };
23 |
24 | #endif // ONSCREENNOTIFICATIONTEST_H
25 |
--------------------------------------------------------------------------------
/examples/quick-script/package/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Script",
3 | "KPlugin": {
4 | "Authors": [
5 | {
6 | "Email": "user@example.com",
7 | "Name": "Your Name"
8 | }
9 | ],
10 | "Description": "An example QtQuick script",
11 | "EnabledByDefault": false,
12 | "Icon": "preferences-system-windows-script-test",
13 | "Id": "quick-script",
14 | "License": "MIT",
15 | "Name": "Quick Script"
16 | },
17 | "X-Plasma-API": "declarativescript"
18 | }
19 |
--------------------------------------------------------------------------------
/src/killwindow.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 1999, 2000 Matthias Ettrich
6 | SPDX-FileCopyrightText: 2003 Lubos Lunak
7 | SPDX-FileCopyrightText: 2012 Martin Gräßlin
8 |
9 | SPDX-License-Identifier: GPL-2.0-or-later
10 | */
11 |
12 | #pragma once
13 |
14 | namespace KWin
15 | {
16 |
17 | class KillWindow
18 | {
19 | public:
20 | KillWindow();
21 | ~KillWindow();
22 |
23 | void start();
24 | };
25 |
26 | } // namespace
27 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/ungrabTest.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | if (effect.grab(window, Effect.WindowAddedGrabRole)) {
3 | sendTestResponse('ok');
4 | } else {
5 | sendTestResponse('fail');
6 | }
7 |
8 | window.minimizedChanged.connect(() => {
9 | if (!window.minimized) {
10 | return;
11 | }
12 | if (effect.ungrab(window, Effect.WindowAddedGrabRole)) {
13 | sendTestResponse('ok');
14 | } else {
15 | sendTestResponse('fail');
16 | }
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/src/core/inputbackend.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "inputbackend.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | InputBackend::InputBackend(QObject *parent)
13 | : QObject(parent)
14 | {
15 | }
16 |
17 | KSharedConfigPtr InputBackend::config() const
18 | {
19 | return m_config;
20 | }
21 |
22 | void InputBackend::setConfig(KSharedConfigPtr config)
23 | {
24 | m_config = config;
25 | }
26 |
27 | } // namespace KWin
28 |
29 | #include "moc_inputbackend.cpp"
30 |
--------------------------------------------------------------------------------
/src/plugins/krunner-integration/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(krunnerintegration_SOURCES
2 | main.cpp
3 | windowsrunnerinterface.cpp
4 | )
5 |
6 | qt_add_dbus_adaptor(krunnerintegration_SOURCES org.kde.krunner1.xml windowsrunnerinterface.h KWin::WindowsRunner)
7 |
8 | kcoreaddons_add_plugin(krunnerintegration SOURCES ${krunnerintegration_SOURCES} INSTALL_NAMESPACE "${KWIN_PLUGINDIR}/plugins")
9 | target_link_libraries(krunnerintegration kwin KF6::I18n)
10 |
11 | install(FILES kwin-runner-windows.desktop DESTINATION ${KDE_INSTALL_DATAROOTDIR}/krunner/dbusplugins RENAME kwin-runner-windows-x11.desktop)
12 |
--------------------------------------------------------------------------------
/src/plugins/blur/shaders/downsample_core.frag:
--------------------------------------------------------------------------------
1 | #version 140
2 |
3 | uniform sampler2D texUnit;
4 | uniform float offset;
5 | uniform vec2 halfpixel;
6 |
7 | in vec2 uv;
8 |
9 | out vec4 fragColor;
10 |
11 | void main(void)
12 | {
13 | vec4 sum = texture(texUnit, uv) * 4.0;
14 | sum += texture(texUnit, uv - halfpixel.xy * offset);
15 | sum += texture(texUnit, uv + halfpixel.xy * offset);
16 | sum += texture(texUnit, uv + vec2(halfpixel.x, -halfpixel.y) * offset);
17 | sum += texture(texUnit, uv - vec2(halfpixel.x, -halfpixel.y) * offset);
18 |
19 | fragColor = sum / 8.0;
20 | }
21 |
--------------------------------------------------------------------------------
/src/utils/c_ptr.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2022 Xaver Hugl
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 |
11 | #include
12 |
13 | namespace KWin
14 | {
15 |
16 | struct CDeleter
17 | {
18 | template
19 | void operator()(T *ptr)
20 | {
21 | if (ptr) {
22 | free(ptr);
23 | }
24 | }
25 | };
26 |
27 | template
28 | using UniqueCPtr = std::unique_ptr;
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/autotests/integration/scene_opengl_test.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2016 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "generic_scene_opengl_test.h"
10 |
11 | class SceneOpenGLTest : public GenericSceneOpenGLTest
12 | {
13 | Q_OBJECT
14 | public:
15 | SceneOpenGLTest()
16 | : GenericSceneOpenGLTest(QByteArrayLiteral("O2"))
17 | {
18 | }
19 | };
20 |
21 | WAYLANDTEST_MAIN(SceneOpenGLTest)
22 | #include "scene_opengl_test.moc"
23 |
--------------------------------------------------------------------------------
/src/kcms/animations/animationskdeglobalssettings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 | 1.0
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/plugins/fallapart/fallapart.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | 40
10 | 1
11 | 100000
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/placeholderoutput.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "core/output.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class PlaceholderOutput : public Output
15 | {
16 | Q_OBJECT
17 |
18 | public:
19 | PlaceholderOutput(const QSize &size, qreal scale = 1);
20 | ~PlaceholderOutput() override;
21 |
22 | RenderLoop *renderLoop() const override;
23 |
24 | private:
25 | std::unique_ptr m_renderLoop;
26 | };
27 |
28 | } // namespace KWin
29 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/opengl/openglsurfacetexture_x11.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "openglsurfacetexture.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class SurfacePixmapX11;
15 |
16 | class KWIN_EXPORT OpenGLSurfaceTextureX11 : public OpenGLSurfaceTexture
17 | {
18 | public:
19 | OpenGLSurfaceTextureX11(OpenGLBackend *backend, SurfacePixmapX11 *pixmap);
20 |
21 | protected:
22 | SurfacePixmapX11 *m_pixmap;
23 | };
24 |
25 | } // namespace KWin
26 |
--------------------------------------------------------------------------------
/src/plugins/blur/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "blur.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED_ENABLED(BlurEffect,
13 | "metadata.json.stripped",
14 | return BlurEffect::supported();
15 | ,
16 | return BlurEffect::enabledByDefault();)
17 |
18 | } // namespace KWin
19 |
20 | #include "main.moc"
21 |
--------------------------------------------------------------------------------
/autotests/integration/fakes/org.kde.kdecoration3/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ########################################################
2 | # FakeDecoWithShadows
3 | ########################################################
4 | add_library(fakedecoshadows MODULE fakedecoration_with_shadows.cpp)
5 | set_target_properties(fakedecoshadows PROPERTIES
6 | PREFIX ""
7 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/fakes/org.kde.kdecoration3")
8 | target_link_libraries(fakedecoshadows
9 | PUBLIC
10 | Qt::Core
11 | Qt::Gui
12 | PRIVATE
13 | KDecoration3::KDecoration
14 | KF6::CoreAddons)
15 |
16 |
--------------------------------------------------------------------------------
/src/inputpanelv1integration.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "waylandshellintegration.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class InputPanelSurfaceV1Interface;
15 |
16 | class InputPanelV1Integration : public WaylandShellIntegration
17 | {
18 | Q_OBJECT
19 |
20 | public:
21 | explicit InputPanelV1Integration(QObject *parent = nullptr);
22 |
23 | void createWindow(InputPanelSurfaceV1Interface *shellSurface);
24 | };
25 |
26 | } // namespace KWin
27 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/opengl/openglsurfacetexture_wayland.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "openglsurfacetexture.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class SurfacePixmap;
15 |
16 | class KWIN_EXPORT OpenGLSurfaceTextureWayland : public OpenGLSurfaceTexture
17 | {
18 | public:
19 | OpenGLSurfaceTextureWayland(OpenGLBackend *backend, SurfacePixmap *pixmap);
20 |
21 | protected:
22 | SurfacePixmap *m_pixmap;
23 | };
24 |
25 | } // namespace KWin
26 |
--------------------------------------------------------------------------------
/autotests/integration/scene_opengl_es_test.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "generic_scene_opengl_test.h"
10 |
11 | class SceneOpenGLESTest : public GenericSceneOpenGLTest
12 | {
13 | Q_OBJECT
14 | public:
15 | SceneOpenGLESTest()
16 | : GenericSceneOpenGLTest(QByteArrayLiteral("O2ES"))
17 | {
18 | }
19 | };
20 |
21 | WAYLANDTEST_MAIN(SceneOpenGLESTest)
22 | #include "scene_opengl_es_test.moc"
23 |
--------------------------------------------------------------------------------
/src/plugins/blur/blur_config.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2010 Fredrik Höglund
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "ui_blur_config.h"
10 | #include
11 |
12 | namespace KWin
13 | {
14 |
15 | class BlurEffectConfig : public KCModule
16 | {
17 | Q_OBJECT
18 |
19 | public:
20 | explicit BlurEffectConfig(QObject *parent, const KPluginMetaData &data);
21 | ~BlurEffectConfig() override;
22 |
23 | void save() override;
24 |
25 | private:
26 | ::Ui::BlurEffectConfig ui;
27 | };
28 |
29 | } // namespace KWin
30 |
--------------------------------------------------------------------------------
/examples/plugin/eventlistener.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 |
7 | #pragma once
8 |
9 | #include "kwin/plugin.h"
10 | #include "kwin/input_event_spy.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | class EventListener : public Plugin, public InputEventSpy
16 | {
17 | Q_OBJECT
18 |
19 | public:
20 | EventListener();
21 |
22 | void keyEvent(KeyEvent *event) override;
23 | void pointerEvent(MouseEvent *event) override;
24 | };
25 |
26 | } // namespace KWin
27 |
--------------------------------------------------------------------------------
/src/kcms/effects/desktopeffectsdata.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Cyril Rossi
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | #include
12 |
13 | namespace KWin
14 | {
15 | class EffectsModel;
16 |
17 | class DesktopEffectsData : public KCModuleData
18 | {
19 | Q_OBJECT
20 |
21 | public:
22 | explicit DesktopEffectsData(QObject *parent);
23 | ~DesktopEffectsData() override;
24 |
25 | bool isDefaults() const override;
26 |
27 | private:
28 | EffectsModel *m_model;
29 | };
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwinscreenedgeeffectsettings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 | ElectricNone
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwinscreenedgescriptsettings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 | ElectricNone
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwintouchscreenscriptsettings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 | ElectricNone
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/examples/quick-effect/package/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "KPackageStructure": "KWin/Effect",
3 | "KPlugin": {
4 | "Authors": [
5 | {
6 | "Email": "user@example.com",
7 | "Name": "Real Name"
8 | }
9 | ],
10 | "Category": "Appearance",
11 | "Description": "Quick Effect",
12 | "EnabledByDefault": true,
13 | "Id": "quick-effect",
14 | "License": "MIT",
15 | "Name": "Quick Effect"
16 | },
17 | "X-KDE-ConfigModule": "kcm_kwin4_genericscripted",
18 | "X-KDE-Ordering": 60,
19 | "X-Plasma-API": "declarativescript"
20 | }
21 |
--------------------------------------------------------------------------------
/src/kcms/animations/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_animations_x11\")
2 |
3 | set(kcm_animations_x11_PART_SRCS
4 | kcm.cpp
5 | animationsdata.cpp
6 | effectssubsetmodel.cpp
7 | )
8 |
9 | kcmutils_add_qml_kcm(kcm_animations_x11 SOURCES ${kcm_animations_x11_PART_SRCS})
10 |
11 | kconfig_add_kcfg_files(kcm_animations_x11 animationskdeglobalssettings.kcfgc GENERATE_MOC)
12 |
13 | target_link_libraries(kcm_animations_x11 PRIVATE
14 | Qt::DBus
15 | Qt::Quick
16 | KF6::ConfigGui
17 | KF6::KCMUtils
18 | KF6::I18n
19 | KF6::KCMUtilsQuick
20 | KF6::Service
21 | kcmkwincommon
22 | )
23 |
--------------------------------------------------------------------------------
/src/kcms/screenedges/kwintouchscreenedgeeffectsettings.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 | ElectricNone
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/plugins/backgroundcontrast/main.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "contrast.h"
8 |
9 | namespace KWin
10 | {
11 |
12 | KWIN_EFFECT_FACTORY_SUPPORTED_ENABLED(ContrastEffect,
13 | "metadata.json.stripped",
14 | return ContrastEffect::supported();
15 | ,
16 | return ContrastEffect::enabledByDefault();)
17 |
18 | } // namespace KWin
19 |
20 | #include "main.moc"
21 |
--------------------------------------------------------------------------------
/src/utils/kernel.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2023 Xaver Hugl
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "utils/version.h"
11 |
12 | #include
13 |
14 | namespace KWin
15 | {
16 |
17 | inline static Version linuxKernelVersion()
18 | {
19 | struct utsname name;
20 | uname(&name);
21 |
22 | if (qstrcmp(name.sysname, "Linux") == 0) {
23 | return Version::parseString(name.release);
24 | }
25 | return Version(0, 0, 0);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/kcms/decoration/declarative-plugin/types.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2024 Nicolas Fella
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 | #pragma once
7 |
8 | #include
9 |
10 | #include
11 | #include
12 |
13 | struct DecorationForeign
14 | {
15 | Q_GADGET
16 | QML_ANONYMOUS
17 | QML_FOREIGN(KDecoration3::Decoration)
18 | };
19 |
20 | struct DecorationShadowForeign
21 | {
22 | Q_GADGET
23 | QML_ANONYMOUS
24 | QML_FOREIGN(KDecoration3::DecorationShadow)
25 | };
26 |
--------------------------------------------------------------------------------
/src/plugins/overview/kcm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | set(kwin_overview_config_SOURCES overvieweffectkcm.cpp)
6 | ki18n_wrap_ui(kwin_overview_config_SOURCES overvieweffectkcm.ui)
7 | kconfig_add_kcfg_files(kwin_overview_config_SOURCES ../overviewconfig.kcfgc)
8 |
9 | kwin_add_effect_config(kwin_overview_config ${kwin_overview_config_SOURCES})
10 | target_link_libraries(kwin_overview_config
11 | KF6::KCMUtils
12 | KF6::CoreAddons
13 | KF6::GlobalAccel
14 | KF6::I18n
15 | KF6::XmlGui
16 | KWinEffectsInterface
17 | )
18 |
--------------------------------------------------------------------------------
/src/plugins/tileseditor/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2022 Marco Martin
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | if (KWIN_BUILD_KCMS)
6 | add_subdirectory(kcm)
7 | endif()
8 |
9 | set(tileseditor_SOURCES
10 | main.cpp
11 | tileseditoreffect.cpp
12 | )
13 |
14 | kwin_add_builtin_effect(tileseditor ${tileseditor_SOURCES})
15 |
16 | target_link_libraries(tileseditor PRIVATE
17 | kwin
18 |
19 | KF6::ConfigGui
20 | KF6::GlobalAccel
21 | KF6::I18n
22 |
23 | Qt::Quick
24 | )
25 |
26 | install(DIRECTORY qml DESTINATION ${KDE_INSTALL_DATADIR}/${KWIN_DATADIR}/effects/tileseditor)
27 |
--------------------------------------------------------------------------------
/src/utils/realtime.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "realtime.h"
8 |
9 | #include "config-kwin.h"
10 |
11 | #include
12 | #include
13 |
14 | namespace KWin
15 | {
16 |
17 | void gainRealTime()
18 | {
19 | #if HAVE_SCHED_RESET_ON_FORK
20 | const int minPriority = sched_get_priority_min(SCHED_RR);
21 | sched_param sp;
22 | sp.sched_priority = minPriority;
23 | pthread_setschedparam(pthread_self(), SCHED_RR | SCHED_RESET_ON_FORK, &sp);
24 | #endif
25 | }
26 |
27 | } // namespace KWin
28 |
--------------------------------------------------------------------------------
/src/kcms/scripts/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # KI18N Translation Domain for this library
2 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_kwin_scripts_x11\")
3 |
4 | kcmutils_add_qml_kcm(kcm_kwin_scripts_x11 INSTALL_NAMESPACE plasma/kcms/systemsettings)
5 |
6 | target_sources(kcm_kwin_scripts_x11 PRIVATE
7 | module.cpp
8 | kwinscriptsdata.cpp
9 | )
10 |
11 | target_link_libraries(kcm_kwin_scripts_x11 PRIVATE
12 | Qt::DBus
13 |
14 | KF6::I18n
15 | KF6::KCMUtilsCore
16 | KF6::KCMUtils
17 | KF6::Package
18 | KF6::KCMUtilsQuick
19 | )
20 |
21 | install(FILES kwinscripts.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} RENAME kwinscripts-x11.knsrc)
22 |
--------------------------------------------------------------------------------
/src/kcms/scripts/kwinscriptsdata.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Cyril Rossi
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 | #include
11 |
12 | #include
13 | #include
14 | #include
15 |
16 | class KWinScriptsData : public KCModuleData
17 | {
18 | Q_OBJECT
19 |
20 | public:
21 | KWinScriptsData(QObject *parent);
22 |
23 | bool isDefaults() const override;
24 |
25 | QList pluginMetaDataList() const;
26 |
27 | private:
28 | KSharedConfigPtr m_kwinConfig;
29 | };
30 |
--------------------------------------------------------------------------------
/src/core/brightnessdevice.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2024 Xaver Hugl
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #include "brightnessdevice.h"
10 | #include "output.h"
11 |
12 | namespace KWin
13 | {
14 |
15 | BrightnessDevice::BrightnessDevice()
16 | {
17 | }
18 |
19 | BrightnessDevice::~BrightnessDevice()
20 | {
21 | }
22 |
23 | void BrightnessDevice::setOutput(Output *output)
24 | {
25 | m_output = output;
26 | }
27 |
28 | Output *BrightnessDevice::output() const
29 | {
30 | return m_output;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/src/scene/itemrenderer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #include "scene/itemrenderer.h"
8 |
9 | #include
10 |
11 | namespace KWin
12 | {
13 |
14 | ItemRenderer::ItemRenderer()
15 | {
16 | }
17 |
18 | ItemRenderer::~ItemRenderer()
19 | {
20 | }
21 |
22 | QPainter *ItemRenderer::painter() const
23 | {
24 | return nullptr;
25 | }
26 |
27 | void ItemRenderer::beginFrame(const RenderTarget &renderTarget, const RenderViewport &viewport)
28 | {
29 | }
30 |
31 | void ItemRenderer::endFrame()
32 | {
33 | }
34 |
35 | } // namespace KWin
36 |
--------------------------------------------------------------------------------
/autotests/integration/effects/scripts/completeTest.js:
--------------------------------------------------------------------------------
1 | effects.windowAdded.connect(function (window) {
2 | window.animation = set({
3 | window: window,
4 | curve: QEasingCurve.Linear,
5 | duration: animationTime(1000),
6 | type: Effect.Opacity,
7 | from: 0,
8 | to: 1,
9 | keepAlive: false
10 | });
11 |
12 | window.minimizedChanged.connect(() => {
13 | if (!window.minimized) {
14 | return;
15 | }
16 | if (complete(window.animation)) {
17 | sendTestResponse('ok');
18 | } else {
19 | sendTestResponse('fail');
20 | }
21 | });
22 | });
23 |
--------------------------------------------------------------------------------
/src/backends/x11/standalone/x11_standalone_xfixes_cursor_event_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "x11eventfilter.h"
11 |
12 | namespace KWin
13 | {
14 | class X11Cursor;
15 |
16 | class XFixesCursorEventFilter : public X11EventFilter
17 | {
18 | public:
19 | explicit XFixesCursorEventFilter(X11Cursor *cursor);
20 |
21 | bool event(xcb_generic_event_t *event) override;
22 |
23 | private:
24 | X11Cursor *m_cursor;
25 | };
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/kcms/compositing/kwincompositingdata.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2020 Cyril Rossi
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 |
10 | #pragma once
11 |
12 | #include
13 |
14 | #include
15 |
16 | class KWinCompositingSetting;
17 |
18 | class KWinCompositingData : public KCModuleData
19 | {
20 | Q_OBJECT
21 |
22 | public:
23 | explicit KWinCompositingData(QObject *parent);
24 |
25 | bool isDefaults() const override;
26 |
27 | private:
28 | KWinCompositingSetting *m_settings;
29 | };
30 |
--------------------------------------------------------------------------------
/src/plugins/windowview/kcm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
2 | #
3 | # SPDX-License-Identifier: BSD-3-Clause
4 |
5 | set(kwin_windowview_config_SOURCES windowvieweffectkcm.cpp)
6 | ki18n_wrap_ui(kwin_windowview_config_SOURCES windowvieweffectkcm.ui)
7 | kconfig_add_kcfg_files(kwin_windowview_config_SOURCES ../windowviewconfig.kcfgc)
8 |
9 | kwin_add_effect_config(kwin_windowview_config ${kwin_windowview_config_SOURCES})
10 | target_link_libraries(kwin_windowview_config
11 | KF6::KCMUtils
12 | KF6::CoreAddons
13 | KF6::GlobalAccel
14 | KF6::I18n
15 | KF6::XmlGui
16 | KWinEffectsInterface
17 | )
18 |
--------------------------------------------------------------------------------
/src/plugins/windowsystem/windowshadow.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2020 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | namespace KWin
12 | {
13 |
14 | class WindowShadowTile final : public KWindowShadowTilePrivate
15 | {
16 | public:
17 | bool create() override;
18 | void destroy() override;
19 | };
20 |
21 | class WindowShadow final : public KWindowShadowPrivate
22 | {
23 | public:
24 | bool create() override;
25 | void destroy() override;
26 | };
27 |
28 | } // namespace KWin
29 |
--------------------------------------------------------------------------------
/src/scene/cursordelegate_qpainter.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "scene/scene.h"
10 |
11 | #include
12 |
13 | namespace KWin
14 | {
15 |
16 | class Output;
17 |
18 | class CursorDelegateQPainter final : public SceneDelegate
19 | {
20 | public:
21 | CursorDelegateQPainter(Scene *scene, Output *output);
22 |
23 | void paint(const RenderTarget &renderTarget, const QRegion ®ion) override;
24 |
25 | private:
26 | Output *const m_output;
27 | QImage m_buffer;
28 | };
29 |
30 | } // namespace KWin
31 |
--------------------------------------------------------------------------------
/src/window_property_notify_x11_filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2017 Martin Flöser
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 |
11 | #include "x11eventfilter.h"
12 |
13 | namespace KWin
14 | {
15 | class EffectsHandler;
16 |
17 | class WindowPropertyNotifyX11Filter : public X11EventFilter
18 | {
19 | public:
20 | explicit WindowPropertyNotifyX11Filter(EffectsHandler *effects);
21 |
22 | bool event(xcb_generic_event_t *event) override;
23 |
24 | private:
25 | EffectsHandler *m_effects;
26 | };
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/plugins/slidingpopups/slidingpopups.kcfg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 | 0
11 |
12 |
13 | 0
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/platformsupport/scenes/qpainter/qpaintersurfacetexture_wayland.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include "qpaintersurfacetexture.h"
10 |
11 | namespace KWin
12 | {
13 |
14 | class KWIN_EXPORT QPainterSurfaceTextureWayland : public QPainterSurfaceTexture
15 | {
16 | public:
17 | QPainterSurfaceTextureWayland(QPainterBackend *backend, SurfacePixmap *pixmap);
18 |
19 | bool create() override;
20 | void update(const QRegion ®ion) override;
21 |
22 | private:
23 | SurfacePixmap *m_pixmap;
24 | };
25 |
26 | } // namespace KWin
27 |
--------------------------------------------------------------------------------
/src/plugins/overview/kcm/overvieweffectkcm.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | #include "ui_overvieweffectkcm.h"
12 |
13 | namespace KWin
14 | {
15 |
16 | class OverviewEffectConfig : public KCModule
17 | {
18 | Q_OBJECT
19 |
20 | public:
21 | explicit OverviewEffectConfig(QObject *parent, const KPluginMetaData &data);
22 |
23 | public Q_SLOTS:
24 | void save() override;
25 | void defaults() override;
26 |
27 | private:
28 | ::Ui::OverviewEffectConfig ui;
29 | };
30 |
31 | } // namespace KWin
32 |
--------------------------------------------------------------------------------
/src/plugins/tileseditor/kcm/tileseditoreffectkcm.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2022 Marco Martin
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | #include "ui_tileseditoreffectkcm.h"
12 |
13 | namespace KWin
14 | {
15 |
16 | class TilesEditorEffectConfig : public KCModule
17 | {
18 | Q_OBJECT
19 |
20 | public:
21 | explicit TilesEditorEffectConfig(QObject *parent, const KPluginMetaData &data);
22 |
23 | public Q_SLOTS:
24 | void save() override;
25 | void defaults() override;
26 |
27 | private:
28 | ::Ui::TilesEditorEffectConfig ui;
29 | };
30 |
31 | } // namespace KWin
32 |
--------------------------------------------------------------------------------
/src/plugins/zoom/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #######################################
2 | # Effect
3 |
4 | set(zoom_SOURCES
5 | main.cpp
6 | zoom.cpp
7 | zoom.qrc
8 | )
9 |
10 | if (HAVE_ACCESSIBILITY)
11 | set(zoom_SOURCES ${zoom_SOURCES}
12 | accessibilityintegration.cpp
13 | )
14 | endif()
15 |
16 | kconfig_add_kcfg_files(zoom_SOURCES
17 | zoomconfig.kcfgc
18 | )
19 |
20 | kwin_add_builtin_effect(zoom ${zoom_SOURCES})
21 | target_link_libraries(zoom PRIVATE
22 | kwin
23 |
24 | KF6::ConfigGui
25 | KF6::GlobalAccel
26 | KF6::I18n
27 | )
28 |
29 | if (HAVE_ACCESSIBILITY)
30 | target_link_libraries(zoom PRIVATE QAccessibilityClient6)
31 | endif()
32 |
--------------------------------------------------------------------------------
/src/plugins/desktopchangeosd/package/contents/ui/main.qml:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2012 Martin Gräßlin
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | import QtQuick
10 | import org.kde.kwin
11 |
12 | Loader {
13 | id: mainItemLoader
14 |
15 | Connections {
16 | target: Workspace
17 | function onCurrentDesktopChanged(previous) {
18 | if (!mainItemLoader.item) {
19 | mainItemLoader.source = "osd.qml";
20 | }
21 | mainItemLoader.item.show(previous);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/plugins/windowview/kcm/windowvieweffectkcm.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPDX-FileCopyrightText: 2021 Vlad Zahorodnii
3 |
4 | SPDX-License-Identifier: GPL-2.0-or-later
5 | */
6 |
7 | #pragma once
8 |
9 | #include
10 |
11 | #include "ui_windowvieweffectkcm.h"
12 |
13 | namespace KWin
14 | {
15 |
16 | class WindowViewEffectConfig : public KCModule
17 | {
18 | Q_OBJECT
19 |
20 | public:
21 | explicit WindowViewEffectConfig(QObject *parent, const KPluginMetaData &data);
22 |
23 | public Q_SLOTS:
24 | void save() override;
25 | void defaults() override;
26 |
27 | private:
28 | ::Ui::WindowViewEffectConfig ui;
29 | };
30 |
31 | } // namespace KWin
32 |
--------------------------------------------------------------------------------
/src/kscreenintegration.h:
--------------------------------------------------------------------------------
1 | /*
2 | KWin - the KDE window manager
3 | This file is part of the KDE project.
4 |
5 | SPDX-FileCopyrightText: 2023 Xaver Hugl
6 |
7 | SPDX-License-Identifier: GPL-2.0-or-later
8 | */
9 | #pragma once
10 | #include "core/output.h"
11 | #include "core/outputconfiguration.h"
12 |
13 | #include
14 | #include
15 |
16 | namespace KWin
17 | {
18 | namespace KScreenIntegration
19 | {
20 |
21 | QString connectedOutputsHash(const QList