diff --git a/kcontrol/konsole/kcmkonsole.cpp b/kcontrol/konsole/kcmkonsole.cpp
index ace7409a7..7dfb77dae 100644
--- a/kcontrol/konsole/kcmkonsole.cpp
+++ b/kcontrol/konsole/kcmkonsole.cpp
@@ -74,6 +74,7 @@ KCMKonsole::KCMKonsole(TQWidget * parent, const char *name, const TQStringList&)
connect(dialog->tabsCycleWheelCB,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->menuAcceleratorsCB,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->metaAsAltModeCB,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
+ connect(dialog->realTransparency,TQT_SIGNAL(toggled(bool)), TQT_SLOT( changed() ));
connect(dialog->silence_secondsSB,TQT_SIGNAL(valueChanged(int)), TQT_SLOT( changed() ));
connect(dialog->word_connectorLE,TQT_SIGNAL(textChanged(const TQString &)), TQT_SLOT( changed() ));
connect(dialog->SchemaEditor1, TQT_SIGNAL(changed()), TQT_SLOT( changed() ));
@@ -112,6 +113,8 @@ void KCMKonsole::load(bool useDefaults)
dialog->silence_secondsSB->setValue(config.readUnsignedNumEntry( "SilenceSeconds", 10 ));
dialog->word_connectorLE->setText(config.readEntry("wordseps",":@-./_~"));
dialog->metaAsAltModeCB->setChecked(config.readBoolEntry("metaAsAltMode",false));
+ realTransparencyOrig = config.readBoolEntry("RealTransparency",false);
+ dialog->realTransparency->setChecked(realTransparencyOrig);
dialog->SchemaEditor1->setSchema(config.readEntry("schema"));
@@ -153,6 +156,8 @@ void KCMKonsole::save()
config.writeEntry("SilenceSeconds" , dialog->silence_secondsSB->value());
config.writeEntry("wordseps", dialog->word_connectorLE->text());
config.writeEntry("metaAsAltMode", dialog->metaAsAltModeCB->isChecked());
+ bool realTransparencyNew = dialog->realTransparency->isChecked();
+ config.writeEntry("RealTransparency", realTransparencyNew);
config.writeEntry("schema", dialog->SchemaEditor1->schema());
@@ -174,6 +179,12 @@ void KCMKonsole::save()
"settings of existing Konsole sessions."));
}
+ if (realTransparencyOrig != realTransparencyNew)
+ {
+ KMessageBox::information(this, i18n("The real transparency setting will only affect "
+ "newly started Konsole sessions.\n"));
+ }
+
if (bidiNew && !bidiOrig)
{
KMessageBox::information(this, i18n("You have chosen to enable "
diff --git a/kcontrol/konsole/kcmkonsole.h b/kcontrol/konsole/kcmkonsole.h
index 561cb4502..abdd4cc76 100644
--- a/kcontrol/konsole/kcmkonsole.h
+++ b/kcontrol/konsole/kcmkonsole.h
@@ -40,6 +40,7 @@ public:
private:
KCMKonsoleDialog *dialog;
bool xonXoffOrig;
+ bool realTransparencyOrig;
bool bidiOrig;
};
diff --git a/kcontrol/konsole/kcmkonsoledialog.ui b/kcontrol/konsole/kcmkonsoledialog.ui
index fea9ad139..a94a1b48b 100644
--- a/kcontrol/konsole/kcmkonsoledialog.ui
+++ b/kcontrol/konsole/kcmkonsoledialog.ui
@@ -174,7 +174,15 @@
Handle Meta &key as Alt Key
-
+
+
+ realTransparency
+
+
+ Use &real transparency
+
+
+
TextLabel1_4
@@ -193,7 +201,7 @@
line_spacingSB
-
+
Spacer3
@@ -210,7 +218,7 @@
-
+
line_spacingSB
@@ -246,7 +254,7 @@
-
+
SilenceLabel
@@ -265,7 +273,7 @@
silence_secondsSB
-
+
silence_secondsSB
@@ -284,7 +292,7 @@
unnamed
-
+
TextLabel1_3
@@ -295,7 +303,7 @@
word_connectorLE
-
+
word_connectorLE
diff --git a/konsole/konsole/konsole.cpp b/konsole/konsole/konsole.cpp
index b6d5e1c69..4faef5239 100644
--- a/konsole/konsole/konsole.cpp
+++ b/konsole/konsole/konsole.cpp
@@ -266,6 +266,7 @@ Konsole::Konsole(const char* name, int histon, bool menubaron, bool tabbaron, bo
,b_installBitmapFonts(false)
,b_framevis(true)
,b_metaAsAlt(false)
+,b_realTransparency(false)
,b_fullscreen(false)
,m_menuCreated(false)
,b_warnQuit(false)
@@ -361,11 +362,6 @@ Konsole::Konsole(const char* name, int histon, bool menubaron, bool tabbaron, bo
// connect(kapp, TQT_SIGNAL(tdedisplayFontChanged()), this, TQT_SLOT(slotFontChanged()));
kapp->dcopClient()->setDefaultObject( "konsole" );
-
- // Signal that we want to be transparent to the desktop, not to windows behind us...
- Atom kde_wm_transparent_to_desktop;
- kde_wm_transparent_to_desktop = XInternAtom(tqt_xdisplay(), "_TDE_TRANSPARENT_TO_DESKTOP", False);
- XChangeProperty(tqt_xdisplay(), winId(), kde_wm_transparent_to_desktop, XA_INTEGER, 32, PropModeReplace, (unsigned char *) "TRUE", 1L);
}
@@ -1616,6 +1612,20 @@ void Konsole::readProperties(TDEConfig* config, const TQString &schema, bool glo
s_word_seps= config->readEntry("wordseps",":@-./_~");
b_framevis = config->readBoolEntry("has frame",true);
b_metaAsAlt = config->readBoolEntry("metaAsAltMode",false);
+ b_realTransparency = config->readBoolEntry("RealTransparency",false);
+
+ Atom kde_wm_transparent_to_desktop;
+ kde_wm_transparent_to_desktop = XInternAtom(tqt_xdisplay(), "_TDE_TRANSPARENT_TO_DESKTOP", False);
+ if (b_realTransparency)
+ {
+ XDeleteProperty(tqt_xdisplay(), winId(), kde_wm_transparent_to_desktop);
+ }
+ else
+ {
+ // Signal that we want to be transparent to the desktop, not to windows behind us...
+ XChangeProperty(tqt_xdisplay(), winId(), kde_wm_transparent_to_desktop, XA_INTEGER, 32, PropModeReplace, (unsigned char *) "TRUE", 1L);
+ }
+
TQPtrList tes = activeTEs();
for (TEWidget *_te = tes.first(); _te; _te = tes.next()) {
_te->setWordCharacters(s_word_seps);
diff --git a/konsole/konsole/konsole.h b/konsole/konsole/konsole.h
index 30ca6e5a1..fff364eb7 100644
--- a/konsole/konsole/konsole.h
+++ b/konsole/konsole/konsole.h
@@ -428,6 +428,7 @@ private:
bool b_framevis:1;
bool b_metaAsAlt:1;
+ bool b_realTransparency:1;
bool b_fullscreen:1;
bool m_menuCreated:1;
bool b_warnQuit:1;