RHEL/Fedora: lots of patches for kdebase

pull/3/head
Francois Andriot 13 years ago
parent 6d4bf0b7b6
commit 865f39ca00

@ -0,0 +1,22 @@
--- kdebase-3.5.12/kdesktop/lock/lockprocess.cc.ORI 2011-12-21 18:40:05.553301746 +0100
+++ kdebase-3.5.12/kdesktop/lock/lockprocess.cc 2011-12-21 18:43:01.643590270 +0100
@@ -1045,17 +1045,13 @@
mHackProc << word;
}
- if (!mForbidden)
+ if (!mForbidden && mHackProc.start() == true)
{
-
- if (mHackProc.start() == true)
- {
#ifdef HAVE_SETPRIORITY
setpriority(PRIO_PROCESS, mHackProc.pid(), mPriority);
#endif
//bitBlt(this, 0, 0, &mOriginal);
return true;
- }
}
else
// we aren't allowed to start the specified screensaver either because it didn't run for some reason

@ -0,0 +1,297 @@
Index: kdesktop/lock/lockdlg.cc
===================================================================
--- kdesktop/lock/lockdlg.cc (revision 1261452)
+++ kdesktop/lock/lockdlg.cc (working copy)
@@ -115,7 +115,7 @@
frame->setFrameStyle( TQFrame::Panel | TQFrame::Raised );
frame->setLineWidth( 2 );
- TQLabel *pixLabel;
+ TQLabel *pixLabel = NULL;
if (!trinity_desktop_lock_use_system_modal_dialogs) {
pixLabel = new TQLabel( frame, "pixlabel" );
pixLabel->setPixmap(DesktopIcon("lock"));
@@ -134,7 +134,7 @@
i18n("<nobr><b>The session was locked by %1</b><br>").arg( user.fullName() ), frame );
}
- TQLabel *lockDTLabel;
+ TQLabel *lockDTLabel = NULL;
if ((trinity_desktop_lock_use_system_modal_dialogs) && (!m_lockStartDT.isNull())) {
lockDTLabel = new TQLabel(i18n("This session has been locked since %1").arg(m_lockStartDT.toString()), frame);
}
Index: kdesktop/lock/lockprocess.cc
===================================================================
--- kdesktop/lock/lockprocess.cc (revision 1261452)
+++ kdesktop/lock/lockprocess.cc (working copy)
@@ -173,6 +173,7 @@
mDialogControlLock(false),
mForceReject(false),
currentDialog(NULL),
+ mEnsureScreenHiddenTimer(NULL),
mForceContinualLockDisplayTimer(NULL),
mEnsureVRootWindowSecurityTimer(NULL),
mHackDelayStartupTimer(NULL),
@@ -288,6 +289,10 @@
hackResumeTimer->stop();
delete hackResumeTimer;
}
+ if (mEnsureScreenHiddenTimer != NULL) {
+ mEnsureScreenHiddenTimer->stop();
+ delete mEnsureScreenHiddenTimer;
+ }
if (mForceContinualLockDisplayTimer != NULL) {
mForceContinualLockDisplayTimer->stop();
delete mForceContinualLockDisplayTimer;
@@ -410,7 +415,7 @@
if (numread > 0) {
if (readbuf[0] == 'C') {
mInfoMessageDisplayed=false;
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
if (currentDialog != NULL) {
mForceReject = true;
@@ -423,7 +428,7 @@
to_display = to_display.remove(0,1);
// Lock out password dialogs and close any active dialog
mInfoMessageDisplayed=true;
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
if (currentDialog != NULL) {
mForceReject = true;
@@ -444,7 +449,7 @@
to_display = to_display.remove(0,1);
// Lock out password dialogs and close any active dialog
mInfoMessageDisplayed=true;
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
if (currentDialog != NULL) {
mForceReject = true;
@@ -468,7 +473,7 @@
to_display = to_display.remove(0,1);
// Lock out password dialogs and close any active dialog
mInfoMessageDisplayed=true;
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
if (currentDialog != NULL) {
mForceReject = true;
@@ -887,8 +892,13 @@
mRootWidth = rootAttr.width;
mRootHeight = rootAttr.height;
+ // Resize the background widget
setGeometry(0, 0, mRootWidth, mRootHeight);
+ // Black out the background widget to hide ugly resize tiling artifacts
+ setBackgroundColor(black);
+ erase();
+
// This slot needs to be able to execute very rapidly so as to prevent the user's desktop from ever
// being displayed, so we finish the hack restarting/display prettying operations in a separate timed slot
if (resizeTimer == NULL) {
@@ -902,7 +912,7 @@
{
stopHack();
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
if (closeCurrentWindow()) {
TQTimer::singleShot( 0, this, SLOT(doDesktopResizeFinish()) );
@@ -911,7 +921,13 @@
mDialogControlLock = false;
// Restart the hack as the window size is now different
- startHack();
+ if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) {
+ ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
+ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE);
+ }
+ else {
+ startHack();
+ }
mBusy = false;
}
@@ -1064,7 +1080,7 @@
if (!grabKeyboard())
{
- sleep(1);
+ usleep(100000);
if (!grabKeyboard())
{
return false;
@@ -1073,7 +1089,7 @@
if (!grabMouse())
{
- sleep(1);
+ usleep(100000);
if (!grabMouse())
{
XUngrabKeyboard(qt_xdisplay(), CurrentTime);
@@ -1117,7 +1133,7 @@
m_grayImage.fill(0); // Set the alpha buffer to 0 (fully transparent)
m_grayImage.setAlphaBuffer(true);
TQPixmap m_root;
- m_root.resize( TQApplication::desktop()->geometry().width(), TQApplication::desktop()->geometry().height() );
+ m_root.resize(mRootWidth, mRootHeight);
TQPainter p;
p.begin( &m_root );
m_grayImage.setAlphaBuffer(false);
@@ -1144,14 +1160,21 @@
setBackgroundColor(black);
else
setBackgroundPixmap(backingPixmap);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
}
if (trinity_desktop_lock_use_system_modal_dialogs) {
// Try to get the root pixmap
- m_rootPixmap = new KRootPixmap(this);
+ if (!m_rootPixmap) m_rootPixmap = new KRootPixmap(this);
m_rootPixmap->setCustomPainting(true);
connect(m_rootPixmap, TQT_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQT_SLOT(slotPaintBackground(const TQPixmap &)));
m_rootPixmap->start();
+ // Sometimes KRootPixmap fails...make sure the desktop is hidden regardless
+ if (!mEnsureScreenHiddenTimer) {
+ mEnsureScreenHiddenTimer = new TQTimer( this );
+ connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) );
+ }
+ mEnsureScreenHiddenTimer->start(2000, true);
}
if (trinity_desktop_lock_in_sec_dlg == FALSE) {
@@ -1275,6 +1298,7 @@
if (!mHackProc.isRunning()) {
if (backingPixmap.isNull()) {
setBackgroundColor(black);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
}
else {
@@ -1298,6 +1322,7 @@
setBackgroundColor(black);
else
setBackgroundPixmap(backingPixmap);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
return false;
}
@@ -1344,6 +1369,7 @@
setBackgroundColor(black);
else
setBackgroundPixmap(backingPixmap);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
mSuspended = false;
}
@@ -1377,7 +1403,10 @@
else
setBackgroundPixmap(backingPixmap);
}
- if (backingPixmap.isNull()) erase();
+ if (backingPixmap.isNull()) {
+ setGeometry(0, 0, mRootWidth, mRootHeight);
+ erase();
+ }
else bitBlt(this, 0, 0, &backingPixmap);
if (trinity_desktop_lock_use_system_modal_dialogs) {
ENABLE_CONTINUOUS_LOCKDLG_DISPLAY
@@ -1416,7 +1445,10 @@
else
setBackgroundPixmap(backingPixmap);
}
- if (backingPixmap.isNull()) erase();
+ if (backingPixmap.isNull()) {
+ setGeometry(0, 0, mRootWidth, mRootHeight);
+ erase();
+ }
else bitBlt(this, 0, 0, &backingPixmap);
if (!mSuspended) {
if (trinity_desktop_lock_use_system_modal_dialogs) {
@@ -1492,6 +1524,7 @@
setBackgroundColor(black);
else
setBackgroundPixmap(backingPixmap);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
return;
}
@@ -1597,10 +1630,13 @@
}
mDialogs.prepend( dlg );
fakeFocusIn( dlg->winId());
- if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) erase();
+ if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) {
+ setGeometry(0, 0, mRootWidth, mRootHeight);
+ erase();
+ }
else bitBlt(this, 0, 0, &backingPixmap);
int rt = dlg->exec();
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
currentDialog = NULL;
mDialogs.remove( dlg );
if( mDialogs.isEmpty() ) {
@@ -1624,8 +1660,18 @@
return rt;
}
+void LockProcess::slotForcePaintBackground()
+{
+ TQPixmap blankPixmap(mRootWidth, mRootHeight);
+ blankPixmap.fill(Qt::black);
+ slotPaintBackground(blankPixmap);
+ printf("[WARNING] Unable to obtain desktop wallpaper in a timely manner. High system load or possibly a TDE bug!\n\r"); fflush(stdout);
+}
+
void LockProcess::slotPaintBackground(const TQPixmap &rpm)
{
+ mEnsureScreenHiddenTimer->stop();
+
TQPixmap pm = rpm;
if (TQPaintDevice::x11AppDepth() == 32) {
@@ -1652,6 +1698,7 @@
backingPixmap = pm;
if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced) {
setBackgroundPixmap(backingPixmap);
+ setGeometry(0, 0, mRootWidth, mRootHeight);
erase();
}
}
@@ -1677,7 +1724,7 @@
mBusy=true;
TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed()));
if (mkeyCode == XKeysymToKeycode(qt_xdisplay(), XF86XK_Display)) {
- while (mDialogControlLock == true) sleep(1);
+ while (mDialogControlLock == true) usleep(100000);
mDialogControlLock = true;
currentDialog->close(); // DO NOT use closeCurrentWindow() here!
mDialogControlLock = false;
Index: kdesktop/lock/lockprocess.h
===================================================================
--- kdesktop/lock/lockprocess.h (revision 1261452)
+++ kdesktop/lock/lockprocess.h (working copy)
@@ -74,6 +74,7 @@
void doDesktopResizeFinish();
void doFunctionKeyBroadcast();
void slotPaintBackground(const TQPixmap &pm);
+ void slotForcePaintBackground();
protected:
virtual bool x11Event(XEvent *);
@@ -181,6 +182,7 @@
bool mForceReject;
TQDialog *currentDialog;
+ TQTimer* mEnsureScreenHiddenTimer;
TQTimer* mForceContinualLockDisplayTimer;
TQTimer* mEnsureVRootWindowSecurityTimer;
TQTimer* mHackDelayStartupTimer;

@ -0,0 +1,11 @@
--- kdebase/kdesu/kdesu/kdesu.cpp.orig 2011-10-26 21:06:48.000000000 +0200
+++ kdebase/kdesu/kdesu/kdesu.cpp 2012-01-01 16:54:11.468303046 +0100
@@ -274,7 +274,7 @@
// Try to exec the command with kdesud.
bool keep = !args->isSet("n") && have_daemon;
- bool terminal = true;
+ bool terminal = args->isSet("t");
bool new_dcop = args->isSet("newdcop");
bool withIgnoreButton = args->isSet("ignorebutton");

@ -0,0 +1,19 @@
diff -urN /dev/shm/kdebase/konqueror/listview/konq_listviewwidget.cc /dev/shm/kdebase.new/konqueror/listview/konq_listviewwidget.cc
--- /dev/shm/kdebase/konqueror/listview/konq_listviewwidget.cc 2011-08-11 00:25:51.000000000 -0500
+++ /dev/shm/kdebase.new/konqueror/listview/konq_listviewwidget.cc 2011-12-03 20:55:00.000000000 -0600
@@ -1009,10 +1009,11 @@
// gather pixmap
TQPixmap *pix = new TQPixmap(*(_item->pixmap(0)));
- // call the icon effect
- KIconEffect::visualActivate(viewport(), rect, pix);
-
- delete(pix);
+ // call the icon effect if enabled
+ if (KGlobalSettings::showKonqIconActivationEffect() == true) {
+ KIconEffect::visualActivate(viewport(), rect, pix);
+ delete(pix);
+ }
}
}
else

@ -0,0 +1,41 @@
diff -urN kdebase/kpersonalizer/kospage.cpp kdebase.new2/kpersonalizer/kospage.cpp
--- kdebase/kpersonalizer/kospage.cpp 2011-08-21 02:08:16.000000000 -0500
+++ kdebase.new2/kpersonalizer/kospage.cpp 2011-12-22 09:27:39.000000000 -0600
@@ -142,7 +142,7 @@
ckcmdisplay->writeEntry("macStyle", false, true, true);
cglobal->setGroup("KDE");
- cglobal->writeEntry("SingleClick", true, true, true);
+ cglobal->writeEntry("SingleClick", false, true, true);
claunch->setGroup("FeedbackStyle");
claunch->writeEntry("BusyCursor", false);
@@ -351,8 +351,8 @@
textview_ospage->setText(i18n(
"<b>Window activation:</b> <i>Focus on click</i><br>"
"<b>Titlebar double-click:</b> <i>Shade window</i><br>"
- "<b>Mouse selection:</b> <i>Single click</i><br>"
- "<b>Application startup notification:</b> <i>busy cursor</i><br>"
+ "<b>Mouse selection:</b> <i>Double click</i><br>"
+ "<b>Application startup notification:</b> <i>none</i><br>"
"<b>Keyboard scheme:</b> <i>Trinity default</i><br>"
));
}
@@ -376,7 +376,7 @@
"<b>Window activation:</b> <i>Focus on click</i><br>"
"<b>Titlebar double-click:</b> <i>Maximize window</i><br>"
"<b>Mouse selection:</b> <i>Double click</i><br>"
- "<b>Application startup notification:</b> <i>busy cursor</i><br>"
+ "<b>Application startup notification:</b> <i>none</i><br>"
"<b>Keyboard scheme:</b> <i>Windows</i><br>"
));
}
@@ -400,7 +400,7 @@
b_MacMenuBar = ckcmdisplay->readBoolEntry("macStyle", false);
cglobal->setGroup("KDE");
- b_SingleClick = cglobal->readBoolEntry("SingleClick", true);
+ b_SingleClick = cglobal->readBoolEntry("SingleClick", false);
claunch->setGroup("FeedbackStyle");
b_BusyCursor = claunch->readBoolEntry("BusyCursor", false);

@ -0,0 +1,51 @@
Index: krandrapp.cpp
===================================================================
--- kcontrol/randr/krandrapp.cpp (revision 1261452)
+++ kcontrol/randr/krandrapp.cpp (working copy)
@@ -28,13 +28,20 @@
KRandRApp::KRandRApp()
: m_tray(new KRandRSystemTray(0L, "RANDRTray"))
{
+ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent()));
m_tray->show();
}
+void KRandRApp::handleX11ConfigChangeEvent()
+{
+ m_eventMergingTimer.stop();
+ m_tray->configChanged();
+}
+
bool KRandRApp::x11EventFilter(XEvent* e)
{
if (e->type == m_tray->screenChangeNotifyEvent()) {
- m_tray->configChanged();
+ m_eventMergingTimer.start(1000, TRUE);
}
return KApplication::x11EventFilter( e );
}
Index: krandrapp.h
===================================================================
--- kcontrol/randr/krandrapp.h (revision 1261452)
+++ kcontrol/randr/krandrapp.h (working copy)
@@ -19,6 +19,7 @@
#ifndef KRANDRAPP_H
#define KRANDRAPP_H
+#include <tqtimer.h>
#include <kuniqueapplication.h>
class KRandRSystemTray;
@@ -32,8 +33,12 @@
virtual bool x11EventFilter(XEvent * e);
+private slots:
+ void handleX11ConfigChangeEvent();
+
private:
KRandRSystemTray* m_tray;
+ TQTimer m_eventMergingTimer;
};
#endif

@ -0,0 +1,51 @@
Index: krandrapp.cpp
===================================================================
--- kcontrol/randr/krandrapp.cpp (revision 1261452)
+++ kcontrol/randr/krandrapp.cpp (working copy)
@@ -28,13 +28,20 @@
KRandRApp::KRandRApp()
: m_tray(new KRandRSystemTray(0L, "RANDRTray"))
{
+ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent()));
m_tray->show();
}
+void KRandRApp::handleX11ConfigChangeEvent()
+{
+ m_eventMergingTimer.stop();
+ m_tray->configChanged();
+}
+
bool KRandRApp::x11EventFilter(XEvent* e)
{
if (e->type == m_tray->screenChangeNotifyEvent()) {
- m_tray->configChanged();
+ m_eventMergingTimer.start(1000, TRUE);
}
return KApplication::x11EventFilter( e );
}
Index: krandrapp.h
===================================================================
--- kcontrol/randr/krandrapp.h (revision 1261452)
+++ kcontrol/randr/krandrapp.h (working copy)
@@ -19,6 +19,7 @@
#ifndef KRANDRAPP_H
#define KRANDRAPP_H
+#include <tqtimer.h>
#include <kuniqueapplication.h>
class KRandRSystemTray;
@@ -32,8 +33,12 @@
virtual bool x11EventFilter(XEvent * e);
+private slots:
+ void handleX11ConfigChangeEvent();
+
private:
KRandRSystemTray* m_tray;
+ TQTimer m_eventMergingTimer;
};
#endif

@ -0,0 +1,104 @@
Index: kicker/applets/systemtray/systemtrayapplet.cpp
===================================================================
--- kicker/applets/systemtray/systemtrayapplet.cpp (revision 1262481)
+++ kicker/applets/systemtray/systemtrayapplet.cpp (working copy)
@@ -34,6 +34,7 @@
#include <tqstyle.h>
#include <tqgrid.h>
#include <tqpainter.h>
+#include <tqimage.h>
#include <dcopclient.h>
#include <kapplication.h>
Index: kicker/applets/clock/clock.h
===================================================================
--- kicker/applets/clock/clock.h (revision 1262481)
+++ kicker/applets/clock/clock.h (working copy)
@@ -41,7 +41,6 @@
#include <kickertip.h>
#include "settings.h"
-#include "kshadowengine.h"
class TQTimer;
class TQBoxLayout;
@@ -283,8 +282,6 @@
TQDate clockGetDate();
virtual void updateKickerTip(KickerTip::Data&);
-
- KTextShadowEngine *shadowEngine();
k_dcop:
void reconfigure();
@@ -344,7 +341,6 @@
TQStringList _remotezonelist;
KPopupMenu* menu;
ClockAppletToolTip m_tooltip;
- KTextShadowEngine *m_shadowEngine;
};
Index: kicker/applets/clock/clock.cpp
===================================================================
--- kicker/applets/clock/clock.cpp (revision 1262481)
+++ kicker/applets/clock/clock.cpp (working copy)
@@ -277,10 +277,7 @@
{
TQRect tr(0, 0, width(), height());
- if (!KickerSettings::transparent())
- p->drawText(tr, AlignCenter, _timeStr);
- else
- _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size());
+ p->drawText(tr, AlignCenter, _timeStr);
}
//************************************************************
@@ -862,10 +859,7 @@
else
tr = TQRect(4, 2, width() - 8, height() - 4);
- if (!KickerSettings::transparent())
- p->drawText(tr, AlignCenter, _timeStr);
- else
- _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size());
+ p->drawText(tr, AlignCenter, _timeStr);
alreadyDrawing = false;
}
@@ -899,8 +893,7 @@
_prefs(new Prefs(sharedConfig())),
zone(new Zone(config())),
menu(0),
- m_tooltip(this),
- m_shadowEngine(0)
+ m_tooltip(this)
{
DCOPObject::setObjId("ClockApplet");
_prefs->readConfig();
@@ -938,7 +931,6 @@
ClockApplet::~ClockApplet()
{
- delete m_shadowEngine;
//reverse for the moment
KGlobal::locale()->removeCatalogue("clockapplet");
KGlobal::locale()->removeCatalogue("timezones"); // For time zone translations
@@ -959,15 +951,7 @@
}
-KTextShadowEngine *ClockApplet::shadowEngine()
-{
- if (!m_shadowEngine)
- m_shadowEngine = new KTextShadowEngine();
- return m_shadowEngine;
-}
-
-
int ClockApplet::widthForHeight(int h) const
{
if (orientation() == Qt::Vertical)

@ -4,7 +4,7 @@
#
echo "[startkde] Starting startkde." 1>&2
+export KDEDIR="${KDEDIR:-/opt/trinity}"
+export KDEDIR="/opt/trinity"
# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.

@ -0,0 +1,118 @@
--- kdebase/startkde.ORI 2011-12-12 20:09:21.984162840 +0100
+++ kdebase/startkde 2011-12-12 20:08:27.922834925 +0100
@@ -4,6 +4,7 @@
#
echo "[startkde] Starting startkde." 1>&2
+export KDEDIR="/opt/trinity"
# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.
@@ -74,39 +75,10 @@
echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2
export KDEHOME=$KDEHOME
else
- # $KDEHOME is NOT already preset in the environment. Try to help.
- # This might be overkill but does provide flexibility.
+ # $KDEHOME is NOT already preset in the environment.
+ # We always use ~/.trinity as default.
echo "[startkde] KDEHOME is not set." 1>&2
- if [ -d $HOME/.trinity ]; then
- # OK, this one is obvious.
- export KDEHOME=$HOME/.trinity
- elif [ -d $HOME/.trinity ]; then
- # Looks like the user had an old version of Trinity installed at last login
- echo "[startkde] Migrating old ~/.trinity directory to new ~/.trinity name." 1>&2
- mv $HOME/.trinity $HOME/.trinity
- export KDEHOME=$HOME/.trinity
- elif [ -f /usr/bin/kde4-config ]; then
- # Looks like KDE4 is installed.
- if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then
- # Presume $HOME/.kde is being used for KDE4 as it already exists.
- export KDEHOME=$HOME/.trinity
- else
- # Presume $HOME/.kde is being used for KDE4 to be on the safe side.
- export KDEHOME=$HOME/.trinity
- fi
- elif [ -f /opt/trinity/bin/kde-config ]; then
- # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4.
- export KDEHOME=$HOME/.trinity
- elif [ -f /opt/trinity/bin/kde-config ]; then
- # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4.
- export KDEHOME=$HOME/.trinity
- elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then
- # Looks like KDE3 or Trinity is installed and not playing second fiddle to KDE4.
- export KDEHOME=$HOME/.kde
- else
- # Resort to this and hope for the best!
- export KDEHOME=$HOME/.trinity
- fi
+ export KDEHOME=$HOME/.trinity
echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2
fi
@@ -117,51 +89,25 @@
fi
# Modify the following environment variables only as necessary.
-if [ -d /opt/trinity/games ]; then
- export PATH=/opt/trinity/games:$PATH
-fi
-if [ -d /opt/trinity/bin ]; then
- export PATH=/opt/trinity/bin:$PATH
-fi
-if [ -d /opt/trinity/games ]; then
- export PATH=/opt/trinity/games:$PATH
-fi
-if [ -d /opt/trinity/bin ]; then
- export PATH=/opt/trinity/bin:$PATH
-fi
-if [ -d /opt/trinity/share ]; then
- export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/
-fi
-if [ -d /opt/trinity/share ]; then
- export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/
+if [ -d ${KDEDIR}/games ]; then
+ export PATH=${KDEDIR}/games:$PATH
fi
-if [ -d /opt/trinity/etc/xdg ]; then
- export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/
+if [ -d ${KDEDIR}/bin ]; then
+ export PATH=${KDEDIR}/bin:$PATH
fi
-if [ -d /opt/trinity/etc/xdg ]; then
- export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/
+if [ -d ${KDEDIR}/share ]; then
+ export XDG_DATA_DIRS=$XDG_DATA_DIRS:${KDEDIR}/share/:/usr/share/
fi
-if [ -d /opt/trinity/share/man ]; then
- export MANPATH=/opt/trinity/share/man:$MANPATH
+if [ -d ${KDEDIR}/etc/xdg ]; then
+ export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:${KDEDIR}/etc/xdg/:/etc/xdg/
fi
-if [ -d /opt/trinity/share/man ]; then
- export MANPATH=/opt/trinity/share/man:$MANPATH
-fi
-if [ -d /opt/trinity ]; then
- if [ -n "$KDEDIRS" ]; then
- export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/
- else
- export KDEDIRS=/opt/trinity/:/usr/
- fi
-fi
-if [ -d /opt/trinity ]; then
- if [ -n "$KDEDIRS" ]; then
- export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/
- else
- export KDEDIRS=/opt/trinity/:/usr/
- fi
+if [ -d ${KDEDIR}/share/man ]; then
+ export MANPATH=${KDEDIR}/share/man:$MANPATH
fi
+# The TDE directory must be first in $KDEDIRS
+export KDEDIRS=${KDEDIR}/:$KDEDIRS:/usr/
+
test -n "$KDEHOME" && kdehome=`echo "$KDEHOME" | sed "s,^~/,$HOME/,"`
echo "[startkde] kdehome: $kdehome" 1>&2

@ -2,7 +2,7 @@
%if "%{?version}" == ""
%define version 3.5.12
%endif
%define release 13
%define release 14
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
@ -84,6 +84,8 @@ Patch14: kdebase-3.5.12-kickoff_unstable.patch
Patch15: kdebase-3.5.13-startkde_icon.patch
## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location
Patch16: kdebase-3.5.12-startkde_directories.patch
## [kdebase/kdesktop/lock] Fix missing black background
Patch17: kdebase-3.5.12-kdesktop_lock_fix.patch
# TDE unofficial patches for enhanced features
## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration
@ -290,6 +292,7 @@ Protocol handlers (KIOslaves) for personal information management, including:
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch20 -p4
%if 0%{?rhel} > 0
@ -669,6 +672,9 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%exclude %{_libdir}/libkdeinit_*.*
%changelog
* Wed Dec 21 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-14
- Fix kdesktop_lock missing black background on kscreensaver failure
* Thu Dec 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-13
- Backports patches from TDE 3.5.13-10
- Removes Kubuntu branding [TDE Bug #449]

@ -2,7 +2,7 @@
%if "%{?version}" == ""
%define version 3.5.13
%endif
%define release 13
%define release 14
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
@ -54,8 +54,6 @@ Source5: pamd.kscreensaver-trinity%{?dist}
# (none)
# TDE unofficial patches, fixing FTBFS
## [kdebase/kdm] adds gcrypt support
Patch7: kdebase-3.5.13-kdm-crypt.patch
## [kdebase/kioslave/media/mediamanager] FTBFS missing dbus-tqt includes
Patch8: kdebase-3.5.13-mediamanager_ftbfs.patch
## [kdebase/startkde] Hardcoded path '/usr/lib/xxx' in startkde, not suitable for x86_64
@ -74,18 +72,32 @@ Patch13: kdebase-3.5.13-genkdmconf_Xsession_location.patch
Patch14: kdebase-3.5.13-kickoff_unstable.patch
## [kdebase/startkde] Sets default Start Icon in 'kickerrc'
Patch15: kdebase-3.5.13-startkde_icon.patch
## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location
## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location [Bug #741]
Patch16: kdebase-3.5.13-startkde_directories.patch
# TDE unofficial patches for enhanced features
## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration
# TDE unofficial patches for enhanced features or bugfixes.
## [kdebase/kdm] adds gcrypt support [Bug #624]
Patch7: kdebase-3.5.13-kdm-crypt.patch
## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration [Bug #244]
Patch20: kdebase-3.5.13-kate_mru.patch
## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db'
## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db' [Bug #714]
Patch21: kdebase-3.5.13-kio_man_utf8.patch
## [kdebase/konqueror] Re-enable 'open tab in background'
## [kdebase/konqueror] Re-enable 'open tab in background' [Bug #245]
Patch22: kdebase-3.5.13-konq_menu_tab_background.patch
## [kdebase/konqueror/sidebar] Fix error message on documents parent folder
## [kdebase/konqueror/sidebar] Fix error message on documents parent folder [Bug #723]
Patch23: kdebase-3.5.13-konqsidebar_documents.patch
## [kdebase/konqueror/listview] Konqueror Icon Activation Effect [Bug #335]
Patch24: kdebase-3.5.13-konq_icon_effect.patch
## [kdebase/kdesu] Restores the "Keep password" check box to the kdesu dialog box [Bug #388]
Patch25: kdebase-3.5.13-kdesu_showkeeppassword.patch
## [kdebase/kpersonalizer] Repair KPersonalizer settings to match system defaults [Bug #759]
Patch26: kdebase-3.5.13-kpersonalizer_default_doubleclick.patch
## [kdebase/kicker] Restores the original KDE3 clock [Bug #387]
Patch27: kdebase-3.5.13-restore_kde3_clock.patch
## [kdebase/kcontrol/randr] Implement X11 event merging in krandrtray [Bug #758]
Patch28: kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch
## [kdebase/kdesktop/lock] Fix multihead screen locking [Bug #669]
Patch29: kdebase-3.5.13-fix_multihead_desktop_lock.patch
# Fedora 15 Theme: "Lovelock"
%if 0%{?fedora} == 15
@ -182,6 +194,7 @@ Requires: redhat-menus
#Provides: kdebase%{?_qt_suffix} = %{version}
%if "%{?_prefix}" == "/usr"
Provides: kdebase%{?_qt_suffix} = %{version}
Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10
%endif
@ -206,8 +219,8 @@ Requires: %{name}
Requires: %{name}-libs = %{version}-%{release}
Requires: trinity-kdelibs-devel
Summary: %{summary} - Development files
#Provides: kdebase%{?_qt_suffix}-devel = %{version}
%if "%{?_prefix}" == "/usr"
Provides: kdebase%{?_qt_suffix}-devel = %{version}
Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10
%endif
@ -222,9 +235,9 @@ Kate plugins or KWin styles.
Summary: Extra applications from %{name}
Group: User Interface/Desktops
Requires: %{name} = %{version}-%{release}
#Provides: kdebase%{?_qt_suffix}-extras = %{version}
%if "%{?_prefix}" == "/usr"
Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10
Provides: kdebase%{?_qt_suffix}-extras = %{version}
Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10
%endif
%description extras
%{summary}, including:
@ -238,9 +251,9 @@ Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10
Summary: %{name} runtime libraries
Group: System Environment/Libraries
Requires: trinity-kdelibs
#Provides: kdebase%{?_qt_suffix}-libs = %{version}
%if "%{?_prefix}" == "/usr"
Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10
Provides: kdebase%{?_qt_suffix}-libs = %{version}
Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10
%endif
Requires: %{name} = %{version}-%{release}
%description libs
@ -250,9 +263,9 @@ Requires: %{name} = %{version}-%{release}
%package pim-ioslaves
Summary: PIM KIOslaves from %{name}
Group: System Environment/Libraries
#Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version}
%if "%{?_prefix}" == "/usr"
Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10
Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version}
Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10
%endif
%description pim-ioslaves
Protocol handlers (KIOslaves) for personal information management, including:
@ -282,22 +295,28 @@ Protocol handlers (KIOslaves) for personal information management, including:
%endif
%patch22 -p1
%patch23 -p1
%patch24 -p4
%patch25 -p1
%patch26 -p1
%patch27 -p0
%patch28 -p0
%patch29 -p0
# Applies an optional distro-specific graphical theme
%if "%{?tde_bg}" != ""
# KDM Background
%__sed -i "kdm/kfrontend/genkdmconf.c" \
-e 's,"Wallpaper=isadora.png\n","Wallpaper=%{tde_bg}\n",'
-e 's|"Wallpaper=isadora.png\n"|"Wallpaper=%{tde_bg}\n"|'
# TDE user default background
%__sed -i "kpersonalizer/keyecandypage.cpp" \
-e 's,#define DEFAULT_WALLPAPER "isadora.png",#define DEFAULT_WALLPAPER "%{tde_bg}",'
-e 's|#define DEFAULT_WALLPAPER "isadora.png"|#define DEFAULT_WALLPAPER "%{tde_bg}"|'
%__sed -i "startkde" \
-e 's,/usr/share/wallpapers/isadora.png.desktop,%{tde_bg},' \
-e 's,Wallpaper=isadora.png,Wallpaper=%{tde_bg},'
-e 's|/usr/share/wallpapers/isadora.png.desktop|%{tde_bg}|' \
-e 's|Wallpaper=isadora.png|Wallpaper=%{tde_bg}|'
%endif
# TDE branding: removes KUbuntu references
# TDE branding: removes KUbuntu references [Bug #617]
%__sed -i "kcontrol/kdm/kdm-appear.cpp" \
-e "s|Welcome to Kubuntu |Welcome to %{tde_aboutlabel} |"
%__sed -i "konqueror/about/konq_aboutpage.cc" \
@ -667,25 +686,33 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
%{_datadir}/cmake/*.cmake
%changelog
* Mon Jan 02 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-14
- Fix Konqueror Icon Activation Effect [Bug #335]
- Restores the "Keep password" check box to the kdesu dialog box [Bug #388]
- Repair KPersonalizer settings to match system defaults [Bug #759]
- Restores the original KDE3 clock [Bug #387]
- Implement X11 event merging in krandrtray [Bug #758]
- Fix multihead screen locking [Bug #669]
* Mon Dec 12 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-13
- Fix variables (again)
* Sun Dec 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-12
- Fix KDEDIRS and other variables in 'startkde', that messes up translations.
- Fix KDEDIRS and other variables in 'startkde', that messes up translations. [Bug #741]
* Sat Dec 10 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-11
- Fix error message 'cannot find parent folder' on konqueror sidebar.
- Fix error message 'cannot find parent folder' on konqueror sidebar. [Bug #723]
* Sat Dec 03 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-10
- Removes Kubuntu branding [TDE Bug #449]
- Re-enables 'open tab in background' konqueror feature [TDE Bug #245]
- Removes Kubuntu branding [Bug #449]
- Re-enables 'open tab in background' konqueror feature [Bug #245]
* Wed Nov 29 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-9
- Fix 'kio_man' on RHEL 5 and RHEL 6 [TDE Bug #714]
- Restores the 'number of files' and sorting widgets to the Kate configuration [TDE Bug #244]
- Fix 'kio_man' on RHEL 5 and RHEL 6 [Bug #714]
- Restores the 'number of files' and sorting widgets to the Kate configuration [Bug #244]
* Fri Nov 18 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-8
- Updates Kickoff menu Fix [TDE Bugs #281, #508]
- Updates Kickoff menu Fix [Bugs #281, #508]
- Adds KDM gcrypt dependency
* Sun Nov 13 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-7
@ -697,7 +724,7 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || :
* Fri Nov 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-5
- Add "service(graphical-login)"
- Add kickoff menu fix [TDE Bug #508]
- Add kickoff menu fix [Bug #508]
- kdmrc: sets "MinShowUID=500"
* Tue Nov 08 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-4

Loading…
Cancel
Save