summaryrefslogtreecommitdiffstats
path: root/kwin/rules.h
diff options
context:
space:
mode:
Diffstat (limited to 'kwin/rules.h')
-rw-r--r--kwin/rules.h311
1 files changed, 0 insertions, 311 deletions
diff --git a/kwin/rules.h b/kwin/rules.h
deleted file mode 100644
index 061f0ce80..000000000
--- a/kwin/rules.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*****************************************************************
- KWin - the KDE window manager
- This file is part of the KDE project.
-
-Copyright (C) 2004 Lubos Lunak <l.lunak@kde.org>
-
-You can Freely distribute this program under the GNU General Public
-License. See the file "COPYING" for the exact licensing terms.
-******************************************************************/
-
-#ifndef KWIN_RULES_H
-#define KWIN_RULES_H
-
-#include <tqstring.h>
-#include <netwm_def.h>
-#include <tqrect.h>
-#include <tqvaluevector.h>
-#include <kdebug.h>
-
-#include "placement.h"
-#include "lib/kdecoration.h"
-#include "options.h"
-#include "utils.h"
-
-class KConfig;
-
-namespace KWinInternal
-{
-
-class Client;
-class Rules;
-
-#ifndef KCMRULES // only for twin core
-
-class WindowRules
- : public KDecorationDefines
- {
- public:
- WindowRules( const TQValueVector< Rules* >& rules );
- WindowRules();
- void update( Client* );
- void discardTemporary();
- bool contains( const Rules* rule ) const;
- void remove( Rules* rule );
- Placement::Policy checkPlacement( Placement::Policy placement ) const;
- TQRect checkGeometry( TQRect rect, bool init = false ) const;
- // use 'invalidPoint' with checkPosition, unlike TQSize() and TQRect(), TQPoint() is a valid point
- TQPoint checkPosition( TQPoint pos, bool init = false ) const;
- TQSize checkSize( TQSize s, bool init = false ) const;
- TQSize checkMinSize( TQSize s ) const;
- TQSize checkMaxSize( TQSize s ) const;
- int checkOpacityActive(int s) const;
- int checkOpacityInactive(int s) const;
- bool checkIgnoreGeometry( bool ignore ) const;
- int checkDesktop( int desktop, bool init = false ) const;
- NET::WindowType checkType( NET::WindowType type ) const;
- MaximizeMode checkMaximize( MaximizeMode mode, bool init = false ) const;
- bool checkMinimize( bool minimized, bool init = false ) const;
- ShadeMode checkShade( ShadeMode shade, bool init = false ) const;
- bool checkSkipTaskbar( bool skip, bool init = false ) const;
- bool checkSkipPager( bool skip, bool init = false ) const;
- bool checkKeepAbove( bool above, bool init = false ) const;
- bool checkKeepBelow( bool below, bool init = false ) const;
- bool checkFullScreen( bool fs, bool init = false ) const;
- bool checkNoBorder( bool noborder, bool init = false ) const;
- int checkFSP( int fsp ) const;
- bool checkAcceptFocus( bool focus ) const;
- Options::MoveResizeMode checkMoveResizeMode( Options::MoveResizeMode mode ) const;
- bool checkCloseable( bool closeable ) const;
- bool checkStrictGeometry( bool strict ) const;
- TQString checkShortcut( TQString s, bool init = false ) const;
- bool checkDisableGlobalShortcuts( bool disable ) const;
- bool checkIgnorePosition( bool ignore ) const; // obsolete
- private:
- MaximizeMode checkMaximizeVert( MaximizeMode mode, bool init ) const;
- MaximizeMode checkMaximizeHoriz( MaximizeMode mode, bool init ) const;
- TQValueVector< Rules* > rules;
- };
-#endif
-
-class Rules
- : public KDecorationDefines
- {
- public:
- Rules();
- Rules( KConfig& );
- Rules( const TQString&, bool temporary );
- void write( KConfig& ) const;
- bool isEmpty() const;
-#ifndef KCMRULES
- void discardUsed( bool withdrawn );
- bool match( const Client* c ) const;
- bool update( Client* );
- bool isTemporary() const;
- bool discardTemporary( bool force ); // removes if temporary and forced or too old
- bool applyPlacement( Placement::Policy& placement ) const;
- bool applyGeometry( TQRect& rect, bool init ) const;
- // use 'invalidPoint' with applyPosition, unlike TQSize() and TQRect(), TQPoint() is a valid point
- bool applyPosition( TQPoint& pos, bool init ) const;
- bool applySize( TQSize& s, bool init ) const;
- bool applyMinSize( TQSize& s ) const;
- bool applyMaxSize( TQSize& s ) const;
- bool applyOpacityActive(int& s) const;
- bool applyOpacityInactive(int& s) const;
- bool applyIgnoreGeometry( bool& ignore ) const;
- bool applyDesktop( int& desktop, bool init ) const;
- bool applyType( NET::WindowType& type ) const;
- bool applyMaximizeVert( MaximizeMode& mode, bool init ) const;
- bool applyMaximizeHoriz( MaximizeMode& mode, bool init ) const;
- bool applyMinimize( bool& minimized, bool init ) const;
- bool applyShade( ShadeMode& shade, bool init ) const;
- bool applySkipTaskbar( bool& skip, bool init ) const;
- bool applySkipPager( bool& skip, bool init ) const;
- bool applyKeepAbove( bool& above, bool init ) const;
- bool applyKeepBelow( bool& below, bool init ) const;
- bool applyFullScreen( bool& fs, bool init ) const;
- bool applyNoBorder( bool& noborder, bool init ) const;
- bool applyFSP( int& fsp ) const;
- bool applyAcceptFocus( bool& focus ) const;
- bool applyMoveResizeMode( Options::MoveResizeMode& mode ) const;
- bool applyCloseable( bool& closeable ) const;
- bool applyStrictGeometry( bool& strict ) const;
- bool applyShortcut( TQString& shortcut, bool init ) const;
- bool applyDisableGlobalShortcuts( bool& disable ) const;
- bool applyIgnorePosition( bool& ignore ) const; // obsolete
- private:
-#endif
- bool matchType( NET::WindowType match_type ) const;
- bool matchWMClass( const TQCString& match_class, const TQCString& match_name ) const;
- bool matchRole( const TQCString& match_role ) const;
- bool matchTitle( const TQString& match_title ) const;
- bool matchClientMachine( const TQCString& match_machine ) const;
- // All these values are saved to the cfg file, and are also used in kstart!
- enum
- {
- Unused = 0,
- DontAffect, // use the default value
- Force, // force the given value
- Apply, // apply only after initial mapping
- Remember, // like apply, and remember the value when the window is withdrawn
- ApplyNow, // apply immediatelly, then forget the setting
- ForceTemporarily // apply and force until the window is withdrawn
- };
- enum SetRule
- {
- UnusedSetRule = Unused,
- SetRuleDummy = 256 // so that it's at least short int
- };
- enum ForceRule
- {
- UnusedForceRule = Unused,
- ForceRuleDummy = 256 // so that it's at least short int
- };
- enum StringMatch
- {
- FirstStringMatch,
- UnimportantMatch = FirstStringMatch,
- ExactMatch,
- SubstringMatch,
- RegExpMatch,
- LastStringMatch = RegExpMatch
- };
- void readFromCfg( KConfig& cfg );
- static SetRule readSetRule( KConfig&, const TQString& key );
- static ForceRule readForceRule( KConfig&, const TQString& key );
- static NET::WindowType readType( KConfig&, const TQString& key );
-#ifndef KCMRULES
- static bool checkSetRule( SetRule rule, bool init );
- static bool checkForceRule( ForceRule rule );
- static bool checkSetStop( SetRule rule );
- static bool checkForceStop( ForceRule rule );
-#endif
- int temporary_state; // e.g. for kstart
- TQString description;
- TQCString wmclass;
- StringMatch wmclassmatch;
- bool wmclasscomplete;
- TQCString windowrole;
- StringMatch windowrolematch;
- TQString title; // TODO "caption" ?
- StringMatch titlematch;
- TQCString extrarole;
- StringMatch extrarolematch;
- TQCString clientmachine;
- StringMatch clientmachinematch;
- unsigned long types; // types for matching
- Placement::Policy placement;
- ForceRule placementrule;
- TQPoint position;
- SetRule positionrule;
- TQSize size;
- SetRule sizerule;
- TQSize minsize;
- ForceRule minsizerule;
- TQSize maxsize;
- ForceRule maxsizerule;
- int opacityactive;
- ForceRule opacityactiverule;
- int opacityinactive;
- ForceRule opacityinactiverule;
- bool ignoreposition;
- ForceRule ignorepositionrule;
- int desktop;
- SetRule desktoprule;
- NET::WindowType type; // type for setting
- ForceRule typerule;
- bool maximizevert;
- SetRule maximizevertrule;
- bool maximizehoriz;
- SetRule maximizehorizrule;
- bool minimize;
- SetRule minimizerule;
- bool shade;
- SetRule shaderule;
- bool skiptaskbar;
- SetRule skiptaskbarrule;
- bool skippager;
- SetRule skippagerrule;
- bool above;
- SetRule aboverule;
- bool below;
- SetRule belowrule;
- bool fullscreen;
- SetRule fullscreenrule;
- bool noborder;
- SetRule noborderrule;
- int fsplevel;
- ForceRule fsplevelrule;
- bool acceptfocus;
- ForceRule acceptfocusrule;
- Options::MoveResizeMode moveresizemode;
- ForceRule moveresizemoderule;
- bool closeable;
- ForceRule closeablerule;
- bool strictgeometry;
- ForceRule strictgeometryrule;
- TQString shortcut;
- SetRule shortcutrule;
- bool disableglobalshortcuts;
- ForceRule disableglobalshortcutsrule;
- friend kdbgstream& operator<<( kdbgstream& stream, const Rules* );
- };
-
-#ifndef KCMRULES
-inline
-bool Rules::checkSetRule( SetRule rule, bool init )
- {
- if( rule > ( SetRule )DontAffect) // Unused or DontAffect
- {
- if( rule == ( SetRule )Force || rule == ( SetRule ) ApplyNow
- || rule == ( SetRule ) ForceTemporarily || init )
- return true;
- }
- return false;
- }
-
-inline
-bool Rules::checkForceRule( ForceRule rule )
- {
- return rule == ( ForceRule )Force || rule == ( ForceRule ) ForceTemporarily;
- }
-
-inline
-bool Rules::checkSetStop( SetRule rule )
- {
- return rule != UnusedSetRule;
- }
-
-inline
-bool Rules::checkForceStop( ForceRule rule )
- {
- return rule != UnusedForceRule;
- }
-
-inline
-WindowRules::WindowRules( const TQValueVector< Rules* >& r )
- : rules( r )
- {
- }
-
-inline
-WindowRules::WindowRules()
- {
- }
-
-inline
-bool WindowRules::contains( const Rules* rule ) const
- {
- return tqFind( rules.begin(), rules.end(), rule ) != rules.end();
- }
-
-inline
-void WindowRules::remove( Rules* rule )
- {
- TQValueVector< Rules* >::Iterator pos = tqFind( rules.begin(), rules.end(), rule );
- if( pos != rules.end())
- rules.erase( pos );
- }
-
-#endif
-
-#ifdef NDEBUG
-inline
-kndbgstream& operator<<( kndbgstream& stream, const Rules* ) { return stream; }
-#else
-kdbgstream& operator<<( kdbgstream& stream, const Rules* );
-#endif
-
-} // namespace
-
-#endif