Window specific setting to skip window switchers (tabbox, present windows, desktop grid).
FEATURE: 171192 CCBUG: 179723 svn path=/trunk/KDE/kdebase/workspace/; revision=1122404
This commit is contained in:
parent
1a02507f50
commit
fa7f160cb3
16 changed files with 280 additions and 194 deletions
|
@ -1429,6 +1429,15 @@ void Client::setSkipPager( bool b )
|
||||||
updateWindowRules();
|
updateWindowRules();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::setSkipSwitcher( bool set )
|
||||||
|
{
|
||||||
|
set = rules()->checkSkipSwitcher( set );
|
||||||
|
if( set == skipSwitcher() )
|
||||||
|
return;
|
||||||
|
skip_switcher = set;
|
||||||
|
updateWindowRules();
|
||||||
|
}
|
||||||
|
|
||||||
void Client::setModal( bool m )
|
void Client::setModal( bool m )
|
||||||
{ // Qt-3.2 can have even modal normal windows :(
|
{ // Qt-3.2 can have even modal normal windows :(
|
||||||
if( modal == m )
|
if( modal == m )
|
||||||
|
|
9
client.h
9
client.h
|
@ -179,6 +179,9 @@ class Client
|
||||||
bool skipPager() const;
|
bool skipPager() const;
|
||||||
void setSkipPager( bool );
|
void setSkipPager( bool );
|
||||||
|
|
||||||
|
bool skipSwitcher() const;
|
||||||
|
void setSkipSwitcher( bool set );
|
||||||
|
|
||||||
bool keepAbove() const;
|
bool keepAbove() const;
|
||||||
void setKeepAbove( bool );
|
void setKeepAbove( bool );
|
||||||
bool keepBelow() const;
|
bool keepBelow() const;
|
||||||
|
@ -556,6 +559,7 @@ class Client
|
||||||
uint Pping : 1; ///< Does it support _NET_WM_PING?
|
uint Pping : 1; ///< Does it support _NET_WM_PING?
|
||||||
uint input : 1; ///< Does the window want input in its wm_hints
|
uint input : 1; ///< Does the window want input in its wm_hints
|
||||||
uint skip_pager : 1;
|
uint skip_pager : 1;
|
||||||
|
uint skip_switcher : 1;
|
||||||
uint motif_may_resize : 1;
|
uint motif_may_resize : 1;
|
||||||
uint motif_may_move : 1;
|
uint motif_may_move : 1;
|
||||||
uint motif_may_close : 1;
|
uint motif_may_close : 1;
|
||||||
|
@ -805,6 +809,11 @@ inline bool Client::skipPager() const
|
||||||
return skip_pager;
|
return skip_pager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool Client::skipSwitcher() const
|
||||||
|
{
|
||||||
|
return skip_switcher;
|
||||||
|
}
|
||||||
|
|
||||||
inline bool Client::keepAbove() const
|
inline bool Client::keepAbove() const
|
||||||
{
|
{
|
||||||
return keep_above;
|
return keep_above;
|
||||||
|
|
|
@ -1544,6 +1544,13 @@ EffectWindowList EffectWindowImpl::mainWindows() const
|
||||||
return EffectWindowList();
|
return EffectWindowList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool EffectWindowImpl::isSkipSwitcher() const
|
||||||
|
{
|
||||||
|
if( Client* c = dynamic_cast< Client* >( toplevel ))
|
||||||
|
return c->skipSwitcher();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
WindowQuadList EffectWindowImpl::buildQuads( bool force ) const
|
WindowQuadList EffectWindowImpl::buildQuads( bool force ) const
|
||||||
{
|
{
|
||||||
return sceneWindow()->buildQuads( force );
|
return sceneWindow()->buildQuads( force );
|
||||||
|
|
|
@ -271,6 +271,8 @@ class EffectWindowImpl : public EffectWindow
|
||||||
virtual EffectWindow* findModal();
|
virtual EffectWindow* findModal();
|
||||||
virtual EffectWindowList mainWindows() const;
|
virtual EffectWindowList mainWindows() const;
|
||||||
|
|
||||||
|
virtual bool isSkipSwitcher() const;
|
||||||
|
|
||||||
virtual WindowQuadList buildQuads( bool force = false ) const;
|
virtual WindowQuadList buildQuads( bool force = false ) const;
|
||||||
|
|
||||||
virtual void minimize() const;
|
virtual void minimize() const;
|
||||||
|
|
|
@ -346,7 +346,7 @@ void DesktopGridEffect::paintWindow( EffectWindow* w, int mask, QRegion region,
|
||||||
d.xTranslate += qRound( newPos.x() - w->x() );
|
d.xTranslate += qRound( newPos.x() - w->x() );
|
||||||
d.yTranslate += qRound( newPos.y() - w->y() );
|
d.yTranslate += qRound( newPos.y() - w->y() );
|
||||||
|
|
||||||
if( isUsingPresentWindows() && w->isDock() )
|
if( isUsingPresentWindows() && ( w->isDock() || w->isSkipSwitcher() ) )
|
||||||
{
|
{
|
||||||
// fade out panels if present windows is used
|
// fade out panels if present windows is used
|
||||||
d.opacity *= ( 1.0 - timeline.value() );
|
d.opacity *= ( 1.0 - timeline.value() );
|
||||||
|
@ -1200,7 +1200,7 @@ void DesktopGridEffect::setup()
|
||||||
foreach( EffectWindow* w, effects->stackingOrder() )
|
foreach( EffectWindow* w, effects->stackingOrder() )
|
||||||
{
|
{
|
||||||
if( w->isOnDesktop( i ) && w->screen() == j && !w->isDesktop() && !w->isDock() &&
|
if( w->isOnDesktop( i ) && w->screen() == j && !w->isDesktop() && !w->isDock() &&
|
||||||
w->visibleInClientGroup() )
|
w->visibleInClientGroup() && !w->isSkipSwitcher() )
|
||||||
{
|
{
|
||||||
manager.manage( w );
|
manager.manage( w );
|
||||||
}
|
}
|
||||||
|
|
|
@ -1670,6 +1670,8 @@ bool PresentWindowsEffect::isSelectableWindow( EffectWindow *w )
|
||||||
return false;
|
return false;
|
||||||
if( !w->visibleInClientGroup() )
|
if( !w->visibleInClientGroup() )
|
||||||
return false;
|
return false;
|
||||||
|
if( w->isSkipSwitcher() )
|
||||||
|
return false;
|
||||||
switch( m_mode )
|
switch( m_mode )
|
||||||
{
|
{
|
||||||
case ModeAllDesktops:
|
case ModeAllDesktops:
|
||||||
|
|
|
@ -96,6 +96,7 @@ RulesWidget::RulesWidget( QWidget* parent )
|
||||||
SETUP( noborder, set );
|
SETUP( noborder, set );
|
||||||
SETUP( skiptaskbar, set );
|
SETUP( skiptaskbar, set );
|
||||||
SETUP( skippager, set );
|
SETUP( skippager, set );
|
||||||
|
SETUP( skipswitcher, set );
|
||||||
SETUP( acceptfocus, force );
|
SETUP( acceptfocus, force );
|
||||||
SETUP( closeable, force );
|
SETUP( closeable, force );
|
||||||
SETUP( autogroup, force );
|
SETUP( autogroup, force );
|
||||||
|
@ -147,6 +148,7 @@ UPDATE_ENABLE_SLOT( below )
|
||||||
UPDATE_ENABLE_SLOT( noborder )
|
UPDATE_ENABLE_SLOT( noborder )
|
||||||
UPDATE_ENABLE_SLOT( skiptaskbar )
|
UPDATE_ENABLE_SLOT( skiptaskbar )
|
||||||
UPDATE_ENABLE_SLOT( skippager )
|
UPDATE_ENABLE_SLOT( skippager )
|
||||||
|
UPDATE_ENABLE_SLOT( skipswitcher )
|
||||||
UPDATE_ENABLE_SLOT( acceptfocus )
|
UPDATE_ENABLE_SLOT( acceptfocus )
|
||||||
UPDATE_ENABLE_SLOT( closeable )
|
UPDATE_ENABLE_SLOT( closeable )
|
||||||
UPDATE_ENABLE_SLOT( autogroup )
|
UPDATE_ENABLE_SLOT( autogroup )
|
||||||
|
@ -436,6 +438,7 @@ void RulesWidget::setRules( Rules* rules )
|
||||||
CHECKBOX_SET_RULE( noborder, );
|
CHECKBOX_SET_RULE( noborder, );
|
||||||
CHECKBOX_SET_RULE( skiptaskbar, );
|
CHECKBOX_SET_RULE( skiptaskbar, );
|
||||||
CHECKBOX_SET_RULE( skippager, );
|
CHECKBOX_SET_RULE( skippager, );
|
||||||
|
CHECKBOX_SET_RULE( skipswitcher, );
|
||||||
CHECKBOX_FORCE_RULE( acceptfocus, );
|
CHECKBOX_FORCE_RULE( acceptfocus, );
|
||||||
CHECKBOX_FORCE_RULE( closeable, );
|
CHECKBOX_FORCE_RULE( closeable, );
|
||||||
CHECKBOX_FORCE_RULE( autogroup, );
|
CHECKBOX_FORCE_RULE( autogroup, );
|
||||||
|
@ -530,6 +533,7 @@ Rules* RulesWidget::rules() const
|
||||||
CHECKBOX_SET_RULE( noborder, );
|
CHECKBOX_SET_RULE( noborder, );
|
||||||
CHECKBOX_SET_RULE( skiptaskbar, );
|
CHECKBOX_SET_RULE( skiptaskbar, );
|
||||||
CHECKBOX_SET_RULE( skippager, );
|
CHECKBOX_SET_RULE( skippager, );
|
||||||
|
CHECKBOX_SET_RULE( skipswitcher, );
|
||||||
CHECKBOX_FORCE_RULE( acceptfocus, );
|
CHECKBOX_FORCE_RULE( acceptfocus, );
|
||||||
CHECKBOX_FORCE_RULE( closeable, );
|
CHECKBOX_FORCE_RULE( closeable, );
|
||||||
CHECKBOX_FORCE_RULE( autogroup, );
|
CHECKBOX_FORCE_RULE( autogroup, );
|
||||||
|
@ -651,6 +655,7 @@ void RulesWidget::prefillUnusedValues( const KWindowInfo& info )
|
||||||
CHECKBOX_PREFILL( noborder,, info.frameGeometry() == info.geometry() );
|
CHECKBOX_PREFILL( noborder,, info.frameGeometry() == info.geometry() );
|
||||||
CHECKBOX_PREFILL( skiptaskbar,, info.state() & NET::SkipTaskbar );
|
CHECKBOX_PREFILL( skiptaskbar,, info.state() & NET::SkipTaskbar );
|
||||||
CHECKBOX_PREFILL( skippager,, info.state() & NET::SkipPager );
|
CHECKBOX_PREFILL( skippager,, info.state() & NET::SkipPager );
|
||||||
|
CHECKBOX_PREFILL( skipswitcher,, false );
|
||||||
//CHECKBOX_PREFILL( acceptfocus, );
|
//CHECKBOX_PREFILL( acceptfocus, );
|
||||||
//CHECKBOX_PREFILL( closeable, );
|
//CHECKBOX_PREFILL( closeable, );
|
||||||
//CHECKBOX_PREFILL( autogroup, );
|
//CHECKBOX_PREFILL( autogroup, );
|
||||||
|
|
|
@ -70,6 +70,7 @@ class RulesWidget
|
||||||
void updateEnablenoborder();
|
void updateEnablenoborder();
|
||||||
void updateEnableskiptaskbar();
|
void updateEnableskiptaskbar();
|
||||||
void updateEnableskippager();
|
void updateEnableskippager();
|
||||||
|
void updateEnableskipswitcher();
|
||||||
void updateEnableacceptfocus();
|
void updateEnableacceptfocus();
|
||||||
void updateEnablecloseable();
|
void updateEnablecloseable();
|
||||||
void updateEnableautogroup();
|
void updateEnableautogroup();
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>685</width>
|
<width>685</width>
|
||||||
<height>441</height>
|
<height>462</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout">
|
<layout class="QVBoxLayout">
|
||||||
|
@ -19,16 +19,8 @@
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="TabPage1" >
|
<widget class="QWidget" name="TabPage1">
|
||||||
<property name="geometry" >
|
<attribute name="title">
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>681</width>
|
|
||||||
<height>416</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>&Window</string>
|
<string>&Window</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout">
|
||||||
|
@ -246,16 +238,8 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="TabPage2" >
|
<widget class="QWidget" name="TabPage2">
|
||||||
<property name="geometry" >
|
<attribute name="title">
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>681</width>
|
|
||||||
<height>416</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>Window &Extra</string>
|
<string>Window &Extra</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout">
|
||||||
|
@ -542,16 +526,8 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="TabPage3" >
|
<widget class="QWidget" name="TabPage3">
|
||||||
<property name="geometry" >
|
<attribute name="title">
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>681</width>
|
|
||||||
<height>416</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>&Geometry</string>
|
<string>&Geometry</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout">
|
||||||
|
@ -1088,16 +1064,8 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="TabPage4" >
|
<widget class="QWidget" name="TabPage4">
|
||||||
<property name="geometry" >
|
<attribute name="title">
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>681</width>
|
|
||||||
<height>416</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>&Preferences</string>
|
<string>&Preferences</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout">
|
||||||
|
@ -1115,13 +1083,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QCheckBox" name="enable_skippager">
|
|
||||||
<property name="text">
|
|
||||||
<string>Skip pa&ger</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QCheckBox" name="enable_skiptaskbar">
|
<widget class="QCheckBox" name="enable_skiptaskbar">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1136,51 +1097,51 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QCheckBox" name="enable_acceptfocus">
|
<widget class="QCheckBox" name="enable_acceptfocus">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Accept &focus</string>
|
<string>Accept &focus</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<widget class="QCheckBox" name="enable_closeable">
|
<widget class="QCheckBox" name="enable_closeable">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Closeable</string>
|
<string>&Closeable</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0" >
|
<item row="8" column="0">
|
||||||
<widget class="QCheckBox" name="enable_autogroup" >
|
<widget class="QCheckBox" name="enable_autogroup">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>Autogroup with &identical</string>
|
<string>Autogroup with &identical</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="0" >
|
<item row="9" column="0">
|
||||||
<widget class="QCheckBox" name="enable_autogroupfg" >
|
<widget class="QCheckBox" name="enable_autogroupfg">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>Autog&roup in foreground</string>
|
<string>Autog&roup in foreground</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="0" >
|
<item row="10" column="0">
|
||||||
<widget class="QCheckBox" name="enable_autogroupid" >
|
<widget class="QCheckBox" name="enable_autogroupid">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>Autogroup by I&D</string>
|
<string>Autogroup by I&D</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="0" >
|
<item row="11" column="0">
|
||||||
<widget class="QCheckBox" name="enable_opacityactive" >
|
<widget class="QCheckBox" name="enable_opacityactive">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>A&ctive opacity in %</string>
|
<string>A&ctive opacity in %</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="1" >
|
<item row="11" column="1">
|
||||||
<widget class="KComboBox" name="rule_opacityactive" >
|
<widget class="KComboBox" name="rule_opacityactive">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
|
@ -1200,9 +1161,9 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="2" colspan="2" >
|
<item row="11" column="2" colspan="2">
|
||||||
<widget class="KRestrictedLine" name="opacityactive" >
|
<widget class="KRestrictedLine" name="opacityactive">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="validChars">
|
<property name="validChars">
|
||||||
|
@ -1260,7 +1221,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="2">
|
<item row="6" column="2">
|
||||||
<widget class="QCheckBox" name="acceptfocus">
|
<widget class="QCheckBox" name="acceptfocus">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -1270,7 +1231,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="2">
|
<item row="7" column="2">
|
||||||
<widget class="QCheckBox" name="closeable">
|
<widget class="QCheckBox" name="closeable">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -1280,102 +1241,36 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="2" >
|
<item row="8" column="2">
|
||||||
<widget class="QCheckBox" name="autogroup" >
|
<widget class="QCheckBox" name="autogroup">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="2" >
|
<item row="9" column="2">
|
||||||
<widget class="QCheckBox" name="autogroupfg" >
|
<widget class="QCheckBox" name="autogroupfg">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="2" >
|
<item row="10" column="2">
|
||||||
<widget class="KLineEdit" name="autogroupid" >
|
<widget class="KLineEdit" name="autogroupid">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="1" >
|
<item row="10" column="1">
|
||||||
<widget class="KComboBox" name="rule_autogroupid" >
|
<widget class="KComboBox" name="rule_autogroupid">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Do Not Affect</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force Temporarily</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="1" >
|
|
||||||
<widget class="KComboBox" name="rule_autogroupfg" >
|
|
||||||
<property name="enabled" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Do Not Affect</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force Temporarily</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="1" >
|
|
||||||
<widget class="KComboBox" name="rule_autogroup" >
|
|
||||||
<property name="enabled" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Do Not Affect</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Force Temporarily</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="1" >
|
|
||||||
<widget class="KComboBox" name="rule_closeable" >
|
|
||||||
<property name="enabled" >
|
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
|
@ -1395,7 +1290,73 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="9" column="1">
|
||||||
|
<widget class="KComboBox" name="rule_autogroupfg">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Do Not Affect</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force Temporarily</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<widget class="KComboBox" name="rule_autogroup">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Do Not Affect</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force Temporarily</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="KComboBox" name="rule_closeable">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Do Not Affect</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force Temporarily</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
<widget class="KComboBox" name="rule_acceptfocus">
|
<widget class="KComboBox" name="rule_acceptfocus">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -1602,7 +1563,7 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="14" column="1" >
|
<item row="15" column="1">
|
||||||
<spacer>
|
<spacer>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
@ -1618,9 +1579,9 @@
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="1" >
|
<item row="12" column="1">
|
||||||
<widget class="KComboBox" name="rule_opacityinactive" >
|
<widget class="KComboBox" name="rule_opacityinactive">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
|
@ -1640,9 +1601,9 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="2" colspan="2" >
|
<item row="12" column="2" colspan="2">
|
||||||
<widget class="KRestrictedLine" name="opacityinactive" >
|
<widget class="KRestrictedLine" name="opacityinactive">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="validChars">
|
<property name="validChars">
|
||||||
|
@ -1650,16 +1611,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="0" >
|
<item row="12" column="0">
|
||||||
<widget class="QCheckBox" name="enable_opacityinactive" >
|
<widget class="QCheckBox" name="enable_opacityinactive">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>I&nactive opacity in %</string>
|
<string>I&nactive opacity in %</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="0" >
|
<item row="14" column="0">
|
||||||
<widget class="QCheckBox" name="enable_shortcut" >
|
<widget class="QCheckBox" name="enable_shortcut">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>Shortcut</string>
|
<string>Shortcut</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="shortcut">
|
<property name="shortcut">
|
||||||
|
@ -1667,9 +1628,9 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="1" >
|
<item row="14" column="1">
|
||||||
<widget class="KComboBox" name="rule_shortcut" >
|
<widget class="KComboBox" name="rule_shortcut">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
|
@ -1704,28 +1665,28 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="5" >
|
<item row="14" column="5">
|
||||||
<widget class="QPushButton" name="shortcut_edit" >
|
<widget class="QPushButton" name="shortcut_edit">
|
||||||
<property name="text" >
|
<property name="text">
|
||||||
<string>Edit...</string>
|
<string>Edit...</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="13" column="2" colspan="3" >
|
<item row="14" column="2" colspan="3">
|
||||||
<widget class="KRestrictedLine" name="shortcut" >
|
<widget class="KRestrictedLine" name="shortcut">
|
||||||
<property name="enabled" >
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="0">
|
<item row="13" column="0">
|
||||||
<widget class="QCheckBox" name="enable_tilingoption">
|
<widget class="QCheckBox" name="enable_tilingoption">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>T&iling</string>
|
<string>T&iling</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="1">
|
<item row="13" column="1">
|
||||||
<widget class="KComboBox" name="rule_tilingoption">
|
<widget class="KComboBox" name="rule_tilingoption">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -1747,7 +1708,7 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="2">
|
<item row="13" column="2">
|
||||||
<widget class="KComboBox" name="tilingoption">
|
<widget class="KComboBox" name="tilingoption">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -1764,18 +1725,71 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="enable_skippager">
|
||||||
|
<property name="text">
|
||||||
|
<string>Skip pa&ger</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QCheckBox" name="enable_skipswitcher">
|
||||||
|
<property name="text">
|
||||||
|
<string>Skip &switcher</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="KComboBox" name="rule_skipswitcher">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Do Not Affect</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Apply Initially</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Remember</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Apply Now</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Force Temporarily</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="QCheckBox" name="skipswitcher">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="TabPage5" >
|
<widget class="QWidget" name="TabPage5">
|
||||||
<property name="geometry" >
|
<attribute name="title">
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>681</width>
|
|
||||||
<height>416</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="title" >
|
|
||||||
<string>W&orkarounds</string>
|
<string>W&orkarounds</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout">
|
||||||
|
@ -2195,7 +2209,7 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>KPushButton</class>
|
<class>KPushButton</class>
|
||||||
<extends>QPushButton</extends>
|
<extends>QPushButton</extends>
|
||||||
|
@ -2280,9 +2294,9 @@
|
||||||
<tabstop>enable_skippager</tabstop>
|
<tabstop>enable_skippager</tabstop>
|
||||||
<tabstop>rule_skippager</tabstop>
|
<tabstop>rule_skippager</tabstop>
|
||||||
<tabstop>skippager</tabstop>
|
<tabstop>skippager</tabstop>
|
||||||
<tabstop>enable_acceptfocus</tabstop>
|
<tabstop>enable_skipswitcher</tabstop>
|
||||||
<tabstop>rule_acceptfocus</tabstop>
|
<tabstop>rule_skipswitcher</tabstop>
|
||||||
<tabstop>acceptfocus</tabstop>
|
<tabstop>skipswitcher</tabstop>
|
||||||
<tabstop>enable_closeable</tabstop>
|
<tabstop>enable_closeable</tabstop>
|
||||||
<tabstop>rule_closeable</tabstop>
|
<tabstop>rule_closeable</tabstop>
|
||||||
<tabstop>closeable</tabstop>
|
<tabstop>closeable</tabstop>
|
||||||
|
@ -2326,6 +2340,15 @@
|
||||||
<tabstop>enable_disableglobalshortcuts</tabstop>
|
<tabstop>enable_disableglobalshortcuts</tabstop>
|
||||||
<tabstop>rule_disableglobalshortcuts</tabstop>
|
<tabstop>rule_disableglobalshortcuts</tabstop>
|
||||||
<tabstop>disableglobalshortcuts</tabstop>
|
<tabstop>disableglobalshortcuts</tabstop>
|
||||||
|
<tabstop>enable_autogroupfg</tabstop>
|
||||||
|
<tabstop>enable_autogroupid</tabstop>
|
||||||
|
<tabstop>autogroupfg</tabstop>
|
||||||
|
<tabstop>autogroupid</tabstop>
|
||||||
|
<tabstop>rule_autogroupid</tabstop>
|
||||||
|
<tabstop>rule_autogroupfg</tabstop>
|
||||||
|
<tabstop>enable_acceptfocus</tabstop>
|
||||||
|
<tabstop>rule_acceptfocus</tabstop>
|
||||||
|
<tabstop>acceptfocus</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
|
|
|
@ -170,7 +170,7 @@ X-KDE-Library=kwin4_effect_cooleffect
|
||||||
|
|
||||||
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
||||||
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
||||||
#define KWIN_EFFECT_API_VERSION_MINOR 133
|
#define KWIN_EFFECT_API_VERSION_MINOR 134
|
||||||
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
||||||
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
||||||
|
|
||||||
|
@ -999,6 +999,12 @@ class KWIN_EXPORT EffectWindow
|
||||||
virtual EffectWindow* findModal() = 0;
|
virtual EffectWindow* findModal() = 0;
|
||||||
virtual EffectWindowList mainWindows() const = 0;
|
virtual EffectWindowList mainWindows() const = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the window should be excluded from window switching effects.
|
||||||
|
* @since 4.5
|
||||||
|
*/
|
||||||
|
virtual bool isSkipSwitcher() const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the unmodified window quad list. Can also be used to force rebuilding.
|
* Returns the unmodified window quad list. Can also be used to force rebuilding.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -407,6 +407,7 @@ bool Client::manage( Window w, bool isMapped )
|
||||||
setKeepBelow( session->keepBelow );
|
setKeepBelow( session->keepBelow );
|
||||||
setSkipTaskbar( session->skipTaskbar, true );
|
setSkipTaskbar( session->skipTaskbar, true );
|
||||||
setSkipPager( session->skipPager );
|
setSkipPager( session->skipPager );
|
||||||
|
setSkipSwitcher( session->skipSwitcher );
|
||||||
setShade( session->shaded ? ShadeNormal : ShadeNone );
|
setShade( session->shaded ? ShadeNormal : ShadeNone );
|
||||||
setOpacity( session->opacity );
|
setOpacity( session->opacity );
|
||||||
if( session->maximized != MaximizeRestore )
|
if( session->maximized != MaximizeRestore )
|
||||||
|
@ -469,6 +470,7 @@ bool Client::manage( Window w, bool isMapped )
|
||||||
setKeepBelow( rules()->checkKeepBelow( info->state() & NET::KeepBelow, !isMapped ));
|
setKeepBelow( rules()->checkKeepBelow( info->state() & NET::KeepBelow, !isMapped ));
|
||||||
setSkipTaskbar( rules()->checkSkipTaskbar( info->state() & NET::SkipTaskbar, !isMapped ), true );
|
setSkipTaskbar( rules()->checkSkipTaskbar( info->state() & NET::SkipTaskbar, !isMapped ), true );
|
||||||
setSkipPager( rules()->checkSkipPager( info->state() & NET::SkipPager, !isMapped ));
|
setSkipPager( rules()->checkSkipPager( info->state() & NET::SkipPager, !isMapped ));
|
||||||
|
setSkipSwitcher( rules()->checkSkipSwitcher( false, !isMapped ));
|
||||||
if( info->state() & NET::DemandsAttention )
|
if( info->state() & NET::DemandsAttention )
|
||||||
demandAttention();
|
demandAttention();
|
||||||
if( info->state() & NET::Modal )
|
if( info->state() & NET::Modal )
|
||||||
|
|
13
rules.cpp
13
rules.cpp
|
@ -61,6 +61,7 @@ Rules::Rules()
|
||||||
, shaderule( UnusedSetRule )
|
, shaderule( UnusedSetRule )
|
||||||
, skiptaskbarrule( UnusedSetRule )
|
, skiptaskbarrule( UnusedSetRule )
|
||||||
, skippagerrule( UnusedSetRule )
|
, skippagerrule( UnusedSetRule )
|
||||||
|
, skipswitcherrule( UnusedSetRule )
|
||||||
, aboverule( UnusedSetRule )
|
, aboverule( UnusedSetRule )
|
||||||
, belowrule( UnusedSetRule )
|
, belowrule( UnusedSetRule )
|
||||||
, fullscreenrule( UnusedSetRule )
|
, fullscreenrule( UnusedSetRule )
|
||||||
|
@ -165,6 +166,7 @@ void Rules::readFromCfg( const KConfigGroup& cfg )
|
||||||
READ_SET_RULE( shade,, false);
|
READ_SET_RULE( shade,, false);
|
||||||
READ_SET_RULE( skiptaskbar,, false);
|
READ_SET_RULE( skiptaskbar,, false);
|
||||||
READ_SET_RULE( skippager,, false);
|
READ_SET_RULE( skippager,, false);
|
||||||
|
READ_SET_RULE( skipswitcher,, false);
|
||||||
READ_SET_RULE( above,, false);
|
READ_SET_RULE( above,, false);
|
||||||
READ_SET_RULE( below,, false);
|
READ_SET_RULE( below,, false);
|
||||||
READ_SET_RULE( fullscreen,, false);
|
READ_SET_RULE( fullscreen,, false);
|
||||||
|
@ -253,6 +255,7 @@ void Rules::write( KConfigGroup& cfg ) const
|
||||||
WRITE_SET_RULE( shade, );
|
WRITE_SET_RULE( shade, );
|
||||||
WRITE_SET_RULE( skiptaskbar, );
|
WRITE_SET_RULE( skiptaskbar, );
|
||||||
WRITE_SET_RULE( skippager, );
|
WRITE_SET_RULE( skippager, );
|
||||||
|
WRITE_SET_RULE( skipswitcher, );
|
||||||
WRITE_SET_RULE( above, );
|
WRITE_SET_RULE( above, );
|
||||||
WRITE_SET_RULE( below, );
|
WRITE_SET_RULE( below, );
|
||||||
WRITE_SET_RULE( fullscreen, );
|
WRITE_SET_RULE( fullscreen, );
|
||||||
|
@ -293,6 +296,7 @@ bool Rules::isEmpty() const
|
||||||
&& shaderule == UnusedSetRule
|
&& shaderule == UnusedSetRule
|
||||||
&& skiptaskbarrule == UnusedSetRule
|
&& skiptaskbarrule == UnusedSetRule
|
||||||
&& skippagerrule == UnusedSetRule
|
&& skippagerrule == UnusedSetRule
|
||||||
|
&& skipswitcherrule == UnusedSetRule
|
||||||
&& aboverule == UnusedSetRule
|
&& aboverule == UnusedSetRule
|
||||||
&& belowrule == UnusedSetRule
|
&& belowrule == UnusedSetRule
|
||||||
&& fullscreenrule == UnusedSetRule
|
&& fullscreenrule == UnusedSetRule
|
||||||
|
@ -494,6 +498,11 @@ bool Rules::update( Client* c )
|
||||||
updated = updated || skippager != c->skipPager();
|
updated = updated || skippager != c->skipPager();
|
||||||
skippager = c->skipPager();
|
skippager = c->skipPager();
|
||||||
}
|
}
|
||||||
|
if( skipswitcherrule == ( SetRule )Remember)
|
||||||
|
{
|
||||||
|
updated = updated || skipswitcher != c->skipSwitcher();
|
||||||
|
skipswitcher = c->skipSwitcher();
|
||||||
|
}
|
||||||
if( aboverule == ( SetRule )Remember)
|
if( aboverule == ( SetRule )Remember)
|
||||||
{
|
{
|
||||||
updated = updated || above != c->keepAbove();
|
updated = updated || above != c->keepAbove();
|
||||||
|
@ -621,6 +630,7 @@ bool Rules::applyShade( ShadeMode& sh, bool init ) const
|
||||||
|
|
||||||
APPLY_RULE( skiptaskbar, SkipTaskbar, bool )
|
APPLY_RULE( skiptaskbar, SkipTaskbar, bool )
|
||||||
APPLY_RULE( skippager, SkipPager, bool )
|
APPLY_RULE( skippager, SkipPager, bool )
|
||||||
|
APPLY_RULE( skipswitcher, SkipSwitcher, bool )
|
||||||
APPLY_RULE( above, KeepAbove, bool )
|
APPLY_RULE( above, KeepAbove, bool )
|
||||||
APPLY_RULE( below, KeepBelow, bool )
|
APPLY_RULE( below, KeepBelow, bool )
|
||||||
APPLY_RULE( fullscreen, FullScreen, bool )
|
APPLY_RULE( fullscreen, FullScreen, bool )
|
||||||
|
@ -687,6 +697,7 @@ void Rules::discardUsed( bool withdrawn )
|
||||||
DISCARD_USED_SET_RULE( shade );
|
DISCARD_USED_SET_RULE( shade );
|
||||||
DISCARD_USED_SET_RULE( skiptaskbar );
|
DISCARD_USED_SET_RULE( skiptaskbar );
|
||||||
DISCARD_USED_SET_RULE( skippager );
|
DISCARD_USED_SET_RULE( skippager );
|
||||||
|
DISCARD_USED_SET_RULE( skipswitcher );
|
||||||
DISCARD_USED_SET_RULE( above );
|
DISCARD_USED_SET_RULE( above );
|
||||||
DISCARD_USED_SET_RULE( below );
|
DISCARD_USED_SET_RULE( below );
|
||||||
DISCARD_USED_SET_RULE( fullscreen );
|
DISCARD_USED_SET_RULE( fullscreen );
|
||||||
|
@ -811,6 +822,7 @@ CHECK_RULE( Minimize, bool )
|
||||||
CHECK_RULE( Shade, ShadeMode )
|
CHECK_RULE( Shade, ShadeMode )
|
||||||
CHECK_RULE( SkipTaskbar, bool )
|
CHECK_RULE( SkipTaskbar, bool )
|
||||||
CHECK_RULE( SkipPager, bool )
|
CHECK_RULE( SkipPager, bool )
|
||||||
|
CHECK_RULE( SkipSwitcher, bool )
|
||||||
CHECK_RULE( KeepAbove, bool )
|
CHECK_RULE( KeepAbove, bool )
|
||||||
CHECK_RULE( KeepBelow, bool )
|
CHECK_RULE( KeepBelow, bool )
|
||||||
CHECK_RULE( FullScreen, bool )
|
CHECK_RULE( FullScreen, bool )
|
||||||
|
@ -863,6 +875,7 @@ void Client::applyWindowRules()
|
||||||
setShade( shadeMode());
|
setShade( shadeMode());
|
||||||
setSkipTaskbar( skipTaskbar(), true );
|
setSkipTaskbar( skipTaskbar(), true );
|
||||||
setSkipPager( skipPager());
|
setSkipPager( skipPager());
|
||||||
|
setSkipSwitcher( skipSwitcher());
|
||||||
setKeepAbove( keepAbove());
|
setKeepAbove( keepAbove());
|
||||||
setKeepBelow( keepBelow());
|
setKeepBelow( keepBelow());
|
||||||
setFullScreen( isFullScreen(), true );
|
setFullScreen( isFullScreen(), true );
|
||||||
|
|
4
rules.h
4
rules.h
|
@ -70,6 +70,7 @@ class WindowRules
|
||||||
ShadeMode checkShade( ShadeMode shade, bool init = false ) const;
|
ShadeMode checkShade( ShadeMode shade, bool init = false ) const;
|
||||||
bool checkSkipTaskbar( bool skip, bool init = false ) const;
|
bool checkSkipTaskbar( bool skip, bool init = false ) const;
|
||||||
bool checkSkipPager( bool skip, bool init = false ) const;
|
bool checkSkipPager( bool skip, bool init = false ) const;
|
||||||
|
bool checkSkipSwitcher( bool skip, bool init = false ) const;
|
||||||
bool checkKeepAbove( bool above, bool init = false ) const;
|
bool checkKeepAbove( bool above, bool init = false ) const;
|
||||||
bool checkKeepBelow( bool below, bool init = false ) const;
|
bool checkKeepBelow( bool below, bool init = false ) const;
|
||||||
bool checkFullScreen( bool fs, bool init = false ) const;
|
bool checkFullScreen( bool fs, bool init = false ) const;
|
||||||
|
@ -126,6 +127,7 @@ class Rules
|
||||||
bool applyShade( ShadeMode& shade, bool init ) const;
|
bool applyShade( ShadeMode& shade, bool init ) const;
|
||||||
bool applySkipTaskbar( bool& skip, bool init ) const;
|
bool applySkipTaskbar( bool& skip, bool init ) const;
|
||||||
bool applySkipPager( bool& skip, bool init ) const;
|
bool applySkipPager( bool& skip, bool init ) const;
|
||||||
|
bool applySkipSwitcher( bool& skip, bool init ) const;
|
||||||
bool applyKeepAbove( bool& above, bool init ) const;
|
bool applyKeepAbove( bool& above, bool init ) const;
|
||||||
bool applyKeepBelow( bool& below, bool init ) const;
|
bool applyKeepBelow( bool& below, bool init ) const;
|
||||||
bool applyFullScreen( bool& fs, bool init ) const;
|
bool applyFullScreen( bool& fs, bool init ) const;
|
||||||
|
@ -236,6 +238,8 @@ class Rules
|
||||||
SetRule skiptaskbarrule;
|
SetRule skiptaskbarrule;
|
||||||
bool skippager;
|
bool skippager;
|
||||||
SetRule skippagerrule;
|
SetRule skippagerrule;
|
||||||
|
bool skipswitcher;
|
||||||
|
SetRule skipswitcherrule;
|
||||||
bool above;
|
bool above;
|
||||||
SetRule aboverule;
|
SetRule aboverule;
|
||||||
bool below;
|
bool below;
|
||||||
|
|
2
sm.cpp
2
sm.cpp
|
@ -133,6 +133,7 @@ void Workspace::storeSession( KConfig* config, SMSavePhase phase )
|
||||||
cg.writeEntry( QString("keepBelow")+n, c->keepBelow() );
|
cg.writeEntry( QString("keepBelow")+n, c->keepBelow() );
|
||||||
cg.writeEntry( QString("skipTaskbar")+n, c->skipTaskbar( true ) );
|
cg.writeEntry( QString("skipTaskbar")+n, c->skipTaskbar( true ) );
|
||||||
cg.writeEntry( QString("skipPager")+n, c->skipPager() );
|
cg.writeEntry( QString("skipPager")+n, c->skipPager() );
|
||||||
|
cg.writeEntry( QString("skipSwitcher")+n, c->skipSwitcher() );
|
||||||
// not really just set by user, but name kept for back. comp. reasons
|
// not really just set by user, but name kept for back. comp. reasons
|
||||||
cg.writeEntry( QString("userNoBorder")+n, c->noBorder() );
|
cg.writeEntry( QString("userNoBorder")+n, c->noBorder() );
|
||||||
cg.writeEntry( QString("windowType")+n, windowTypeToTxt( c->windowType()));
|
cg.writeEntry( QString("windowType")+n, windowTypeToTxt( c->windowType()));
|
||||||
|
@ -208,6 +209,7 @@ void Workspace::loadSessionInfo()
|
||||||
info->keepBelow = cg.readEntry( QString("keepBelow")+n, false );
|
info->keepBelow = cg.readEntry( QString("keepBelow")+n, false );
|
||||||
info->skipTaskbar = cg.readEntry( QString("skipTaskbar")+n, false );
|
info->skipTaskbar = cg.readEntry( QString("skipTaskbar")+n, false );
|
||||||
info->skipPager = cg.readEntry( QString("skipPager")+n, false );
|
info->skipPager = cg.readEntry( QString("skipPager")+n, false );
|
||||||
|
info->skipSwitcher = cg.readEntry( QString("skipSwitcher")+n, false );
|
||||||
info->noBorder = cg.readEntry( QString("userNoBorder")+n, false );
|
info->noBorder = cg.readEntry( QString("userNoBorder")+n, false );
|
||||||
info->windowType = txtToWindowType( cg.readEntry( QString("windowType")+n, QString() ).toLatin1());
|
info->windowType = txtToWindowType( cg.readEntry( QString("windowType")+n, QString() ).toLatin1());
|
||||||
info->shortcut = cg.readEntry( QString("shortcut")+n, QString() );
|
info->shortcut = cg.readEntry( QString("shortcut")+n, QString() );
|
||||||
|
|
1
sm.h
1
sm.h
|
@ -58,6 +58,7 @@ struct SessionInfo
|
||||||
bool keepBelow;
|
bool keepBelow;
|
||||||
bool skipTaskbar;
|
bool skipTaskbar;
|
||||||
bool skipPager;
|
bool skipPager;
|
||||||
|
bool skipSwitcher;
|
||||||
bool noBorder;
|
bool noBorder;
|
||||||
NET::WindowType windowType;
|
NET::WindowType windowType;
|
||||||
QString shortcut;
|
QString shortcut;
|
||||||
|
|
|
@ -130,7 +130,7 @@ TabBoxClient* TabBoxHandlerImpl::clientToAddToList( TabBoxClient* client, int de
|
||||||
addClient = true;
|
addClient = true;
|
||||||
else
|
else
|
||||||
addClient = current->isOnDesktop( desktop );
|
addClient = current->isOnDesktop( desktop );
|
||||||
addClient = addClient && current->wantsTabFocus();
|
addClient = addClient && current->wantsTabFocus() && !current->skipSwitcher();
|
||||||
if ( addClient )
|
if ( addClient )
|
||||||
{ // don't add windows that have modal dialogs
|
{ // don't add windows that have modal dialogs
|
||||||
Client* modal = current->findModal();
|
Client* modal = current->findModal();
|
||||||
|
|
Loading…
Reference in a new issue