Commit graph

53 commits

Author SHA1 Message Date
Martin Gräßlin
9ab751042a Drop X11_XCB library dependency
We don't need it anymore - the xcb connection is also provided by
QX11Info.
2013-07-24 09:58:43 +02:00
Martin Gräßlin
dfec59c60e Port getStringProperty to XCB 2013-05-13 08:48:19 +02:00
Martin Gräßlin
5cd223f051 Improved resolving whether a window is on local machine
Most windows use the hostname in WM_CLIENT_MACHINE, but there are windows
using the FQDN (for example libreoffice). So instead of "foo" it is
"foo.local.net" or similar. The logic so far has been unable to properly
determine whether windows with FQDN are on the local system.

In order to solve this problem the handling is split out into an own
class which stores the information of hostname and whether it is a local
machine. This is to not query multiple times. To determine whether the
Client is on the local system getaddrinfo is used for the own hostname
and the FQDN provided in WM_CLIENT_MACHINE. If one of the queried
names matches, we know that it is on the local machine. The old logic to
compare the hostname is still used and getaddrinfo is only a fallback in
case hostname does not match.

The problem with getaddrinfo is, that it accesses the network and by that
could block. To circumvent this problem the calls are moved into threads
by using QtConcurrent::run.

Obviously this brings disadvantages. When trying to resolve whether a
Client is on the local machine and a FQDN is used, the information is
initially wrong. The new ClientMachine class emits a signal when the
information that the system is local becomes available, but for some
things this is just too late:
* window rules are already gathered
* Session Management has already taken place

In both cases this is an acceptable loss. For window rules it just needs
a proper matching of the machine in case of localhost (remote hosts are
not affected). And the case of session management is very academic as it
is unlikely that a restoring session contains remote windows.

BUG: 308391
FIXED-IN: 4.11
REVIEW: 108235
2013-01-21 16:00:49 +01:00
Ivan Čukić
0d60a7049d Adds activity window rules to KWin
- adds the kcm rule option to set the activity - one or all option like
  for virtual desktops
- makes the windows obey the rule
- makes the rule enforced even when the user tries to change the
  window's activity via the alt+f3 menu

REVIEW:104972
2012-05-17 16:32:06 +02:00
Thomas Lübking
d233891da7 make kwinrules kcm more user friendly 2011-05-08 21:30:15 +02:00
Luboš Luňák
1a02507f50 more helper apps to libexec
svn path=/trunk/KDE/kdebase/workspace/; revision=1122313
2010-05-03 15:02:26 +00:00
Dirk Mueller
d46ff1342f fix link lines
svn path=/trunk/KDE/kdebase/workspace/; revision=829218
2008-07-07 20:56:56 +00:00
Laurent Montel
778c869e40 Commit patch from Alex
(He didn't have time to make it yesterday and will able to commit it next thursday)
This patch clean up some :
target_link_libraries(kfoo kdeinit_kfoo) which is already done in kde4_add_kdeinit_executable()
macro 	and use "INSTALL_TARGETS_DEFAULT_ARGS" in other place.
I tested all compile file, all works fine but if there is a pb send me a mail.

CCMAIL: neundorf@kde.org 

svn path=/trunk/KDE/kdebase/workspace/; revision=795711
2008-04-11 06:52:03 +00:00
Christian Ehrlicher
d91c540b61 LIB_INSTALL_DIR -> INSTALL_TARGETS_DEFAULT_ARGS
svn path=/trunk/KDE/kdebase/workspace/; revision=792590
2008-04-01 16:42:27 +00:00
David Johnson
dbb57de9d5 convert rules dialog to qt4 format; remove qt3support dependency
svn path=/trunk/KDE/kdebase/workspace/; revision=770234
2008-02-03 04:37:34 +00:00
Urs Wolfer
6e87d16cec * enable deprecated warnings
* less Q3 support

svn path=/trunk/KDE/kdebase/workspace/; revision=763174
2008-01-18 20:14:40 +00:00
Luboš Luňák
d6b7ef180d No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb
by not loading the support libraries and the complete kdelibs stack it depends
on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel
can be a pretty bad combination :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=741856
2007-11-26 15:42:44 +00:00
Luboš Luňák
26149b29fb Porting uic3->uic4 is fun.
svn path=/trunk/KDE/kdebase/workspace/; revision=731738
2007-11-01 18:51:01 +00:00
Laurent Montel
08987fd938 KDE4_KDE3SUPPORT_LIBS not necessary
svn path=/trunk/KDE/kdebase/workspace/; revision=723503
2007-10-09 20:41:01 +00:00
Allen Winter
5c93175949 remove kde4_automoc()
svn path=/trunk/KDE/kdebase/workspace/; revision=685984
2007-07-10 09:14:12 +00:00
Laurent Montel
2c4161bbaa Remove not necessary cmake variable
svn path=/trunk/KDE/kdebase/workspace/; revision=683772
2007-07-05 09:27:29 +00:00
Dirk Mueller
1e3214ed73 include cleanup to separate workspace
svn path=/trunk/KDE/kdebase/workspace/; revision=678951
2007-06-22 16:32:06 +00:00
Luboš Luňák
047ad1b80a Merging from old trunk:
r619161 | mlaurent | 2007-01-02 22:48:19 +0100 (Tue, 02 Jan 2007) | 2 lines

Use signal to refresh config into all kwin instance


svn path=/trunk/KDE/kdebase/workspace/; revision=659520
2007-04-30 11:32:47 +00:00
Luboš Luňák
ff291be58f Merging from old trunk:
r615451 | mlaurent | 2006-12-21 16:34:31 +0100 (Thu, 21 Dec 2006) | 2 lines

Use dbus interface


svn path=/trunk/KDE/kdebase/workspace/; revision=659495
2007-04-30 10:01:00 +00:00
Luboš Luňák
b2eabf7b36 Merging from old trunk:
r602118 | neundorf | 2006-11-05 13:24:44 +0100 (Sun, 05 Nov 2006) | 5 lines

-remove kde4_install_libtool_file(), not necessary anymore since we switched away from libltdl

Alex


svn path=/trunk/KDE/kdebase/workspace/; revision=659301
2007-04-29 22:32:46 +00:00
Luboš Luňák
9faad7bc5e Merging from old trunk:
r601561 | mlaurent | 2006-11-03 17:35:38 +0100 (Fri, 03 Nov 2006) | 2 lines

Port to uic4


svn path=/trunk/KDE/kdebase/workspace/; revision=659298
2007-04-29 22:30:07 +00:00
Luboš Luňák
2c539daa5d Merging from old trunk:
r598290 | mlaurent | 2006-10-23 08:53:27 +0200 (Mon, 23 Oct 2006) | 5 lines

Apply Alex patch (now we can use enable-final argument
some module compiles with enable-final now)
As discussed with Alex it's not necessary to have program name
into automoc macro


svn path=/trunk/KDE/kdebase/workspace/; revision=659295
2007-04-29 22:04:13 +00:00
Luboš Luňák
d8439e8543 Merging from old trunk:
r564549 | mlaurent | 2006-07-20 15:08:26 +0200 (Thu, 20 Jul 2006) | 2 lines

Replace all bin by ${BIN_INSTALL_DIR}


svn path=/trunk/KDE/kdebase/workspace/; revision=659256
2007-04-29 20:46:45 +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
Robert Knight
a23a2fafa5 Use relative path to reference KWin build directory. Fixes compilation when 'kwin_composite' branch is checked out into local 'kdebase/workspace' folder with a name other than 'kwin'
svn path=/branches/work/kwin_composite/; revision=656442
2007-04-21 12:26:18 +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
53fcddb43f link
svn path=/trunk/KDE/kdebase/workspace/; revision=649768
2007-04-03 07:01:23 +00:00
Luboš Luňák
edc6f0e75b Include path for config-kwin.h .
svn path=/branches/work/kwin_composite/; revision=636647
2007-02-23 18:04:23 +00:00
Dirk Mueller
6883415ff4 KListBox->K3ListBox
svn path=/branches/work/kwin_composite/; revision=633055
2007-02-13 00:27:24 +00:00
Philip Falkner
eff415afbd Merge from trunk
r560630:
 ported to new snapshot
r564554:
 - make the KCMs services
 - use KGenericFactory (the construction code could be cleaned up some more)
r564565:
 - KGenericFactory
 - make 'em services

svn path=/branches/work/kwin_composite/; revision=628704
2007-01-30 23:51:42 +00:00
Laurent Montel
9350d02134 Use signal to refresh config into all kwin instance
svn path=/trunk/KDE/kdebase/workspace/; revision=619161
2007-01-02 21:48:19 +00:00
Laurent Montel
074f3342e0 Use dbus interface
svn path=/trunk/KDE/kdebase/workspace/; revision=615451
2006-12-21 15:34:31 +00:00
Alexander Neundorf
cd5d04d060 -remove kde4_install_libtool_file(), not necessary anymore since we switched away from libltdl
Alex


svn path=/trunk/KDE/kdebase/workspace/; revision=602118
2006-11-05 12:24:44 +00:00
Laurent Montel
cb0aca57ad Port to uic4
svn path=/trunk/KDE/kdebase/workspace/; revision=601561
2006-11-03 16:35:38 +00:00
Laurent Montel
b1ce3b0b9e Apply Alex patch (now we can use enable-final argument
some module compiles with enable-final now)
As discussed with Alex it's not necessary to have program name
into automoc macro

svn path=/trunk/KDE/kdebase/workspace/; revision=598290
2006-10-23 06:53:27 +00:00
Luboš Luňák
c16d2e1dff svn merge r595039 from trunk
svn path=/branches/work/kwin_composite/; revision=597698
2006-10-21 12:01:53 +00:00
Laurent Montel
01f2a3a9f2 Necessary to change KDE4_AUTOMOC macro to support
enable-final argument

(there was not a dependancy between <name>_final.cpp file and
moc generated files => moc files were never created)

Not necessary to rebuild all kdelibs just cp kdelibs/cmake/modules/KDE4Macros.cmake <path_kde4>/share/apps/cmake/modules

I ported and tested all kde module (without enable-final argument, it compiles fines (test and program))
Don't try to use enable-final argument for the moment it doesn't compile (but dependancy works)

Regards

svn path=/trunk/KDE/kdebase/workspace/; revision=595039
2006-10-13 07:55:37 +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
Matthias Kretz
581feff4ec - KGenericFactory
- make 'em services

svn path=/trunk/KDE/kdebase/workspace/; revision=564565
2006-07-20 13:26:37 +00:00
Laurent Montel
e2696da8c0 Replace all bin by ${BIN_INSTALL_DIR}
svn path=/trunk/KDE/kdebase/workspace/; revision=564549
2006-07-20 13:08:26 +00:00
Dirk Mueller
e12b8f755a merge bleeding edge. bleeding edge is now again dead
svn path=/trunk/KDE/kdebase/workspace/; revision=558082

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

M	wallpapers/CMakeLists.txt
2006-07-04 17:09:53 +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
André Wöbbeking
0d93c941a9 install executables with the install command instead of install_files/targets.
when you install scripts with install(PROGRAMS ...) they're installed executable.

svn path=/trunk/KDE/kdebase/workspace/; revision=538074
2006-05-06 17:53:08 +00:00
Frank Osterfeld
86d79b7414 replace LIB_INSTALL_DIR/kde4 with PLUGIN_INSTALL_DIR
svn path=/trunk/KDE/kdebase/workspace/; revision=531059
2006-04-18 14:21:54 +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
cdc63aabbe Now all kdebase compile with cmake
svn path=/trunk/KDE/kdebase/workspace/; revision=521468
2006-03-22 16:57:17 +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