summaryrefslogtreecommitdiffstats
path: root/twin
diff options
context:
space:
mode:
authorMavridis Philippe <[email protected]>2023-07-12 11:54:45 +0300
committerMichele Calgaro <[email protected]>2023-08-12 14:04:11 +0900
commita64c48384870e07d06bc87ff14dfe711e2922f74 (patch)
treef03006fe0745766a460d272ddc215431bd7cd333 /twin
parent3515607e5ac48686510e60e2e67e4bc15ff03e46 (diff)
downloadtdebase-a64c48384870e07d06bc87ff14dfe711e2922f74.tar.gz
tdebase-a64c48384870e07d06bc87ff14dfe711e2922f74.zip
twin: Add opaque tiling option
Signed-off-by: Mavridis Philippe <[email protected]> (cherry picked from commit bc6893644c1ae2dc82c9a30b5c1d6cb3d0f193e1)
Diffstat (limited to 'twin')
-rw-r--r--twin/client.h1
-rw-r--r--twin/geometry.cpp93
-rw-r--r--twin/kcmtwin/twinoptions/windows.cpp147
-rw-r--r--twin/kcmtwin/twinoptions/windows.h35
-rw-r--r--twin/options.cpp5
-rw-r--r--twin/options.h3
-rw-r--r--twin/workspace.cpp2
7 files changed, 163 insertions, 123 deletions
diff --git a/twin/client.h b/twin/client.h
index d895fc441..98ff68c1a 100644
--- a/twin/client.h
+++ b/twin/client.h
@@ -237,6 +237,7 @@ class Client : public TQObject, public KDecorationDefines
ActiveMaximizingMode activeBorderMode() const;
ActiveBorder activeBorder() const;
void setActiveBorderMaximizing(bool maximizing);
+ void cancelActiveBorderMaximizing();
bool isActiveBorderMaximizing() const;
TQRect activeBorderMaximizeGeometry();
diff --git a/twin/geometry.cpp b/twin/geometry.cpp
index 4bb6714ae..2dd752b02 100644
--- a/twin/geometry.cpp
+++ b/twin/geometry.cpp
@@ -2216,8 +2216,8 @@ void Client::updateFullScreenHack( const TQRect& geom )
workspace()->updateClientLayer( this ); // active fullscreens get different layer
}
-static TQRect* visible_bound = 0;
-static GeometryTip* geometryTip = 0;
+static TQRect* visible_bound = nullptr;
+static GeometryTip* geometryTip = nullptr;
void Client::drawbound( const TQRect& geom )
{
@@ -2258,34 +2258,33 @@ void Client::doDrawbound( const TQRect& geom, bool clear )
p.drawRect( g );
}
-void Client::positionGeometryTip()
- {
- assert( isMove() || isResize());
+void Client::positionGeometryTip() {
+ assert(isMove() || isResize());
+
// Position and Size display
- if (options->showGeometryTip())
- {
- if( !geometryTip )
- { // save under is not necessary with opaque, and seem to make things slower
+ if (options->showGeometryTip()) {
+ if (!geometryTip) {
+ // save under is not necessary with opaque, and seem to make things slower
bool save_under = ( isMove() && rules()->checkMoveResizeMode( options->moveMode ) != Options::Opaque )
- || ( isResize() && rules()->checkMoveResizeMode( options->resizeMode ) != Options::Opaque );
+ || ( isResize() && rules()->checkMoveResizeMode( options->resizeMode ) != Options::Opaque );
geometryTip = new GeometryTip( &xSizeHint, save_under );
- }
- TQRect wgeom( moveResizeGeom ); // position of the frame, size of the window itself
- wgeom.setWidth( wgeom.width() - ( width() - clientSize().width()));
- wgeom.setHeight( wgeom.height() - ( height() - clientSize().height()));
- if( isShade())
- wgeom.setHeight( 0 );
- geometryTip->setGeometry( wgeom );
- if( !geometryTip->isVisible())
- {
+ }
+
+ // position of the frame, size of the window itself
+ TQRect wgeom(isActiveBorderMaximizing() ? activeBorderMaximizeGeometry() : moveResizeGeom);
+ wgeom.setWidth(wgeom.width() - (width() - clientSize().width()));
+ wgeom.setHeight(isShade() ? 0 : wgeom.height() - (height() - clientSize().height()));
+
+ geometryTip->setGeometry(wgeom);
+ if (!geometryTip->isVisible()) {
geometryTip->show();
geometryTip->raise();
- }
}
}
+}
class EatAllPaintEvents
- : public QObject
+ : public TQObject
{
protected:
virtual bool eventFilter( TQObject* o, TQEvent* e )
@@ -2373,7 +2372,7 @@ bool Client::startMoveResize()
// paint events on some widgets due to FocusIn(?)
// eat them, otherwise XOR painting will be broken (#58054)
// paint events for the geometrytip need to be allowed, though
- eater = new EatAllPaintEvents;
+ // eater = new EatAllPaintEvents;
// not needed anymore? kapp->installEventFilter( eater );
}
Notify::raise( isResize() ? Notify::ResizeStart : Notify::MoveStart );
@@ -2403,10 +2402,9 @@ void Client::finishMoveResize( bool cancel )
activeMaximizing = false;
activeTiled = true;
activeTiledOrigGeom = initialMoveResizeGeom;
- switch(activeMode)
+ switch (activeMode)
{
- case ActiveMaximizeMode:
- {
+ case ActiveMaximizeMode: {
if (!cancel) {
bool full = (maximizeMode() == MaximizeFull);
setMaximize(!full, !full);
@@ -2511,26 +2509,21 @@ void Client::checkUnrestrictedMoveResize()
}
}
-void Client::handleMoveResize( int x, int y, int x_root, int y_root )
- {
+void Client::handleMoveResize(int x, int y, int x_root, int y_root) {
if ( (mode == PositionCenter && !isMovable())
|| (mode != PositionCenter && (isShade() || !isResizable())) )
return;
- if (!moveResizeMode)
- {
+ if (!moveResizeMode) {
TQPoint p(TQPoint( x, y ) - moveOffset);
- if (p.manhattanLength() >= 6)
- {
- if(!startMoveResize())
- {
+ if (p.manhattanLength() >= 6) {
+ if (!startMoveResize()) {
buttonDown = false;
setCursor( mode );
return;
}
}
- else
- return;
+ else return;
}
// ShadeHover or ShadeActive, ShadeNormal was already avoided above
@@ -2686,13 +2679,16 @@ void Client::handleMoveResize( int x, int y, int x_root, int y_root )
if (update)
{
- if (rules()->checkMoveResizeMode(isResize() ? options->resizeMode : options->moveMode) == Options::Opaque
- && !isActiveBorderMaximizing())
+ bool active = isActiveBorderMaximizing();
+ auto mode = active ? options->tilingMode
+ : isResize() ? options->resizeMode : options->moveMode;
+
+ if (rules()->checkMoveResizeMode(mode) == Options::Opaque)
{
- setGeometry( moveResizeGeom );
+ setGeometry(active ? activeBorderMaximizeGeometry() : moveResizeGeom);
positionGeometryTip();
}
- else if (rules()->checkMoveResizeMode(isResize() ? options->resizeMode : options->moveMode) == Options::Transparent )
+ else if (rules()->checkMoveResizeMode(mode) == Options::Transparent)
{
/* It's necessary to move the geometry tip when there's no outline
* shown, otherwise it would cause repaint problems in case
@@ -2701,11 +2697,12 @@ void Client::handleMoveResize( int x, int y, int x_root, int y_root )
*/
clearbound();
positionGeometryTip();
- drawbound(isActiveBorderMaximizing() ? activeBorderMaximizeGeometry() : moveResizeGeom);
+ drawbound(active ? activeBorderMaximizeGeometry() : moveResizeGeom);
}
}
- if (isMove())
- workspace()->checkActiveBorder(globalPos, GET_QT_X_TIME());
+ if (isMove()) {
+ workspace()->checkActiveBorder(globalPos, GET_QT_X_TIME());
+ }
}
void Client::setActiveBorderMode( ActiveMaximizingMode mode )
@@ -2734,16 +2731,24 @@ bool Client::isActiveBorderMaximizing() const
void Client::setActiveBorderMaximizing( bool maximizing )
{
activeMaximizing = maximizing;
+ bool opaque = rules()->checkMoveResizeMode(options->tilingMode) == Options::Opaque;
- if (maximizing || rules()->checkMoveResizeMode(isResize() ? options->resizeMode : options->moveMode) == Options::Opaque) {
+ if (maximizing || opaque) {
clearbound();
}
- if (maximizing) {
+ if (maximizing && !opaque) {
drawbound(activeBorderMaximizeGeometry());
}
}
+void Client::cancelActiveBorderMaximizing() {
+ activeMaximizing = false;
+ if (rules()->checkMoveResizeMode(options->tilingMode) == Options::Transparent) {
+ clearbound();
+ }
+}
+
TQRect Client::activeBorderMaximizeGeometry()
{
TQRect ret;
diff --git a/twin/kcmtwin/twinoptions/windows.cpp b/twin/kcmtwin/twinoptions/windows.cpp
index b4f51401c..4731f43d9 100644
--- a/twin/kcmtwin/twinoptions/windows.cpp
+++ b/twin/kcmtwin/twinoptions/windows.cpp
@@ -29,7 +29,7 @@
#include <tqslider.h>
#include <tqwhatsthis.h>
#include <tqvbuttongroup.h>
-#include <tqhbox.h>
+#include <tqvbox.h>
#include <tqcheckbox.h>
#include <tqradiobutton.h>
#include <tqlabel.h>
@@ -58,10 +58,11 @@
// twin config keywords
#define KWIN_FOCUS "FocusPolicy"
#define KWIN_PLACEMENT "Placement"
-#define KWIN_MOVE "MoveMode"
+#define KWIN_MOVE_MODE "MoveMode"
+#define KWIN_RESIZE_MODE "ResizeMode"
+#define KWIN_TILING_MODE "TilingMode"
#define KWIN_MINIMIZE_ANIM "AnimateMinimize"
#define KWIN_MINIMIZE_ANIM_SPEED "AnimateMinimizeSpeed"
-#define KWIN_RESIZE_OPAQUE "ResizeMode"
#define KWIN_GEOMETRY "GeometryTip"
#define KWIN_AUTORAISE_INTERVAL "AutoRaiseInterval"
#define KWIN_AUTORAISE "AutoRaise"
@@ -644,8 +645,15 @@ KActiveBorderConfig::KActiveBorderConfig(bool _standAlone, TDEConfig *_config, T
active_tile_conf = new TQWidget(active_box);
TQHBoxLayout *active_tile_conf_hbox = new TQHBoxLayout(active_tile_conf);
active_tile_conf_hbox->addSpacing(20);
- active_tile_conf_hbox->setAutoAdd(true);
- active_maximize = new TQCheckBox(i18n("Maximize windows by dragging them to the &top of the screen"), active_tile_conf);
+ TQVBox *active_tile_conf_vbox = new TQVBox(active_tile_conf);
+ active_tile_conf_hbox->addWidget(active_tile_conf_vbox);
+ active_maximize = new TQCheckBox(i18n("Maximize windows by dragging them to the &top of the screen"), active_tile_conf_vbox);
+ tilingOpaque = new TQCheckBox(i18n("Display content &while tiling windows"), active_tile_conf_vbox);
+ TQWhatsThis::add(tilingOpaque, i18n("Enable this option if you want a window's"
+ " content to be shown while tiling it,"
+ " instead of just showing a window"
+ " 'skeleton'. The result may not be "
+ " satisfying on slow machines."));
delays = new KIntNumInput(10, active_box);
delays->setRange(0, MAX_EDGE_RES, 50, true);
@@ -675,15 +683,18 @@ KActiveBorderConfig::KActiveBorderConfig(bool _standAlone, TDEConfig *_config, T
active_vbox->addSpacing(15);
active_vbox->addWidget(delays);
active_vbox->addWidget(distance);
+ active_vbox->addSpacing(15);
+ active_vbox->addWidget(tilingOpaque);
connect(active_box, TQT_SIGNAL(clicked(int)), this, TQT_SLOT(updateActiveBorders()));
- // Any changes goes to slotChanged()
+ // Any changes go to slotChanged()
connect(active_box, TQT_SIGNAL(clicked(int)), this, TQT_SLOT(changed()));
connect(active_move, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed()));
connect(active_maximize, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed()));
connect(delays, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(changed()));
connect(distance, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(changed()));
+ connect(tilingOpaque, TQT_SIGNAL(clicked()), this, TQT_SLOT(changed()));
lay->addWidget(active_box);
lay->addStretch();
@@ -708,6 +719,12 @@ void KActiveBorderConfig::load() {
setActiveBorderDelay(active_borders_delay);
setActiveBorderDistance(config->readNumEntry(KWIN_ACTIVE_BORDER_DISTANCE, 10));
+ TQString tilingMode = config->readEntry(KWIN_TILING_MODE, "Opaque");
+ if (tilingMode == "Opaque")
+ setTilingMode(OPAQUE);
+ else if (tilingMode == "Transparent")
+ setTilingMode(TRANSPARENT);
+
emit TDECModule::changed(false);
}
@@ -722,6 +739,12 @@ void KActiveBorderConfig::save() {
config->deleteEntry(KWIN_OLD_ACTIVE_BORDERS);
config->deleteEntry(KWIN_OLD_ACTIVE_BORDER_DELAY);
+ int tilingMode = getTilingMode();
+ if (tilingMode == OPAQUE)
+ config->writeEntry(KWIN_TILING_MODE, "Opaque");
+ else
+ config->writeEntry(KWIN_TILING_MODE, "Transparent");
+
if (standAlone)
{
config->sync();
@@ -736,9 +759,18 @@ void KActiveBorderConfig::defaults() {
setActiveBorders(0);
setActiveBorderDelay(150);
setActiveBorderDistance(10);
+ setTilingMode(TRANSPARENT);
emit TDECModule::changed(true);
}
+int KActiveBorderConfig::getTilingMode() {
+ return tilingOpaque->isChecked() ? OPAQUE : TRANSPARENT;
+}
+
+void KActiveBorderConfig::setTilingMode(int opaque) {
+ tilingOpaque->setChecked(opaque == OPAQUE);
+}
+
void KActiveBorderConfig::updateActiveBorders() {
active_desktop_conf->setEnabled(active_desktop->isChecked());
active_tile_conf->setEnabled(active_tile->isChecked());
@@ -958,17 +990,17 @@ KMovingConfig::KMovingConfig (bool _standAlone, TDEConfig *_config, TQWidget *pa
TQBoxLayout *bLay = new TQVBoxLayout;
wLay->addLayout(bLay);
- opaque = new TQCheckBox(i18n("Di&splay content in moving windows"), windowsBox);
- bLay->addWidget(opaque);
- TQWhatsThis::add( opaque, i18n("Enable this option if you want a window's content to be fully shown"
- " while moving it, instead of just showing a window 'skeleton'. The result may not be satisfying"
- " on slow machines without graphic acceleration.") );
+ moveOpaque = new TQCheckBox(i18n("Di&splay content in moving windows"), windowsBox);
+ bLay->addWidget(moveOpaque);
+ TQWhatsThis::add(moveOpaque, i18n("Enable this option if you want a window's content to be fully shown"
+ " while moving it, instead of just showing a window 'skeleton'. The result may not be satisfying"
+ " on slow machines without graphic acceleration."));
- resizeOpaqueOn = new TQCheckBox(i18n("Display content in &resizing windows"), windowsBox);
- bLay->addWidget(resizeOpaqueOn);
- TQWhatsThis::add( resizeOpaqueOn, i18n("Enable this option if you want a window's content to be shown"
- " while resizing it, instead of just showing a window 'skeleton'. The result may not be satisfying"
- " on slow machines.") );
+ resizeOpaque = new TQCheckBox(i18n("Display content in &resizing windows"), windowsBox);
+ bLay->addWidget(resizeOpaque);
+ TQWhatsThis::add(resizeOpaque, i18n("Enable this option if you want a window's content to be shown"
+ " while resizing it, instead of just showing a window 'skeleton'. The result may not be satisfying"
+ " on slow machines."));
geometryTipOn = new TQCheckBox(i18n("Display window &geometry when moving or resizing"), windowsBox);
bLay->addWidget(geometryTipOn);
@@ -988,7 +1020,7 @@ KMovingConfig::KMovingConfig (bool _standAlone, TDEConfig *_config, TQWidget *pa
" windows are minimized or restored." ) );
rLay->addWidget(minimizeAnimOn,0,0);
- minimizeAnimSlider = new TQSlider(0,10,10,0,Qt::Horizontal, windowsBox);
+ minimizeAnimSlider = new TQSlider(0,10,10,0,TQt::Horizontal, windowsBox);
minimizeAnimSlider->setSteps(1, 1);
// TQSlider::Below clashes with a X11/X.h #define
#undef Below
@@ -1111,8 +1143,8 @@ KMovingConfig::KMovingConfig (bool _standAlone, TDEConfig *_config, TQWidget *pa
load();
// Any changes goes to slotChanged()
- connect( opaque, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
- connect( resizeOpaqueOn, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
+ connect( moveOpaque, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
+ connect( resizeOpaque, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
connect( geometryTipOn, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
connect( minimizeAnimOn, TQT_SIGNAL(clicked() ), TQT_SLOT(changed()));
connect( minimizeAnimSlider, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(changed()));
@@ -1130,16 +1162,6 @@ KMovingConfig::KMovingConfig (bool _standAlone, TDEConfig *_config, TQWidget *pa
slotWndwSnapChanged(WndwSnap->value());
}
-int KMovingConfig::getMove()
-{
- return (opaque->isChecked())? OPAQUE : TRANSPARENT;
-}
-
-void KMovingConfig::setMove(int trans)
-{
- opaque->setChecked(trans == OPAQUE);
-}
-
void KMovingConfig::setGeometryTip(bool showGeometryTip)
{
geometryTipOn->setChecked(showGeometryTip);
@@ -1184,14 +1206,23 @@ void KMovingConfig::setMinimizeAnimSpeed(int speed)
minimizeAnimSlider->setValue(speed);
}
-int KMovingConfig::getResizeOpaque()
+int KMovingConfig::getMoveMode() {
+ return moveOpaque->isChecked() ? OPAQUE : TRANSPARENT;
+}
+
+void KMovingConfig::setMoveMode(int opaque)
+{
+ moveOpaque->setChecked(opaque == OPAQUE);
+}
+
+int KMovingConfig::getResizeMode()
{
- return (resizeOpaqueOn->isChecked())? RESIZE_OPAQUE : RESIZE_TRANSPARENT;
+ return resizeOpaque->isChecked() ? OPAQUE : TRANSPARENT;
}
-void KMovingConfig::setResizeOpaque(int opaque)
+void KMovingConfig::setResizeMode(int opaque)
{
- resizeOpaqueOn->setChecked(opaque == RESIZE_OPAQUE);
+ resizeOpaque->setChecked(opaque == OPAQUE);
}
void KMovingConfig::setMoveResizeMaximized(bool a) {
@@ -1216,11 +1247,18 @@ void KMovingConfig::load( void )
config->setGroup( "Windows" );
- key = config->readEntry(KWIN_MOVE, "Opaque");
- if( key == "Transparent")
- setMove(TRANSPARENT);
- else if( key == "Opaque")
- setMove(OPAQUE);
+ // DF: please keep the default consistent with twin (options.cpp)
+ key = config->readEntry(KWIN_MOVE_MODE, "Opaque");
+ if (key == "Opaque")
+ setMoveMode(OPAQUE);
+ else if (key == "Transparent")
+ setMoveMode(TRANSPARENT);
+
+ key = config->readEntry(KWIN_RESIZE_MODE, "Opaque");
+ if (key == "Opaque")
+ setResizeMode(OPAQUE);
+ else if (key == "Transparent")
+ setResizeMode(TRANSPARENT);
//CT 17Jun1998 - variable animation speed from 0 (none!!) to 10 (max)
bool anim = config->readBoolEntry(KWIN_MINIMIZE_ANIM, true );
@@ -1230,13 +1268,6 @@ void KMovingConfig::load( void )
setMinimizeAnim( anim );
setMinimizeAnimSpeed( animSpeed );
- // DF: please keep the default consistent with twin (options.cpp line 145)
- key = config->readEntry(KWIN_RESIZE_OPAQUE, "Opaque");
- if( key == "Opaque")
- setResizeOpaque(RESIZE_OPAQUE);
- else if ( key == "Transparent")
- setResizeOpaque(RESIZE_TRANSPARENT);
-
//KS 10Jan2003 - Geometry Tip during window move/resize
bool showGeomTip = config->readBoolEntry(KWIN_GEOMETRY, false);
setGeometryTip( showGeomTip );
@@ -1301,16 +1332,22 @@ void KMovingConfig::save( void )
config->setGroup( "Windows" );
- v = getMove();
- if (v == TRANSPARENT)
- config->writeEntry(KWIN_MOVE,"Transparent");
+ v = getMoveMode();
+ if (v == OPAQUE)
+ config->writeEntry(KWIN_MOVE_MODE, "Opaque");
+ else
+ config->writeEntry(KWIN_MOVE_MODE, "Transparent");
+
+ v = getResizeMode();
+ if (v == OPAQUE)
+ config->writeEntry(KWIN_RESIZE_MODE, "Opaque");
else
- config->writeEntry(KWIN_MOVE,"Opaque");
+ config->writeEntry(KWIN_RESIZE_MODE, "Transparent");
config->writeEntry(KWIN_GEOMETRY, getGeometryTip());
// placement policy --- CT 31jan98 ---
- v =getPlacement();
+ v = getPlacement();
if (v == RANDOM_PLACEMENT)
config->writeEntry(KWIN_PLACEMENT, "Random");
else if (v == CASCADE_PLACEMENT)
@@ -1334,12 +1371,6 @@ void KMovingConfig::save( void )
config->writeEntry(KWIN_MINIMIZE_ANIM, getMinimizeAnim());
config->writeEntry(KWIN_MINIMIZE_ANIM_SPEED, getMinimizeAnimSpeed());
- v = getResizeOpaque();
- if (v == RESIZE_OPAQUE)
- config->writeEntry(KWIN_RESIZE_OPAQUE, "Opaque");
- else
- config->writeEntry(KWIN_RESIZE_OPAQUE, "Transparent");
-
config->writeEntry(KWIN_MOVE_RESIZE_MAXIMIZED, moveResizeMaximized->isChecked());
config->writeEntry(KWIN_RESET_MAX_WIN_GEOM, resetMaximizedWindowGeometry->isChecked());
@@ -1360,8 +1391,8 @@ void KMovingConfig::save( void )
void KMovingConfig::defaults()
{
- setMove(OPAQUE);
- setResizeOpaque(RESIZE_TRANSPARENT);
+ setMoveMode(OPAQUE);
+ setResizeMode(TRANSPARENT);
setGeometryTip(false);
setPlacement(SMART_PLACEMENT);
setMoveResizeMaximized(false);
diff --git a/twin/kcmtwin/twinoptions/windows.h b/twin/kcmtwin/twinoptions/windows.h
index 819035b9b..80c9e76d7 100644
--- a/twin/kcmtwin/twinoptions/windows.h
+++ b/twin/kcmtwin/twinoptions/windows.h
@@ -50,9 +50,6 @@ class KIntNumInput;
#define TITLEBAR_PLAIN 0
#define TITLEBAR_SHADED 1
-#define RESIZE_TRANSPARENT 0
-#define RESIZE_OPAQUE 1
-
#define SMART_PLACEMENT 0
#define MAXIMIZING_PLACEMENT 1
#define CASCADE_PLACEMENT 2
@@ -147,30 +144,30 @@ public:
private slots:
void setMinimizeAnim( bool );
void setMinimizeAnimSpeed( int );
- void changed() { emit TDECModule::changed(true); }
+ void changed() { emit TDECModule::changed(true); }
void slotBrdrSnapChanged( int );
void slotWndwSnapChanged( int );
private:
- int getMove( void );
+ int getMoveMode( void );
+ int getResizeMode ( void );
bool getMinimizeAnim( void );
- int getMinimizeAnimSpeed( void );
- int getResizeOpaque ( void );
+ int getMinimizeAnimSpeed( void );
bool getGeometryTip( void ); //KS
- int getPlacement( void ); //CT
+ int getPlacement( void ); //CT
- void setMove(int);
- void setResizeOpaque(int);
+ void setMoveMode(int);
+ void setResizeMode(int);
void setGeometryTip(bool); //KS
void setPlacement(int); //CT
void setMoveResizeMaximized(bool);
void setResetMaximizedWindowGeometry(bool);
TQButtonGroup *windowsBox;
- TQCheckBox *opaque;
- TQCheckBox *resizeOpaqueOn;
+ TQCheckBox *moveOpaque;
+ TQCheckBox *resizeOpaque;
TQCheckBox *geometryTipOn;
- TQCheckBox* minimizeAnimOn;
+ TQCheckBox *minimizeAnimOn;
TQSlider *minimizeAnimSlider;
TQLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel;
TQCheckBox *moveResizeMaximized;
@@ -211,12 +208,15 @@ class KActiveBorderConfig : public TDECModule
void changed() { emit TDECModule::changed(true); }
private:
- int getActiveBorders( void );
+ int getActiveBorders();
int getActiveBorderDelay();
int getActiveBorderDistance();
- void setActiveBorders( int );
- void setActiveBorderDelay( int );
- void setActiveBorderDistance( int );
+ int getTilingMode();
+
+ void setActiveBorders(int);
+ void setActiveBorderDelay(int);
+ void setActiveBorderDistance(int);
+ void setTilingMode(int);
TQButtonGroup *active_box;
TQRadioButton *active_disable;
@@ -228,6 +228,7 @@ class KActiveBorderConfig : public TDECModule
KIntNumInput *distance;
TQWidget *active_desktop_conf;
TQWidget *active_tile_conf;
+ TQCheckBox *tilingOpaque;
TDEConfig *config;
bool standAlone;
diff --git a/twin/options.cpp b/twin/options.cpp
index 6a0963910..60d8cd145 100644
--- a/twin/options.cpp
+++ b/twin/options.cpp
@@ -51,8 +51,9 @@ unsigned long Options::updateSettings()
changed |= d->updateKWinSettings( config ); // read decoration settings
config->setGroup( "Windows" );
- moveMode = stringToMoveResizeMode( config->readEntry("MoveMode", "Opaque" ));
- resizeMode = stringToMoveResizeMode( config->readEntry("ResizeMode", "Opaque" ));
+ moveMode = stringToMoveResizeMode(config->readEntry("MoveMode", "Opaque"));
+ resizeMode = stringToMoveResizeMode(config->readEntry("ResizeMode", "Opaque"));
+ tilingMode = stringToMoveResizeMode(config->readEntry("TilingMode", "Opaque"));
show_geometry_tip = config->readBoolEntry("GeometryTip", false);
reset_maximized_window_geometry = config->readBoolEntry("ResetMaximizedWindowGeometry", false);
tabboxOutline = config->readBoolEntry("TabboxOutline", true);
diff --git a/twin/options.h b/twin/options.h
index 3227e57d7..41d1340a7 100644
--- a/twin/options.h
+++ b/twin/options.h
@@ -147,8 +147,9 @@ class Options : public KDecorationOptions
*/
enum MoveResizeMode { Transparent, Opaque };
- MoveResizeMode resizeMode;
MoveResizeMode moveMode;
+ MoveResizeMode resizeMode;
+ MoveResizeMode tilingMode;
static MoveResizeMode stringToMoveResizeMode( const TQString& s );
static const char* moveResizeModeToString( MoveResizeMode mode );
diff --git a/twin/workspace.cpp b/twin/workspace.cpp
index d7abcd3a3..70308af3e 100644
--- a/twin/workspace.cpp
+++ b/twin/workspace.cpp
@@ -2552,7 +2552,7 @@ void Workspace::checkActiveBorder(const TQPoint &pos, Time now)
(options->activeBorders() == Options::ActiveTileMaximize ||
options->activeBorders() == Options::ActiveTileOnly))
{
- movingClient->setActiveBorderMaximizing(false);
+ movingClient->cancelActiveBorderMaximizing();
return;
}
}