Commit graph

40 commits

Author SHA1 Message Date
Vlad Zahorodnii
93e0265e4e Move source code to src/ directory
Once in a while, we receive complaints from other fellow KDE developers
about the file organization of kwin. This change addresses some of those
complaints by moving all of source code in a separate directory, src/,
thus making the project structure more traditional. Things such as tests
are kept in their own toplevel directories.

This change may wreak havoc on merge requests that add new files to kwin,
but if a patch modifies an already existing file, git should be smart
enough to figure out that the file has been relocated.

We may potentially split the src/ directory further to make navigating
the source code easier, but hopefully this is good enough already.
2021-02-10 15:31:43 +00:00
Vlad Zahorodnii
dcf91d4321 Cleanup style in CMakeLists.txt files
We have lots of inconsistency at the moment in CMakeLists.txt files. Most
of it is due to kwin being a very old project. This change hopefully fixes
all of it.
2019-09-17 16:03:05 +03:00
Vlad Zagorodniy
2211a951e7 [kcmkwin] Split out Desktop Effects KCM
Summary:
A while ago desktop effects and compositing settings lived under the
same roof

{F6584639}

{F6584642}

but time has passed and now those two have their own kcms. This causes
some issues:

* for newcomers it's harder to find code of the Desktop Effects KCM;
* git history doesn't look good, e.g. "[kcmkwin/compositing] Add some
  bugs to Desktop Effects KCM to fix later";
* in general, the mix of two doesn't look good in the code.

This change splits out the Desktop Effects KCM. Unfortunately, in order
to have more nicer code I had to refactor EffectModel a little bit.

Before:

{F6584669}

After:

{F6587570}

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, ltoscano, mart, ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18703
2019-03-18 13:08:32 +02:00
Vlad Zagorodniy
c3fd6413b9 [kcmkwin] Move effects model into a shared library
Summary:
The main motivation for moving it into a shared library is to share the
model between Desktop Effects and Virtual Desktops KCM.

The extracted model is quite the same as the one in Desktop Effects KCM,
except some minor changes, e.g. rename loadEffect and syncConfig to more
convenient names, add comments, some whitespace changes, fix coding
style in some parts, etc.

Test Plan: effectModelTest passes, Desktop Effects KCM works.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: hein, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17765
2019-01-08 15:49:20 +02:00
Martin Gräßlin
b7a8bb4f52 Drop build option KWIN_BUILD_SCREENEDGES
The build option got introduced for Plasma Active back in a time
when we did not properly aim for convergence. In a Plasma 5 world
we want to have only one shell and one window manager which adjust
itself. This means we don't want a differently compiled kwin for
plasma active, but the same one. Thus the build option doesn't
make much sense any more. A KWin for touch interface needs to support
screenedges for the case that mouse is plugged in.

CCBUG: 340960
REVIEW: 121200
2014-11-24 10:48:49 +01:00
Martin Gräßlin
ceecc5be27 [kwincompositing] Integrate the new kcmkwin subdirectory into build tree
* root CMakeLists.txt finds Declarative and Qt5Multimedia (Runtime)
* kwincompositing CMakeLists.txt is cleaned up to not be a project
2014-04-03 07:23:17 +02:00
Martin Gräßlin
4dff7888e3 [kwin] Drop build option to build without scripting
Scripting has proved it's point of being useful so it's time to turn it
into a mandatory part of KWin.

Also I start to use features provided by Scripting in more and more
parts of KWin core (e.g. sharing QQmlEngine) which makes it in the
long to complicated to have a build option and ifdefs for it.

REVIEW: 116587
2014-03-04 08:19:55 +01:00
Martin Gräßlin
5339d28389 [kwin] Drop old kwincompositing KCM
It's going to be replaced by kwin-compositing-kcm, see
https://projects.kde.org/projects/playground/base/kwin-compositing-kcm
2013-12-16 13:27:56 +01:00
Martin Gräßlin
93a94d3f1f Welcome back decoration KCModule!
And with that all kwinkcms are ported modulo kwincompositing which
is going to be replaced.
2013-10-01 14:05:59 +02:00
Martin Gräßlin
ea0233df3b Welcome back KCM to configure Alt+Tab and friends 2013-10-01 07:17:27 +02:00
Martin Gräßlin
4ddaea4824 Welcome back KWin Scripts KCM!
Currently not of much use as installing a local script is disabled and
GHNS dialog seems broken.
2013-09-30 11:19:36 +02:00
Martin Gräßlin
098b8ef75d Welcome back kwinrules KCM! 2013-09-30 09:57:25 +02:00
Martin Gräßlin
a957eedc61 Welcome back kwinoption config modules
* Actions
* Advanced
* Focus
* Moving
* Window Behavior
2013-09-30 07:32:53 +02:00
Martin Gräßlin
62a0a08a0e Welcome back KWin screen edges KCM
Screenedges KCM is adjusted to build against Qt5. Most notable
changes:
* no longer links kworkspace as ScreenPreviewWidget got moved into
  the KCM
* ui file is adjusted to not crash (see git log of kcmdesktop)
2013-09-29 10:27:48 +02:00
Martin Gräßlin
5d185a9adc Welcome back to kcmkwin - so far only desktop
Note to people compiling from source: it's only the default of the
cmake variable which got changed. You have to delete the variable
from the cache to get this change.
2013-09-27 13:45:25 +02:00
Martin Gräßlin
0c86d31ff2 Remove kde4_no_enable_final from CMakeLists.txt
Tried to build KWin with enable final: it doesn't work. So if nobody uses
it, we don't need it in the CMakeLists to make it work.

Also it's removed in KF5 which means that removing it right now removes
differences in the build system.

REVIEW: 109357
2013-03-14 12:32:06 +01:00
Martin Gräßlin
5ea22e362d CMake Cleanup: empty endif 2013-03-06 10:14:15 +01:00
Martin Gräßlin
572cd64af5 Import of a KCM for KWin scripts
This KCM has been implemented by Tamas Krutk in the scope of
Google Code-In.

It is a simple KCM just listing all available scripts and allowing
to import/export them.

This will be further extended alongside the planned scripting changes
in 4.9.
2011-12-21 07:28:51 +01:00
Martin Gräßlin
039c025bfb Add a build option for screen edge support 2011-07-07 18:29:11 +02:00
Arthur Arlt
903bcb42fb Provide build option for TabBox functionality
Since the TabBox functionality is not feasible for any platform KWin is
used on (e.g. tablet PCs), a build option is added to decide, if the
TabBox functionality should be build or not.

REVIEW: 101511

@Sebastian: Martin wanted me to let you know that it is now possible
to disable building Tabbox
CCMAIL: sebas@kde.org
2011-07-05 11:00:23 +02:00
Martin Gräßlin
5f9b75b0c0 All KCMs build again 2011-01-30 14:12:01 +01:00
Martin Gräßlin
6da912ba9e Remove kcms depending on GLPlatform 2011-01-30 14:11:58 +01:00
Bernhard Beschow
d6c7489792 fix compilation when KDE4_ENABLE_FINAL=ON
svn path=/trunk/KDE/kdebase/workspace/; revision=1085235
2010-02-04 17:48:24 +00:00
Martin Gräßlin
76f17e6de1 Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights:
* Models and Delegates for Clients and Desktops
 * Horizontal, vertical and tabular layout
 * Layout of one item can be configured by an XML definition
 * A desktop item can include a client list
 * An optional second list view showing only the selected item
 * A new KCM "kwintabbox"
 * An alternative TabBox with independent settings and keybindings
 * Optional Highlight Windows effect integration
 * List scrolls instead of removing items
 * Scroll wheel support
 * Cursor key support
 * Middle click on item closes window
BUG: 195745
BUG: 197187
BUG: 201103
FEATURE: 118184
FEATURE: 156723
FEATURE: 177441
FEATURE: 182897
FEATURE: 193882
GUI:

svn path=/trunk/KDE/kdebase/workspace/; revision=1022861
2009-09-13 11:36:45 +00:00
Lucas Murray
ac9c37c64d Merged "active screen edges" and "active desktop borders" into a single
GUI panel. This panel is currently located in System Settings -> Desktop
-> Screen Edges.
BUG: 174709

svn path=/trunk/KDE/kdebase/workspace/; revision=932929
2009-02-27 15:40:53 +00:00
Laurent Montel
24eea94d0a Move desktop kcm module to kwin as requested by David
svn path=/trunk/KDE/kdebase/workspace/; revision=732648
2007-11-04 12:35:51 +00:00
Rivo Laks
89b9872eef Remove kwineffects config module as it's functionality is now offered by kwincompositing module
svn path=/trunk/KDE/kdebase/workspace/; revision=714019
2007-09-18 14:44:03 +00:00
Rivo Laks
824f005f58 Add beginnings of kwincompositing config module, meant to replace kwintranslucency one
svn path=/trunk/KDE/kdebase/workspace/; revision=689947
2007-07-19 16:20:05 +00:00
Rivo Laks
63b58f6147 Add KControl config module for effects.
ATM you can toggle them on/off, but KWin part isn't done yet, so KWin doesn't care about your changes yet.
You can try it with 'kcmshell kwineffects'

svn path=/trunk/KDE/kdebase/workspace/; revision=668251
2007-05-25 17:11:00 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Laurent Montel
1adecf7737 Fix install icons
Fix install lib under x86_64
Fix install include (remove deprecated cmake macro)
Cleanup

svn path=/branches/work/kwin_composite/; revision=655792
2007-04-19 11:52:53 +00:00
Laurent Montel
4f5267e8f8 Clean up
Use cmake macro
Remove not necessary files

svn path=/trunk/KDE/kdebase/workspace/; revision=578784
2006-08-30 08:33:11 +00:00
Alexander Neundorf
a9fc0d54c7 kde4_header and kde4_footer() are gone now
svn path=/trunk/KDE/kdebase/workspace/; revision=540215

The following changes were in SVN, but were removed from git:

M	wallpapers/CMakeLists.txt
2006-05-12 18:12:37 +00:00
Alexander Neundorf
e4e2266d9c -add FONTCONFIG_INCLUDE_DIR where required
-cleanup the toplevel CMakeLists.txt a bit
-remove include_directories( CMAKE_CURRENT_SOURCE_DIR CMAKE_CURRENT_BINARY_DIR)
in the subdirs, since this is done now automatically by cmake (the CMAKE_INCLUDE_CURRENT_DIR option
-include_directories(KDE4_INCLUDES) in the toplevel CMakeLists.txt, so it
doesn't have to be done in every subdir

Alex


svn path=/trunk/KDE/kdebase/workspace/; revision=539914

The following changes were in SVN, but were removed from git:

M	wallpapers/CMakeLists.txt
2006-05-12 00:08:30 +00:00
Alexander Neundorf
d3fe666661 -use KDE4_INCLUDES instead of KDE4_INCLUDE_DIR and QT_INCLUDES
Alex

svn path=/trunk/KDE/kdebase/workspace/; revision=522728

The following changes were in SVN, but were removed from git:

M	wallpapers/CMakeLists.txt
2006-03-26 14:52:52 +00:00
David Faure
090f6dcbfa Use set(CMAKE_INCLUDE_CURRENT_DIR ON) in the toplevel CMakeLists.txt, and we don't need to include
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} in each and every file anymore [only when subdirs might depend on that].

Also ran a script which makes sure that ${KDE4_INCLUDE_DIR} and ${QT_INCLUDES} are added -last-,
so that installed headers are not preferred over (possibly more uptodate) local headers.

svn path=/trunk/KDE/kdebase/workspace/; revision=521887

The following changes were in SVN, but were removed from git:

M	wallpapers/CMakeLists.txt
2006-03-23 19:24:10 +00:00
Laurent Montel
5d3cc2b311 Now it compiles fine
svn path=/trunk/KDE/kdebase/workspace/; revision=519931
2006-03-18 11:25:38 +00:00
Laurent Montel
f576c71ef9 Disable just kwinrules
svn path=/trunk/KDE/kdebase/workspace/; revision=517959
2006-03-12 17:51:57 +00:00
Laurent Montel
03725a7d66 Add module to compile kdebase with kdelibs-cmake.
BE CARREFULL: Don't try to compile it for the moment (in progress)
Don't use kdelibs trunk for compile it (there is not again test to disable
compile when we compile with kdelibs trunk)
For the moment there was a lot of missing test etc.
I commit it just to allow to lose my changes if there is a pb on my HD.
I will sync cmake from kdelibs trunk to kdelibs-snapshot.
I hope to fix compile today or tomorrow.
CCMAIL: neundorf@kde.org

For the futur we must sync kdelibs/cmake/* to kdelibs-snapshot 
to compile all the time with kdelibs-snapshot

svn path=/trunk/KDE/kdebase/workspace/; revision=514380

The following changes were in SVN, but were removed from git:

A	wallpapers/CMakeLists.txt
2006-02-28 08:01:15 +00:00