• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KDEUI

  • kdeui
  • windowmanagement
kwindowinfo_x11.cpp
Go to the documentation of this file.
1/*
2 This file is part of the KDE libraries
3 Copyright (C) 1999 Matthias Ettrich (ettrich@kde.org)
4 Copyright (C) 2007 Lubos Lunak (l.lunak@kde.org)
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20*/
21
22#include "kwindowinfo.h"
23#include "kwindowsystem.h"
24
25#include <kiconloader.h>
26#include <klocale.h>
27#include <kdebug.h>
28#include <kxerrorhandler.h>
29#include <netwm.h>
30#include <QtGui/QBitmap>
31#include <QDesktopWidget>
32#include <QtGui/QDialog>
33#include <QtDBus/QtDBus>
34#include <QtGui/QX11Info>
35#include <X11/Xatom.h>
36
37struct KWindowInfo::Private
38{
39 Private()
40 : info( NULL )
41 {}
42 ~Private() { delete info; }
43 NETWinInfo* info;
44 WId win_;
45 QString name_;
46 QString iconic_name_;
47 QRect geometry_;
48 QRect frame_geometry_;
49 int ref;
50 bool valid;
51 private:
52 Private( const Private& );
53 void operator=( const Private& );
54};
55
56// KWindowSystem::info() should be updated too if something has to be changed here
57KWindowInfo::KWindowInfo( WId _win, unsigned long properties, unsigned long properties2 ) : d(new Private)
58{
59 KXErrorHandler handler;
60 d->ref = 1;
61 if( properties & NET::WMVisibleIconName )
62 properties |= NET::WMIconName | NET::WMVisibleName; // force, in case it will be used as a fallback
63 if( properties & NET::WMVisibleName )
64 properties |= NET::WMName; // force, in case it will be used as a fallback
65 if( properties2 & NET::WM2ExtendedStrut )
66 properties |= NET::WMStrut; // will be used as fallback
67 if( properties & NET::WMWindowType )
68 properties2 |= NET::WM2TransientFor; // will be used when type is not set
69 if( ( properties & NET::WMDesktop ) && KWindowSystem::mapViewport() )
70 properties |= NET::WMGeometry; // for viewports, the desktop (workspace) is determined from the geometry
71 properties |= NET::XAWMState; // force to get error detection for valid()
72 unsigned long props[ 2 ] = { properties, properties2 };
73 d->info = new NETWinInfo( QX11Info::display(), _win, QX11Info::appRootWindow(), props, 2 );
74 d->win_ = _win;
75 if( properties & NET::WMName ) {
76 if( d->info->name() && d->info->name()[ 0 ] != '\0' )
77 d->name_ = QString::fromUtf8( d->info->name() );
78 else
79 d->name_ = KWindowSystem::readNameProperty( _win, XA_WM_NAME );
80 }
81 if( properties & NET::WMIconName ) {
82 if( d->info->iconName() && d->info->iconName()[ 0 ] != '\0' )
83 d->iconic_name_ = QString::fromUtf8( d->info->iconName());
84 else
85 d->iconic_name_ = KWindowSystem::readNameProperty( _win, XA_WM_ICON_NAME );
86 }
87 if( properties & ( NET::WMGeometry | NET::WMFrameExtents )) {
88 NETRect frame, geom;
89 d->info->kdeGeometry( frame, geom );
90 d->geometry_.setRect( geom.pos.x, geom.pos.y, geom.size.width, geom.size.height );
91 d->frame_geometry_.setRect( frame.pos.x, frame.pos.y, frame.size.width, frame.size.height );
92 }
93 d->valid = !handler.error( false ); // no sync - NETWinInfo did roundtrips
94}
95
96// this one is only to make QList<> or similar happy
97KWindowInfo::KWindowInfo()
98 : d( NULL )
99{
100}
101
102KWindowInfo::~KWindowInfo()
103{
104 if( d != NULL ) {
105 if( --d->ref == 0 ) {
106 delete d;
107 }
108 }
109}
110
111KWindowInfo::KWindowInfo( const KWindowInfo& wininfo )
112 : d( wininfo.d )
113{
114 if( d != NULL )
115 ++d->ref;
116}
117
118KWindowInfo& KWindowInfo::operator=( const KWindowInfo& wininfo )
119{
120 if( d != wininfo.d ) {
121 if( d != NULL )
122 if( --d->ref == 0 )
123 delete d;
124 d = wininfo.d;
125 if( d != NULL )
126 ++d->ref;
127 }
128 return *this;
129}
130
131bool KWindowInfo::valid( bool withdrawn_is_valid ) const
132{
133 if( !d->valid )
134 return false;
135 if( !withdrawn_is_valid && mappingState() == NET::Withdrawn )
136 return false;
137 return true;
138}
139
140WId KWindowInfo::win() const
141{
142 return d->win_;
143}
144
145unsigned long KWindowInfo::state() const
146{
147#if !defined(KDE_NO_WARNING_OUTPUT)
148 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMState))
149 kWarning(176) << "Pass NET::WMState to KWindowInfo";
150#endif
151 return d->info->state();
152}
153
154bool KWindowInfo::hasState( unsigned long s ) const
155{
156 return ( state() & s ) == s;
157}
158
159NET::MappingState KWindowInfo::mappingState() const
160{
161#if !defined(KDE_NO_WARNING_OUTPUT)
162 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::XAWMState))
163 kWarning(176) << "Pass NET::XAWMState to KWindowInfo";
164#endif
165 return d->info->mappingState();
166}
167
168NETExtendedStrut KWindowInfo::extendedStrut() const
169{
170#if !defined(KDE_NO_WARNING_OUTPUT)
171 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2ExtendedStrut))
172 kWarning(176) << "Pass NET::WM2ExtendedStrut to KWindowInfo";
173#endif
174 NETExtendedStrut ext = d->info->extendedStrut();
175 NETStrut str = d->info->strut();
176 if( ext.left_width == 0 && ext.right_width == 0 && ext.top_width == 0 && ext.bottom_width == 0
177 && ( str.left != 0 || str.right != 0 || str.top != 0 || str.bottom != 0 )) {
178 // build extended from simple
179 if( str.left != 0 ) {
180 ext.left_width = str.left;
181 ext.left_start = 0;
182 ext.left_end = XDisplayHeight( QX11Info::display(), DefaultScreen( QX11Info::display()));
183 }
184 if( str.right != 0 ) {
185 ext.right_width = str.right;
186 ext.right_start = 0;
187 ext.right_end = XDisplayHeight( QX11Info::display(), DefaultScreen( QX11Info::display()));
188 }
189 if( str.top != 0 ) {
190 ext.top_width = str.top;
191 ext.top_start = 0;
192 ext.top_end = XDisplayWidth( QX11Info::display(), DefaultScreen( QX11Info::display()));
193 }
194 if( str.bottom != 0 ) {
195 ext.bottom_width = str.bottom;
196 ext.bottom_start = 0;
197 ext.bottom_end = XDisplayWidth( QX11Info::display(), DefaultScreen( QX11Info::display()));
198 }
199 }
200 return ext;
201}
202
203NET::WindowType KWindowInfo::windowType( int supported_types ) const
204{
205#if !defined(KDE_NO_WARNING_OUTPUT)
206 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMWindowType))
207 kWarning(176) << "Pass NET::WMWindowType to KWindowInfo";
208#endif
209 if( !d->info->hasWindowType()) { // fallback, per spec recommendation
210 if( transientFor() != None ) { // dialog
211 if( supported_types & NET::DialogMask )
212 return NET::Dialog;
213 } else {
214 if( supported_types & NET::NormalMask )
215 return NET::Normal;
216 }
217 }
218 return d->info->windowType( supported_types );
219}
220
221QString KWindowInfo::visibleNameWithState() const
222{
223 QString s = visibleName();
224 if ( isMinimized() ) {
225 s.prepend(QLatin1Char('('));
226 s.append(QLatin1Char(')'));
227 }
228 return s;
229}
230
231QString KWindowInfo::visibleName() const
232{
233#if !defined(KDE_NO_WARNING_OUTPUT)
234 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMVisibleName))
235 kWarning(176) << "Pass NET::WMVisibleName to KWindowInfo";
236#endif
237 return d->info->visibleName() && d->info->visibleName()[ 0 ] != '\0'
238 ? QString::fromUtf8(d->info->visibleName()) : name();
239}
240
241QString KWindowInfo::name() const
242{
243#if !defined(KDE_NO_WARNING_OUTPUT)
244 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMName))
245 kWarning(176) << "Pass NET::WMName to KWindowInfo";
246#endif
247 return d->name_;
248}
249
250QString KWindowInfo::visibleIconNameWithState() const
251{
252 QString s = visibleIconName();
253 if ( isMinimized() ) {
254 s.prepend(QLatin1Char('('));
255 s.append(QLatin1Char(')'));
256 }
257 return s;
258}
259
260QString KWindowInfo::visibleIconName() const
261{
262#if !defined(KDE_NO_WARNING_OUTPUT)
263 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMVisibleIconName))
264 kWarning(176) << "Pass NET::WMVisibleIconName to KWindowInfo";
265#endif
266 if( d->info->visibleIconName() && d->info->visibleIconName()[ 0 ] != '\0' )
267 return QString::fromUtf8( d->info->visibleIconName());
268 if( d->info->iconName() && d->info->iconName()[ 0 ] != '\0' )
269 return QString::fromUtf8( d->info->iconName());
270 if( !d->iconic_name_.isEmpty())
271 return d->iconic_name_;
272 return visibleName();
273}
274
275QString KWindowInfo::iconName() const
276{
277#if !defined(KDE_NO_WARNING_OUTPUT)
278 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMIconName))
279 kWarning(176) << "Pass NET::WMIconName to KWindowInfo";
280#endif
281 if( d->info->iconName() && d->info->iconName()[ 0 ] != '\0' )
282 return QString::fromUtf8( d->info->iconName());
283 if( !d->iconic_name_.isEmpty())
284 return d->iconic_name_;
285 return name();
286}
287
288bool KWindowInfo::isOnCurrentDesktop() const
289{
290 return isOnDesktop( KWindowSystem::currentDesktop());
291}
292
293bool KWindowInfo::isOnDesktop( int _desktop ) const
294{
295#if !defined(KDE_NO_WARNING_OUTPUT)
296 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMDesktop))
297 kWarning(176) << "Pass NET::WMDesktop to KWindowInfo";
298#endif
299 if( KWindowSystem::mapViewport()) {
300 if( onAllDesktops())
301 return true;
302 return KWindowSystem::viewportWindowToDesktop( d->geometry_ ) == _desktop;
303 }
304 return d->info->desktop() == _desktop || d->info->desktop() == NET::OnAllDesktops;
305}
306
307bool KWindowInfo::onAllDesktops() const
308{
309#if !defined(KDE_NO_WARNING_OUTPUT)
310 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMDesktop))
311 kWarning(176) << "Pass NET::WMDesktop to KWindowInfo";
312#endif
313 if( KWindowSystem::mapViewport()) {
314 if( d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMState )
315 return d->info->state() & NET::Sticky;
316 NETWinInfo info( QX11Info::display(), d->win_, QX11Info::appRootWindow(), NET::WMState );
317 return info.state() & NET::Sticky;
318 }
319 return d->info->desktop() == NET::OnAllDesktops;
320}
321
322int KWindowInfo::desktop() const
323{
324#if !defined(KDE_NO_WARNING_OUTPUT)
325 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMDesktop))
326 kWarning(176) << "Pass NET::WMDesktop to KWindowInfo";
327#endif
328 if( KWindowSystem::mapViewport()) {
329 if( onAllDesktops())
330 return NET::OnAllDesktops;
331 return KWindowSystem::viewportWindowToDesktop( d->geometry_ );
332 }
333 return d->info->desktop();
334}
335
336QRect KWindowInfo::geometry() const
337{
338#if !defined(KDE_NO_WARNING_OUTPUT)
339 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMGeometry))
340 kWarning(176) << "Pass NET::WMGeometry to KWindowInfo";
341#endif
342 return d->geometry_;
343}
344
345QRect KWindowInfo::frameGeometry() const
346{
347#if !defined(KDE_NO_WARNING_OUTPUT)
348 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS ] & NET::WMFrameExtents))
349 kWarning(176) << "Pass NET::WMFrameExtents to KWindowInfo";
350#endif
351 return d->frame_geometry_;
352}
353
354WId KWindowInfo::transientFor() const
355{
356#if !defined(KDE_NO_WARNING_OUTPUT)
357 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2TransientFor))
358 kWarning(176) << "Pass NET::WM2TransientFor to KWindowInfo";
359#endif
360 return d->info->transientFor();
361}
362
363WId KWindowInfo::groupLeader() const
364{
365#if !defined(KDE_NO_WARNING_OUTPUT)
366 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2GroupLeader))
367 kWarning(176) << "Pass NET::WM2GroupLeader to KWindowInfo";
368#endif
369 return d->info->groupLeader();
370}
371
372QByteArray KWindowInfo::windowClassClass() const
373{
374#if !defined(KDE_NO_WARNING_OUTPUT)
375 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2WindowClass))
376 kWarning(176) << "Pass NET::WM2WindowClass to KWindowInfo";
377#endif
378 return d->info->windowClassClass();
379}
380
381QByteArray KWindowInfo::windowClassName() const
382{
383#if !defined(KDE_NO_WARNING_OUTPUT)
384 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2WindowClass))
385 kWarning(176) << "Pass NET::WM2WindowClass to KWindowInfo";
386#endif
387 return d->info->windowClassName();
388}
389
390QByteArray KWindowInfo::windowRole() const
391{
392#if !defined(KDE_NO_WARNING_OUTPUT)
393 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2WindowRole))
394 kWarning(176) << "Pass NET::WM2WindowRole to KWindowInfo";
395#endif
396 return d->info->windowRole();
397}
398
399QByteArray KWindowInfo::clientMachine() const
400{
401#if !defined(KDE_NO_WARNING_OUTPUT)
402 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2ClientMachine))
403 kWarning(176) << "Pass NET::WM2ClientMachine to KWindowInfo";
404#endif
405 return d->info->clientMachine();
406}
407
408bool KWindowInfo::actionSupported( NET::Action action ) const
409{
410#if !defined(KDE_NO_WARNING_OUTPUT)
411 if (!(d->info->passedProperties()[ NETWinInfo::PROTOCOLS2 ] & NET::WM2AllowedActions))
412 kWarning(176) << "Pass NET::WM2AllowedActions to KWindowInfo";
413#endif
414 if( KWindowSystem::allowedActionsSupported())
415 return d->info->allowedActions() & action;
416 else
417 return true; // no idea if it's supported or not -> pretend it is
418}
419
420// see NETWM spec section 7.6
421bool KWindowInfo::isMinimized() const
422{
423 if( mappingState() != NET::Iconic )
424 return false;
425 // NETWM 1.2 compliant WM - uses NET::Hidden for minimized windows
426 if(( state() & NET::Hidden ) != 0
427 && ( state() & NET::Shaded ) == 0 ) // shaded may have NET::Hidden too
428 return true;
429 // older WMs use WithdrawnState for other virtual desktops
430 // and IconicState only for minimized
431 return KWindowSystem::icccmCompliantMappingState() ? false : true;
432}
433
KWindowInfo
Information about a window.
Definition: kwindowinfo.h:36
KWindowInfo::KWindowInfo
KWindowInfo()
Definition: kwindowinfo_mac.cpp:131
KWindowInfo::iconName
QString iconName() const
Returns the name of the window that should be shown in taskbar and all other "iconic" representations...
Definition: kwindowinfo_mac.cpp:253
KWindowInfo::extendedStrut
NETExtendedStrut extendedStrut() const
Returns the window extended (partial) strut.
Definition: kwindowinfo_mac.cpp:204
KWindowInfo::windowType
NET::WindowType windowType(int supported_types) const
Returns the window type of this window (see NET::WindowType).
Definition: kwindowinfo_mac.cpp:210
KWindowInfo::state
unsigned long state() const
Returns the window's state flags (see the NET::State enum for details).
Definition: kwindowinfo_mac.cpp:175
KWindowInfo::isMinimized
bool isMinimized() const
Returns true if the window is minimized.
Definition: kwindowinfo_mac.cpp:185
KWindowInfo::visibleName
QString visibleName() const
Returns the visible name of the window (i.e.
Definition: kwindowinfo_mac.cpp:225
KWindowInfo::valid
bool valid(bool withdrawn_is_valid=false) const
Returns false if this window info is not valid (most probably the given window doesn't exist).
Definition: kwindowinfo_mac.cpp:165
KWindowInfo::actionSupported
bool actionSupported(NET::Action action) const
Returns true if the given action is currently supported for the window by the window manager.
Definition: kwindowinfo_mac.cpp:288
KWindowInfo::~KWindowInfo
~KWindowInfo()
Definition: kwindowinfo_mac.cpp:136
KWindowInfo::windowClassName
QByteArray windowClassName() const
Returns the name component of the window class for the window (i.e.
Definition: kwindowinfo_win.cpp:293
KWindowInfo::windowRole
QByteArray windowRole() const
Returns the window role for the window (i.e.
Definition: kwindowinfo_x11.cpp:390
KWindowInfo::visibleIconNameWithState
QString visibleIconNameWithState() const
Returns a visible name with state.
Definition: kwindowinfo_mac.cpp:238
KWindowInfo::hasState
bool hasState(unsigned long s) const
Returns true if the window has the given state flag set (see the NET::State enum for details).
Definition: kwindowinfo_mac.cpp:180
KWindowInfo::isOnCurrentDesktop
bool isOnCurrentDesktop() const
Returns true if the window is on the currently active virtual desktop.
Definition: kwindowinfo_mac.cpp:258
KWindowInfo::visibleNameWithState
QString visibleNameWithState() const
Returns a visible name with state.
Definition: kwindowinfo_mac.cpp:215
KWindowInfo::isOnDesktop
bool isOnDesktop(int desktop) const
Returns true if the window is on the given virtual desktop.
Definition: kwindowinfo_mac.cpp:263
KWindowInfo::win
WId win() const
Returns the window identifier.
Definition: kwindowinfo_mac.cpp:170
KWindowInfo::transientFor
WId transientFor() const
Returns the WM_TRANSIENT_FOR property for the window, i.e.
Definition: kwindowinfo_x11.cpp:354
KWindowInfo::operator=
KWindowInfo & operator=(const KWindowInfo &)
Definition: kwindowinfo_mac.cpp:152
KWindowInfo::visibleIconName
QString visibleIconName() const
Returns the visible name of the window that should be shown in taskbar and all other "iconic" represe...
Definition: kwindowinfo_mac.cpp:248
KWindowInfo::groupLeader
WId groupLeader() const
Returns the leader window for the group the window is in, if any.
Definition: kwindowinfo_x11.cpp:363
KWindowInfo::onAllDesktops
bool onAllDesktops() const
Returns true if the window is on all desktops (equal to desktop()==NET::OnAllDesktops).
Definition: kwindowinfo_mac.cpp:268
KWindowInfo::geometry
QRect geometry() const
Returns the position and size of the window contents.
Definition: kwindowinfo_mac.cpp:278
KWindowInfo::desktop
int desktop() const
Returns the virtual desktop this window is on (NET::OnAllDesktops if the window is on all desktops).
Definition: kwindowinfo_mac.cpp:273
KWindowInfo::windowClassClass
QByteArray windowClassClass() const
Returns the class component of the window class for the window (i.e.
Definition: kwindowinfo_win.cpp:277
KWindowInfo::mappingState
NET::MappingState mappingState() const
Returns the mapping state of the window (see NET::MappingState).
Definition: kwindowinfo_mac.cpp:199
KWindowInfo::frameGeometry
QRect frameGeometry() const
Returns the frame geometry of the window, i.e.
Definition: kwindowinfo_mac.cpp:283
KWindowInfo::clientMachine
QByteArray clientMachine() const
Returns the client machine for the window (i.e.
Definition: kwindowinfo_x11.cpp:399
KWindowInfo::name
QString name() const
Returns the name of the window, as specified by the application, without any modifications.
Definition: kwindowinfo_mac.cpp:230
KWindowSystem::allowedActionsSupported
static bool allowedActionsSupported()
Returns true if the WM announces which actions it allows for windows.
Definition: kwindowsystem_mac.cpp:597
KWindowSystem::mapViewport
static bool mapViewport()
Definition: kwindowsystem_x11.cpp:1042
KWindowSystem::viewportWindowToDesktop
static int viewportWindowToDesktop(const QRect &r)
Definition: kwindowsystem_x11.cpp:1072
KWindowSystem::currentDesktop
static int currentDesktop()
Returns the current virtual desktop.
Definition: kwindowsystem_mac.cpp:384
KWindowSystem::readNameProperty
static QString readNameProperty(WId window, unsigned long atom)
Function that reads and returns the contents of the given text property (WM_NAME, WM_ICON_NAME,...
Definition: kwindowsystem_mac.cpp:602
KWindowSystem::icccmCompliantMappingState
static bool icccmCompliantMappingState()
Definition: kwindowsystem_mac.cpp:542
KXErrorHandler
This class simplifies handling of X errors.
Definition: kxerrorhandler.h:63
KXErrorHandler::error
bool error(bool sync) const
This function returns true if the error flag is set (i.e.
Definition: kxerrorhandler.cpp:99
NETWinInfo
Common API for application window properties/protocols.
Definition: netwm.h:829
NETWinInfo::PROTOCOLS2
@ PROTOCOLS2
Definition: netwm.h:835
NETWinInfo::PROTOCOLS
@ PROTOCOLS
Definition: netwm.h:835
NET::Sticky
@ Sticky
indicates that the Window Manager SHOULD keep the window's position fixed on the screen,...
Definition: netwm_def.h:437
NET::Shaded
@ Shaded
indicates that the window is shaded (rolled-up).
Definition: netwm_def.h:453
NET::Hidden
@ Hidden
indicates that a window should not be visible on the screen (e.g.
Definition: netwm_def.h:475
NET::DialogMask
@ DialogMask
Definition: netwm_def.h:390
NET::NormalMask
@ NormalMask
Definition: netwm_def.h:385
NET::WindowType
WindowType
Window type.
Definition: netwm_def.h:305
NET::Normal
@ Normal
indicates that this is a normal, top-level window
Definition: netwm_def.h:313
NET::Dialog
@ Dialog
indicates that this is a dialog window
Definition: netwm_def.h:336
NET::OnAllDesktops
@ OnAllDesktops
Definition: netwm_def.h:704
NET::WM2WindowClass
@ WM2WindowClass
Definition: netwm_def.h:686
NET::WM2ExtendedStrut
@ WM2ExtendedStrut
Definition: netwm_def.h:683
NET::WM2WindowRole
@ WM2WindowRole
Definition: netwm_def.h:687
NET::WM2AllowedActions
@ WM2AllowedActions
Definition: netwm_def.h:680
NET::WM2TransientFor
@ WM2TransientFor
Definition: netwm_def.h:678
NET::WM2GroupLeader
@ WM2GroupLeader
Definition: netwm_def.h:679
NET::WM2ClientMachine
@ WM2ClientMachine
Definition: netwm_def.h:688
NET::WMFrameExtents
@ WMFrameExtents
Definition: netwm_def.h:643
NET::WMWindowType
@ WMWindowType
Definition: netwm_def.h:634
NET::WMVisibleName
@ WMVisibleName
Definition: netwm_def.h:632
NET::WMName
@ WMName
Definition: netwm_def.h:631
NET::XAWMState
@ XAWMState
Definition: netwm_def.h:642
NET::WMGeometry
@ WMGeometry
Definition: netwm_def.h:648
NET::WMState
@ WMState
Definition: netwm_def.h:635
NET::WMDesktop
@ WMDesktop
Definition: netwm_def.h:633
NET::WMIconName
@ WMIconName
Definition: netwm_def.h:646
NET::WMStrut
@ WMStrut
Definition: netwm_def.h:636
NET::WMVisibleIconName
@ WMVisibleIconName
Definition: netwm_def.h:647
NET::Action
Action
Actions that can be done with a window (_NET_WM_ALLOWED_ACTIONS).
Definition: netwm_def.h:553
NET::MappingState
MappingState
Client window mapping state.
Definition: netwm_def.h:533
NET::Iconic
@ Iconic
indicates that the client window is not visible, but its icon is.
Definition: netwm_def.h:547
NET::Withdrawn
@ Withdrawn
indicates that neither the client window nor its icon is visible.
Definition: netwm_def.h:541
kWarning
#define kWarning
kdebug.h
kiconloader.h
klocale.h
kwindowinfo.h
kwindowsystem.h
kxerrorhandler.h
ref
void ref()
KStandardGuiItem::properties
KGuiItem properties()
Returns the 'Properties' gui item.
Definition: kstandardguiitem.cpp:299
netwm.h
NETExtendedStrut
Partial strut class for NET classes.
Definition: netwm_def.h:152
NETExtendedStrut::bottom_width
int bottom_width
Bottom border of the strut, width and range.
Definition: netwm_def.h:178
NETExtendedStrut::left_end
int left_end
Definition: netwm_def.h:163
NETExtendedStrut::top_start
int top_start
Definition: netwm_def.h:173
NETExtendedStrut::bottom_start
int bottom_start
Definition: netwm_def.h:178
NETExtendedStrut::left_width
int left_width
Left border of the strut, width and range.
Definition: netwm_def.h:163
NETExtendedStrut::right_width
int right_width
Right border of the strut, width and range.
Definition: netwm_def.h:168
NETExtendedStrut::left_start
int left_start
Definition: netwm_def.h:163
NETExtendedStrut::bottom_end
int bottom_end
Definition: netwm_def.h:178
NETExtendedStrut::top_end
int top_end
Definition: netwm_def.h:173
NETExtendedStrut::top_width
int top_width
Top border of the strut, width and range.
Definition: netwm_def.h:173
NETExtendedStrut::right_start
int right_start
Definition: netwm_def.h:168
NETExtendedStrut::right_end
int right_end
Definition: netwm_def.h:168
NETPoint::x
int x
x coordinate.
Definition: netwm_def.h:52
NETPoint::y
int y
y coordinate
Definition: netwm_def.h:53
NETRect
Simple rectangle class for NET classes.
Definition: netwm_def.h:93
NETRect::pos
NETPoint pos
Position of the rectangle.
Definition: netwm_def.h:99
NETRect::size
NETSize size
Size of the rectangle.
Definition: netwm_def.h:106
NETSize::height
int height
Height.
Definition: netwm_def.h:80
NETSize::width
int width
Width.
Definition: netwm_def.h:79
NETStrut
Definition: netwm_def.h:194
NETStrut::bottom
int bottom
Bottom border of the strut.
Definition: netwm_def.h:218
NETStrut::left
int left
Left border of the strut.
Definition: netwm_def.h:203
NETStrut::right
int right
Right border of the strut.
Definition: netwm_def.h:208
NETStrut::top
int top
Top border of the strut.
Definition: netwm_def.h:213
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal