#include "rules.h"
#include <QDebug>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QRegularExpression>
#include <QTemporaryFile>
#include <kconfig.h>
#include "client_machine.h"
#include "main.h"
#include "virtualdesktops.h"
#include "window.h"
#include "core/output.h"
#include "rulebooksettings.h"
#include "rulesettings.h"
#include "workspace.h"
#include "moc_rules.cpp"
Go to the source code of this file.
|  | 
| #define | READ_MATCH_STRING(var,  func) | 
|  | 
| #define | READ_SET_RULE(var) | 
|  | 
| #define | READ_FORCE_RULE(var,  func) | 
|  | 
| #define | WRITE_MATCH_STRING(var,  capital,  force) | 
|  | 
| #define | WRITE_SET_RULE(var,  capital,  func) | 
|  | 
| #define | WRITE_FORCE_RULE(var,  capital,  func) | 
|  | 
| #define | NOW_REMEMBER(_T_,  _V_)   ((selection & _T_) && (_V_##rule == (SetRule)Remember)) | 
|  | 
| #define | APPLY_RULE(var,  name,  type) | 
|  | 
| #define | APPLY_FORCE_RULE(var,  name,  type) | 
|  | 
| #define | DISCARD_USED_SET_RULE(var) | 
|  | 
| #define | DISCARD_USED_FORCE_RULE(var) | 
|  | 
| #define | CHECK_RULE(rule,  type) | 
|  | 
| #define | CHECK_FORCE_RULE(rule,  type) | 
|  | 
◆ APPLY_FORCE_RULE
      
        
          | #define APPLY_FORCE_RULE | ( |  | var, | 
        
          |  |  |  | name, | 
        
          |  |  |  | type ) | 
      
 
Value:    bool Rules::apply##name(type &arg) const \
    {                                        \
        if (checkForceRule(var##rule))       \
            arg = this->var;                 \
        return checkForceStop(var##rule);    \
    }
Definition at line 528 of file rules.cpp.
 
 
◆ APPLY_RULE
      
        
          | #define APPLY_RULE | ( |  | var, | 
        
          |  |  |  | name, | 
        
          |  |  |  | type ) | 
      
 
Value:    bool Rules::apply##name(type &arg, bool init) const \
    {                                                   \
        if (checkSetRule(var##rule, init))              \
            arg = this->var;                            \
        return checkSetStop(var##rule);                 \
    }
Definition at line 520 of file rules.cpp.
 
 
◆ CHECK_FORCE_RULE
      
        
          | #define CHECK_FORCE_RULE | ( |  | rule, | 
        
          |  |  |  | type ) | 
      
 
Value:    type WindowRules::check##rule(type arg) const              \
    {                                                          \
        if (rules.count() == 0)                                \
            return arg;                                        \
        type ret = arg;                                        \
        for (QList<Rules *>::ConstIterator it = rules.begin(); \
             it != rules.end();                                \
             ++it) {                                           \
            if ((*it)->apply##rule(ret))                       \
                break;                                         \
        }                                                      \
        return ret;                                            \
    }
Definition at line 749 of file rules.cpp.
 
 
◆ CHECK_RULE
      
        
          | #define CHECK_RULE | ( |  | rule, | 
        
          |  |  |  | type ) | 
      
 
Value:    type WindowRules::check##rule(type arg, bool init) const        \
    {                                                               \
        if (rules.count() == 0)                                     \
            return arg;                                             \
        type ret = arg;                                             \
        for (QList<Rules *>::ConstIterator it = rules.constBegin(); \
             it != rules.constEnd();                                \
             ++it) {                                                \
            if ((*it)->apply##rule(ret, init))                      \
                break;                                              \
        }                                                           \
        return ret;                                                 \
    }
Definition at line 734 of file rules.cpp.
 
 
◆ DISCARD_USED_FORCE_RULE
      
        
          | #define DISCARD_USED_FORCE_RULE | ( |  | var | ) |  | 
      
 
Value:    do {                                                             \
        if (withdrawn && var##rule == (ForceRule)ForceTemporarily) { \
            var##rule = UnusedForceRule;                             \
            changed = true;                                          \
        }                                                            \
    } while (false)
Definition at line 656 of file rules.cpp.
 
 
◆ DISCARD_USED_SET_RULE
      
        
          | #define DISCARD_USED_SET_RULE | ( |  | var | ) |  | 
      
 
Value:    do {                                                                                               \
        if (var##rule == (SetRule)ApplyNow || (withdrawn && var##rule == (SetRule)ForceTemporarily)) { \
            var##rule = UnusedSetRule;                                                                 \
            changed = true;                                                                            \
        }                                                                                              \
    } while (false)
Definition at line 649 of file rules.cpp.
 
 
◆ NOW_REMEMBER
      
        
          | #define NOW_REMEMBER | ( |  | _T_, | 
        
          |  |  |  | _V_ )   ((selection & _T_) && (_V_##rule == (SetRule)Remember)) | 
      
 
 
◆ READ_FORCE_RULE
      
        
          | #define READ_FORCE_RULE | ( |  | var, | 
        
          |  |  |  | func ) | 
      
 
Value:    var = func(settings->var());   \
    var##rule = convertForceRule(settings->var##rule())
Definition at line 90 of file rules.cpp.
 
 
◆ READ_MATCH_STRING
      
        
          | #define READ_MATCH_STRING | ( |  | var, | 
        
          |  |  |  | func ) | 
      
 
Value:    var = settings->var() func;      \
    var##match = static_cast<StringMatch>(settings->var##match())
Definition at line 82 of file rules.cpp.
 
 
◆ READ_SET_RULE
      
        
          | #define READ_SET_RULE | ( |  | var | ) |  | 
      
 
Value:    var = settings->var(); \
    var##rule = static_cast<SetRule>(settings->var##rule())
Definition at line 86 of file rules.cpp.
 
 
◆ WRITE_FORCE_RULE
      
        
          | #define WRITE_FORCE_RULE | ( |  | var, | 
        
          |  |  |  | capital, | 
        
          |  |  |  | func ) | 
      
 
Value:    settings->set##capital##rule(var##rule); \
    if (var##rule != UnusedForceRule) {      \
        settings->set##capital(func(var));   \
    }
Definition at line 181 of file rules.cpp.
 
 
◆ WRITE_MATCH_STRING
      
        
          | #define WRITE_MATCH_STRING | ( |  | var, | 
        
          |  |  |  | capital, | 
        
          |  |  |  | force ) | 
      
 
Value:    settings->set##capital##match(var##match);  \
    if (!var.isEmpty() || force) {              \
        settings->set##capital(var);            \
    }
Definition at line 169 of file rules.cpp.
 
 
◆ WRITE_SET_RULE
      
        
          | #define WRITE_SET_RULE | ( |  | var, | 
        
          |  |  |  | capital, | 
        
          |  |  |  | func ) | 
      
 
Value:    settings->set##capital##rule(var##rule); \
    if (var##rule != UnusedSetRule) {        \
        settings->set##capital(func(var));   \
    }
Definition at line 175 of file rules.cpp.