summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt13
-rw-r--r--ConfigureChecks.cmake91
-rw-r--r--README2
m---------admin0
-rw-r--r--config.h.cmake1
-rw-r--r--doc/glossary/tdeprintingglossary.docbook2
-rw-r--r--doc/keditbookmarks/CMakeLists.txt12
-rw-r--r--doc/keditbookmarks/Makefile.am3
-rw-r--r--doc/keditbookmarks/bookmarks.docbook87
-rw-r--r--doc/keditbookmarks/index.docbook61
-rw-r--r--doc/releasenotes/index.docbook37
-rw-r--r--doc/tdeioslave/bzip2/index.docbook2
-rw-r--r--doc/tdepasswd/CMakeLists.txt9
-rw-r--r--doc/tdepasswd/Makefile.am3
-rw-r--r--doc/tdepasswd/index.docbook59
-rw-r--r--kate/pics/sessionchooser.pngbin21628 -> 29153 bytes
-rw-r--r--kcontrol/ConfigureChecks.cmake10
-rw-r--r--kcontrol/access/kaccess.cpp2
-rw-r--r--kcontrol/background/CMakeLists.txt2
-rw-r--r--kcontrol/background/KCrossBGRender.cc361
-rw-r--r--kcontrol/background/KCrossBGRender.h76
-rw-r--r--kcontrol/background/bgdefaults.h1
-rw-r--r--kcontrol/background/bgdialog.cpp18
-rw-r--r--kcontrol/background/bgdialog.h1
-rw-r--r--kcontrol/background/bgdialog_ui.ui11
-rw-r--r--kcontrol/background/bgrender.cpp8
-rw-r--r--kcontrol/background/bgrender.h5
-rw-r--r--kcontrol/background/bgsettings.cpp14
-rw-r--r--kcontrol/background/bgsettings.h10
-rw-r--r--kcontrol/background/crossfade.h56
-rw-r--r--kcontrol/displayconfig/displayconfig.desktop28
-rw-r--r--kcontrol/iccconfig/iccconfig.desktop8
-rw-r--r--kcontrol/joystick/caldialog.cpp2
-rw-r--r--kcontrol/joystick/caldialog.h2
-rw-r--r--kcontrol/joystick/joydevice.cpp2
-rw-r--r--kcontrol/joystick/joydevice.h2
-rw-r--r--kcontrol/joystick/joystick.cpp4
-rw-r--r--kcontrol/joystick/joystick.h2
-rw-r--r--kcontrol/joystick/joywidget.cpp2
-rw-r--r--kcontrol/joystick/joywidget.h2
-rw-r--r--kcontrol/joystick/poswidget.cpp2
-rw-r--r--kcontrol/joystick/poswidget.h2
-rw-r--r--kcontrol/kcontrol/KControl.desktop6
-rw-r--r--kcontrol/kcontrol/KControl_NoDisplay.desktop6
-rw-r--r--kcontrol/kcontrol/about/kcontrol.css7
-rw-r--r--kcontrol/kcontrol/about/main.html1
-rw-r--r--kcontrol/kcontrol/about/top-right-kcontrol.pngbin13794 -> 17282 bytes
-rw-r--r--kcontrol/kcontrol/main.cpp2
-rw-r--r--kcontrol/kcontrol/tde-kcontrol.desktop2
-rw-r--r--kcontrol/keys/keyconfig.cpp2
-rw-r--r--kcontrol/kicker/menutab.ui103
-rw-r--r--kcontrol/kicker/menutab_impl.cpp12
-rw-r--r--kcontrol/knotify/README2
-rw-r--r--kcontrol/konq/onlyone.pngbin7540 -> 9530 bytes
-rw-r--r--kcontrol/konq/overlapping.pngbin10965 -> 11446 bytes
-rw-r--r--kcontrol/randr/tderandrtray.cpp24
-rw-r--r--kcontrol/randr/tderandrtray.h3
-rw-r--r--kcontrol/screensaver/scrnsave.cpp34
-rw-r--r--kcontrol/screensaver/scrnsave.h3
-rw-r--r--kcontrol/smartcard/nosmartcardbase.ui2
-rw-r--r--kdesktop/bgmanager.cc104
-rw-r--r--kdesktop/bgmanager.h17
-rw-r--r--kdesktop/kdesktop.kcfg31
-rw-r--r--kdesktop/lock/lockdlg.cc56
-rw-r--r--kdesktop/lock/lockprocess.cc1
-rw-r--r--kdesktop/lock/main.cc14
-rw-r--r--khelpcenter/formatter.cpp2
-rw-r--r--khelpcenter/view.cpp2
-rw-r--r--kicker/applets/systemtray/systemtrayapplet.cpp2
-rw-r--r--kicker/data/kmenu_side/kside.pngbin6007 -> 8794 bytes
-rw-r--r--kicker/data/kmenu_side/kside_tile.pngbin151 -> 203 bytes
-rw-r--r--kicker/kicker/ui/default-favs8
-rw-r--r--kicker/kicker/ui/k_new_mnu.cpp36
-rw-r--r--kicker/menuext/prefmenu/prefmenu.cpp2
-rw-r--r--kicker/menuext/prefmenu/prefmenu.desktop14
-rw-r--r--kicker/taskbar/taskcontainer.cpp2
-rw-r--r--klipper/toplevel.cpp11
-rw-r--r--kmenuedit/kcontrol_main.cpp2
-rwxr-xr-x[-rw-r--r--]konqueror/about/box-centre-konqueror.pngbin34202 -> 1089 bytes
-rw-r--r--konqueror/about/intro.html1
-rw-r--r--konqueror/about/konq.css4
-rw-r--r--konqueror/about/launch.html1
-rw-r--r--konqueror/about/specs.html1
-rw-r--r--konqueror/about/tips.html1
-rw-r--r--konqueror/about/top-right-konqueror.pngbin16195 -> 19771 bytes
-rw-r--r--konqueror/iconview/konq_iconview.cc6
-rw-r--r--konqueror/keditbookmarks/toplevel.cpp2
-rw-r--r--konqueror/konq_mainwindow.cc2
-rw-r--r--konqueror/konq_misc.cc2
-rw-r--r--kpersonalizer/keyecandypage.cpp2
-rw-r--r--ksmserver/CMakeLists.txt2
-rw-r--r--ksmserver/ConfigureChecks.cmake12
-rw-r--r--ksmserver/server.cpp10
-rw-r--r--ksplashml/themeengine/simple/CMakeLists.txt14
-rw-r--r--ktip/tips2
-rw-r--r--libkonq/konqbookmarkmanager.h16
-rw-r--r--nsplugins/README6
-rw-r--r--pics/wallpapers/CMakeLists.txt33
-rw-r--r--pics/wallpapers/CREDITS3
-rw-r--r--pics/wallpapers/Chicken-Songs-2.jpgbin20123 -> 0 bytes
-rw-r--r--pics/wallpapers/Chicken-Songs-2.jpg.desktop62
-rw-r--r--pics/wallpapers/Makefile.am66
-rw-r--r--pics/wallpapers/Trinity-lineart.svg794
-rw-r--r--pics/wallpapers/Trinity-lineart.svg.desktop63
-rw-r--r--pics/wallpapers/Trinity4.png.desktop118
-rw-r--r--pics/wallpapers/airplane.jpgbin0 -> 1054842 bytes
-rw-r--r--pics/wallpapers/airplane.jpg.desktop58
-rw-r--r--pics/wallpapers/another-view.jpgbin0 -> 1022035 bytes
-rw-r--r--pics/wallpapers/another-view.jpg.desktop58
-rw-r--r--pics/wallpapers/default_gears.jpgbin59587 -> 0 bytes
-rw-r--r--pics/wallpapers/default_gears.jpg.desktop62
-rw-r--r--pics/wallpapers/globe.pngbin321353 -> 0 bytes
-rw-r--r--pics/wallpapers/globe.svgzbin9417 -> 0 bytes
-rw-r--r--pics/wallpapers/globe.svgz.desktop54
-rw-r--r--pics/wallpapers/mountain-lake.jpgbin0 -> 668282 bytes
-rw-r--r--pics/wallpapers/mountain-lake.jpg.desktop58
-rw-r--r--pics/wallpapers/stripes.jpgbin765343 -> 0 bytes
-rw-r--r--pics/wallpapers/stripes.jpg.desktop7
-rw-r--r--pics/wallpapers/triplegears.jpgbin117600 -> 0 bytes
-rw-r--r--pics/wallpapers/triplegears.jpg.desktop60
-rw-r--r--r14-xdg-update13
-rwxr-xr-x[-rw-r--r--]starttde47
-rw-r--r--tdeioslave/media/mediamanager/tdehardwarebackend.cpp104
-rw-r--r--tdeioslave/media/mimetypes/blankdvd.desktop3
-rw-r--r--tdeioslave/media/tdecmodule/managermodule.cpp8
-rw-r--r--tdeioslave/media/tdecmodule/managermoduleview.ui8
-rw-r--r--tdepasswd/passwddlg.cpp4
-rw-r--r--tdm/README2
-rw-r--r--tdm/backend/client.c1
-rw-r--r--tdm/kfrontend/gentdmconf.c2
-rw-r--r--tdm/kfrontend/krootimage.h1
-rw-r--r--tdm/kfrontend/themes/CMakeLists.txt1
-rw-r--r--tdm/kfrontend/themes/Makefile.am2
-rw-r--r--tdm/kfrontend/themes/minimalist/CMakeLists.txt31
-rw-r--r--tdm/kfrontend/themes/minimalist/GdmGreeterTheme.desktop10
-rw-r--r--tdm/kfrontend/themes/minimalist/Makefile.am19
-rw-r--r--tdm/kfrontend/themes/minimalist/background.pngbin0 -> 466596 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/box.pngbin0 -> 1566 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/caps-lock-warning.pngbin0 -> 402 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/lineedit.pngbin0 -> 2308 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/login_normal.pngbin0 -> 487 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/login_prelight.pngbin0 -> 567 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/minimalist.xml136
-rw-r--r--tdm/kfrontend/themes/minimalist/screenshot.pngbin0 -> 29063 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/session_normal.pngbin0 -> 1194 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/session_prelight.pngbin0 -> 738 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/system_normal.pngbin0 -> 818 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/system_prelight.pngbin0 -> 607 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/tdelogo.pngbin0 -> 3741 bytes
-rw-r--r--tdm/kfrontend/themes/minimalist/topline.pngbin0 -> 305 bytes
-rw-r--r--twin/compton-tde/CMakeLists.txt104
-rw-r--r--twin/compton-tde/common.h11
-rw-r--r--twin/compton-tde/compton.c45
-rw-r--r--twin/compton-tde/compton_config.h.cmake38
-rw-r--r--twin/kompmgr/CMakeLists.txt4
155 files changed, 2913 insertions, 789 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c1b7e79bd..42f8d341c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,9 +71,8 @@ option( WITH_XCURSOR "Enable xcursor support" ${WITH_ALL_OPTIONS} )
option( WITH_XFIXES "Enable xfixes support" ${WITH_ALL_OPTIONS} )
option( WITH_XRANDR "Enable xrandr support" ${WITH_ALL_OPTIONS} )
option( WITH_XRENDER "Enable xrender support" ${WITH_ALL_OPTIONS} )
-option( WITH_XDAMAGE "Enable xdamage support" ${WITH_ALL_OPTIONS} )
-option( WITH_XEXT "Enable xext support" ${WITH_ALL_OPTIONS} )
option( WITH_LIBCONFIG "Enable libconfig support" ${WITH_ALL_OPTIONS} )
+option( WITH_PCRE "Enable pcre regex support" ON )
option( WITH_XTEST "Enable xtest support" ${WITH_ALL_OPTIONS} )
option( WITH_OPENGL "Enable openGL support" ${WITH_ALL_OPTIONS} )
option( WITH_XSCREENSAVER "Enable xscreensaver support" ${WITH_ALL_OPTIONS} )
@@ -104,8 +103,6 @@ option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
# WITH_XCOMPOSITE affects twin kicker(taskmanager) tdm
# WITH_XCURSOR affects tdeioslaves(thumbnail), kcontrol(input), kdesktop
# WITH_XFIXES affects twin klipper kicker(taskmanager)
-# WITH_XDAMAGE affects <nothing>
-# WITH_XEXT affects <nothing>
# WITH_XRANDR affects tdm, kcontrol(displayconfig randr iccconfig)
# WITH_XRENDER affects twin konsole kicker(taskmanager) kdesktop
# kcontrol(style)
@@ -118,7 +115,7 @@ option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
# WITH_LIBART affects tdm kcontrol(icons background)
# WITH_LIBUSB affects kcontrol(input)
# WITH_XDMCP affects tdm
-# WITH_XINERAMA affects ksplashml
+# WITH_XINERAMA affects ksplashml twin/compton-tde
# WITH_ARTS affects libkonq khotkeys
# WITH_I8K affects ksysguard
# WITH_SENSORS affects ksysguard
@@ -128,6 +125,8 @@ option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
# WITH_PAM affects tdm kdesktop kcheckpass
# WITH_SHADOW affects tdm kcheckpass
# WITH_UPOWER affects ksmserver
+# WITH_LIBCONFIG affects twin/compot-tde
+# WITH_PCRE affects twin/compot-tde
# WITH_SUDO_TDESU_BACKEND affects tdesu
# WITH_SUDO_KONSOLE_SUPER_USER_COMMAND affects launching Konsole super user sessions
@@ -136,10 +135,6 @@ option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
# NOTE: if WITH_XCOMPOSITE=ON then the following options are also required:
# WITH_XRENDER=ON
# WITH_XFIXES=ON
-# WITH_XDAMAGE=ON
-# WITH_XEXT=ON
-# NOTE: seems WITH_XDAMAGE and WITH_XET doesn't change anything
-# they are just required by WITH_XCOMPOSITE
##### user requested modules ####################
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 9dfb6d137..6e35ca7db 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -83,6 +83,26 @@ if( WITH_XRENDER OR BUILD_KDESKTOP OR BUILD_KONSOLE OR BUILD_KCONTROL OR BUILD_K
endif( )
+# xrandr (kcontrol, twin/compot-tde)
+if( WITH_XRANDR )
+ pkg_search_module( XRANDR xrandr )
+ if( NOT XRANDR_FOUND )
+ tde_message_fatal( "xrandr are requested, but not found on your system" )
+ endif( )
+endif( )
+
+
+# xinerama (ksplashml, twin/compot-tde)
+if( WITH_XINERAMA )
+ pkg_search_module( XINERAMA xinerama )
+ if( XINERAMA_FOUND )
+ set( HAVE_XINERAMA 1 )
+ else( )
+ tde_message_fatal( "xinerama is requested, but not found on your system" )
+ endif( )
+endif( WITH_XINERAMA )
+
+
# xcursor (tdeioslave, kcontrol)
if( WITH_XCURSOR )
pkg_search_module( XCURSOR xcursor )
@@ -102,6 +122,27 @@ if( WITH_XCOMPOSITE )
else( XCOMPOSITE_FOUND )
tde_message_fatal( "xcomposite is requested, but was not found on your system" )
endif( XCOMPOSITE_FOUND )
+
+
+ # xdamage (twin/kompmgr)
+ pkg_search_module( XDAMAGE xdamage )
+ if( NOT XDAMAGE_FOUND )
+ tde_message_fatal( "xdamage is required for xcomposite support, but was not found on your system" )
+ endif( )
+
+ # xext (twin/kompmgr)
+ pkg_search_module( XEXT xext )
+ if( NOT XEXT_FOUND )
+ tde_message_fatal( "xext is required for xcomposite support, but was not found on your system" )
+ endif( )
+
+ # for (twin/compton)
+ # older libXext (e.g.in debian-6.0) doesn't provide XSyncFence
+ tde_save_and_set( CMAKE_REQUIRED_INCLUDES "${XEXT_INCLUDE_DIRS}" )
+ tde_save_and_set( CMAKE_REQUIRED_LIBRARIES "${XEXT_LIBRARIES}" )
+ check_symbol_exists( "XSyncCreateFence" "X11/Xlib.h;X11/extensions/sync.h" HAVE_XEXT_XSYNCFENCE )
+ tde_restore( CMAKE_REQUIRED_LIBRARIES )
+ tde_restore( CMAKE_REQUIRED_INCLUDES )
endif( )
@@ -116,32 +157,13 @@ if( WITH_XFIXES )
endif( )
-# xdamage (twin/kompmgr)
-if( WITH_XDAMAGE )
- pkg_search_module( XDAMAGE xdamage )
- if( NOT XDAMAGE_FOUND )
- tde_message_fatal( "xdamage is requested, but was not found on your system" )
- endif( )
-endif( )
-
-
-# xext (twin/kompmgr)
-if( WITH_XEXT )
- pkg_search_module( XEXT xext )
- if( XEXT_FOUND )
- set( HAVE_XEXT 1 )
- else( XEXT_FOUND )
- tde_message_fatal( "xext is requested, but was not found on your system" )
- endif( )
-endif( )
-
-
# libconfig (twin/compton-tde)
if( WITH_LIBCONFIG )
pkg_search_module( LIBCONFIG libconfig )
if( LIBCONFIG_FOUND )
set( HAVE_LIBCONFIG 1 )
- if( LIBCONFIG_VERSION VERSION_LESS 1.5.0 )
+ # TODO replace with functionality check
+ if( LIBCONFIG_VERSION VERSION_LESS 1.4.0 )
set( HAVE_LIBCONFIG_OLD_API 1 )
endif( )
else( LIBCONFIG_FOUND )
@@ -150,6 +172,15 @@ if( WITH_LIBCONFIG )
endif( )
+# pcre (twin/compton-tde)
+if( WITH_PCRE )
+ pkg_search_module( LIBPCRE libpcre )
+ if( NOT LIBPCRE_FOUND )
+ tde_message_fatal( "pcre support is requested, but not found on your system" )
+ endif( NOT LIBPCRE_FOUND )
+endif( )
+
+
# xtest (kxkb)
if( WITH_XTEST )
pkg_search_module( XTEST xtst )
@@ -172,20 +203,28 @@ if( WITH_XSCREENSAVER )
pkg_search_module( XSS xext )
endif( )
endif( )
+
check_include_file( X11/extensions/scrnsaver.h HAVE_XSCREENSAVER_H )
if( HAVE_XSSLIB AND HAVE_XSCREENSAVER_H )
set( HAVE_XSCREENSAVER 1 )
else( )
tde_message_fatal( "xscreensaver is requested, but was not found on your system" )
endif( )
+
+ # We don't really need the xscreensaver package for building, we only need to know
+ # where xscreensaver stores its executables. So give the user the possibility
+ # to define XSCREENSAVER_DIR and speficy the location manually.
include( FindXscreensaver.cmake ) # not really good practise
- if( NOT XSCREENSAVER_FOUND )
- message( FATAL_ERROR "\nxscreensaver is requested, but was not found on your system" )
+ if( NOT XSCREENSAVER_DIR )
+ tde_message_fatal(
+ "xscreensaver is requested, but cmake can not determine the location of XSCREENSAVER_DIR
+ You have to either specify it manually with e.g. -DXSCREENSAVER_DIR=/usr/lib/misc/xscreensaver/
+ or make sure that xscreensaver installed properly" )
endif( )
endif( )
-# openGL (kdesktop or kcontrol or tdescreensaver )
+# openGL (kdesktop or kcontrol or tdescreensaver or twin/compot-tde )
if( WITH_OPENGL )
pkg_search_module( GL gl )
if( GL_FOUND )
@@ -286,8 +325,8 @@ find_package( TDE )
-# dbus (tdm, kdesktop)
-if( BUILD_TDM OR BUILD_KDESKTOP )
+# dbus (tdm, kdesktop, twin/compton-tde.c)
+if( BUILD_TDM OR BUILD_KDESKTOP OR (BUILD_TWIN AND WITH_XCOMPOSITE) )
pkg_search_module( DBUS dbus-1 )
if( NOT DBUS_FOUND )
diff --git a/README b/README
index 69ebefbdb..fb40fb1ec 100644
--- a/README
+++ b/README
@@ -42,7 +42,7 @@ libraries. Here is an overview of the directories:
programs.
* kcontrol
- The TDE Control Center allows you to tweak the KDE settings.
+ The Trinity Control Center allows you to tweak the KDE settings.
* kdcop
GUI app to browse for DCOP interfaces, can also execute them.
diff --git a/admin b/admin
-Subproject b5c58c72eb8ee2f9a126db2ac6d6d3d486e8525
+Subproject 4813f61a33c80294b915d2c346916fa7013e04a
diff --git a/config.h.cmake b/config.h.cmake
index f5ebeebcc..cacb97cb2 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -182,6 +182,7 @@
// ksmserver
#cmakedefine DBUS_SYSTEM_BUS "@DBUS_SYSTEM_BUS@"
+#cmakedefine HAVE__ICETRANSNOLISTEN 1
// ksplashml
#cmakedefine HAVE_XINERAMA 1
diff --git a/doc/glossary/tdeprintingglossary.docbook b/doc/glossary/tdeprintingglossary.docbook
index e51f53cda..cec585741 100644
--- a/doc/glossary/tdeprintingglossary.docbook
+++ b/doc/glossary/tdeprintingglossary.docbook
@@ -1149,7 +1149,7 @@ now.
deprecated and no longer maintained. What was good in qtcups is all inherited
by "kprinter", the new TDE print dialog (which is much improved over qtcups);
what you liked about kups is now all in the TDEPrint Manager (accessible
- via the TDE Control Center or via the URL "print:/manager" from Konqueror) --
+ via the Trinity Control Center or via the URL "print:/manager" from Konqueror) --
with more functionality and less bugs... Its former developer, Michael Goffioul, is now
the developer of TDEPrint -- mdash; a very nice and productive guy and quick bug fixer...
</para>
diff --git a/doc/keditbookmarks/CMakeLists.txt b/doc/keditbookmarks/CMakeLists.txt
new file mode 100644
index 000000000..444468728
--- /dev/null
+++ b/doc/keditbookmarks/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION keditbookmarks )
diff --git a/doc/keditbookmarks/Makefile.am b/doc/keditbookmarks/Makefile.am
new file mode 100644
index 000000000..17a314c39
--- /dev/null
+++ b/doc/keditbookmarks/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = en
+KDE_DOCS = AUTO
+KDE_MANS = AUTO
diff --git a/doc/keditbookmarks/bookmarks.docbook b/doc/keditbookmarks/bookmarks.docbook
new file mode 100644
index 000000000..0e19b3258
--- /dev/null
+++ b/doc/keditbookmarks/bookmarks.docbook
@@ -0,0 +1,87 @@
+<chapter id="bookmarks">
+<chapterinfo>
+<authorgroup><author>&tde-authors;</author></authorgroup>
+</chapterinfo>
+
+<title>Editing bookmarks</title>
+
+<para>The <guilabel>Bookmark Editor</guilabel> shows a tree view of your bookmarks
+and bookmark subfolders. As is usual for tree views in &tde;, subfolders are shown
+with a small square at the left of the folder name; if the square contains a
+<keycap>+</keycap> sign <mousebutton>left</mousebutton> clicking on it will expand
+the view to show the contents of that subfolder and the <keycap>+</keycap> sign will
+change to <keycap>-</keycap>, <mousebutton>left</mousebutton> clicking on the
+<keycap>-</keycap> sign will collapse the subfolder view.</para>
+
+<para>To select an item in the list you can <mousebutton>left</mousebutton>
+click on it, or you can navigate through the list by using the <keysym>
+Up arrow</keysym> and <keysym>Down arrow</keysym> keys to move around,
+<keysym>Right arrow</keysym> to expand a subfolder and <keysym>
+Left arrow</keysym> to collapse it.</para>
+
+<para>You can move an item to a different place in the list by using the
+normal Drag and Drop or <guimenuitem>Cut</guimenuitem> and <guimenuitem>
+Paste</guimenuitem> methods. The order in which the items appear in
+the <guilabel>Bookmark Editor</guilabel> is the order they will appear in the
+<guimenu>Bookmarks</guimenu> drop down list. The <menuchoice><guimenu>Insert
+</guimenu><guimenuitem>Insert Separator</guimenuitem></menuchoice> option can
+be used to insert separating lines into the list wherever you wish.</para>
+
+<para>A new subfolder can be created at the selected point in the list by
+using the <guimenuitem>Create New Folder...</guimenuitem> option in the
+<guimenu>Insert</guimenu> menu or from the drop down menu you get when you
+<mousebutton>right</mousebutton> click on an item in the main part of the
+window, or with <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
+</para>
+
+<para>To change the name of a bookmark or folder select it then press
+<keycap>F2</keycap> or choose the <guimenuitem>Rename</guimenuitem> item from
+the <guimenu>Edit</guimenu> menu or the pop up menu that appears when you
+<mousebutton>right</mousebutton> click on the item. Similarly, you can edit
+the &URL; by pressing <keycap>F3</keycap> or choosing the <guimenuitem>
+Change URL</guimenuitem> menu item.</para>
+
+<para>The <guilabel>Bookmark Editor</guilabel> lets you import bookmarks from
+a range of other browsers into &konqueror;'s bookmark list, putting them into
+ a new folder or replacing all current bookmarks. To do this select
+<guisubmenu>Import</guisubmenu> from the <guimenu>File</guimenu> menu. The
+<menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu>
+</menuchoice> option can be used to export &konqueror;'s bookmarks to a
+&Netscape; or Mozilla browser.</para>
+
+<para>If you often use the &Netscape; browser as well as &konqueror;, then
+rather than importing your &Netscape; bookmarks into &konqueror; it is
+better to select the <guimenuitem>Show Netscape Bookmarks in Konqueror
+Windows</guimenuitem> item in the <guimenu>Settings</guimenu> menu. If you
+do this any updates to &Netscape;'s bookmarks are automatically seen by
+&konqueror;.</para>
+
+<para>To select which bookmark subfolder is used to hold the Bookmark
+Toolbar items select the subfolder then choose <guimenuitem>Set as Toolbar
+Folder</guimenuitem> from the <guimenu>Edit</guimenu> menu.</para>
+
+<para>If you are tiding up your bookmarks and have forgotten what a
+particular web page is, you can easily open it from within the <guilabel>
+Bookmark Editor</guilabel> by <mousebutton>right</mousebutton> clicking
+on the item and selecting <guimenuitem>Open in Konqueror</guimenuitem> from
+the pop up menu. If you just want to check that the &URL; is still valid
+select <guimenuitem>Check Status</guimenuitem> instead.</para>
+
+<important><para>Don't forget to save your changes with <menuchoice>
+<guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> or
+<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> before you leave
+the <guilabel>Bookmark Editor</guilabel>.
+</para></important>
+
+
+</chapter>
+<!--
+Local Variables:
+mode: sgml
+sgml-omittag: nil
+sgml-shorttag: t
+sgml-minimize-attributes: nil
+sgml-general-insert-case: lower
+sgml-parent-document:("index.docbook" "book" "chapter")
+End:
+-->
diff --git a/doc/keditbookmarks/index.docbook b/doc/keditbookmarks/index.docbook
new file mode 100644
index 000000000..e530a228a
--- /dev/null
+++ b/doc/keditbookmarks/index.docbook
@@ -0,0 +1,61 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
+ "dtd/kdex.dtd" [
+ <!ENTITY kappname "&keditbookmarks;">
+ <!ENTITY package "tdebase">
+ <!ENTITY keditbookmarks-bookmarks SYSTEM "bookmarks.docbook">
+ <!ENTITY % English "INCLUDE" > <!-- change language only here -->
+ <!ENTITY % addindex "IGNORE">
+]>
+
+<book lang="&language;">
+<title>The &keditbookmarks; Handbook</title>
+
+<bookinfo>
+<authorgroup><author>&tde-authors;</author></authorgroup>
+
+<copyright>
+<year>&tde-copyright-date;</year>
+<holder>&tde-team;</holder>
+</copyright>
+
+<legalnotice>&FDLNotice;</legalnotice>
+
+<date>April 27, 2014</date>
+<releaseinfo>&tde-release-version;</releaseinfo>
+
+<abstract><para>&keditbookmarks; is &tde;'s editor for bookmarks.</para></abstract>
+
+<keywordset>
+<keyword>TDE</keyword>
+<keyword>KEditBookmarks</keyword>
+<keyword>tdebase</keyword>
+</keywordset>
+
+</bookinfo>
+
+&keditbookmarks-bookmarks;
+
+<chapter id="credits">
+
+<title>Credits and License</title>
+
+&underFDL; <!-- FDL: do not remove -->
+&underGPL; <!-- GPL License -->
+
+</chapter>
+
+&documentation.index;
+
+</book>
+
+<!--
+Local Variables:
+mode: sgml
+sgml-omittag: nil
+sgml-shorttag: t
+sgml-minimize-attributes: nil
+sgml-general-insert-case: lower
+End:
+-->
+
diff --git a/doc/releasenotes/index.docbook b/doc/releasenotes/index.docbook
index 6349b88df..2c36685e7 100644
--- a/doc/releasenotes/index.docbook
+++ b/doc/releasenotes/index.docbook
@@ -184,8 +184,16 @@ XDG_DATA_DIRS=/opt/trinity/share:/usr/share
non-English documention folders of some applications. Such symlinks are hooks to the correct location
of localized common resources and will work properly once the related tde-i18n package is installed.
Please refrain from filing bugs related to those broken symlinks.</para>
-</sect2>
+<para>Some old wallpapers have been removed from the list displayed in Trinity Control Center -->
+Appearance &amp; Themes --> Background and a few new ones have been added. The removed wallpapers
+are still available and if desired they can be manually selected. They are located in the
+/opt/trinity/share/wallpapers/obsolete folder.</para>
+
+<para>As part of the rebranding effort, TDE now has its own theme style and system-wide changes have
+been made to conform to such style as much as possible.</para>
+
+</sect2>
<sect2 id="release-notes-new-or-improved-features">
<title>New or Improved Features</title>
@@ -193,7 +201,7 @@ Please refrain from filing bugs related to those broken symlinks.</para>
<itemizedlist>
<listitem><para>
-Faster startup and logout
+Faster startup and logout.
</para></listitem>
<listitem><para>
Ability to force Kate into MDI mode all the time.
@@ -202,7 +210,7 @@ Ability to force Kate into MDI mode all the time.
Built-in hardware detection libraries and support to fully replace HAL.
</para></listitem>
<listitem><para>
-File copy window focus enhancement: focus is now on the file name edit line by default
+File copy window focus enhancement: focus is now on the file name edit line by default.
</para></listitem>
<listitem><para>
GUI support for controlling whether to display archives as folders.
@@ -226,16 +234,16 @@ Rearrangeable (draggable) items in the taskbar.
Reduced TDE menu clutter and duplication.
</para></listitem>
<listitem><para>
-Icons only mode available for taskbar
+Icons only mode available for taskbar.
</para></listitem>
<listitem><para>
-Accelerator key for Konsole main menu can be enabled when desired
+Accelerator key for Konsole main menu can be enabled when desired.
</para></listitem>
<listitem><para>
-Possible to move to next/previous file in a Konqueror list view while renaming
+Konqueror file rename improvement: in list view mode it is now possible to move directly to the next/previous file without leaving the rename mode. Default key shortcuts are Tab (next) and Shift+Tab (previous).
</para></listitem>
<listitem><para>
-Kate taskbar: middle mouse click close selected document, if enabled
+Kate taskbar: middle mouse click close selected document, if enabled.
</para></listitem>
<listitem><para>
The number of files in the Kate MRU (Most Recently Used) list is user-configurable.
@@ -247,7 +255,10 @@ Added a progress bar to the logout status dialog.
Added a mouse doubleclick test option in the control panel.
</para></listitem>
<listitem><para>
-Kate syntax highlighting files have been updated and the lookup moved to the TDE repository
+Kate syntax highlighting files have been updated and the lookup moved to the TDE repository.
+</para></listitem>
+<listitem><para>
+Kate sort plugin now available
</para></listitem>
<listitem><para>
tdecmshell --list output is now sorted alphabetically.
@@ -255,7 +266,12 @@ tdecmshell --list output is now sorted alphabetically.
<listitem><para>
Improved application crash report framework, which now also includes source code commit references for better debugging.
</para></listitem>
-
+<listitem><para>
+Additional xdg folders support in Kickoff menu.
+</para></listitem>
+<listitem><para>
+A smooth crossfade effect is now available when changing the desktop wallpaper.
+</para></listitem>
</itemizedlist>
@@ -270,6 +286,9 @@ Improved application crash report framework, which now also includes source code
GTK3/TQt Theme Engine
</para></listitem>
<listitem><para>
+Kate Sort plugin
+</para></listitem>
+<listitem><para>
KControl LDAP Manager
</para></listitem>
<listitem><para>
diff --git a/doc/tdeioslave/bzip2/index.docbook b/doc/tdeioslave/bzip2/index.docbook
index c602ec9cb..f12d15a88 100644
--- a/doc/tdeioslave/bzip2/index.docbook
+++ b/doc/tdeioslave/bzip2/index.docbook
@@ -40,7 +40,7 @@ This handbook describes the bzip2 protocol.
</articleinfo>
-<para>Bzip2 is a compression program</para>
+<para>Bzip2 is a compression program.</para>
<para>The bzip2 tdeioslave is not directly usable, and is intended for use
as a filter. For example, the tar tdeioslave can filter a file through
diff --git a/doc/tdepasswd/CMakeLists.txt b/doc/tdepasswd/CMakeLists.txt
new file mode 100644
index 000000000..8d0a4d04d
--- /dev/null
+++ b/doc/tdepasswd/CMakeLists.txt
@@ -0,0 +1,9 @@
+#################################################
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION tdepasswd )
diff --git a/doc/tdepasswd/Makefile.am b/doc/tdepasswd/Makefile.am
new file mode 100644
index 000000000..416915575
--- /dev/null
+++ b/doc/tdepasswd/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = en
+KDE_DOCS = AUTO
+
diff --git a/doc/tdepasswd/index.docbook b/doc/tdepasswd/index.docbook
new file mode 100644
index 000000000..c270f1962
--- /dev/null
+++ b/doc/tdepasswd/index.docbook
@@ -0,0 +1,59 @@
+<?xml version="1.0" ?>
+<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!ENTITY tdepasswd "<application>TDE Passwd</application>">
+ <!ENTITY kappname "&tdepasswd;">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % English "INCLUDE">
+]>
+
+<article lang="&language;">
+<title>The &kappname; Handbook</title>
+
+<articleinfo>
+<title>The &kappname; Handbook</title>
+
+<authorgroup>
+<author>&tde-authors;</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+
+<releaseinfo>&tde-release-version;</releaseinfo>
+<date>Reviewed: &tde-release-date;</date>
+
+<copyright>
+<year>&tde-copyright-date;</year>
+<holder>&tde-team;</holder>
+</copyright>
+
+<!-- <legalnotice>&FDLNotice;</legalnotice> -->
+
+<abstract>
+<para>
+&kappname; is a utility to change user passwords.
+</para>
+</abstract>
+
+<keywordset>
+<keyword>TDE</keyword>
+<keyword>System Settings</keyword>
+<keyword>kcontrol</keyword>
+<keyword>user</keyword>
+<keyword>account</keyword>
+<keyword>password</keyword>
+</keywordset>
+
+</articleinfo>
+
+<para>
+Use this dialog to change your user password. Your user password
+is the password used to log into your system. First enter your current password. Then you will be asked
+for your new password and to confirm.
+</para>
+
+<para>
+When run as root, no password is required. Only the new password and confirmation are required. Passwords of other users can be changed by passing the <parameter>account name</parameter> as a parameter. Normally that requires root privileges and using <command>tdesu</command>.
+</para>
+
+&underFDL;
+
+</article>
diff --git a/kate/pics/sessionchooser.png b/kate/pics/sessionchooser.png
index 4dde4794c..b098af19e 100644
--- a/kate/pics/sessionchooser.png
+++ b/kate/pics/sessionchooser.png
Binary files differ
diff --git a/kcontrol/ConfigureChecks.cmake b/kcontrol/ConfigureChecks.cmake
index 1ff4f0635..9676dbab3 100644
--- a/kcontrol/ConfigureChecks.cmake
+++ b/kcontrol/ConfigureChecks.cmake
@@ -45,16 +45,6 @@ else( )
endif( )
-##### check for Xrandr ##########################
-
-if( WITH_XRANDR )
- pkg_search_module( XRANDR xrandr )
- if( NOT XRANDR_FOUND )
- tde_message_fatal( "xrandr are requested, but not found on your system" )
- endif( )
-endif( )
-
-
##### check for libusb ##########################
if( WITH_LIBUSB )
diff --git a/kcontrol/access/kaccess.cpp b/kcontrol/access/kaccess.cpp
index 5a8206809..5e506470c 100644
--- a/kcontrol/access/kaccess.cpp
+++ b/kcontrol/access/kaccess.cpp
@@ -748,7 +748,7 @@ void KAccessApp::xkbControlsNotify(XkbControlsNotifyEvent *event)
createDialogContents();
featuresLabel->setText ( question+"\n\n"+explanation
- +" "+i18n("These AccessX settings are needed for some users with motion impairments and can be configured in the TDE Control Center. You can also turn them on and off with standardized keyboard gestures.\n\nIf you do not need them, you can select \"Deactivate all AccessX features and gestures\".") );
+ +" "+i18n("These AccessX settings are needed for some users with motion impairments and can be configured in the Trinity Control Center. You can also turn them on and off with standardized keyboard gestures.\n\nIf you do not need them, you can select \"Deactivate all AccessX features and gestures\".") );
KWin::setState( dialog->winId(), NET::KeepAbove );
kapp->updateUserTimestamp();
diff --git a/kcontrol/background/CMakeLists.txt b/kcontrol/background/CMakeLists.txt
index 7996f58a6..0d04bd10d 100644
--- a/kcontrol/background/CMakeLists.txt
+++ b/kcontrol/background/CMakeLists.txt
@@ -29,7 +29,7 @@ if( BUILD_KCONTROL OR BUILD_KDESKTOP OR BUILD_TDM )
##### bgnd (static) #############################
tde_add_library( bgnd STATIC_PIC AUTOMOC
- SOURCES bgrender.cpp bgsettings.cpp
+ SOURCES bgrender.cpp bgsettings.cpp KCrossBGRender.cc
LINK ${LIBART_LIBRARIES}
)
diff --git a/kcontrol/background/KCrossBGRender.cc b/kcontrol/background/KCrossBGRender.cc
new file mode 100644
index 000000000..3158e5699
--- /dev/null
+++ b/kcontrol/background/KCrossBGRender.cc
@@ -0,0 +1,361 @@
+/*
+ * Copyright (C) 2008 Danilo Cesar Lemes de Paula <[email protected]>
+ * Copyright (C) 2008 Gustavo Boiko <[email protected]>
+ * Mandriva Conectiva
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <tqdom.h>
+#include <tqfile.h>
+
+#include <kdebug.h>
+
+#include "KCrossBGRender.h"
+#include <tqapplication.h>
+#include <kimageeffect.h>
+
+
+KCrossBGRender::KCrossBGRender(int desk, int screen, bool drawBackgroundPerScreen, TDEConfig *config): KBackgroundRenderer(desk,screen,drawBackgroundPerScreen,config)
+{
+ useCrossEfect = false;
+ if ( wallpaperList()[0].endsWith("xml",false) ) {
+ initCrossFade(wallpaperList()[0]);
+ }
+}
+
+
+void KCrossBGRender::initCrossFade(TQString xmlFile)
+{
+ useCrossEfect = true;
+ if (xmlFile.isEmpty()){
+ useCrossEfect = false;
+ return;
+ }
+ secs = 0;
+ timeList.empty();
+
+ // read the XMLfile
+ TQDomDocument xmldoc = TQDomDocument(xmlFile);
+ TQFile file( xmlFile );
+ if ( !file.open( IO_ReadOnly ) ) {
+ useCrossEfect = false;
+ return;
+ }
+ if ( !xmldoc.setContent( &file ) ) {
+ useCrossEfect = false;
+ file.close();
+ return;
+ }
+ file.close();
+
+ TQDomElement docElem = xmldoc.documentElement();
+ TQDomNode n = docElem.firstChild();
+ while( !n.isNull() ) {
+ TQDomElement e = n.toElement(); // try to convert the node to an element.
+ if( !e.isNull() ) {
+ if (e.tagName() == "starttime") {
+ createStartTime(e);
+ } else if (e.tagName() == "transition") {
+ createTransition(e);
+ } else if (e.tagName() == "static") {
+ createStatic(e);
+ }
+ }
+ n = n.nextSibling();
+ }
+
+ // Setting "now" state
+ setCurrentEvent(true);
+ pix = getCurrentPixmap();
+
+ useCrossEfect = true;
+}
+
+
+KCrossBGRender::~KCrossBGRender(){
+}
+
+TQPixmap KCrossBGRender::pixmap() {
+ fixEnabled();
+ if (!useCrossEfect){
+ TQPixmap p = KBackgroundRenderer::pixmap();
+ kdDebug() << "Inherited " << p.size() << endl;
+ if (p.width() == 0 && p.height() == 0){
+ p.convertFromImage(image());
+ }
+ return p;
+ }
+
+ return pix;
+}
+
+bool KCrossBGRender::needWallpaperChange(){
+ if (!useCrossEfect) {
+ return KBackgroundRenderer::needWallpaperChange();
+ }
+
+ bool forceChange = setCurrentEvent(); // If we change the current state
+ if (forceChange){ // do not matter what hapens
+ actualPhase = 0; // we need to change background
+ return true;
+ }
+
+ // Return false if it's not a transition
+ if (!current.transition) {
+ return false;
+ }
+
+ double timeLeft, timeTotal;
+ TQTime now = TQTime::currentTime();
+
+ timeLeft = now.secsTo(current.etime);
+ if (timeLeft < 0) {
+ timeLeft += 86400; // before midnight
+ }
+ timeTotal = current.stime.secsTo(current.etime);
+ if (timeTotal < 0) {
+ timeTotal += 86400;
+ }
+
+ double passed = timeTotal - timeLeft;
+ double timeCell = timeTotal/60; //Time cell size
+
+ //kdDebug() << "\ntimeleft:" << timeLeft << " timeTotal:" << timeTotal
+ // << "\npassed:" << passed << " timeCell:" << timeCell
+ // << "\nactualPhase: " << actualPhase << endl;
+
+ int aux = passed/timeCell;
+ if(actualPhase != aux){
+ //kdDebug() << "needWallpaperChange() => returned true" << endl;
+ actualPhase = passed/timeCell;
+ return true;
+ }
+
+ //kdDebug() << "needWallpaperChange() => returned false" << endl;
+ return false;
+}
+
+/*
+ * This method change the enabledEffect flag to TRUE of FALSE, according
+ * with multiWallpaperMode and FileName (it needs to be a XML)
+ */
+void KCrossBGRender::fixEnabled(){
+
+
+ TQString w = wallpaperList()[0];
+ useCrossEfect = false;
+ if(multiWallpaperMode() == Random || multiWallpaperMode() == InOrder){
+
+ if ( w != xmlFileName ){
+ // New XML File
+ xmlFileName = w;
+ if (w.endsWith("xml",false)){
+ initCrossFade(wallpaperList()[0]);
+ //useCrossEfect = true;
+ }else{
+ // Not, it's not a xml file
+ useCrossEfect = false;
+ }
+ }else if (w.endsWith("xml",false)){
+ //xmlFile doesn't change
+ //but it's there
+ useCrossEfect = true;
+ }else{
+ // it's not a XML file
+ useCrossEfect = false;
+ }
+ }
+}
+
+void KCrossBGRender::changeWallpaper(bool init){
+
+
+
+ fixEnabled();
+
+ if (!useCrossEfect){
+ KBackgroundRenderer::changeWallpaper(init);
+ return;
+ }
+
+ pix = getCurrentPixmap();
+
+
+}
+
+
+bool KCrossBGRender::setCurrentEvent(bool init){
+ TQTime now = TQTime::currentTime();
+
+
+ //Verify if is need to change
+ if (!(init || now <= current.stime || now >= current.etime )) {
+ return false;
+ }
+
+ TQValueList<KBGCrossEvent>::iterator it;
+ for ( it = timeList.begin(); it != timeList.end(); ++it ){
+
+ // Look for time
+ if ( ((*it).stime <= now && now <= (*it).etime) || //normal situation
+ ((*it).etime <= (*it).stime && (now >= (*it).stime ||
+ now <= (*it).etime) ) )
+ {
+ current = *it;
+ actualPhase = 0;
+
+ //kdDebug() << "Cur: " << current.stime << "< now <" << current.etime << endl;
+ return true;
+ }
+ }
+}
+
+TQPixmap KCrossBGRender::getCurrentPixmap()
+{
+ float alpha;
+ TQPixmap ret;
+ TQImage tmp;
+ TQImage p1;
+ if (!tmp.load(current.pix1))
+ return TQPixmap();
+
+ // scale the pixmap to fit in the screen
+ //p1 = TQPixmap(QApplication::desktop()->screenGeometry().size());
+ //TQPainter p(&p1);
+ //p.drawPixmap(p1.rect(), tmp);
+ //
+ p1 = tmp.smoothScale(TQApplication::desktop()->screenGeometry().size());
+
+ if (current.transition){
+ TQTime now = TQTime::currentTime();
+ double timeLeft,timeTotal;
+
+ TQImage p2;
+
+ if (!tmp.load(current.pix2) )
+ return NULL;
+
+ p2 = tmp.smoothScale(TQApplication::desktop()->screenGeometry().size());
+ //TQPainter p(&p2);
+ //p.drawPixmap(p2.rect(), tmp);
+
+ timeLeft = now.secsTo(current.etime);
+ if (timeLeft < 0)
+ timeLeft += 86400;
+ timeTotal = current.stime.secsTo(current.etime);
+ if (timeTotal < 0)
+ timeTotal += 86400;
+
+ alpha = (timeTotal - timeLeft)/timeTotal;
+
+ //ret = crossFade(p2,p1,alpha);
+ tmp = KImageEffect::blend(p2,p1,alpha);
+ ret.convertFromImage(tmp);
+ return ret;
+ }else{
+ ret.convertFromImage(p1);
+ return ret;
+ }
+
+
+}
+
+void KCrossBGRender::createStartTime(TQDomElement docElem)
+{
+ int hour;
+ int minutes;
+
+ TQDomNode n = docElem.firstChild();
+ while( !n.isNull() ) {
+ TQDomElement e = n.toElement();
+ if( !e.isNull() ) {
+ if (e.tagName() == "hour"){
+ hour = e.text().toInt();
+ }else if ( e.tagName() == "minute" ){
+ minutes = e.text().toInt();
+ }
+
+ }
+
+ n = n.nextSibling();
+ }
+ secs = hour*60*60 + minutes*60;
+}
+void KCrossBGRender::createTransition(TQDomElement docElem)
+{
+ int duration;
+ TQString from;
+ TQString to;
+
+ TQDomNode n = docElem.firstChild();
+ while( !n.isNull() ) {
+ TQDomElement e = n.toElement();
+ if( !e.isNull() ) {
+ if (e.tagName() == "duration"){
+ duration = e.text().toFloat();
+ }else if ( e.tagName() == "from" ){
+ from = e.text();
+ }
+ else if ( e.tagName() == "to" ){
+ to = e.text();
+ }
+
+ }
+ n = n.nextSibling();
+ }
+ TQTime startTime(0,0,0);
+ startTime = startTime.addSecs(secs);
+ TQTime endTime(0,0,0);
+ endTime = endTime.addSecs(secs+duration);
+
+ secs += duration;
+
+ KBGCrossEvent l = {true, from, to, startTime,endTime};
+
+ timeList.append(l);
+
+}
+void KCrossBGRender::createStatic(TQDomElement docElem)
+{
+ int duration;
+ TQString file;
+
+ TQDomNode n = docElem.firstChild();
+ while( !n.isNull() ) {
+ TQDomElement e = n.toElement();
+ if( !e.isNull() ) {
+ if (e.tagName() == "duration"){
+ duration = e.text().toFloat();
+ }else if ( e.tagName() == "file" ){
+ file = e.text();
+ }
+
+ }
+ n = n.nextSibling();
+ }
+
+ TQTime startTime(0,0,0);
+ startTime = startTime.addSecs(secs);
+ TQTime endTime(0,0,0);
+ endTime = endTime.addSecs(secs+duration);
+
+ secs += duration;
+
+ KBGCrossEvent l = {false, file, NULL, startTime,endTime};
+ timeList.append(l);
+}
+
+#include "KCrossBGRender.moc"
diff --git a/kcontrol/background/KCrossBGRender.h b/kcontrol/background/KCrossBGRender.h
new file mode 100644
index 000000000..f3c2f0931
--- /dev/null
+++ b/kcontrol/background/KCrossBGRender.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2008 Danilo Cesar Lemes de Paula <[email protected]>
+ * Copyright (C) 2008 Gustavo Boiko <[email protected]>
+ * Mandriva Conectiva
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __KCROSSBGRENDER_H__
+#define __KCROSSBGRENDER_H__
+
+
+#include <tqvaluelist.h>
+#include <tqpixmap.h>
+#include <tqvaluelist.h>
+#include <tqdatetime.h>
+
+#include "bgrender.h"
+
+class TQDomElement;
+
+typedef struct crossEvent{
+ bool transition;
+ TQString pix1;
+ TQString pix2;
+ TQTime stime; //start time
+ TQTime etime; //end time
+} KBGCrossEvent;
+
+
+class KCrossBGRender: public KBackgroundRenderer{
+
+TQ_OBJECT
+
+public:
+ KCrossBGRender(int desk, int screen, bool drawBackgroundPerScreen, TDEConfig *config=0);
+ ~KCrossBGRender();
+
+ bool needWallpaperChange();
+ void changeWallpaper(bool init=false);
+ TQPixmap pixmap();
+ bool usingCrossXml(){return useCrossEfect;};
+
+
+private:
+ TQPixmap pix;
+ int secs;
+ TQString xmlFileName;
+ bool useCrossEfect;
+
+ int actualPhase;
+
+ void createStartTime(TQDomElement e);
+ void createTransition(TQDomElement e);
+ void createStatic(TQDomElement e);
+ bool setCurrentEvent(bool init = false);
+ void initCrossFade(TQString xml);
+ void fixEnabled();
+ TQPixmap getCurrentPixmap();
+ KBGCrossEvent current;
+ TQValueList<KBGCrossEvent> timeList;
+};
+
+#endif // __KCROSSBGRENDER_H__
diff --git a/kcontrol/background/bgdefaults.h b/kcontrol/background/bgdefaults.h
index 8a0f2912e..d64c6e546 100644
--- a/kcontrol/background/bgdefaults.h
+++ b/kcontrol/background/bgdefaults.h
@@ -34,5 +34,6 @@
#define _defBlendMode KBackgroundSettings::NoBlending
#define _defBlendBalance 100
#define _defReverseBlending false
+#define _defCrossFadeBg false
#endif // __BGDefaults_h_Included__
diff --git a/kcontrol/background/bgdialog.cpp b/kcontrol/background/bgdialog.cpp
index 9c0cd5e1b..c221a50fe 100644
--- a/kcontrol/background/bgdialog.cpp
+++ b/kcontrol/background/bgdialog.cpp
@@ -174,6 +174,10 @@ BGDialog::BGDialog(TQWidget* parent, TDEConfig* _config, bool _multidesktop)
connect(m_cbBlendReverse, TQT_SIGNAL(toggled(bool)),
TQT_SLOT(slotBlendReverse(bool)));
+ // Crossfading background
+ connect(m_cbCrossFadeBg, TQT_SIGNAL(toggled(bool)),
+ TQT_SLOT(slotCrossFadeBg(bool)));
+
// advanced options
connect(m_buttonAdvanced, TQT_SIGNAL(clicked()),
TQT_SLOT(slotAdvanced()));
@@ -304,6 +308,7 @@ void BGDialog::makeReadOnly()
m_cbBlendReverse->setEnabled( false );
m_buttonAdvanced->setEnabled( false );
m_buttonGetNew->setEnabled( false );
+ m_cbCrossFadeBg->setEnabled( false );
}
void BGDialog::load( bool useDefaults )
@@ -781,6 +786,8 @@ void BGDialog::updateUI()
m_cbBlendReverse->setChecked(r->reverseBlending());
m_sliderBlend->setValue( r->blendBalance() / 10 );
+ m_cbCrossFadeBg->setChecked(r->crossFadeBg());
+
m_comboBlend->blockSignals(false);
m_sliderBlend->blockSignals(false);
@@ -1295,6 +1302,17 @@ void BGDialog::slotBlendReverse(bool b)
eRenderer()->start(true);
}
+void BGDialog::slotCrossFadeBg(bool b)
+{
+ if (b == eRenderer()->crossFadeBg())
+ return;
+ emit changed(true);
+
+ eRenderer()->stop();
+ eRenderer()->setCrossFadeBg(b);
+ eRenderer()->start(true);
+}
+
void BGDialog::desktopResized()
{
for (unsigned i = 0; i < m_renderer.size(); ++i)
diff --git a/kcontrol/background/bgdialog.h b/kcontrol/background/bgdialog.h
index 08dfe13be..6b33d8999 100644
--- a/kcontrol/background/bgdialog.h
+++ b/kcontrol/background/bgdialog.h
@@ -80,6 +80,7 @@ protected slots:
void slotBlendReverse(bool b);
void desktopResized();
void setBlendingEnabled(bool);
+ void slotCrossFadeBg(bool);
protected:
void getEScreen();
diff --git a/kcontrol/background/bgdialog_ui.ui b/kcontrol/background/bgdialog_ui.ui
index 3960b4009..f35e19f78 100644
--- a/kcontrol/background/bgdialog_ui.ui
+++ b/kcontrol/background/bgdialog_ui.ui
@@ -376,6 +376,17 @@
&lt;/ul&gt;&lt;/qt&gt;</string>
</property>
</widget>
+ <widget class="TQCheckBox" row="8" column="1">
+ <property name="name">
+ <cstring>m_cbCrossFadeBg</cstring>
+ </property>
+ <property name="text">
+ <string>Cross-fading background</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enables a smooth fading effect when changing background image.</string>
+ </property>
+ </widget>
<widget class="TQComboBox" row="5" column="1">
<property name="name">
<cstring>m_comboBlend</cstring>
diff --git a/kcontrol/background/bgrender.cpp b/kcontrol/background/bgrender.cpp
index f6db68f70..5e9e4b82f 100644
--- a/kcontrol/background/bgrender.cpp
+++ b/kcontrol/background/bgrender.cpp
@@ -10,6 +10,8 @@
#include <config.h>
+#include "KCrossBGRender.h"
+
#include <time.h>
#include <stdlib.h>
#include <utime.h>
@@ -1061,7 +1063,7 @@ KVirtualBGRenderer::~KVirtualBGRenderer()
}
-KBackgroundRenderer * KVirtualBGRenderer::renderer(unsigned screen)
+KCrossBGRender * KVirtualBGRenderer::renderer(unsigned screen)
{
return m_renderer[screen];
}
@@ -1220,7 +1222,7 @@ void KVirtualBGRenderer::initRenderers()
for (unsigned i=0; i<m_numRenderers; ++i)
{
int eScreen = m_bCommonScreen ? 0 : i;
- KBackgroundRenderer * r = new KBackgroundRenderer( m_desk, eScreen, m_bDrawBackgroundPerScreen, m_pConfig );
+ KCrossBGRender *r = new KCrossBGRender(m_desk, eScreen, m_bDrawBackgroundPerScreen, m_pConfig);
m_renderer.insert( i, r );
r->setSize(renderSize(i));
connect( r, TQT_SIGNAL(imageDone(int,int)), this, TQT_SLOT(screenDone(int,int)) );
@@ -1250,7 +1252,7 @@ void KVirtualBGRenderer::screenDone(int _desk, int _screen)
Q_UNUSED(_desk);
Q_UNUSED(_screen);
- const KBackgroundRenderer * sender = dynamic_cast<const KBackgroundRenderer*>(this->sender());
+ const KCrossBGRender * sender = dynamic_cast<const KCrossBGRender*>(this->sender());
int screen = m_renderer.find(sender);
if (screen == -1)
//??
diff --git a/kcontrol/background/bgrender.h b/kcontrol/background/bgrender.h
index 56317013f..5ab1cc6c3 100644
--- a/kcontrol/background/bgrender.h
+++ b/kcontrol/background/bgrender.h
@@ -28,6 +28,7 @@ class TDEProcess;
class KTempFile;
class KShellProcess;
class TDEStandardDirs;
+class KCrossBGRender;
/**
* This class renders a desktop background to a TQImage. The operation is
@@ -127,7 +128,7 @@ public:
KVirtualBGRenderer(int desk, TDEConfig *config=0l);
~KVirtualBGRenderer();
- KBackgroundRenderer * renderer(unsigned screen);
+ KCrossBGRender * renderer(unsigned screen);
unsigned numRenderers() const { return m_numRenderers; }
TQPixmap pixmap();
@@ -173,7 +174,7 @@ private:
TQSize m_size;
TQMemArray<bool> m_bFinished;
- TQPtrVector<KBackgroundRenderer> m_renderer;
+ TQPtrVector<KCrossBGRender> m_renderer;
TQPixmap *m_pPixmap;
};
diff --git a/kcontrol/background/bgsettings.cpp b/kcontrol/background/bgsettings.cpp
index d36d7f140..f29eeacf4 100644
--- a/kcontrol/background/bgsettings.cpp
+++ b/kcontrol/background/bgsettings.cpp
@@ -437,6 +437,7 @@ KBackgroundSettings::KBackgroundSettings(int desk, int screen, bool drawBackgrou
defBlendMode = _defBlendMode;
defBlendBalance = _defBlendBalance;
defReverseBlending = _defReverseBlending;
+ defCrossFadeBg = _defCrossFadeBg;
m_MinOptimizationDepth = _defMinOptimizationDepth;
m_bShm = _defShm;
@@ -537,6 +538,7 @@ void KBackgroundSettings::copyConfig(const KBackgroundSettings *settings)
m_BlendMode = settings->m_BlendMode;
m_BlendBalance = settings->m_BlendBalance;
m_ReverseBlending = settings->m_ReverseBlending;
+ m_CrossFadeBg = settings->m_CrossFadeBg;
m_MinOptimizationDepth = settings->m_MinOptimizationDepth;
m_bShm = settings->m_bShm;
m_MultiMode = settings->m_MultiMode;
@@ -633,6 +635,15 @@ void KBackgroundSettings::setReverseBlending(bool value)
}
+void KBackgroundSettings::setCrossFadeBg(bool value)
+{
+ if (m_CrossFadeBg == value)
+ return;
+ dirty = hashdirty = true;
+ m_CrossFadeBg = value;
+}
+
+
void KBackgroundSettings::setWallpaper(TQString wallpaper)
{
dirty = hashdirty = true;
@@ -774,6 +785,8 @@ void KBackgroundSettings::readSettings(bool reparse)
m_ReverseBlending = m_pConfig->readBoolEntry( "ReverseBlending", defReverseBlending);
+ m_CrossFadeBg = m_pConfig->readBoolEntry( "CrossFadeBg", defCrossFadeBg);
+
// Multiple wallpaper config
m_WallpaperList = m_pConfig->readPathListEntry("WallpaperList");
@@ -834,6 +847,7 @@ void KBackgroundSettings::writeSettings()
m_pConfig->writeEntry("BlendMode", m_BlMRevMap[m_BlendMode]);
m_pConfig->writeEntry("BlendBalance", m_BlendBalance);
m_pConfig->writeEntry("ReverseBlending", m_ReverseBlending);
+ m_pConfig->writeEntry("CrossFadeBg", m_CrossFadeBg);
m_pConfig->writeEntry("MinOptimizationDepth", m_MinOptimizationDepth);
m_pConfig->writeEntry("UseSHM", m_bShm);
diff --git a/kcontrol/background/bgsettings.h b/kcontrol/background/bgsettings.h
index 0e16a87e9..a49873af2 100644
--- a/kcontrol/background/bgsettings.h
+++ b/kcontrol/background/bgsettings.h
@@ -8,8 +8,8 @@
* Public License. See the file "COPYING.LIB" for the exact licensing terms.
*/
-#ifndef __BGSettings_h_Included__
-#define __BGSettings_h_Included__
+#ifndef __BGSETTINGS_H__
+#define __BGSETTINGS_H__
#include <tqstringlist.h>
@@ -198,6 +198,9 @@ public:
void setReverseBlending(bool value);
bool reverseBlending() const { return m_ReverseBlending; }
+ void setCrossFadeBg(bool value);
+ bool crossFadeBg() const { return m_CrossFadeBg; }
+
void setBlendBalance(int value);
int blendBalance() const { return m_BlendBalance; }
@@ -273,6 +276,7 @@ private:
int m_BlendMode, defBlendMode;
int m_BlendBalance, defBlendBalance;
bool m_ReverseBlending, defReverseBlending;
+ bool m_CrossFadeBg, defCrossFadeBg;
int m_MinOptimizationDepth;
bool m_bShm;
bool m_bDrawBackgroundPerScreen;
@@ -369,4 +373,4 @@ private:
};
-#endif // __BGSettings_h_Included__
+#endif // __BGSETTINGS_H__
diff --git a/kcontrol/background/crossfade.h b/kcontrol/background/crossfade.h
new file mode 100644
index 000000000..dba34a3b4
--- /dev/null
+++ b/kcontrol/background/crossfade.h
@@ -0,0 +1,56 @@
+/* vi: ts=8 sts=4 sw=4
+ * kate: space-indent on; tab-width 8; indent-width 4; indent-mode cstyle;
+ *
+ * This file is part of the KDE project, module kdesktop.
+ * Copyright (C) 1999,2000 Geert Jansen <[email protected]>
+ *
+ * You can Freely distribute this program under the GNU General Public
+ * License. See the file "COPYING" for the exact licensing terms.
+ */
+
+#ifndef __CROSSFADE_H__
+#define __CROSSFADE_H__
+
+#include <tqtimer.h>
+#include <tqpainter.h>
+#include <tqpixmap.h>
+#include <X11/X.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/extensions/Xrender.h>
+#include <kdebug.h>
+#include <unistd.h>
+
+
+
+inline TQPixmap crossFade(const TQPixmap &pix1, const TQPixmap &pix2, double r_alpha,
+ bool sync = false){
+
+ TQPixmap pix = TQPixmap(1,1,8);
+ int mw,mh;
+ mw = pix1.width();
+ mh = pix1.height();
+
+ int alpha = 0xffff * (1-r_alpha);
+
+ XRenderColor clr = { 0, 0, 0, alpha };
+ XRenderPictureAttributes pa;
+ pa.repeat = True;
+ Picture pic = XRenderCreatePicture(pix.x11Display(), pix.handle(),
+ XRenderFindStandardFormat (pix.x11Display(), PictStandardA8),
+ CPRepeat, &pa);
+ XRenderFillRectangle(pix.x11Display(), PictOpSrc, pic,
+ &clr, 0, 0, 1, 1);
+ TQPixmap dst(pix1);
+ dst.detach();
+ XRenderComposite(pix.x11Display(), PictOpOver, pix2.x11RenderHandle(),
+ pic, dst.x11RenderHandle(),0,0, 0,0, 0,0, mw,mh);
+
+ if (sync) {
+ XSync(pix.x11Display(), false);
+ }
+ XRenderFreePicture(pix.x11Display(), pic);
+ return dst;
+}
+
+#endif // __CROSSFADE_H__
diff --git a/kcontrol/displayconfig/displayconfig.desktop b/kcontrol/displayconfig/displayconfig.desktop
index 2d4b5051a..5314c0460 100644
--- a/kcontrol/displayconfig/displayconfig.desktop
+++ b/kcontrol/displayconfig/displayconfig.desktop
@@ -1,25 +1,35 @@
[Desktop Entry]
+Exec=tdecmshell displayconfig
+Icon=background
+Type=Application
+DocPath=kcontrol/displayconfig/index.html
+
+X-TDE-Library=displayconfig
+X-TDE-ParentApp=kcontrol
+X-TDE-RootOnly=true
+X-TDE-SubstituteUID=true
+X-TDE-Username=
+
Categories=Qt;TDE;X-TDE-settings-system;
Comment=Configure display
Comment[en_US]=Configure display
-DocPath=kcontrol/displayconfig/index.html
-Exec=tdecmshell displayconfig
+Comment[fr]=Configuration de l'affichage
+Comment[it]=Configurazione del display
+Comment[ru]=Конфигурация экрана
+Comment[uk]=Конфігурація екрану
GenericName=
GenericName[en_US]=
-Icon=background
Keywords=monitor,resolution,display
MimeType=
Name=Monitor & Display
Name[en_US]=Monitor & Display
+Name[fr]=Moniteurs & Affichage
+Name[it]=Schermo & display
+Name[ru]=Монитор & Экран
+Name[uk]=Монітор & Екран
NoDisplay=false
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
-Type=Application
X-DCOP-ServiceType=
-X-TDE-Library=displayconfig
-X-TDE-ParentApp=kcontrol
-X-TDE-RootOnly=true
-X-TDE-SubstituteUID=true
-X-TDE-Username=
diff --git a/kcontrol/iccconfig/iccconfig.desktop b/kcontrol/iccconfig/iccconfig.desktop
index ffa072e9b..68203a44e 100644
--- a/kcontrol/iccconfig/iccconfig.desktop
+++ b/kcontrol/iccconfig/iccconfig.desktop
@@ -12,11 +12,19 @@ X-TDE-SubstituteUID=true
Categories=Qt;TDE;X-TDE-settings-hardware;
Comment=Configure display ICC profile
Comment[en_US]=Configure display ICC profile
+Comment[fr]=Configurer les profils de couleurs ICC
+Comment[it]=Configurazione del profilo ICC del display
+Comment[ru]=Конфигурация профиля ICC экрана
+Comment[uk]=Конфігурація профілю ICC екрану
GenericName=
GenericName[en_US]=
Keywords=ICC,display,color,profile
MimeType=
Name=ICC Color Profile
Name[en_US]=ICC Color Profile
+Name[fr]=Profils de couleurs ICC
+Name[it]=Profilo dei colori ICC
+Name[ru]=ICC Профиль цвета
+Name[uk]=ICC Профіль кольору
NoDisplay=false
diff --git a/kcontrol/joystick/caldialog.cpp b/kcontrol/joystick/caldialog.cpp
index 877befb62..69e0beff6 100644
--- a/kcontrol/joystick/caldialog.cpp
+++ b/kcontrol/joystick/caldialog.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/caldialog.h b/kcontrol/joystick/caldialog.h
index 343666f97..202296f2b 100644
--- a/kcontrol/joystick/caldialog.h
+++ b/kcontrol/joystick/caldialog.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/joydevice.cpp b/kcontrol/joystick/joydevice.cpp
index 3c4aeac3f..f6bf04e6a 100644
--- a/kcontrol/joystick/joydevice.cpp
+++ b/kcontrol/joystick/joydevice.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/joydevice.h b/kcontrol/joystick/joydevice.h
index d02d5deea..7519bbf67 100644
--- a/kcontrol/joystick/joydevice.h
+++ b/kcontrol/joystick/joydevice.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/joystick.cpp b/kcontrol/joystick/joystick.cpp
index 69e81b79b..d0521d81e 100644
--- a/kcontrol/joystick/joystick.cpp
+++ b/kcontrol/joystick/joystick.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -70,7 +70,7 @@ joystick::joystick(TQWidget *parent, const char *name, const TQStringList &)
: TDECModule(JoystickFactory::instance(), parent, name)
{
setAboutData( new TDEAboutData("kcmjoystick", I18N_NOOP("TDE Joystick Control Module"), "1.0",
- I18N_NOOP("TDE Control Center Module to test Joysticks"),
+ I18N_NOOP("Trinity Control Center Module to test Joysticks"),
TDEAboutData::License_GPL, "(c) 2004, Martin Koller",
diff --git a/kcontrol/joystick/joystick.h b/kcontrol/joystick/joystick.h
index eadccd0fd..8ef9e966e 100644
--- a/kcontrol/joystick/joystick.h
+++ b/kcontrol/joystick/joystick.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/joywidget.cpp b/kcontrol/joystick/joywidget.cpp
index 67ea30eeb..5d104006b 100644
--- a/kcontrol/joystick/joywidget.cpp
+++ b/kcontrol/joystick/joywidget.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/joywidget.h b/kcontrol/joystick/joywidget.h
index 5a33530f8..45291d275 100644
--- a/kcontrol/joystick/joywidget.h
+++ b/kcontrol/joystick/joywidget.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/poswidget.cpp b/kcontrol/joystick/poswidget.cpp
index 95fb5dd30..af8609070 100644
--- a/kcontrol/joystick/poswidget.cpp
+++ b/kcontrol/joystick/poswidget.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/joystick/poswidget.h b/kcontrol/joystick/poswidget.h
index 4dd565cc5..324ee1da2 100644
--- a/kcontrol/joystick/poswidget.h
+++ b/kcontrol/joystick/poswidget.h
@@ -1,7 +1,7 @@
/***************************************************************************
* Copyright (C) 2003 by Martin Koller *
- * This file is part of the TDE Control Center Module for Joysticks *
+ * This file is part of the Trinity Control Center Module for Joysticks *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
diff --git a/kcontrol/kcontrol/KControl.desktop b/kcontrol/kcontrol/KControl.desktop
index c149fba3a..9413b2acc 100644
--- a/kcontrol/kcontrol/KControl.desktop
+++ b/kcontrol/kcontrol/KControl.desktop
@@ -5,7 +5,7 @@ Type=Application
DocPath=kcontrol/index.html
X-TDE-StartupNotify=true
-Name=Control Center
+Name=Trinity Control Center
Name[af]=Beheer Sentrum
Name[ar]=مركز التحكم
Name[az]=İdarə Mərkəzi
@@ -28,7 +28,7 @@ Name[et]=Juhtimiskeskus
Name[eu]=Kontrol gunea
Name[fa]=مرکز کنترل
Name[fi]=Ohjauskeskus
-Name[fr]=Centre de configuration de TDE
+Name[fr]=Centre de configuration de Trinity
Name[fy]=Konfiguraasjesintrum
Name[ga]=Lárionad Rialaithe
Name[gl]=Centro de Control
@@ -38,7 +38,7 @@ Name[hr]=Upravljačko središte
Name[hu]=Vezérlőpult
Name[id]=Pusat Kontrol
Name[is]=Stjórnborð
-Name[it]=Centro di controllo
+Name[it]=Centro di controllo di Trinity
Name[ja]=コントロールセンター
Name[ka]=საკონტროლო ცენტრი
Name[kk]=Басқару орталығы
diff --git a/kcontrol/kcontrol/KControl_NoDisplay.desktop b/kcontrol/kcontrol/KControl_NoDisplay.desktop
index dec66d313..cc0c0119e 100644
--- a/kcontrol/kcontrol/KControl_NoDisplay.desktop
+++ b/kcontrol/kcontrol/KControl_NoDisplay.desktop
@@ -5,7 +5,7 @@ Type=Application
DocPath=kcontrol/index.html
X-TDE-StartupNotify=true
-Name=Control Center
+Name=Trinity Control Center
Name[af]=Beheer Sentrum
Name[ar]=مركز التحكم
Name[az]=İdarə Mərkəzi
@@ -28,7 +28,7 @@ Name[et]=Juhtimiskeskus
Name[eu]=Kontrol gunea
Name[fa]=مرکز کنترل
Name[fi]=Ohjauskeskus
-Name[fr]=Centre de configuration de TDE
+Name[fr]=Centre de configuration de Trinity
Name[fy]=Konfiguraasjesintrum
Name[ga]=Lárionad Rialaithe
Name[gl]=Centro de Control
@@ -38,7 +38,7 @@ Name[hr]=Upravljačko središte
Name[hu]=Vezérlőpult
Name[id]=Pusat Kontrol
Name[is]=Stjórnborð
-Name[it]=Centro di controllo
+Name[it]=Centro di controllo di Trinity
Name[ja]=コントロールセンター
Name[ka]=საკონტროლო ცენტრი
Name[kk]=Басқару орталығы
diff --git a/kcontrol/kcontrol/about/kcontrol.css b/kcontrol/kcontrol/about/kcontrol.css
index 7e17e6a0d..dac9f05bf 100644
--- a/kcontrol/kcontrol/about/kcontrol.css
+++ b/kcontrol/kcontrol/about/kcontrol.css
@@ -9,14 +9,13 @@
#title {
right: 80px;
- font-size: x-large;
+ font-size: xx-large;
}
#tagline {
right: 80px;
- font-size: x-small;
- text-shadow: #c8c8c8 0px 0px 3px;
-
+ font-size: small;
+ text-shadow: #000000 1px 1px 1px;
}
#barCenter {
diff --git a/kcontrol/kcontrol/about/main.html b/kcontrol/kcontrol/about/main.html
index 65a0a4c02..23343ddda 100644
--- a/kcontrol/kcontrol/about/main.html
+++ b/kcontrol/kcontrol/about/main.html
@@ -20,6 +20,7 @@
<body>
<div id="header">
<div id="headerL"/>
+ <div id="headerCenter"/>
<div id="headerR"/>
<div id="title">
diff --git a/kcontrol/kcontrol/about/top-right-kcontrol.png b/kcontrol/kcontrol/about/top-right-kcontrol.png
index bad44f089..a615af44d 100644
--- a/kcontrol/kcontrol/about/top-right-kcontrol.png
+++ b/kcontrol/kcontrol/about/top-right-kcontrol.png
Binary files differ
diff --git a/kcontrol/kcontrol/main.cpp b/kcontrol/kcontrol/main.cpp
index 2656359c2..25ab4fc4a 100644
--- a/kcontrol/kcontrol/main.cpp
+++ b/kcontrol/kcontrol/main.cpp
@@ -103,7 +103,7 @@ extern "C" KDE_EXPORT int kdemain(int argc, char *argv[])
TDELocale::setMainCatalogue("kcontrol");
TDEAboutData aboutKControl( "kcontrol", I18N_NOOP("Trinity Control Center"),
KCONTROL_VERSION, I18N_NOOP("The Trinity Control Center"), TDEAboutData::License_GPL,
- I18N_NOOP("(c) 1998-2004, The TDE Control Center Developers"));
+ I18N_NOOP("(c) 1998-2004, The Trinity Control Center Developers"));
TQCString argv_0 = argv[0];
TDEAboutData *aboutData;
diff --git a/kcontrol/kcontrol/tde-kcontrol.desktop b/kcontrol/kcontrol/tde-kcontrol.desktop
index f27736e6e..c5e78af16 100644
--- a/kcontrol/kcontrol/tde-kcontrol.desktop
+++ b/kcontrol/kcontrol/tde-kcontrol.desktop
@@ -5,7 +5,7 @@ Type=Application
DocPath=kcontrol/index.html
X-TDE-StartupNotify=true
-Name=TDE Control Center
+Name=Trinity Control Center
Name[ca]=Centre de control del TDE
Name[cs]=Ovládací centrum TDE
Name[da]=TDE Kontrolcenter
diff --git a/kcontrol/keys/keyconfig.cpp b/kcontrol/keys/keyconfig.cpp
index 9785d22da..ee39447a1 100644
--- a/kcontrol/keys/keyconfig.cpp
+++ b/kcontrol/keys/keyconfig.cpp
@@ -137,7 +137,7 @@ void KKeyModule::init( bool isGlobal, bool _bSeriesOnly, bool bSeriesNone )
// That move will take a lot of UI redesigning, though, so i'll do it once CVS
// opens up for feature commits again. -- ellis
/* Needed to remove because this depended upon non-BC changes in KeyEntry.*/
- // If this is the "Global Keys" section of the TDE Control Center:
+ // If this is the "Global Keys" section of the Trinity Control Center:
if( isGlobal && !bSeriesOnly ) {
preferMetaBt = new TQCheckBox( i18n("Prefer 4-modifier defaults"), this );
if( !KKeySequence::keyboardHasMetaKey() )
diff --git a/kcontrol/kicker/menutab.ui b/kcontrol/kicker/menutab.ui
index 78a9711ed..aa488c1b0 100644
--- a/kcontrol/kicker/menutab.ui
+++ b/kcontrol/kicker/menutab.ui
@@ -163,7 +163,7 @@
</widget>
</grid>
</widget>
- <widget class="TQPushButton" colspan="4">
+ <widget class="TQPushButton">
<property name="name">
<cstring>m_editKMenuButton</cstring>
</property>
@@ -174,7 +174,21 @@
<string>Start the editor for the TDE Menu. Here you can add, edit, remove and hide applications.</string>
</property>
</widget>
- <spacer>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>btnCustomKMenuIcon</cstring>
+ </property>
+ <property name="text">
+ <string>Change menu icon</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Allows you to choose a different icon for the TDE menu.</string>
+ </property>
+ <property name="acceptDrops">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <spacer>
<property name="name">
<cstring>Spacer10</cstring>
</property>
@@ -293,6 +307,22 @@
<property name="margin">
<number>0</number>
</property>
+ <widget class="TQLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1_3_3_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Text:</string>
+ </property>
+ </widget>
<widget class="TQLineEdit" row="0" column="1" colspan="3">
<property name="name">
<cstring>kcfg_KMenuText</cstring>
@@ -301,70 +331,7 @@
<number>35</number>
</property>
</widget>
- <widget class="TQLabel" row="3" column="0" colspan="2">
- <property name="name">
- <cstring>TextLabel1_3_3_2</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>4</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Change TDE Menu icon:</string>
- </property>
- </widget>
- <widget class="KPushButton" row="3" column="3" colspan="1">
- <property name="name">
- <cstring>btnCustomKMenuIcon</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>26</width>
- <height>26</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>26</width>
- <height>26</height>
- </size>
- </property>
- <property name="acceptDrops">
- <bool>false</bool>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="TQLabel" row="0" column="0">
- <property name="name">
- <cstring>TextLabel1_3_3_2</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>4</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Text:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="0">
+ <widget class="TQLabel" row="1" column="0">
<property name="name">
<cstring>TextLabel1_3_3_2</cstring>
</property>
@@ -380,12 +347,12 @@
<string>Font:</string>
</property>
</widget>
- <widget class="TDEFontRequester" row="2" column="1" rowspan="1" colspan="3">
+ <widget class="TDEFontRequester" row="1" column="1" colspan="3">
<property name="name">
<cstring>kcfg_ButtonFont</cstring>
</property>
</widget>
- <spacer row="4" column="3">
+ <spacer row="2" column="3">
<property name="name">
<cstring>spacer6</cstring>
</property>
diff --git a/kcontrol/kicker/menutab_impl.cpp b/kcontrol/kicker/menutab_impl.cpp
index 571365a55..6be59c475 100644
--- a/kcontrol/kicker/menutab_impl.cpp
+++ b/kcontrol/kicker/menutab_impl.cpp
@@ -85,13 +85,12 @@ MenuTab::MenuTab( TQWidget *parent, const char* name )
connect(maxrecentdocs, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(kmenuChanged()));
TDEIconLoader * ldr = TDEGlobal::iconLoader();
- TQPixmap kmenu_icon;
m_kmenu_icon = KickerSettings::customKMenuIcon();
if (m_kmenu_icon.isNull() == true) {
m_kmenu_icon = TQString("kmenu");
}
- kmenu_icon = ldr->loadIcon(m_kmenu_icon, TDEIcon::Small, TDEIcon::SizeSmall);
- btnCustomKMenuIcon->setPixmap(kmenu_icon);
+ TQIconSet kmenu_icon = ldr->loadIconSet(m_kmenu_icon, TDEIcon::Small, TDEIcon::SizeSmall);
+ btnCustomKMenuIcon->setIconSet(kmenu_icon);
TDEConfig *config;
config = new TDEConfig(TQString::fromLatin1("kdeglobals"), false, false);
@@ -323,10 +322,9 @@ void MenuTab::launchIconEditor()
return;
m_kmenu_icon = newIcon;
- TDEIconLoader * ldr = TDEGlobal::iconLoader();
- TQPixmap kmenu_icon;
- kmenu_icon = ldr->loadIcon(m_kmenu_icon, TDEIcon::Small, TDEIcon::SizeSmall);
- btnCustomKMenuIcon->setPixmap(kmenu_icon);
+ TDEIconLoader * ldr = TDEGlobal::iconLoader();
+ TQIconSet kmenu_icon = ldr->loadIconSet(m_kmenu_icon, TDEIcon::Small, TDEIcon::SizeSmall);
+ btnCustomKMenuIcon->setIconSet(kmenu_icon);
m_kmenu_button_changed = true;
emit changed();
diff --git a/kcontrol/knotify/README b/kcontrol/knotify/README
index 712b78d2e..0ebfea879 100644
--- a/kcontrol/knotify/README
+++ b/kcontrol/knotify/README
@@ -1,2 +1,2 @@
-This is a TDE Control Center Module for configuring system notifications
+This is a Trinity Control Center Module for configuring system notifications
diff --git a/kcontrol/konq/onlyone.png b/kcontrol/konq/onlyone.png
index 03cb65b9c..7033763f3 100644
--- a/kcontrol/konq/onlyone.png
+++ b/kcontrol/konq/onlyone.png
Binary files differ
diff --git a/kcontrol/konq/overlapping.png b/kcontrol/konq/overlapping.png
index 93adb259e..145234576 100644
--- a/kcontrol/konq/overlapping.png
+++ b/kcontrol/konq/overlapping.png
Binary files differ
diff --git a/kcontrol/randr/tderandrtray.cpp b/kcontrol/randr/tderandrtray.cpp
index 1e07cea1d..32f6f39ac 100644
--- a/kcontrol/randr/tderandrtray.cpp
+++ b/kcontrol/randr/tderandrtray.cpp
@@ -54,7 +54,9 @@ KRandRSystemTray::KRandRSystemTray(TQWidget* parent, const char *name)
, m_popupUp(false)
, m_help(new KHelpMenu(this, TDEGlobal::instance()->aboutData(), false, actionCollection()))
{
- setPixmap(KSystemTray::loadSizedIcon("randr", width()));
+ TDEPopupMenu *help = m_help->menu();
+ help->connectItem(KHelpMenu::menuHelpContents, this, TQT_SLOT(slotHelpContents()));
+ setPixmap(KSystemTray::loadIcon("randr"));
setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
connect(this, TQT_SIGNAL(quitSelected()), this, TQT_SLOT(_quit()));
TQToolTip::add(this, i18n("Screen resize & rotate"));
@@ -111,7 +113,7 @@ void KRandRSystemTray::_quit (){
exit(0);
}
-void KRandRSystemTray::resizeEvent ( TQResizeEvent * )
+void KRandRSystemTray::resizeTrayIcon ()
{
// Honor Free Desktop specifications that allow for arbitrary system tray icon sizes
TQPixmap origpixmap;
@@ -124,6 +126,18 @@ void KRandRSystemTray::resizeEvent ( TQResizeEvent * )
setPixmap(scaledpixmap);
}
+void KRandRSystemTray::resizeEvent ( TQResizeEvent * )
+{
+ // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes
+ resizeTrayIcon();
+}
+
+void KRandRSystemTray::showEvent ( TQShowEvent * )
+{
+ // Honor Free Desktop specifications that allow for arbitrary system tray icon sizes
+ resizeTrayIcon();
+}
+
void KRandRSystemTray::mousePressEvent(TQMouseEvent* e)
{
// Popup the context menu with left-click
@@ -882,3 +896,9 @@ void KRandRSystemTray::deviceChanged (TDEGenericDevice* device) {
applyHotplugRules(locateLocal("config", "/", true));
}
}
+
+void KRandRSystemTray::slotHelpContents()
+{
+ kapp->invokeHelp(TQString::null, "tderandrtray");
+}
+
diff --git a/kcontrol/randr/tderandrtray.h b/kcontrol/randr/tderandrtray.h
index aee432b4a..09a1b2671 100644
--- a/kcontrol/randr/tderandrtray.h
+++ b/kcontrol/randr/tderandrtray.h
@@ -58,10 +58,12 @@ protected slots:
void slotOutputChanged(int parameter);
void slotColorProfileChanged(int parameter);
void slotDisplayProfileChanged(int parameter);
+ void slotHelpContents();
protected:
void mousePressEvent( TQMouseEvent *e );
void resizeEvent ( TQResizeEvent * );
+ void showEvent ( TQShowEvent * );
private:
void populateMenu(TDEPopupMenu* menu);
@@ -70,6 +72,7 @@ private:
int GetHackResolutionParameter();
void findPrimaryDisplay();
void reloadDisplayConfiguration();
+ void resizeTrayIcon();
bool m_popupUp;
KHelpMenu* m_help;
diff --git a/kcontrol/screensaver/scrnsave.cpp b/kcontrol/screensaver/scrnsave.cpp
index 33df74f27..a0b26ae46 100644
--- a/kcontrol/screensaver/scrnsave.cpp
+++ b/kcontrol/screensaver/scrnsave.cpp
@@ -177,7 +177,7 @@ KScreenSaver::KScreenSaver(TQWidget *parent, const char *name, const TQStringLis
mSettingsGroup = new TQGroupBox( i18n("Settings"), this );
mSettingsGroup->setColumnLayout( 0, Qt::Vertical );
leftColumnLayout->addWidget( mSettingsGroup );
- TQGridLayout *settingsGroupLayout = new TQGridLayout( mSettingsGroup->layout(), 4, 2, KDialog::spacingHint() );
+ TQGridLayout *settingsGroupLayout = new TQGridLayout( mSettingsGroup->layout(), 5, 2, KDialog::spacingHint() );
mEnabledCheckBox = new TQCheckBox(i18n("Start a&utomatically"), mSettingsGroup);
mEnabledCheckBox->setChecked(mEnabled);
@@ -264,13 +264,20 @@ KScreenSaver::KScreenSaver(TQWidget *parent, const char *name, const TQStringLis
settingsGroupLayout->addWidget(mUseUnmanagedLockWindowsCheckBox, 2, 1);
TQWhatsThis::add( mUseUnmanagedLockWindowsCheckBox, i18n("Use old-style unmanaged X11 lock windows.") );
- mHideActiveWindowsFromSaverCheckBox = new TQCheckBox( i18n("&Hide active windows from saver"), mSettingsGroup );
+ mHideActiveWindowsFromSaverCheckBox = new TQCheckBox( i18n("Hide active &windows from saver"), mSettingsGroup );
mHideActiveWindowsFromSaverCheckBox->setEnabled( true );
mHideActiveWindowsFromSaverCheckBox->setChecked( mHideActiveWindowsFromSaver );
connect( mHideActiveWindowsFromSaverCheckBox, TQT_SIGNAL( toggled( bool ) ), this, TQT_SLOT( slotHideActiveWindowsFromSaver( bool ) ) );
settingsGroupLayout->addWidget(mHideActiveWindowsFromSaverCheckBox, 3, 1);
TQWhatsThis::add( mHideActiveWindowsFromSaverCheckBox, i18n("Hide all active windows from the screen saver and use the desktop background as the screen saver input.") );
+ mHideCancelButtonCheckBox = new TQCheckBox( i18n("Hide &cancel button"), mSettingsGroup );
+ mHideCancelButtonCheckBox->setEnabled( true );
+ mHideCancelButtonCheckBox->setChecked( mHideCancelButton );
+ connect( mHideCancelButtonCheckBox, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(slotHideCancelButton(bool)) );
+ settingsGroupLayout->addWidget(mHideCancelButtonCheckBox, 4, 1);
+ TQWhatsThis::add(mHideCancelButtonCheckBox, i18n("Hide Cancel button from the \"Desktop Session Locked\" dialog."));
+
// right column
TQBoxLayout* rightColumnLayout = new TQVBoxLayout(topLayout, KDialog::spacingHint());
@@ -432,6 +439,7 @@ void KScreenSaver::readSettings( bool useDefaults )
mUseTSAK = config->readBoolEntry("UseTDESAK", true);
mUseUnmanagedLockWindows = config->readBoolEntry("UseUnmanagedLockWindows", false);
mHideActiveWindowsFromSaver = config->readBoolEntry("HideActiveWindowsFromSaver", true);
+ mHideCancelButton = config->readBoolEntry("HideCancelButton", false);
mSaver = config->readEntry("Saver");
if (mTimeout < 60) mTimeout = 60;
@@ -484,6 +492,7 @@ void KScreenSaver::save()
config->writeEntry("UseTDESAK", mUseTSAK);
config->writeEntry("UseUnmanagedLockWindows", mUseUnmanagedLockWindows);
config->writeEntry("HideActiveWindowsFromSaver", mHideActiveWindowsFromSaver);
+ config->writeEntry("HideCancelButton", mHideCancelButton);
if ( !mSaver.isEmpty() )
config->writeEntry("Saver", mSaver);
@@ -688,6 +697,7 @@ void KScreenSaver::slotEnable(bool e)
//
void KScreenSaver::processLockouts()
{
+ bool useSAK = mTDMConfig->readBoolEntry("UseSAK", false);
mActivateLbl->setEnabled( mEnabled );
mWaitEdit->setEnabled( mEnabled );
mLockCheckBox->setEnabled( mEnabled );
@@ -699,7 +709,7 @@ void KScreenSaver::processLockouts()
mDelaySaverStartCheckBox->setEnabled( false );
mDelaySaverStartCheckBox->setChecked( false );
}
- if (!mUseUnmanagedLockWindows && mTDMConfig->readBoolEntry("UseSAK", false)) {
+ if (!mUseUnmanagedLockWindows && useSAK) {
mUseTSAKCheckBox->setEnabled( true );
mUseTSAKCheckBox->setChecked( mUseTSAK );
}
@@ -715,6 +725,14 @@ void KScreenSaver::processLockouts()
mHideActiveWindowsFromSaverCheckBox->setEnabled( false );
mHideActiveWindowsFromSaverCheckBox->setChecked( false );
}
+ if (mUseUnmanagedLockWindows || (useSAK && mUseTSAK)) {
+ mHideCancelButtonCheckBox->setEnabled( false );
+ mHideCancelButtonCheckBox->setChecked( false );
+ }
+ else {
+ mHideCancelButtonCheckBox->setEnabled( true );
+ mHideCancelButtonCheckBox->setChecked( mHideCancelButton );
+ }
mLockLbl->setEnabled( mEnabled && mLock );
mWaitLockEdit->setEnabled( mEnabled && mLock );
}
@@ -980,6 +998,16 @@ void KScreenSaver::slotHideActiveWindowsFromSaver( bool h )
//---------------------------------------------------------------------------
//
+void KScreenSaver::slotHideCancelButton( bool h )
+{
+ if (mHideCancelButtonCheckBox->isEnabled()) mHideCancelButton = h;
+ processLockouts();
+ mChanged = true;
+ emit changed(true);
+}
+
+//---------------------------------------------------------------------------
+//
void KScreenSaver::slotSetupDone(TDEProcess *)
{
mPrevSelected = -1; // see ugly hack in slotPreviewExited()
diff --git a/kcontrol/screensaver/scrnsave.h b/kcontrol/screensaver/scrnsave.h
index a8f6e53b0..d52c81227 100644
--- a/kcontrol/screensaver/scrnsave.h
+++ b/kcontrol/screensaver/scrnsave.h
@@ -60,6 +60,7 @@ protected slots:
void slotUseTSAK( bool );
void slotUseUnmanagedLockWindows( bool );
void slotHideActiveWindowsFromSaver( bool );
+ void slotHideCancelButton( bool );
void processLockouts();
void slotSetupDone(TDEProcess*);
// when selecting a new screensaver, the old preview will
@@ -103,6 +104,7 @@ protected:
TQCheckBox *mUseTSAKCheckBox;
TQCheckBox *mUseUnmanagedLockWindowsCheckBox;
TQCheckBox *mHideActiveWindowsFromSaverCheckBox;
+ TQCheckBox *mHideCancelButtonCheckBox;
int mSelected;
int mPrevSelected;
@@ -121,6 +123,7 @@ protected:
bool mUseTSAK;
bool mUseUnmanagedLockWindows;
bool mHideActiveWindowsFromSaver;
+ bool mHideCancelButton;
KSimpleConfig* mTDMConfig;
};
diff --git a/kcontrol/smartcard/nosmartcardbase.ui b/kcontrol/smartcard/nosmartcardbase.ui
index ceaec9e3f..3b32d63b7 100644
--- a/kcontrol/smartcard/nosmartcardbase.ui
+++ b/kcontrol/smartcard/nosmartcardbase.ui
@@ -44,7 +44,7 @@
</property>
<property name="text">
<string>
-1) The TDE daemon, 'kded' is not running. You can restart it by running the command 'tdeinit' and then try reloading the TDE Control Center to see if this message goes away.
+1) The TDE daemon, 'kded' is not running. You can restart it by running the command 'tdeinit' and then try reloading the Trinity Control Center to see if this message goes away.
2) You don't appear to have smartcard support in the TDE libraries. You will need to recompile the tdelibs package with libpcsclite installed.</string>
</property>
diff --git a/kdesktop/bgmanager.cc b/kdesktop/bgmanager.cc
index ddb95c9e7..32f774357 100644
--- a/kdesktop/bgmanager.cc
+++ b/kdesktop/bgmanager.cc
@@ -16,10 +16,15 @@
#include "bgsettings.h"
#include "kdesktopapp.h"
+#include "KCrossBGRender.h"
+#include "crossfade.h"
+
#include <assert.h>
#include <tqtimer.h>
#include <tqscrollview.h>
+#include <tqpainter.h>
+#include <tqdesktopwidget.h>
#include <kiconloader.h>
#include <tdeconfig.h>
@@ -34,6 +39,8 @@
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
+#include <X11/extensions/Xrender.h>
+#include <unistd.h>
#ifndef None
#define None 0L
@@ -47,7 +54,7 @@
#include "pixmapserver.h"
-template class TQPtrVector<KBackgroundRenderer>;
+template class TQPtrVector<KCrossBGRender>;
template class TQPtrVector<KBackgroundCacheEntry>;
template class TQMemArray<int>;
@@ -108,6 +115,12 @@ KBackgroundManager::KBackgroundManager(TQWidget *desktop, KWinModule* twinModule
connect(m_pTimer, TQT_SIGNAL(timeout()), TQT_SLOT(slotTimeout()));
m_pTimer->start( 60000 );
+ /*CrossFade's config*/
+ m_crossTimer = new TQTimer(this);
+ connect(m_crossTimer, TQT_SIGNAL(timeout()), TQT_SLOT(slotCrossFadeTimeout()));
+ /*Ends here*/
+
+
connect(m_pKwinmodule, TQT_SIGNAL(currentDesktopChanged(int)),
TQT_SLOT(slotChangeDesktop(int)));
connect(m_pKwinmodule, TQT_SIGNAL(numberOfDesktopsChanged(int)),
@@ -577,6 +590,36 @@ void KBackgroundManager::renderBackground(int desk)
/*
+ * This slot is called when the Timeout is executed
+ */
+void KBackgroundManager::slotCrossFadeTimeout()
+{
+ KVirtualBGRenderer *r = m_Renderer[fadeDesk];
+ if (crossInit) {
+ mBenchmark.start();
+ }
+
+ if (mAlpha <= 0.0 || mBenchmark.elapsed() > 300 ) {
+ bool do_cleanup = true;
+ mAlpha = 1;
+ m_crossTimer->stop();
+ KPixmap pixm(mNextScreen);
+ setPixmap(&pixm, r->hash(), fadeDesk);
+ return;
+ }
+ // Reset Timer
+ mBenchmark.start();
+
+ TQPixmap dst = crossFade(*mOldScreen, mNextScreen, mAlpha, crossInit);
+ KPixmap pixm(dst);
+ setPixmap(&pixm, r->hash(), fadeDesk);
+
+ mAlpha -=0.03;
+ crossInit = false;
+}
+
+
+/*
* This slot is called when a renderer is done.
*/
void KBackgroundManager::slotImageDone(int desk)
@@ -592,18 +635,49 @@ void KBackgroundManager::slotImageDone(int desk)
KPixmap *pm = new KPixmap();
KVirtualBGRenderer *r = m_Renderer[desk];
bool do_cleanup = true;
+ fadeDesk = desk;
+ mAlpha = 1.0;
+ int width,height;
+
*pm = r->pixmap();
// If current: paint it
bool current = (r->hash() == m_Renderer[effectiveDesktop()]->hash());
if (current)
{
- //KPixmap * viewport_background = new KPixmap(TQPixmap(pm->width()*s.width(), pm->height()*s.height()));
- //printf("slotImageDone(): x: %d y: %d\n", viewport_background->size().width(), viewport_background->size().height());
- //setPixmap(viewport_background, r->hash(), desk);
- //delete viewport_background;
-
- setPixmap(pm, r->hash(), desk);
+ //START
+ if (m_Renderer[effectiveDesktop()]->renderer(0)->crossFadeBg() && !m_Renderer[effectiveDesktop()]->renderer(0)->usingCrossXml()){
+ int mode = m_Renderer[effectiveDesktop()]->renderer(0)->wallpaperMode();
+ width = TQApplication::desktop()->screenGeometry().width();
+ height = TQApplication::desktop()->screenGeometry().height();
+
+ if (mode == KBackgroundSettings::NoWallpaper || mode == KBackgroundSettings::Tiled || mode == KBackgroundSettings::CenterTiled ){
+ mNextScreen = TQPixmap(width,height);
+ TQPainter p (&mNextScreen);
+ p.drawTiledPixmap(0,0,width,height,*pm);
+ } else {
+ mNextScreen = TQPixmap(*pm);
+ }
+
+ if (m_pDesktop){
+ mOldScreen = const_cast<TQPixmap *>( m_pDesktop->backgroundPixmap() );
+ }else{
+ mOldScreen = const_cast<TQPixmap *>(
+ TQApplication::desktop()->screen()->backgroundPixmap() );
+ }
+
+ //TODO Find a way to discover if CrossFade effect needs to run
+ if (mOldScreen){
+ crossInit = true;
+ m_crossTimer->start(70);
+ } else{
+ setPixmap(pm, r->hash(), desk);
+ }
+ }else{
+ setPixmap(pm, r->hash(), desk);
+ }
+ //ENDS HERE */
+
if (!m_bBgInitDone)
{
m_bBgInitDone = true;
@@ -801,7 +875,7 @@ int KBackgroundManager::validateDesk(int desk)
TQString KBackgroundManager::currentWallpaper(int desk)
{
//TODO Is the behaviour of this function appropriate for multiple screens?
- KBackgroundRenderer *r = m_Renderer[validateDesk(desk)]->renderer(0);
+ KCrossBGRender *r = m_Renderer[validateDesk(desk)]->renderer(0);
return r->currentWallpaper();
}
@@ -818,7 +892,7 @@ void KBackgroundManager::changeWallpaper()
// DCOP exported
void KBackgroundManager::setExport(int _export)
{
- kdDebug() << "KBackgroundManager enabling exports.\n";
+// kdDebug() << "KBackgroundManager enabling exports.\n";
applyExport(_export);
slotChangeDesktop(0);
}
@@ -843,7 +917,7 @@ void KBackgroundManager::setWallpaper(TQString wallpaper, int mode)
//TODO Is the behaviour of this function appropriate for multiple screens?
for (unsigned i=0; i < m_Renderer[effectiveDesktop()]->numRenderers(); ++i)
{
- KBackgroundRenderer *r = m_Renderer[effectiveDesktop()]->renderer(i);
+ KCrossBGRender *r = m_Renderer[effectiveDesktop()]->renderer(i);
r->stop();
r->setWallpaperMode(mode);
r->setMultiWallpaperMode(KBackgroundSettings::NoMulti);
@@ -856,7 +930,7 @@ void KBackgroundManager::setWallpaper(TQString wallpaper, int mode)
void KBackgroundManager::setWallpaper(TQString wallpaper)
{
//TODO Is the behaviour of this function appropriate for multiple screens?
- KBackgroundRenderer *r = m_Renderer[effectiveDesktop()]->renderer(0);
+ KCrossBGRender *r = m_Renderer[effectiveDesktop()]->renderer(0);
int mode = r->wallpaperMode();
if (mode == KBackgroundSettings::NoWallpaper)
mode = KBackgroundSettings::Tiled;
@@ -869,7 +943,7 @@ void KBackgroundManager::setWallpaper(TQString wallpaper)
TQStringList KBackgroundManager::wallpaperFiles(int desk)
{
//TODO Is the behaviour of this function appropriate for multiple screens?
- KBackgroundRenderer *r = m_Renderer[validateDesk(desk)]->renderer(0);
+ KCrossBGRender *r = m_Renderer[validateDesk(desk)]->renderer(0);
return r->wallpaperFiles();
}
@@ -880,7 +954,7 @@ TQStringList KBackgroundManager::wallpaperFiles(int desk)
TQStringList KBackgroundManager::wallpaperList(int desk)
{
//TODO Is the behaviour of this function appropriate for multiple screens?
- KBackgroundRenderer *r = m_Renderer[validateDesk(desk)]->renderer(0);;
+ KCrossBGRender *r = m_Renderer[validateDesk(desk)]->renderer(0);;
return r->wallpaperList();
}
@@ -907,7 +981,7 @@ void KBackgroundManager::setWallpaper(int desk, TQString wallpaper, int mode)
//TODO Is the behaviour of this function appropriate for multiple screens?
for (unsigned i=0; i < m_Renderer[sdesk]->numRenderers(); ++i)
{
- KBackgroundRenderer *r = m_Renderer[sdesk]->renderer(i);
+ KCrossBGRender *r = m_Renderer[sdesk]->renderer(i);
setCommon(false); // Force each desktop to have it's own wallpaper
@@ -974,7 +1048,7 @@ void KBackgroundManager::setColor(const TQColor & c, bool isColorA)
//TODO Is the behaviour of this function appropriate for multiple screens?
for (unsigned i=0; i < m_Renderer[effectiveDesktop()]->numRenderers(); ++i)
{
- KBackgroundRenderer *r = m_Renderer[effectiveDesktop()]->renderer(i);
+ KCrossBGRender *r = m_Renderer[effectiveDesktop()]->renderer(i);
r->stop();
if (isColorA)
diff --git a/kdesktop/bgmanager.h b/kdesktop/bgmanager.h
index 2d29278f7..71ca6c1bb 100644
--- a/kdesktop/bgmanager.h
+++ b/kdesktop/bgmanager.h
@@ -7,12 +7,13 @@
* License. See the file "COPYING" for the exact licensing terms.
*/
-#ifndef __BGManager_h_Included__
-#define __BGManager_h_Included__
+#ifndef __BGMANAGER_H__
+#define __BGMANAGER_H__
#include <tqstring.h>
#include <tqptrvector.h>
+#include <tqdatetime.h>
#include <KBackgroundIface.h>
#if defined(Q_WS_X11) && defined(HAVE_XRENDER) && TQT_VERSION >= 0x030300
@@ -89,6 +90,7 @@ private slots:
void desktopResized();
void clearRoot();
void saveImages();
+ void slotCrossFadeTimeout();
void slotCmBackgroundChanged(bool);
private:
@@ -131,6 +133,15 @@ private:
KPixmapServer *m_pPixmapServer;
unsigned long m_xrootpmap;
+
+ /*CrossFade vars*/
+ TQTimer * m_crossTimer;
+ double mAlpha;
+ TQPixmap mNextScreen;
+ TQPixmap * mOldScreen;
+ int fadeDesk;
+ TQTime mBenchmark;
+ bool crossInit;
};
-#endif // __BGManager_h_Included__
+#endif // __BGMANAGER_H__
diff --git a/kdesktop/kdesktop.kcfg b/kdesktop/kdesktop.kcfg
index 2298e16c5..f2226f79d 100644
--- a/kdesktop/kdesktop.kcfg
+++ b/kdesktop/kdesktop.kcfg
@@ -271,92 +271,71 @@
<default>false</default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:308 -->
- <!-- if(config.readBoolEntry("Lock", false)) -->
</entry>
<entry key="LockGrace" type="Int">
<default>5000</default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:310 -->
- <!-- mLockGrace = config.readNumEntry("LockGrace", LOCK_GRACE_DEFAULT); -->
</entry>
<entry key="AutoLogout" type="Bool">
<default>false</default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:319 -->
- <!-- if (config.readBoolEntry("AutoLogout", false)) -->
</entry>
<entry key="AutoLogoutTimeout" type="Int">
<default>600</default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:322 -->
- <!-- mAutoLogoutTimeout = config.readNumEntry("AutoLogoutTimeout", AUTOLOGOUT_DEFAULT); -->
</entry>
<entry key="Priority" type="Int">
<default>19</default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:332 -->
- <!-- mPriority = config.readNumEntry("Priority", 19); -->
</entry>
<entry key="Saver" type="String">
<default></default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("Saver"); -->
</entry>
<entry key="UseUnmanagedLockWindows" type="Bool">
<default>false</default>
<label></label>
<whatsthis>When enabled this restores the old style unmanaged window behavior of desktop locking.</whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("UseUnmanagedLockWindows"); -->
</entry>
<entry key="ShowLockDateTime" type="Bool">
<default>true</default>
<label></label>
<whatsthis>When enabled the date and time when the desktop was locked is displayed as an additional intrusion detection measure.</whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("ShowLockDateTime"); -->
</entry>
<entry key="DelaySaverStart" type="Bool">
<default>true</default>
<label></label>
<whatsthis>When disabled the screensaver starts immediately when locking the desktop.</whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("DelaySaverStart"); -->
</entry>
<entry key="HideActiveWindowsFromSaver" type="Bool">
<default>true</default>
<label></label>
<whatsthis>When enabled all active windows are hidden from the screensaver, showing only the desktop background as a result.</whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("HideActiveWindowsFromSaver"); -->
+ </entry>
+ <entry key="HideCancelButton" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis>Hide Cancel button from the "Desktop Session Locked" dialog.</whatsthis>
</entry>
<entry key="UseTDESAK" type="Bool">
<default>true</default>
<label></label>
<whatsthis>When enabled, the Trinity Secure Attention Key (TSAK) system will be used to secure the screen locker. This requires system wide TSAK support to be enabled prior to use.</whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 -->
- <!-- mSaver = config.readEntry("UseTDESAK"); -->
</entry>
<entry key="PluginsUnlock" type="StringList">
<default></default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:342 -->
- <!-- mPlugins = config.readListEntry("PluginsUnlock"); -->
</entry>
<entry key="PluginOptions" type="StringList">
<default></default>
<label></label>
<whatsthis></whatsthis>
- <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:345 -->
- <!-- mPluginOptions = config.readListEntry("PluginOptions"); -->
</entry>
</group>
<group name="MiniCli">
diff --git a/kdesktop/lock/lockdlg.cc b/kdesktop/lock/lockdlg.cc
index 163a03e43..bfa727678 100644
--- a/kdesktop/lock/lockdlg.cc
+++ b/kdesktop/lock/lockdlg.cc
@@ -66,6 +66,7 @@ extern bool trinity_desktop_lock_autohide_lockdlg;
extern bool trinity_desktop_lock_delay_screensaver_start;
extern bool trinity_desktop_lock_use_system_modal_dialogs;
extern bool trinity_desktop_lock_use_sak;
+extern bool trinity_desktop_lock_hide_cancel_button;
int dialogHideTimeout = 10*1000;
@@ -149,13 +150,19 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
mNewSessButton = new KPushButton( KGuiItem(i18n("Sw&itch User..."), "fork"), frame );
ok = new KPushButton( i18n("Unl&ock"), frame );
- cancel = new KPushButton( KStdGuiItem::cancel(), frame );
- if (!trinity_desktop_lock_autohide_lockdlg && !trinity_desktop_lock_use_sak) cancel->setEnabled(false);
+ ok->setDefault(true);
+
+ bool show_cancel_button = !trinity_desktop_lock_hide_cancel_button ||
+ trinity_desktop_lock_use_sak ||
+ !trinity_desktop_lock_use_system_modal_dialogs;
+ if (show_cancel_button)
+ cancel = new KPushButton( KStdGuiItem::cancel(), frame );
+ else
+ cancel = NULL;
greet = plugin->info->create( this, 0, this, mLayoutButton, TQString::null,
KGreeterPlugin::Authenticate, KGreeterPlugin::ExUnlock );
-
TQVBoxLayout *unlockDialogLayout = new TQVBoxLayout( this );
unlockDialogLayout->addWidget( frame );
@@ -166,8 +173,9 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
TQHBoxLayout *layButtons = new TQHBoxLayout( 0, 0, KDialog::spacingHint());
layButtons->addWidget( mNewSessButton );
layButtons->addStretch();
- layButtons->addWidget( ok );
- layButtons->addWidget( cancel );
+ layButtons->addWidget(ok);
+ if (show_cancel_button)
+ layButtons->addWidget(cancel);
if (trinity_desktop_lock_use_system_modal_dialogs) {
KSMModalDialogHeader* theader = new KSMModalDialogHeader( frame );
@@ -202,12 +210,22 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
frameLayout->addMultiCellLayout( layButtons, 4, 4, 0, 1 );
}
- setTabOrder( ok, cancel );
- setTabOrder( cancel, mNewSessButton );
+ if (show_cancel_button)
+ {
+ setTabOrder( ok, cancel );
+ setTabOrder( cancel, mNewSessButton );
+ }
+ else
+ {
+ setTabOrder( ok, mNewSessButton );
+ }
setTabOrder( mNewSessButton, mLayoutButton );
connect(mLayoutButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(layoutClicked()));
- connect(cancel, TQT_SIGNAL(clicked()), TQT_SLOT(reject()));
+ if (show_cancel_button)
+ {
+ connect(cancel, TQT_SIGNAL(clicked()), TQT_SLOT(reject()));
+ }
connect(ok, TQT_SIGNAL(clicked()), TQT_SLOT(slotOK()));
connect(mNewSessButton, TQT_SIGNAL(clicked()), TQT_SLOT(slotSwitchUser()));
@@ -257,9 +275,12 @@ PasswordDlg::~PasswordDlg()
void PasswordDlg::reject()
{
- if (trinity_desktop_lock_autohide_lockdlg || trinity_desktop_lock_use_sak)
- TQDialog::reject();
-}
+ if (!trinity_desktop_lock_hide_cancel_button || trinity_desktop_lock_use_sak ||
+ !trinity_desktop_lock_use_system_modal_dialogs || trinity_desktop_lock_autohide_lockdlg)
+ {
+ TQDialog::reject();
+ }
+}
void PasswordDlg::layoutClicked()
{
@@ -310,11 +331,14 @@ void PasswordDlg::timerEvent(TQTimerEvent *ev)
{
if (ev->timerId() == mTimeoutTimerId)
{
- if (trinity_desktop_lock_autohide_lockdlg) {
- reject();
+ if (trinity_desktop_lock_autohide_lockdlg)
+ {
+ // Force dialog rejection regardless of the value of trinity_desktop_lock_hide_cancel_button
+ TQDialog::reject();
}
- else {
- slotActivity();
+ else
+ {
+ slotActivity();
}
}
else if (ev->timerId() == mFailedTimerId)
@@ -325,7 +349,6 @@ void PasswordDlg::timerEvent(TQTimerEvent *ev)
mUnlockingFailed = false;
updateLabel();
ok->setEnabled(true);
- if (trinity_desktop_lock_autohide_lockdlg || trinity_desktop_lock_use_sak) cancel->setEnabled(true);
mNewSessButton->setEnabled( true );
greet->revive();
greet->start();
@@ -440,7 +463,6 @@ void PasswordDlg::reapVerify()
updateLabel();
mFailedTimerId = startTimer(1500);
ok->setEnabled(false);
- cancel->setEnabled(false);
mNewSessButton->setEnabled( false );
return;
case AuthAbort:
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
index f7dc1c25a..773a0710a 100644
--- a/kdesktop/lock/lockprocess.cc
+++ b/kdesktop/lock/lockprocess.cc
@@ -154,6 +154,7 @@ extern bool trinity_desktop_lock_use_system_modal_dialogs;
extern bool trinity_desktop_lock_delay_screensaver_start;
extern bool trinity_desktop_lock_use_sak;
extern bool trinity_desktop_lock_hide_active_windows;
+extern bool trinity_desktop_lock_hide_cancel_button;
extern bool trinity_desktop_lock_forced;
extern bool argb_visual;
diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
index c90c2ef6b..d5f037f56 100644
--- a/kdesktop/lock/main.cc
+++ b/kdesktop/lock/main.cc
@@ -70,7 +70,7 @@ bool trinity_desktop_lock_use_system_modal_dialogs = FALSE;
bool trinity_desktop_lock_delay_screensaver_start = FALSE;
bool trinity_desktop_lock_use_sak = FALSE;
bool trinity_desktop_lock_hide_active_windows = FALSE;
-
+bool trinity_desktop_lock_hide_cancel_button = FALSE;
bool trinity_desktop_lock_forced = FALSE;
bool signalled_forcelock;
@@ -422,8 +422,19 @@ int main( int argc, char **argv )
return 12;
}
+ // Get root window attributes
+ XWindowAttributes rootAttr;
+ XGetWindowAttributes(tqt_xdisplay(), RootWindow(tqt_xdisplay(), tqt_xscreen()), &rootAttr);
+
+ // Disable reception of all X11 events on the root window
+ XSelectInput( tqt_xdisplay(), tqt_xrootwin(), 0 );
+ app.processEvents();
+
// wait for SIGUSR1, SIGUSR2, SIGWINCH, SIGTTIN, or SIGTTOU
sigsuspend(&new_mask);
+
+ // Reenable reception of X11 events on the root window
+ XSelectInput( tqt_xdisplay(), tqt_xrootwin(), rootAttr.your_event_mask );
}
}
@@ -445,6 +456,7 @@ int main( int argc, char **argv )
trinity_desktop_lock_delay_screensaver_start = false; // If trinity_desktop_lock_delay_screensaver_start is true with unmanaged windows, the lock dialog may never appear
}
trinity_desktop_lock_hide_active_windows = KDesktopSettings::hideActiveWindowsFromSaver();
+ trinity_desktop_lock_hide_cancel_button = KDesktopSettings::hideCancelButton();
delete tdmconfig;
diff --git a/khelpcenter/formatter.cpp b/khelpcenter/formatter.cpp
index 7188ec214..21e2abb27 100644
--- a/khelpcenter/formatter.cpp
+++ b/khelpcenter/formatter.cpp
@@ -51,7 +51,7 @@ bool Formatter::readTemplates()
}
if ( mainTemplate.isEmpty() ) {
- kdWarning() << "Main template file name is empty." << endl;
+ kdDebug() << "Main template file name is empty." << endl;
return false;
}
diff --git a/khelpcenter/view.cpp b/khelpcenter/view.cpp
index f0151b3df..ea296b004 100644
--- a/khelpcenter/view.cpp
+++ b/khelpcenter/view.cpp
@@ -135,7 +135,7 @@ void View::showAboutPage()
.arg( i18n( "Frequently Asked Questions" ) )
.arg( i18n( "Basic Applications" ) )
.arg( i18n( "The Kicker Desktop Panel" ) )
- .arg( i18n( "The TDE Control Center" ) )
+ .arg( i18n( "The Trinity Control Center" ) )
.arg( i18n( "The Konqueror File manager and Web Browser" ) )
.arg( langLookup( "khelpcenter/kdelogo2.png" ) );
begin( KURL( "about:khelpcenter" ) );
diff --git a/kicker/applets/systemtray/systemtrayapplet.cpp b/kicker/applets/systemtray/systemtrayapplet.cpp
index 898d2b80b..41d5af10b 100644
--- a/kicker/applets/systemtray/systemtrayapplet.cpp
+++ b/kicker/applets/systemtray/systemtrayapplet.cpp
@@ -244,7 +244,7 @@ void SystemTrayApplet::preferences()
TQGrid *settingsGrid = m_settingsDialog->makeGridMainWidget( 2, Qt::Vertical);
- m_showClockSettingCB = new TQCheckBox("Show Clock in Tray", settingsGrid);
+ m_showClockSettingCB = new TQCheckBox(i18n("Show Clock in Tray"), settingsGrid);
m_showClockSettingCB->setChecked(m_showClockInTray);
//m_iconSelector = new TDEActionSelector(m_settingsDialog);
diff --git a/kicker/data/kmenu_side/kside.png b/kicker/data/kmenu_side/kside.png
index 715981db7..8ae29c175 100644
--- a/kicker/data/kmenu_side/kside.png
+++ b/kicker/data/kmenu_side/kside.png
Binary files differ
diff --git a/kicker/data/kmenu_side/kside_tile.png b/kicker/data/kmenu_side/kside_tile.png
index e552e47cc..d206d33d5 100644
--- a/kicker/data/kmenu_side/kside_tile.png
+++ b/kicker/data/kmenu_side/kside_tile.png
Binary files differ
diff --git a/kicker/kicker/ui/default-favs b/kicker/kicker/ui/default-favs
index 47522fc4b..64cffc6ac 100644
--- a/kicker/kicker/ui/default-favs
+++ b/kicker/kicker/ui/default-favs
@@ -1,9 +1,9 @@
-MozillaFirefox.desktop
+tde-konqbrowser.desktop
+tde-Home.desktop
tde-Kontact.desktop
-writer.desktop
+tde-kate.desktop
tde-amarok.desktop
tde-digikam.desktop
-tde-Home.desktop
+tde-konsole.desktop
tde-KControl.desktop
tde-Help.desktop
-tde-konsole.desktop
diff --git a/kicker/kicker/ui/k_new_mnu.cpp b/kicker/kicker/ui/k_new_mnu.cpp
index 1aa68a9aa..500bc5485 100644
--- a/kicker/kicker/ui/k_new_mnu.cpp
+++ b/kicker/kicker/ui/k_new_mnu.cpp
@@ -1436,6 +1436,42 @@ void KMenu::insertStaticItems()
m_systemView->insertItem( "folder_man", i18n( "My Documents" ), documentPath, documentPath, nId++, index++ );
}
+ if ( TDEStandardDirs::exists( TDEGlobalSettings::picturesPath() + "/" ) )
+ {
+ TQString picturesPath = TDEGlobalSettings::picturesPath();
+ if ( picturesPath.endsWith( "/" ) )
+ picturesPath = picturesPath.left( picturesPath.length() - 1 );
+ if (picturesPath!=TQDir::homeDirPath())
+ m_systemView->insertItem( "folder_image", i18n( "My Images" ), picturesPath, picturesPath, nId++, index++ );
+ }
+
+ if ( TDEStandardDirs::exists( TDEGlobalSettings::musicPath() + "/" ) )
+ {
+ TQString musicPath = TDEGlobalSettings::musicPath();
+ if ( musicPath.endsWith( "/" ) )
+ musicPath = musicPath.left( musicPath.length() - 1 );
+ if (musicPath!=TQDir::homeDirPath())
+ m_systemView->insertItem( "folder_sound", i18n( "My Music" ), musicPath, musicPath, nId++, index++ );
+ }
+
+ if ( TDEStandardDirs::exists( TDEGlobalSettings::videosPath() + "/" ) )
+ {
+ TQString videosPath = TDEGlobalSettings::videosPath();
+ if ( videosPath.endsWith( "/" ) )
+ videosPath = videosPath.left( videosPath.length() - 1 );
+ if (videosPath!=TQDir::homeDirPath())
+ m_systemView->insertItem( "folder_video", i18n( "My Videos" ), videosPath, videosPath, nId++, index++ );
+ }
+
+ if ( TDEStandardDirs::exists( TDEGlobalSettings::downloadPath() + "/" ) )
+ {
+ TQString downloadPath = TDEGlobalSettings::downloadPath();
+ if ( downloadPath.endsWith( "/" ) )
+ downloadPath = downloadPath.left( downloadPath.length() - 1 );
+ if (downloadPath!=TQDir::homeDirPath())
+ m_systemView->insertItem( "folder_inbox", i18n( "My Downloads" ), downloadPath, downloadPath, nId++, index++ );
+ }
+
m_systemView->insertItem( "network", i18n( "Network Folders" ),
"remote:/", "remote:/", nId++, index++ );
diff --git a/kicker/menuext/prefmenu/prefmenu.cpp b/kicker/menuext/prefmenu/prefmenu.cpp
index d41ca66aa..534387394 100644
--- a/kicker/menuext/prefmenu/prefmenu.cpp
+++ b/kicker/menuext/prefmenu/prefmenu.cpp
@@ -245,7 +245,7 @@ void PrefMenu::initialize()
if (m_root.isEmpty())
{
insertItem(KickerLib::menuIconSet("kcontrol"),
- i18n("Control Center"),
+ i18n("Trinity Control Center"),
this, TQT_SLOT(launchControlCenter()));
insertSeparator();
}
diff --git a/kicker/menuext/prefmenu/prefmenu.desktop b/kicker/menuext/prefmenu/prefmenu.desktop
index bc285742a..88b0438f6 100644
--- a/kicker/menuext/prefmenu/prefmenu.desktop
+++ b/kicker/menuext/prefmenu/prefmenu.desktop
@@ -1,5 +1,5 @@
[Desktop Entry]
-Name=Control Center
+Name=Trinity Control Center
Name[af]=Beheer Sentrum
Name[ar]=مركز التحكم
Name[az]=İdarə Mərkəzi
@@ -13,7 +13,7 @@ Name[cs]=Ovládací centrum
Name[csb]=Centróm kòntrolë
Name[cy]=Canolfan Rheoli
Name[da]=Kontrolcenter
-Name[de]=Kontrollzentrum
+Name[de]=Trinity-Kontrollzentrum
Name[el]=Κέντρο ελέγχου
Name[en_GB]=Control Centre
Name[eo]=Stircentro
@@ -22,7 +22,7 @@ Name[et]=Juhtimiskeskus
Name[eu]=Kontrol gunea
Name[fa]=مرکز کنترل
Name[fi]=Ohjauskeskus
-Name[fr]=Centre de configuration de TDE
+Name[fr]=Centre de configuration de Trinity
Name[fy]=Konfiguraasjesintrum
Name[ga]=Lárionad Rialaithe
Name[gl]=Centro de Control
@@ -32,7 +32,7 @@ Name[hr]=Upravljačko središte
Name[hu]=Vezérlőpult
Name[id]=Pusat Kontrol
Name[is]=Stjórnborð
-Name[it]=Centro di controllo
+Name[it]=Centro di controllo di Trinity
Name[ja]=コントロールセンター
Name[ka]=საკონტროლო ცენტრი
Name[kk]=Басқару орталығы
@@ -82,7 +82,7 @@ Name[xh]=Umbindi Wolawulo
Name[zh_CN]=控制中心
Name[zh_TW]=控制中心
Name[zu]=Indawo Yokulawula
-Comment=Control Center modules menu
+Comment=Trinity Control Center modules menu
Comment[af]=Beheer Sentrum Modules kieslys
Comment[ar]=قائمة وحدات مركز التحكّم
Comment[be]=Меню модуляў Цэнтра кіравання
@@ -101,14 +101,14 @@ Comment[et]=Juhtimiskeskuse moodulite menüü
Comment[eu]=Kontrol gunearen moduluen menua
Comment[fa]=گزینگان پیمانه‌های مرکز کنترل
Comment[fi]=Ohjauskeskuksen moduulivalikko
-Comment[fr]=Menu des modules du Centre de configuration
+Comment[fr]=Menu des modules du Centre de configuration de Trinity
Comment[fy]=Menu mei Konfiguraasjemodules
Comment[gl]=Menu dos Módulos do Centro de Control
Comment[he]=תפריט מודולי מרכז בקרה
Comment[hr]=Izbornik modula upravljačkog središta
Comment[hu]=Menü a Vezérlőpult moduljaival
Comment[is]=Valmynd stjórnborðseininga
-Comment[it]=Menu dei moduli del centro di controllo
+Comment[it]=Menu dei moduli del centro di controllo di Trinity
Comment[ja]=コントロールセンターモジュールメニュー
Comment[kk]=Басқару орталықтың модульдер мәзірі
Comment[km]=ម៉ឺនុយ​ម៉ូឌុល​មជ្ឈមណ្ឌល​បញ្ជា
diff --git a/kicker/taskbar/taskcontainer.cpp b/kicker/taskbar/taskcontainer.cpp
index 860c231bb..326c83cf1 100644
--- a/kicker/taskbar/taskcontainer.cpp
+++ b/kicker/taskbar/taskcontainer.cpp
@@ -1457,7 +1457,7 @@ void TaskContainer::dragEnterEvent( TQDragEnterEvent* e )
return;
}
- if ((e->source()->parent() == this->parent()) && TaskDrag::canDecode(e) && READ_MERGED_TASBKAR_SETTING(allowDragAndDropReArrange) && (!READ_MERGED_TASBKAR_SETTING(sortByApp)))
+ if (e->source() && (e->source()->parent() == this->parent()) && TaskDrag::canDecode(e) && READ_MERGED_TASBKAR_SETTING(allowDragAndDropReArrange) && (!READ_MERGED_TASBKAR_SETTING(sortByApp)))
{
e->accept();
}
diff --git a/klipper/toplevel.cpp b/klipper/toplevel.cpp
index b30d551c1..7ebcd1484 100644
--- a/klipper/toplevel.cpp
+++ b/klipper/toplevel.cpp
@@ -196,14 +196,14 @@ KlipperWidget::KlipperWidget( TQWidget *parent, TDEConfig* config )
connect( poll, TQT_SIGNAL( clipboardChanged( bool ) ),
this, TQT_SLOT( newClipData( bool ) ) );
- if ( isApplet() ) {
+ if ( isApplet() || !isShown() ) {
m_pixmap = KSystemTray::loadIcon( "klipper" );
}
else {
m_pixmap = KSystemTray::loadSizedIcon( "klipper", width() );
}
- m_iconOrigWidth = width();
- m_iconOrigHeight = height();
+ m_iconOrigWidth = m_pixmap.width();
+ m_iconOrigHeight = m_pixmap.height();
adjustSize();
globalKeys = new TDEGlobalAccel(TQT_TQOBJECT(this));
@@ -298,8 +298,11 @@ void KlipperWidget::paintEvent(TQPaintEvent *)
{
TQPainter p(this);
// Honor Free Desktop specifications that allow for arbitrary system tray icon sizes
- if ((m_iconOrigWidth != width()) || (m_iconOrigHeight != height())) {
+ if (m_scaledpixmap.isNull() ||
+ (m_iconOrigWidth != width()) || (m_iconOrigHeight != height())) {
TQImage newIcon;
+ m_iconOrigWidth = width();
+ m_iconOrigHeight = height();
m_pixmap = KSystemTray::loadSizedIcon( "klipper", width() );
newIcon = m_pixmap;
newIcon = newIcon.smoothScale(width(), height());
diff --git a/kmenuedit/kcontrol_main.cpp b/kmenuedit/kcontrol_main.cpp
index 2ec45ca69..cd580e02e 100644
--- a/kmenuedit/kcontrol_main.cpp
+++ b/kmenuedit/kcontrol_main.cpp
@@ -35,7 +35,7 @@ static const char version[] = "1.0";
extern "C" int KDE_EXPORT kdemain( int argc, char **argv )
{
TDELocale::setMainCatalogue("kmenuedit");
- TDEAboutData aboutData("kcontroledit", I18N_NOOP("TDE Control Center Editor"),
+ TDEAboutData aboutData("kcontroledit", I18N_NOOP("Trinity Control Center Editor"),
version, description, TDEAboutData::License_GPL,
"(C) 2000-2004, Waldo Bastian, Raffaele Sandrini, Matthias Elter");
aboutData.addAuthor("Waldo Bastian", I18N_NOOP("Maintainer"), "[email protected]");
diff --git a/konqueror/about/box-centre-konqueror.png b/konqueror/about/box-centre-konqueror.png
index 2bc6e9fa8..d8dde840f 100644..100755
--- a/konqueror/about/box-centre-konqueror.png
+++ b/konqueror/about/box-centre-konqueror.png
Binary files differ
diff --git a/konqueror/about/intro.html b/konqueror/about/intro.html
index a8cfb5af5..efa4d62a9 100644
--- a/konqueror/about/intro.html
+++ b/konqueror/about/intro.html
@@ -21,6 +21,7 @@
<body>
<div id="header">
<div id="headerL"/>
+ <div id="headerCenter"/>
<div id="headerR"/>
<div id="title">
diff --git a/konqueror/about/konq.css b/konqueror/about/konq.css
index db6983bc1..c76698804 100644
--- a/konqueror/about/konq.css
+++ b/konqueror/about/konq.css
@@ -6,11 +6,11 @@
}
#title {
- right: 100px;
+ right: 140px;
}
#tagline {
- right: 100px;
+ right: 140px;
}
#boxCenter {
diff --git a/konqueror/about/launch.html b/konqueror/about/launch.html
index e9c630a27..6e84049a7 100644
--- a/konqueror/about/launch.html
+++ b/konqueror/about/launch.html
@@ -21,6 +21,7 @@
<body>
<div id="header">
<div id="headerL"/>
+ <div id="headerCenter"/>
<div id="headerR"/>
<div id="title">
diff --git a/konqueror/about/specs.html b/konqueror/about/specs.html
index b04212067..752c162da 100644
--- a/konqueror/about/specs.html
+++ b/konqueror/about/specs.html
@@ -21,6 +21,7 @@
<body>
<div id="header">
<div id="headerL"/>
+ <div id="headerCenter"/>
<div id="headerR"/>
<div id="title">
diff --git a/konqueror/about/tips.html b/konqueror/about/tips.html
index 7679d9807..cf4a37862 100644
--- a/konqueror/about/tips.html
+++ b/konqueror/about/tips.html
@@ -21,6 +21,7 @@
<body>
<div id="header">
<div id="headerL"/>
+ <div id="headerCenter"/>
<div id="headerR"/>
<div id="title">
diff --git a/konqueror/about/top-right-konqueror.png b/konqueror/about/top-right-konqueror.png
index 7c4c5ab58..453de1f6a 100644
--- a/konqueror/about/top-right-konqueror.png
+++ b/konqueror/about/top-right-konqueror.png
Binary files differ
diff --git a/konqueror/iconview/konq_iconview.cc b/konqueror/iconview/konq_iconview.cc
index 7ff2db6e9..04b2bfb51 100644
--- a/konqueror/iconview/konq_iconview.cc
+++ b/konqueror/iconview/konq_iconview.cc
@@ -1051,14 +1051,9 @@ void KonqKfmIconView::slotNewItems( const KFileItemList& entries )
void KonqKfmIconView::slotDeleteItem( KFileItem * _fileitem )
{
- // new in 3.5.5
-#ifdef TDEPARTS_BROWSEREXTENSION_HAS_ITEMS_REMOVED
KFileItemList list;
list.append( _fileitem );
emit m_extension->itemsRemoved( list );
-#else
-#error "Your tdelibs doesn't have KParts::BrowserExtension::itemsRemoved, please update it to at least 3.5.5"
-#endif
if ( _fileitem == m_dirLister->rootItem() )
{
@@ -1079,7 +1074,6 @@ void KonqKfmIconView::slotDeleteItem( KFileItem * _fileitem )
m_pIconView->stopImagePreview();
KonqDirPart::deleteItem( _fileitem );
- m_pIconView->takeItem( ivi );
m_mimeTypeResolver->m_lstPendingMimeIconItems.remove( ivi );
m_itemDict.remove( _fileitem );
if (m_paOutstandingOverlays.first() == ivi) // Being processed?
diff --git a/konqueror/keditbookmarks/toplevel.cpp b/konqueror/keditbookmarks/toplevel.cpp
index 9402e49a0..d5a7c865c 100644
--- a/konqueror/keditbookmarks/toplevel.cpp
+++ b/konqueror/keditbookmarks/toplevel.cpp
@@ -216,7 +216,7 @@ KEBApp::KEBApp(
"Resets the quick search so that all bookmarks are shown again." ) );
resetQuickSearch->plug( quicksearch );
- TQLabel *lbl = new TQLabel(i18n("Se&arch:"), quicksearch, "kde toolbar widget");
+ TQLabel *lbl = new TQLabel(i18n("Se&arch:"), quicksearch, "tde toolbar widget");
TDEListViewSearchLine *searchLineEdit = new KEBSearchLine(quicksearch, 0, "TDEListViewSearchLine");
quicksearch->setStretchableWidget(searchLineEdit);
diff --git a/konqueror/konq_mainwindow.cc b/konqueror/konq_mainwindow.cc
index f7ebf9d6c..ebb708808 100644
--- a/konqueror/konq_mainwindow.cc
+++ b/konqueror/konq_mainwindow.cc
@@ -4032,7 +4032,7 @@ void KonqMainWindow::initActions()
m_paHome->setWhatsThis( i18n( "Navigate to your 'Home Location'<p>"
"You can configure the location this button takes you to in the "
- "<b>TDE Control Center</b>, under <b>File Manager</b>/<b>Behavior</b>." ) );
+ "<b>Trinity Control Center</b>, under <b>File Manager</b>/<b>Behavior</b>." ) );
m_paHome->setToolTip( i18n( "Navigate to your 'Home Location'" ) );
m_paReload->setWhatsThis( i18n( "Reload the currently displayed document<p>"
diff --git a/konqueror/konq_misc.cc b/konqueror/konq_misc.cc
index b76f44ad2..b2f0ad47f 100644
--- a/konqueror/konq_misc.cc
+++ b/konqueror/konq_misc.cc
@@ -221,7 +221,7 @@ TQString KonqMisc::konqFilteredURL( TQWidget* parent, const TQString& _url, cons
}
KonqDraggableLabel::KonqDraggableLabel( KonqMainWindow* mw, const TQString& text )
- : TQLabel( text, 0L, "kde toolbar widget" ) // Use this name for it to be styled!
+ : TQLabel( text, 0L, "tde toolbar widget" ) // Use this name for it to be styled!
, m_mw(mw)
{
setBackgroundMode( TQt::PaletteButton );
diff --git a/kpersonalizer/keyecandypage.cpp b/kpersonalizer/keyecandypage.cpp
index 9b5da3fd2..fb0f446d7 100644
--- a/kpersonalizer/keyecandypage.cpp
+++ b/kpersonalizer/keyecandypage.cpp
@@ -45,7 +45,7 @@
#include "ksysinfo.h"
#include "keyecandypage.h"
-#define DEFAULT_WALLPAPER "isadora.png"
+#define DEFAULT_WALLPAPER "Trinity-lineart.svg"
KEyeCandyPage::KEyeCandyPage(TQWidget *parent, const char *name ) : KEyeCandyPageDlg(parent,name) {
diff --git a/ksmserver/CMakeLists.txt b/ksmserver/CMakeLists.txt
index fdd521b90..8578b01c1 100644
--- a/ksmserver/CMakeLists.txt
+++ b/ksmserver/CMakeLists.txt
@@ -9,6 +9,8 @@
#
#################################################
+include( ConfigureChecks.cmake )
+
if( NOT DBUS_SYSTEM_BUS )
set( DBUS_SYSTEM_BUS "unix:path=/var/run/dbus/system_bus_socket" CACHE INTERNAL "" FORCE )
endif()
diff --git a/ksmserver/ConfigureChecks.cmake b/ksmserver/ConfigureChecks.cmake
new file mode 100644
index 000000000..4f8cf7978
--- /dev/null
+++ b/ksmserver/ConfigureChecks.cmake
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2014 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing (DOT) net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+check_library_exists( ICE _IceTransNoListen "" HAVE__ICETRANSNOLISTEN ) \ No newline at end of file
diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp
index c63d70d76..1d98bc0a6 100644
--- a/ksmserver/server.cpp
+++ b/ksmserver/server.cpp
@@ -392,9 +392,9 @@ Status SetAuthentication (int count, IceListenObj *listenObjs,
{
KTempFile addAuthFile;
addAuthFile.setAutoDelete(true);
-
+
remAuthFile = new KTempFile;
- remAuthFile->setAutoDelete(true);
+ remAuthFile->setAutoDelete(true);
if ((addAuthFile.status() != 0) || (remAuthFile->status() != 0))
return 0;
@@ -468,7 +468,7 @@ void FreeAuthenticationData(int count, IceAuthDataEntry *authDataEntries)
tqWarning("[KSMServer] could not find iceauth");
return;
}
-
+
TDEProcess p;
p << iceAuth << "source" << remAuthFile->name();
p.start(TDEProcess::Block);
@@ -489,7 +489,7 @@ static int Xio_ErrorHandler( Display * )
server->cleanUp();
// Don't delete server!!
}
-
+
exit(0); // Don't report error, it's not our fault.
}
@@ -854,7 +854,7 @@ void KSMServer::storeSession()
TDEConfig* config = TDEGlobal::config();
config->reparseConfiguration(); // config may have changed in the KControl module
config->setGroup("General" );
- excludeApps = TQStringList::split( TQRegExp( "[,:]" ), config->readEntry( "excludeApps" ).lower());
+ excludeApps = TQStringList::split( TQRegExp( "[,:]" ), config->readEntry( "excludeApps" ).lower());
config->setGroup( sessionGroup );
int count = config->readNumEntry( "count" );
for ( int i = 1; i <= count; i++ ) {
diff --git a/ksplashml/themeengine/simple/CMakeLists.txt b/ksplashml/themeengine/simple/CMakeLists.txt
index 927f4b507..2b486e4f1 100644
--- a/ksplashml/themeengine/simple/CMakeLists.txt
+++ b/ksplashml/themeengine/simple/CMakeLists.txt
@@ -9,18 +9,6 @@
#
#################################################
-if( WITH_XINERAMA )
- check_include_file( "X11/extensions/Xinerama.h" X11_EXTENSIONS_XINERAMA_H )
- if( X11_EXTENSIONS_XINERAMA_H )
- check_library_exists( Xinerama XineramaQueryExtension "" HAVE_XINERAMA )
- endif( X11_EXTENSIONS_XINERAMA_H )
- if( NOT HAVE_XINERAMA )
- tde_message_fatal( "xinerama are requested, but not found on your system" )
- endif( NOT HAVE_XINERAMA )
- set( XINERAMA_LIBRARY Xinerama )
-endif( WITH_XINERAMA )
-
-
include_directories(
${CMAKE_BINARY_DIR}
${TQT_INCLUDE_DIRS}
@@ -35,6 +23,6 @@ link_directories(
tde_add_executable( ksplashsimple
SOURCES main.cpp
- LINK ${TQT_LIBRARIES} X11 ${XINERAMA_LIBRARY}
+ LINK ${TQT_LIBRARIES} X11 ${XINERAMA_LIBRARIES}
DESTINATION ${BIN_INSTALL_DIR}
)
diff --git a/ktip/tips b/ktip/tips
index cfd3cf223..b5d121580 100644
--- a/ktip/tips
+++ b/ktip/tips
@@ -166,7 +166,7 @@ K Desktop Environment version 3.5, which was originally written by the KDE Team,
a world-wide network of software engineers committed to Free Software development.
The name <i>Trinity</i> was chosen because the word means <i>Three</i> as in
<i>continuation of KDE 3</i>.</p>
-<p>Since then, TDE has evolved to be an indipendent and standalone computer desktop
+<p>Since then, TDE has evolved to be an independent and standalone computer desktop
environment project. The developers have molded the code to its own identity without
giving up on the efficiency, productivity and traditional user interface experience
characteristic of the original KDE 3 series.</p>
diff --git a/libkonq/konqbookmarkmanager.h b/libkonq/konqbookmarkmanager.h
index 9774d92e9..88ff45ced 100644
--- a/libkonq/konqbookmarkmanager.h
+++ b/libkonq/konqbookmarkmanager.h
@@ -3,15 +3,27 @@
#include <kbookmarkmanager.h>
#include <kstandarddirs.h>
+#include <kurl.h>
+#include <tdeio/job.h>
#include <libkonq_export.h>
+#include <tdeapplication.h>
class LIBKONQ_EXPORT KonqBookmarkManager
{
public:
- static KBookmarkManager * self() {
+ static KBookmarkManager * self()
+ {
if ( !s_bookmarkManager )
{
- TQString bookmarksFile = locateLocal("data", TQString::fromLatin1("konqueror/bookmarks.xml"));
+ TQString globalBookmarkFile = locate( "data", TQString::fromLatin1( "konqueror/bookmarks.xml" ) );
+ TQString bookmarksFile = locateLocal( "data", TQString::fromLatin1("konqueror/bookmarks.xml" ), true);
+ if (globalBookmarkFile != TQString::null && bookmarksFile != TQString::null &&
+ globalBookmarkFile != bookmarksFile)
+ {
+ TDEIO::file_copy(KURL::fromPathOrURL(globalBookmarkFile),
+ KURL::fromPathOrURL(bookmarksFile));
+ kapp->processEvents(3000); // Allows up to 3 seconds to copy the file
+ }
s_bookmarkManager = KBookmarkManager::managerForFile( bookmarksFile );
}
return s_bookmarkManager;
diff --git a/nsplugins/README b/nsplugins/README
index f1afff610..d465ddc24 100644
--- a/nsplugins/README
+++ b/nsplugins/README
@@ -11,7 +11,7 @@ browser plugins in KDE applications.
- sdk/ - headers from the Netscape(R) browser plugin SDK.
- - control/ - TDE Control Center applet for managing plugins
+ - control/ - Trinity Control Center applet for managing plugins
- test/ - simple applications to test nsplugin
@@ -132,7 +132,7 @@ with .so extension. A forking mechanism is implemented to prevent
faulty .so's from crashing the scanning process.
This utility is usually not invoked standalone, but used by the
-TDE Control Center applet which invokes it on:
+Trinity Control Center applet which invokes it on:
- explicit request (ie. pressing "Scan for new plugins" button)
- KDE startup (in the applet's initialization code)
- first time the applet is ran
@@ -203,7 +203,7 @@ The Control Center applet allows the user to:
- See which plugins "pluginscan" found (by reading the plugin cache).
- Force a "pluginscan" rescan.
-The TDE Control Center API is well documented in the KDE SDK.
+The Trinity Control Center API is well documented in the KDE SDK.
Compatibility notes
===================
diff --git a/pics/wallpapers/CMakeLists.txt b/pics/wallpapers/CMakeLists.txt
index 4b5ea0088..2c202e5e8 100644
--- a/pics/wallpapers/CMakeLists.txt
+++ b/pics/wallpapers/CMakeLists.txt
@@ -10,13 +10,25 @@
#################################################
install( FILES
+ aghi.jpg aghi.jpg.desktop
+ airplane.jpg airplane.jpg.desktop
All-Good-People-1.jpg All-Good-People-1.jpg.desktop
alta-badia.jpg alta-badia.jpg.desktop
+ andes-venezolanos.svgz andes-venezolanos.svgz.desktop
+ another-view.jpg another-view.jpg.desktop
+ aurora.svgz aurora.svgz.desktop
blue-bend.jpg blue-bend.jpg.desktop
- Chicken-Songs-2.jpg Chicken-Songs-2.jpg.desktop
+ celtic.svgz celtic.svgz.desktop
default_blue.jpg default_blue.jpg.desktop
- default_gears.jpg default_gears.jpg.desktop
floating-leaves.jpg floating-leaves.jpg.desktop
+ green_curtain.jpg green_curtain.jpg.desktop
+ here-gear.svgz here-gear.svgz.desktop
+ horse-head-nebula.png horse-head-nebula.png.desktop
+ isadora.png isadora.png.desktop
+ konqui.svgz konqui.svgz.desktop
+ lineart.svgz lineart.svgz.desktop
+ moon.svgz moon.svgz.desktop
+ mountain-lake.jpg mountain-lake.jpg.desktop
No-Ones-Laughing-3.jpg No-Ones-Laughing-3.jpg.desktop
seaofconero.jpg seaofconero.jpg.desktop
soft-green.jpg soft-green.jpg.desktop
@@ -24,21 +36,8 @@ install( FILES
sunshine-after-the-rain.jpg sunshine-after-the-rain.jpg.desktop
Time-For-Lunch-2.jpg Time-For-Lunch-2.jpg.desktop
Totally-New-Product-1.jpg Totally-New-Product-1.jpg.desktop
- triplegears.jpg triplegears.jpg.desktop
- Won-Ton-Soup-3.jpg Won-Ton-Soup-3.jpg.desktop
Trinity4.png Trinity4.png.desktop
- aghi.jpg aghi.jpg.desktop
- andes-venezolanos.svgz andes-venezolanos.svgz.desktop
- aurora.svgz aurora.svgz.desktop
- celtic.svgz celtic.svgz.desktop
- globe.svgz globe.svgz.desktop
- green_curtain.jpg green_curtain.jpg.desktop
- here-gear.svgz here-gear.svgz.desktop
- horse-head-nebula.png horse-head-nebula.png.desktop
- isadora.png isadora.png.desktop
- konqui.svgz konqui.svgz.desktop
- lineart.svgz lineart.svgz.desktop
- moon.svgz moon.svgz.desktop
- stripes.jpg stripes.jpg.desktop
+ Trinity-lineart.svg Trinity-lineart.svg.desktop
+ Won-Ton-Soup-3.jpg Won-Ton-Soup-3.jpg.desktop
world-desktop.jpg world-desktop.jpg.desktop
DESTINATION ${WALLPAPER_INSTALL_DIR} )
diff --git a/pics/wallpapers/CREDITS b/pics/wallpapers/CREDITS
index 5cfe2450b..861fa60d2 100644
--- a/pics/wallpapers/CREDITS
+++ b/pics/wallpapers/CREDITS
@@ -1,4 +1,3 @@
-triplegears.jpg - J�rg Gastner <[email protected]>
default_blue.jpg - Qwertz <[email protected]>
seaofconero.jpg - Andrea Rizzi <[email protected]>
@@ -10,6 +9,6 @@ modification
The following tiles are courteously provided by Bowie J. Poag / PROPAGANDA:
-Chicken-Songs-2.jpg, No-Ones-Laughing-3.jpg, Time-For-Lunch-2.jpg, Totally-New-Product-1.jpg, Won-Ton-Soup-3.jpg
+No-Ones-Laughing-3.jpg, Time-For-Lunch-2.jpg, Totally-New-Product-1.jpg, Won-Ton-Soup-3.jpg
License: Copyleft
diff --git a/pics/wallpapers/Chicken-Songs-2.jpg b/pics/wallpapers/Chicken-Songs-2.jpg
deleted file mode 100644
index 20d4242ae..000000000
--- a/pics/wallpapers/Chicken-Songs-2.jpg
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/Chicken-Songs-2.jpg.desktop b/pics/wallpapers/Chicken-Songs-2.jpg.desktop
deleted file mode 100644
index 8a3671362..000000000
--- a/pics/wallpapers/Chicken-Songs-2.jpg.desktop
+++ /dev/null
@@ -1,62 +0,0 @@
-[Wallpaper]
-File=Chicken-Songs-2.jpg
-Name=Chicken Songs
-Name[af]=Kuiken Liedjie
-Name[be]=Песні курачкі
-Name[bn]=চিকেন সংস
-Name[ca]=Cançons de pollastre
-Name[cs]=Slepičí písně
-Name[csb]=Spiéwë kùrków
-Name[da]=Kyllingesange
-Name[el]=Τραγούδια Κοτόπουλων
-Name[eo]=Kokaj kantoj
-Name[es]=Canciones de pollos
-Name[et]=Tibulaul
-Name[fa]=آواز جوجۀ پرندگان
-Name[fi]=Tipulaulut
-Name[fy]=Pikefeskes
-Name[gl]=Cancións de Galiñas
-Name[he]=שירים מהמטבח
-Name[hi]=मुर्गा बांग
-Name[hr]=Pjesme o piletu
-Name[hu]=Csirkeének
-Name[is]=Kjúklingasöngvar
-Name[it]=Canzoni dei polli
-Name[ka]=წიწილების სიმღერა
-Name[kk]=Балапан өлеңдері
-Name[km]=ចម្រៀង​សត្វ​មាន់
-Name[lt]=Viščiukų dainos
-Name[lv]=Cāļu dziesmas
-Name[mk]=Кокошкини песни
-Name[nb]=Kyllingsang
-Name[nds]=Höhnerleder
-Name[ne]=चिकेन सङ्ग
-Name[nl]=Kippenliedjes
-Name[nn]=Kyllingsongar
-Name[pa]=ਚਿਕਿਨ ਗੀਤ
-Name[pl]=Pieśni kurczaków
-Name[pt]=Canções da Galinha
-Name[pt_BR]=Canções de Galinha
-Name[ro]=Cîntece de pui
-Name[ru]=Песни цыплят
-Name[rw]=Indirimbo z'Inkoko
-Name[se]=Vuoncálávlagat
-Name[sk]=Kuracia pieseň
-Name[sl]=Piščančje pesmi
-Name[sr]=Пилеће песме
-Name[sr@Latn]=Pileće pesme
-Name[sv]=Kycklingpip
-Name[ta]=சிக்கன் பாடல்கள்
-Name[te]=కోడి పాటలు
-Name[tg]=Садои гунҷишкон
-Name[tr]=Tavukların Şarkısı
-Name[tt]=Tawıq Cırı
-Name[uk]=Співи курчат
-Name[uz]=Tovuq qoʻshigʻi
-Name[uz@cyrillic]=Товуқ қўшиғи
-Name[vi]=Bài hát Gà con
-Name[wa]=Tchanson des poyes
-Name[zh_CN]=水渍
-ImageType=pixmap
-Author=Bowie J. Poag / PROPAGANDA
-
diff --git a/pics/wallpapers/Makefile.am b/pics/wallpapers/Makefile.am
index 5e40d9c65..c4447065d 100644
--- a/pics/wallpapers/Makefile.am
+++ b/pics/wallpapers/Makefile.am
@@ -1,18 +1,42 @@
pics_wallpaper_data_DATA = \
+ aghi.jpg \
+ aghi.jpg.desktop \
+ airplane.jpg \
+ airplane.jpg.desktop \
All-Good-People-1.jpg \
All-Good-People-1.jpg.desktop \
alta-badia.jpg \
alta-badia.jpg.desktop \
+ andes-venezolanos.svgz \
+ andes-venezolanos.svgz.desktop \
+ another-view.jpg \
+ another-view.jpg.desktop \
+ aurora.svgz \
+ aurora.svgz.desktop \
blue-bend.jpg \
blue-bend.jpg.desktop \
- Chicken-Songs-2.jpg \
- Chicken-Songs-2.jpg.desktop \
+ celtic.svgz \
+ celtic.svgz.desktop \
default_blue.jpg \
default_blue.jpg.desktop \
- default_gears.jpg \
- default_gears.jpg.desktop \
floating-leaves.jpg \
floating-leaves.jpg.desktop \
+ green_curtain.jpg \
+ green_curtain.jpg.desktop \
+ here-gear.svgz \
+ here-gear.svgz.desktop \
+ horse-head-nebula.png \
+ horse-head-nebula.png.desktop \
+ isadora.png \
+ isadora.png.desktop \
+ konqui.svgz \
+ konqui.svgz.desktop \
+ lineart.svgz \
+ lineart.svgz.desktop \
+ moon.svgz \
+ moon.svgz.desktop \
+ mountain-lake.jpg \
+ mountain-lake.jpg.desktop \
No-Ones-Laughing-3.jpg \
No-Ones-Laughing-3.jpg.desktop \
seaofconero.jpg \
@@ -27,38 +51,12 @@ pics_wallpaper_data_DATA = \
Time-For-Lunch-2.jpg.desktop \
Totally-New-Product-1.jpg \
Totally-New-Product-1.jpg.desktop \
- triplegears.jpg \
- triplegears.jpg.desktop \
- Won-Ton-Soup-3.jpg \
- Won-Ton-Soup-3.jpg.desktop \
Trinity4.png \
Trinity4.png.desktop \
- aghi.jpg \
- aghi.jpg.desktop \
- andes-venezolanos.svgz \
- andes-venezolanos.svgz.desktop \
- aurora.svgz \
- aurora.svgz.desktop \
- celtic.svgz \
- celtic.svgz.desktop \
- globe.svgz \
- globe.svgz.desktop \
- green_curtain.jpg \
- green_curtain.jpg.desktop \
- here-gear.svgz \
- here-gear.svgz.desktop \
- horse-head-nebula.png \
- horse-head-nebula.png.desktop \
- isadora.png \
- isadora.png.desktop \
- konqui.svgz \
- konqui.svgz.desktop \
- lineart.svgz \
- lineart.svgz.desktop \
- moon.svgz \
- moon.svgz.desktop \
- stripes.jpg \
- stripes.jpg.desktop \
+ Trinity-lineart.svg \
+ Trinity-lineart.svg.desktop \
+ Won-Ton-Soup-3.jpg \
+ Won-Ton-Soup-3.jpg.desktop \
world-desktop.jpg \
world-desktop.jpg.desktop
diff --git a/pics/wallpapers/Trinity-lineart.svg b/pics/wallpapers/Trinity-lineart.svg
new file mode 100644
index 000000000..df7793177
--- /dev/null
+++ b/pics/wallpapers/Trinity-lineart.svg
@@ -0,0 +1,794 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1280"
+ height="800"
+ id="svg1"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="71676-lineart_1610_TDE.svg"
+ inkscape:export-filename="/home/famille/pics/71676-lineart_1610_TDE.png"
+ inkscape:export-xdpi="225"
+ inkscape:export-ydpi="225"
+ inkscape:output_extension="org.inkscape.output.svgz.inkscape"
+ version="1.0">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1823">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop1824" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.35211268;"
+ offset="0.50000000"
+ id="stop1825" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1826" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1817">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop1818" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.039215688;"
+ offset="0.50000000"
+ id="stop1821" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1822" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1818">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1820" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1813">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop1815" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.49803922;"
+ offset="0.50000000"
+ id="stop1816" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop1817" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1807">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.68544602;"
+ offset="0.0000000"
+ id="stop1808" />
+ <stop
+ style="stop-color:#fefeff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1809" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient13017">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop13018" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop13019" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1812">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.058823530;"
+ offset="0.0000000"
+ id="stop1813" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop1814" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4276">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.11764706;"
+ offset="0.0000000"
+ id="stop4277" />
+ <stop
+ style="stop-color:#fefeff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3030">
+ <stop
+ style="stop-color:#0e3581;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop3031" />
+ <stop
+ style="stop-color:#1443a0;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop3032" />
+ <stop
+ style="stop-color:#0440b6;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3033" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2402">
+ <stop
+ style="stop-color:#01306f;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2403" />
+ <stop
+ style="stop-color:#03439b;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2404" />
+ <stop
+ style="stop-color:#003680;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2405" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient9839">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop9840" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9841" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4069">
+ <stop
+ style="stop-color:#ffbe34;stop-opacity:0.68544602;"
+ offset="0.0000000"
+ id="stop4070" />
+ <stop
+ style="stop-color:#ffdc4c;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop4071" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16912">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.66666669;"
+ offset="0.0000000"
+ id="stop16913" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop16914" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8708">
+ <stop
+ style="stop-color:#01306f;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop8709" />
+ <stop
+ style="stop-color:#03439b;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop12476" />
+ <stop
+ style="stop-color:#003680;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop8710" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3704">
+ <stop
+ style="stop-color:#0b1d41;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3705" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3706" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1810">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.39215687;"
+ offset="0.0000000"
+ id="stop1811" />
+ <stop
+ style="stop-color:#fefeff;stop-opacity:0.054901961;"
+ offset="1.0000000"
+ id="stop1812" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12401">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop12402" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.039215688;"
+ offset="0.50000000"
+ id="stop9333" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop12403" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11763">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11764" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.63380283;"
+ offset="1.0000000"
+ id="stop11765" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9855">
+ <stop
+ style="stop-color:#0058ff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop9856" />
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:0;"
+ offset="1"
+ id="stop9857" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9230">
+ <stop
+ style="stop-color:#0058ff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop9231" />
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:0;"
+ offset="1"
+ id="stop9232" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7972">
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:0.29411766;"
+ offset="0.0000000"
+ id="stop7973" />
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:0.35294119;"
+ offset="0.50000000"
+ id="stop8597" />
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:0.098039217;"
+ offset="1.0000000"
+ id="stop7974" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2353">
+ <stop
+ style="stop-color:#b3cfff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2354" />
+ <stop
+ style="stop-color:#0050dd;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2355" />
+ </linearGradient>
+ <style
+ type="text/css"
+ id="style2415">
+
+ .fil0 {fill:#0093DD}
+ .fil2 {fill:#FFFFFF}
+ .fil1 {fill:#1F1A17}
+
+ </style>
+ <style
+ type="text/css"
+ id="style2017">
+
+ .fil0 {fill:#0093DD}
+ .fil2 {fill:#FFFFFF}
+ .fil1 {fill:#1F1A17}
+
+ </style>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7972"
+ id="linearGradient11136"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.263675,0.791343)"
+ x1="585.87195"
+ y1="411.427"
+ x2="607.1839"
+ y2="640.82019" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11763"
+ id="linearGradient11762"
+ gradientTransform="matrix(1.091599,0,0,0.806927,0,81.69132)"
+ x1="624.75842"
+ y1="1078.1119"
+ x2="593.87524"
+ y2="751.44543"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1823"
+ id="linearGradient12404"
+ gradientTransform="matrix(17.947109,0,0,2.8870544e-2,479.17154,61.945729)"
+ x1="44.144588"
+ y1="19776.625"
+ x2="3.1722441"
+ y2="19776.625"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1810"
+ id="radialGradient9346"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.404153,0,0,0.406072,598.1281,554.3846)"
+ cx="905.61401"
+ cy="375.39572"
+ fx="905.61401"
+ fy="375.39572"
+ r="201.9917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16912"
+ id="linearGradient16915"
+ gradientTransform="scale(3.401788,0.293963)"
+ x1="68.284729"
+ y1="507.98886"
+ x2="123.76366"
+ y2="612.88391"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9839"
+ id="linearGradient9842"
+ gradientTransform="scale(1.111535,0.899657)"
+ x1="102.81779"
+ y1="150.29443"
+ x2="424.56198"
+ y2="722.41736"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1810"
+ id="linearGradient1357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5867519,0,0,0.5253307,3.7201511,8.7347901)"
+ x1="318.57779"
+ y1="-62.640854"
+ x2="350.99991"
+ y2="820.59406"
+ spreadMethod="pad" />
+ <pattern
+ patternUnits="userSpaceOnUse"
+ width="176.62337"
+ height="177.46243"
+ patternTransform="translate(876.9406,614.1349)"
+ id="pattern1981">
+ <rect
+ style="opacity:0.45248869;fill:url(#radialGradient9346);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="rect1982"
+ width="176.62337"
+ height="177.46243"
+ x="876.94055"
+ y="614.13489"
+ rx="49.708714"
+ ry="49.705379"
+ transform="translate(-876.9406,-614.1349)" />
+ </pattern>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3030"
+ id="linearGradient1158"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1547996,0,0,0.7218301,-5.5212096e-2,-7.4389613e-2)"
+ x1="548.97797"
+ y1="762.54321"
+ x2="1061.0055"
+ y2="924.93665" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1812"
+ id="linearGradient1811"
+ gradientTransform="matrix(1.0653239,0,0,0.7824561,-5.520822e-2,-7.4389613e-2)"
+ x1="1339.2728"
+ y1="626.07275"
+ x2="618.57043"
+ y2="422.78098"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4276"
+ id="linearGradient3061"
+ gradientTransform="matrix(0.5417717,0,0,1.538598,-5.5212096e-2,-7.4389613e-2)"
+ x1="1384.5165"
+ y1="128.08214"
+ x2="2398.271"
+ y2="264.82779"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12401"
+ id="linearGradient11144"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7628518,0,0,1.0927004,212.56163,-7.4389613e-2)"
+ x1="929.92407"
+ y1="365.15329"
+ x2="1407.9355"
+ y2="550.30981" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12401"
+ id="linearGradient11147"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.7628518,0,0,-1.0927004,1832.2648,801.60128)"
+ x1="929.92407"
+ y1="365.15329"
+ x2="1407.9355"
+ y2="550.30981" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13017"
+ id="linearGradient13020"
+ gradientTransform="scale(1.002493,0.997513)"
+ x1="995.72772"
+ y1="740.08929"
+ x2="927.9621"
+ y2="671.04675"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7972"
+ id="linearGradient13885"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.263675,0.791343)"
+ x1="585.87195"
+ y1="411.427"
+ x2="607.1839"
+ y2="640.82019" />
+ <linearGradient
+ id="linearGradient10239"
+ y2="943.17999"
+ gradientUnits="userSpaceOnUse"
+ y1="782.28998"
+ gradientTransform="matrix(-1.4212,0,0,0.69594,257.68573,-578.294)"
+ x2="110.43"
+ x1="150.39">
+ <stop
+ id="stop2247-9"
+ style="stop-color:#fff"
+ offset="0" />
+ <stop
+ id="stop2248-4"
+ style="stop-color:#fff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10239"
+ id="linearGradient3240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.56630077,0,0,0.27730887,1293.1289,-201.34942)"
+ x1="150.39"
+ y1="782.28998"
+ x2="110.43"
+ y2="943.17999" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.79462554"
+ inkscape:cx="703.47465"
+ inkscape:cy="433.20165"
+ inkscape:current-layer="svg1"
+ gridtolerance="2.0000000px"
+ showgrid="false"
+ guidetolerance="2.0000000px"
+ inkscape:window-width="1600"
+ inkscape:window-height="839"
+ inkscape:window-x="-2"
+ inkscape:window-y="-3"
+ inkscape:grid-bbox="false"
+ height="800px"
+ width="1280px"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0.0000000pt"
+ originy="0.0000000pt"
+ spacingx="2.0000000pt"
+ spacingy="2.0000000pt"
+ color="#3f3fff"
+ empcolor="#3f3fff"
+ opacity="0.15"
+ empopacity="0.38"
+ empspacing="2"
+ units="pt"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jan-Victor Krille</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:rights>
+ <dc:source>http://www.kde.org</dc:source>
+ <dc:description>a svg wallpaper for kde 3.4</dc:description>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/SourceCode" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <rect
+ style="opacity:1;fill:#01306f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.26412666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.53846154"
+ id="rect1107"
+ width="1280.1382"
+ height="800.22717"
+ x="-0.073321879"
+ y="-0.051684864" />
+ <path
+ style="opacity:1;fill:url(#linearGradient11144);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1164.7328,-0.69951341 C 1264.2196,258.61376 928.11914,531.4294 910.39831,800.29111 L 1174.2649,800.29111 C 1061.8695,614.77634 1049.9813,404.74614 1280.0864,164.46313 L 1280.0864,-0.69951341 L 1164.7328,-0.69951341 z "
+ id="path4304" />
+ <path
+ style="opacity:1;fill:url(#linearGradient11147);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 829.67261,-0.49113936 C 1031.4355,464.22183 845.40864,673.83345 580.61988,800.49948 L 825.76602,800.49948 C 904.35813,516.06374 1060.7127,269.57227 1073.3186,-0.49113936 L 829.67261,-0.49113936 z "
+ id="path4930" />
+ <rect
+ style="fill:url(#linearGradient1158);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.26412666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.53846154"
+ id="rect1157"
+ width="1280.1105"
+ height="800.1571"
+ x="-0.055212095"
+ y="-0.07439056" />
+ <path
+ style="opacity:1;fill:url(#linearGradient1811);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 998.67409,0.026826928 C 1178.6349,288.72368 979.67532,511.56754 763.7601,800.25926 L 227.09108,800.07824 C 651.81895,466.19802 1097.6907,427.22589 1135.4818,-0.19987259 L 998.67409,0.026826928 z "
+ id="path1186"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;fill:url(#linearGradient3061);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 1191.6798,-0.11972768 L 1279.5609,-0.05203189 C 1202.4208,283.55831 1121.0568,502.76116 1279.7309,799.79924 L 1062.2697,800.15043 C 884.55474,602.8032 1118.9338,215.53806 1191.6798,-0.11972768 z "
+ id="path2436"
+ sodipodi:nodetypes="ccccc" />
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1" />
+ <rect
+ style="opacity:1;fill:none;fill-opacity:0.35159816;fill-rule:nonzero;stroke:none;stroke-linejoin:round;stroke-opacity:1"
+ width="176.63861"
+ height="147.9144"
+ x="876.961"
+ y="511.80521"
+ id="rect1983" />
+ <g
+ id="flowRoot4299"
+ style="fill:#ffffff"
+ transform="translate(32.702687,-649.49318)">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4308"
+ style="fill:#ffffff"
+ d="m 960.31,700.38 -0.39063,1.5625 h -2.7344 v 10.156 h -1.9531 v -10.156 h -2.7344 l -0.39063,-1.5625 h 8.2031" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4310"
+ style="fill:#ffffff"
+ d="m 963.45,712.09 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0.3125,-0.93749 0.88281,-1.4036 1.7109,-1.3984 0.82812,0.005 1.4922,0.17969 1.9922,0.52343 l -0.65,1.46 c -0.23438,-0.20832 -0.72917,-0.33853 -1.4844,-0.39062 -1.0417,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4312"
+ style="fill:#ffffff"
+ d="m 967.75,712.09 v -7.8125 h 1.9531 V 712.09 H 967.75 m 0,-9.7656 v -1.9531 h 1.9531 v 1.9531 H 967.75" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4314"
+ style="fill:#ffffff"
+ d="m 975.77,704.09 c 1.6927,10e-6 2.539,1.1068 2.5391,3.3203 v 4.6875 h -1.9531 v -4.6875 c 0,-1.1719 -0.52083,-1.7578 -1.5625,-1.7578 -1.04167,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0,-0.91145 0.84636,-1.3672 2.5391,-1.3672" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4316"
+ style="fill:#ffffff"
+ d="m 979.88,712.09 v -7.8125 h 1.9531 V 712.09 H 979.88 m 0,-9.7656 v -1.9531 h 1.9531 v 1.9531 H 979.88" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4318"
+ style="fill:#ffffff"
+ d="m 986.53,705.84 v 3.9062 c 0,0.67709 0.55468,0.92188 1.6641,0.73437 l 0.28906,1.5391 -1.48,0.27 c -1.6146,0.26042 -2.4219,-0.45573 -2.4219,-2.1484 v -4.2969 h -1.1719 l -0.39063,-1.5625 h 1.5625 v -2.9297 l 1.9531,-0.39062 v 3.3203 h 1.9531 l -0.39062,1.5625 h -1.5625" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4320"
+ style="fill:#ffffff"
+ d="m 996.71,704.92 -4.8516,10.375 -1.7734,-0.78125 1.8516,-3.875 -2.7344,-5.75 1.7812,-0.80468 2.0078,4.1875 1.9609,-4.1875 1.7578,0.83593" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4322"
+ style="fill:#ffffff"
+ d="m 1000.8,712.09 v -11.719 h 3.9063 c 2.6042,10e-6 3.9062,1.9531 3.9062,5.8594 0,3.9063 -1.302,5.8594 -3.9062,5.8594 H 1000.8 m 5.8594,-5.8594 c 0,-2.8646 -0.651,-4.2969 -1.9531,-4.2969 h -1.9531 v 8.5938 h 1.9531 c 1.3021,0 1.9531,-1.4323 1.9531,-4.2969" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4324"
+ style="fill:#ffffff"
+ d="m 1013.7,712.29 c -2.6042,0 -3.9063,-1.3672 -3.9063,-4.1016 0,-2.7344 1.224,-4.1016 3.6719,-4.1016 2.4479,10e-6 3.6719,1.3672 3.6719,4.1016 v 0.78125 h -5.3516 c 0.3125,1.224 0.9505,1.8099 1.9141,1.7578 0.8854,0.0261 1.6276,-0.36458 2.2265,-1.1719 l 1.1719,1.1719 c -0.8333,1.0417 -1.9661,1.5625 -3.3984,1.5625 m 1.4843,-4.8828 c 0,-1.1719 -0.5156,-1.7578 -1.5468,-1.7578 -1.0261,0 -1.6433,0.58594 -1.8516,1.7578 h 3.3984" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4326"
+ style="fill:#ffffff"
+ d="m 1021.6,712.29 c -1.7188,0 -2.8776,-0.59896 -3.4766,-1.7969 l 1.5625,-0.97657 c 0.2865,0.75522 0.9245,1.1589 1.9141,1.2109 1.0156,0 1.5234,-0.28645 1.5234,-0.85937 0,-0.57292 -0.664,-0.91667 -1.9922,-1.0312 -1.7447,-0.30208 -2.6171,-1.0391 -2.6171,-2.2109 0,-1.6927 1.0286,-2.539 3.0859,-2.5391 1.6667,10e-6 2.6953,0.625 3.0859,1.875 l -1.5625,0.89843 c -0.2343,-0.80728 -0.7422,-1.2109 -1.5234,-1.2109 -0.7552,0 -1.1328,0.26042 -1.1328,0.78125 0,0.52084 0.4427,0.83854 1.3281,0.95312 2.1875,0.17188 3.2813,0.96094 3.2813,2.3672 0,1.6927 -1.1589,2.5391 -3.4766,2.5391" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4328"
+ style="fill:#ffffff"
+ d="m 1026.3,712.09 v -11.914 h 1.9532 v 7.25 l 3.3671,-3.375 1.1094,1.1016 -2.6406,2.6406 3.0937,3.7031 -1.5468,1.2969 -3.3828,-4.0391 V 712.09 H 1026.3" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4330"
+ style="fill:#ffffff"
+ d="m 1037.4,705.84 v 3.9062 c 0,0.67709 0.5547,0.92188 1.6641,0.73437 l 0.289,1.5391 -1.4843,0.26562 c -1.6146,0.26042 -2.4219,-0.45573 -2.4219,-2.1484 v -4.2969 h -1.1719 l -0.3906,-1.5625 h 1.5625 v -2.9297 l 1.9531,-0.39062 v 3.3203 h 1.9531 l -0.3906,1.5625 H 1037.4" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4332"
+ style="fill:#ffffff"
+ d="m 1044,712.29 c -2.6041,0 -3.9062,-1.3672 -3.9062,-4.1016 0,-2.7344 1.3021,-4.1016 3.9062,-4.1016 2.6042,10e-6 3.9063,1.3672 3.9063,4.1016 0,2.7344 -1.3021,4.1016 -3.9063,4.1016 m 1.9532,-4.1016 c -10e-5,-1.6927 -0.6511,-2.5391 -1.9532,-2.5391 -1.3021,0 -1.9531,0.84636 -1.9531,2.5391 0,1.69274 0.651,2.5391 1.9531,2.5391 1.3021,0 1.9531,-0.84635 1.9532,-2.5391" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4334"
+ style="fill:#ffffff"
+ d="m 1052.7,710.63 c 0.9635,-0.0677 1.4453,-0.91406 1.4453,-2.5391 0,-1.6302 -0.5209,-2.4453 -1.5625,-2.4453 -1.0417,0 -1.5625,0.58594 -1.5625,1.7578 v 2.5391 c 0.1562,0.52084 0.7161,0.75 1.6797,0.6875 m -3.6328,4.5859 v -10.938 h 1.9531 v 1.1719 c 0,-0.91145 0.8463,-1.3672 2.539,-1.3672 1.6927,1e-5 2.5391,1.3021 2.5391,3.9062 -0.062,1.7604 -0.3932,2.9088 -0.9922,3.4453 -0.599,0.53125 -1.2708,0.81771 -2.0156,0.85937 -0.7448,0.0469 -1.4349,-0.0859 -2.0703,-0.39843 v 3.3203 h -1.9531" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4336"
+ style="fill:#ffffff"
+ d="m 1060.8,712.09 v -11.719 h 7.0313 l -0.3907,1.5625 h -4.6875 v 3.5156 h 3.5157 v 1.5625 h -3.5157 v 3.5156 h 4.6875 l 0.3907,1.5625 H 1060.8" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4338"
+ style="fill:#ffffff"
+ d="m 1073.9,704.09 c 1.6927,10e-6 2.5391,1.1068 2.5391,3.3203 v 4.6875 h -1.9531 v -4.6875 c 0,-1.1719 -0.5209,-1.7578 -1.5625,-1.7578 -1.0417,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0,-0.91145 0.8463,-1.3672 2.539,-1.3672" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4340"
+ style="fill:#ffffff"
+ d="m 1084.9,704.92 -3.3516,7.1719 h -0.789 l -3.3672,-7.2031 1.7812,-0.80468 2.0079,4.1875 1.9609,-4.1875 1.7578,0.83593" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4342"
+ style="fill:#ffffff"
+ d="m 1085.9,712.09 v -7.8125 h 1.9531 V 712.09 H 1085.9 m 0,-9.7656 v -1.9531 h 1.9531 v 1.9531 H 1085.9" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4344"
+ style="fill:#ffffff"
+ d="m 1091.4,712.09 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0.3125,-0.93749 0.8828,-1.4036 1.711,-1.3984 0.8281,0.005 1.4921,0.17969 1.9922,0.52343 l -0.6563,1.4609 c -0.2344,-0.20832 -0.7292,-0.33853 -1.4844,-0.39062 -1.0416,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4346"
+ style="fill:#ffffff"
+ d="m 1099.2,712.29 c -2.6041,0 -3.9062,-1.3672 -3.9062,-4.1016 0,-2.7344 1.3021,-4.1016 3.9062,-4.1016 2.6042,10e-6 3.9063,1.3672 3.9063,4.1016 0,2.7344 -1.3021,4.1016 -3.9063,4.1016 m 1.9532,-4.1016 c -10e-5,-1.6927 -0.6511,-2.5391 -1.9532,-2.5391 -1.3021,0 -1.9531,0.84636 -1.9531,2.5391 0,1.69274 0.651,2.5391 1.9531,2.5391 1.3021,0 1.9531,-0.84635 1.9532,-2.5391" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4348"
+ style="fill:#ffffff"
+ d="m 1108.8,704.09 c 1.6927,10e-6 2.5391,1.1068 2.5391,3.3203 v 4.6875 h -1.9531 v -4.6875 c 0,-1.1719 -0.5209,-1.7578 -1.5625,-1.7578 -1.0417,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0,-0.91145 0.8463,-1.3672 2.539,-1.3672" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4350"
+ style="fill:#ffffff"
+ d="m 1117.4,704.09 c 1.1979,0.026 1.9791,0.5599 2.3437,1.6016 0.1302,-1.0677 1.0417,-1.6016 2.7344,-1.6016 1.6927,10e-6 2.5391,1.1068 2.5391,3.3203 v 4.6875 h -1.9531 v -4.6875 c -10e-5,-1.1719 -0.5209,-1.7578 -1.5625,-1.7578 -1.0417,0 -1.5626,0.58594 -1.5625,1.7578 v 4.6875 h -1.9532 v -4.6875 c 0,-1.1719 -0.5208,-1.7578 -1.5625,-1.7578 -1.0416,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0,-0.91145 0.8464,-1.3672 2.5391,-1.3672" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4352"
+ style="fill:#ffffff"
+ d="m 1130.1,712.29 c -2.6041,0 -3.9062,-1.3672 -3.9062,-4.1016 0,-2.7344 1.2239,-4.1016 3.6719,-4.1016 2.4479,10e-6 3.6718,1.3672 3.6718,4.1016 v 0.78125 h -5.3515 c 0.3125,1.224 0.9505,1.8099 1.914,1.7578 0.8854,0.0261 1.6276,-0.36458 2.2266,-1.1719 l 1.1719,1.1719 c -0.8334,1.0417 -1.9662,1.5625 -3.3985,1.5625 m 1.4844,-4.8828 c 0,-1.1719 -0.5156,-1.7578 -1.5469,-1.7578 -1.026,0 -1.6432,0.58594 -1.8515,1.7578 h 3.3984" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4354"
+ style="fill:#ffffff"
+ d="m 1139.2,704.09 c 1.6927,10e-6 2.539,1.1068 2.5391,3.3203 v 4.6875 h -1.9532 v -4.6875 c 0,-1.1719 -0.5208,-1.7578 -1.5625,-1.7578 -1.0416,0 -1.5625,0.58594 -1.5625,1.7578 v 4.6875 h -1.9531 v -7.8125 h 1.9531 v 1.1719 c 0,-0.91145 0.8464,-1.3672 2.5391,-1.3672" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4356"
+ style="fill:#ffffff"
+ d="m 1146.4,705.84 v 3.9062 c -1e-4,0.67709 0.5546,0.92188 1.664,0.73437 l 0.2891,1.5391 -1.4844,0.26562 c -1.6146,0.26042 -2.4219,-0.45573 -2.4219,-2.1484 v -4.2969 h -1.1718 l -0.3907,-1.5625 h 1.5625 v -2.9297 l 1.9532,-0.39062 v 3.3203 h 1.9531 l -0.3906,1.5625 H 1146.4" />
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path1065_1_"
+ style="fill:#0044aa"
+ d="m 1196.9152,29.08144 h 48.844 c 3.5084,0 6.3787,2.87035 6.3787,6.37865 v 48.52527 c 0,3.50842 -2.8703,6.37865 -6.3787,6.37865 h -48.844 c -3.5086,0 -6.3791,-2.87023 -6.3791,-6.37865 V 35.46009 c 0,-3.50818 2.8704,-6.37865 6.3791,-6.37865 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path1067_1_"
+ style="fill:#ffffff"
+ d="m 1197.5527,32.58794 h 47.5689 c 1.9131,0 3.4834,1.57028 3.4834,3.5083 v 47.27408 c 0,1.91332 -1.57,3.48332 -3.4834,3.48332 h -47.5689 c -1.9134,0 -3.4832,-1.57 -3.4832,-3.48332 V 36.09624 c 0,-1.93802 1.5698,-3.5083 3.4832,-3.5083 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path189"
+ style="fill:#0044aa;fill-opacity:1"
+ d="m 1197.5527,33.26932 c -1.545,0 -2.8018,1.268 -2.8018,2.82664 v 47.27408 c 0,1.54462 1.2568,2.80206 2.8018,2.80206 h 47.5689 c 1.5449,0 2.8021,-1.25744 2.8021,-2.80206 V 36.09596 c 0,-1.55864 -1.2572,-2.82664 -2.8021,-2.82664 h -47.5689 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path273"
+ style="fill:#ffffff"
+ d="m 1235.3871,72.0202 -0.6762,0.2147 c -0.099,0.0305 -0.2053,-0.006 -0.2642,-0.0922 0,0 -1.3336,-1.95181 -3.0555,-4.47239 -2.0592,4.02969 -6.2487,6.78987 -11.0857,6.78987 -6.8732,0 -12.4457,-5.57216 -12.4457,-12.44531 0,-5.05574 3.0161,-9.40421 7.3453,-11.35271 v -3.21033 c -0.7879,0.2758 -1.5491,0.60786 -2.2726,1.00199 -10e-4,-8e-4 -0,-0.002 -0,-0.003 l -5.8623,-3.84481 c -0.1577,-0.1032 -0.366,-0.0818 -0.4992,0.0516 l -3.0713,3.07115 c -0.1291,0.12953 -0.1533,0.33073 -0.059,0.48756 l 3.596,5.92241 c -0.6379,1.07243 -1.1486,2.22866 -1.5133,3.44829 l -6.6026,1.37319 c -0.1837,0.038 -0.3161,0.20067 -0.3161,0.3889 v 4.34328 c 0,0.18369 0.1251,0.34277 0.3029,0.38609 l 6.4069,1.56597 c 0.3423,1.41201 0.8711,2.75149 1.571,3.9822 l -3.7085,5.65583 c -0.1035,0.15776 -0.082,0.36604 0.052,0.4992 l 3.0706,3.0713 c 0.1296,0.12915 0.3314,0.15374 0.4878,0.0586 l 5.8133,-3.52902 c 1.1406,0.65854 2.3725,1.17723 3.6733,1.52856 l 1.3564,6.51971 c 0.038,0.18421 0.201,0.31683 0.389,0.31683 h 4.3433 c 0.1824,0 0.3423,-0.12513 0.3856,-0.30346 l 1.597,-6.53486 c 1.3417,-0.36175 2.6101,-0.90077 3.7801,-1.58952 l 5.7271,3.75599 c 0.1581,0.10294 0.3655,0.0818 0.4995,-0.0513 l 3.071,-3.07131 c 0.13,-0.12967 0.1537,-0.33046 0.059,-0.48688 l -2.0916,-3.44642 z" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2891"
+ d="m 1216.962,44.09566 c 0,0 0.1962,25.41858 0.1962,25.41858 l 6.7022,0.0502 -0.3209,-25.52976 13.1925,-0.0434 0,-5.61081 -33.1995,-0.11258 -0.087,5.71122 13.5132,0.11632 z"
+ style="fill:#ffffff" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2895"
+ d="m 1205.2112,72.0202 0.6762,0.2147 c 0.099,0.0305 0.2054,-0.006 0.2642,-0.0922 0,0 1.3336,-1.95181 3.0555,-4.47239 2.0593,4.02969 6.2488,6.78987 11.0858,6.78987 6.8731,0 12.4457,-5.57216 12.4457,-12.44531 0,-5.05574 -3.0161,-9.40421 -7.3454,-11.35271 v -3.21033 c 0.788,0.2758 1.5492,0.60786 2.2727,1.00199 10e-4,-8e-4 0,-0.002 0,-0.003 l 5.8622,-3.84485 c 0.1578,-0.1032 0.366,-0.0818 0.4992,0.0516 l 3.0713,3.07114 c 0.1292,0.12954 0.1534,0.33073 0.059,0.48756 l -3.596,5.92241 c 0.638,1.07244 1.1486,2.22867 1.5133,3.44829 l 6.6026,1.3732 c 0.1837,0.038 0.3162,0.20066 0.3162,0.38889 v 4.34329 c 0,0.18368 -0.1252,0.34277 -0.303,0.38608 l -6.4069,1.56598 c -0.3422,1.41196 -0.8711,2.75149 -1.5709,3.98223 l 3.7084,5.65584 c 0.1035,0.15775 0.082,0.36603 -0.052,0.4992 l -3.0706,3.0713 c -0.1296,0.12914 -0.3314,0.15374 -0.4878,0.0585 l -5.8133,-3.52902 c -1.1406,0.65855 -2.3725,1.17723 -3.6734,1.52856 l -1.3563,6.51971 c -0.038,0.18422 -0.201,0.31683 -0.3891,0.31683 h -4.3432 c -0.1824,0 -0.3423,-0.12512 -0.3856,-0.30346 l -1.597,-6.53485 c -1.3417,-0.36176 -2.6101,-0.90078 -3.7801,-1.58953 l -5.7272,3.75603 c -0.158,0.10294 -0.3655,0.0818 -0.4994,-0.0513 l -3.071,-3.0713 c -0.13,-0.12967 -0.1538,-0.33047 -0.059,-0.48689 l 2.0916,-3.44642 z"
+ style="fill:#ffffff" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2042-9"
+ style="fill:url(#linearGradient3240);fill-rule:evenodd"
+ d="m 1245.6994,29.09339 c 3.5181,0 6.3827,2.86003 6.3827,6.37268 l -0.073,6.9389 c -1.3977,0.40946 -10.0625,0.69628 -12.9928,1.18316 -3.4323,1.39814 -5.7491,2.70053 -7.7554,3.10115 -2.8645,0.572 -6.2384,1.76277 -8.0929,3.61441 -2.6478,2.64375 -4.7564,2.48189 -7.2042,4.92584 -2.4271,2.42328 -5.4387,3.11633 -9.3795,3.9033 -4.7258,0.94369 -10.924,1.73309 -15.3043,0.85842 -0.3177,-0.0634 -0.5326,-0.10442 -0.8304,-0.16086 V 35.46575 c 0,-3.5126 2.88,-6.37268 6.3826,-6.37268 h 48.868 z" />
+</svg>
diff --git a/pics/wallpapers/Trinity-lineart.svg.desktop b/pics/wallpapers/Trinity-lineart.svg.desktop
new file mode 100644
index 000000000..b35e6c215
--- /dev/null
+++ b/pics/wallpapers/Trinity-lineart.svg.desktop
@@ -0,0 +1,63 @@
+[Wallpaper]
+File=Trinity-lineart.svg
+Name=Trinity Default
+Name[af]=Trinity Standaard
+Name[be]=Стандартныя для Trinity
+Name[bn]=কে.ডি.ই.-৩.৫ ডিফল্ট
+Name[ca]=Trinity per omissió
+Name[cs]=Výchozí pro Trinity
+Name[csb]=Domëslnô Trinity
+Name[da]=Trinity standard
+Name[de]=Trinity Standard
+Name[el]=Προκαθορισμένο του Trinity
+Name[eo]=Trinity defaŭlta
+Name[es]=Predeterminado de Trinity
+Name[et]=Trinity vaiketaustapilt
+Name[eu]=Trinity lehenetsia
+Name[fa]=پیش‌فرض Trinity
+Name[fi]=Trinity oletus
+Name[fr]=Trinity par défaut
+Name[fy]=Trinity Standert
+Name[ga]=Réamhshocrú Trinity
+Name[gl]=Predeterminado en Trinity
+Name[he]=ברירת מחדל של Trinity
+Name[hr]=Trinity zadano
+Name[hu]=A Trinity alapértelmezése
+Name[is]=Trinity sjálfgefið
+Name[it]=Predefinito di Trinity
+Name[ja]=Trinity 標準
+Name[ka]=TDE სტანდარტული
+Name[kk]=Trinity әдеттісі
+Name[km]=លំនាំដើម TDE ៣.៥
+Name[lt]=Trinity numatytoji parinktis
+Name[mk]=Стандардно за Trinity
+Name[nb]=Trinity Standard
+Name[nds]=Trinity Standard
+Name[ne]=Trinity पूर्वनिर्धारित
+Name[nl]=Trinity Standaard
+Name[nn]=Trinity Standard
+Name[pa]=Trinity ਮੂਲ
+Name[pl]=Domyślna Trinity
+Name[pt]=Predefinido do Trinity
+Name[pt_BR]=Trinity Padrão
+Name[ro]=Trinity (Implicit)
+Name[ru]=Trinity по умолчанию
+Name[se]=Trinity standárda
+Name[sk]=Štandard Trinity
+Name[sl]=Privzeto za Trinity
+Name[sr]=Подразумевано за Trinity
+Name[sr@Latn]=Podrazumevano za Trinity
+Name[sv]=Trinity förval
+Name[te]=కెడిఈ 3.5 అప్రమేయం
+Name[tg]=Trinity Пешфарзӣ
+Name[th]=ค่าปริยาย Trinity
+Name[tr]=Trinity Öntanımlı
+Name[uk]=Trinity типовий
+Name[uz]=Trinity andozasi
+Name[uz@cyrillic]=Trinity андозаси
+Name[vi]=Mặc định Trinity
+Name[wa]=Prémetou Trinity
+Name[zh_CN]=Trinity 默认
+Name[zh_TW]=Trinity 預設
+ImageType=scalable
+Author=Alex Couture
diff --git a/pics/wallpapers/Trinity4.png.desktop b/pics/wallpapers/Trinity4.png.desktop
index a9054fb06..95c373024 100644
--- a/pics/wallpapers/Trinity4.png.desktop
+++ b/pics/wallpapers/Trinity4.png.desktop
@@ -1,63 +1,63 @@
[Wallpaper]
File=Trinity4.png
-Name=Trinity Default
-Name[af]=Trinity Standaard
-Name[be]=Стандартныя для Trinity
-Name[bn]=কে.ডি.ই.-৩.৫ ডিফল্ট
-Name[ca]=Trinity per omissió
-Name[cs]=Výchozí pro Trinity
-Name[csb]=Domëslnô Trinity
-Name[da]=Trinity standard
-Name[de]=Trinity Standard
-Name[el]=Προκαθορισμένο του Trinity
-Name[eo]=Trinity defaŭlta
-Name[es]=Predeterminado de Trinity
-Name[et]=Trinity vaiketaustapilt
-Name[eu]=Trinity lehenetsia
-Name[fa]=پیش‌فرض Trinity
-Name[fi]=Trinity oletus
-Name[fr]=Trinity par défaut
-Name[fy]=Trinity Standert
-Name[ga]=Réamhshocrú Trinity
-Name[gl]=Predeterminado en Trinity
-Name[he]=ברירת מחדל של Trinity
-Name[hr]=Trinity zadano
-Name[hu]=A Trinity alapértelmezése
-Name[is]=Trinity sjálfgefið
-Name[it]=Predefinito di Trinity
-Name[ja]=Trinity 標準
-Name[ka]=TDE სტანდარტული
-Name[kk]=Trinity әдеттісі
-Name[km]=លំនាំដើម TDE ៣.៥
-Name[lt]=Trinity numatytoji parinktis
-Name[mk]=Стандардно за Trinity
-Name[nb]=Trinity Standard
-Name[nds]=Trinity Standard
-Name[ne]=Trinity पूर्वनिर्धारित
-Name[nl]=Trinity Standaard
-Name[nn]=Trinity Standard
-Name[pa]=Trinity ਮੂਲ
-Name[pl]=Domyślna Trinity
-Name[pt]=Predefinido do Trinity
-Name[pt_BR]=Trinity Padrão
-Name[ro]=Trinity (Implicit)
-Name[ru]=Trinity по умолчанию
-Name[se]=Trinity standárda
-Name[sk]=Štandard Trinity
-Name[sl]=Privzeto za Trinity
-Name[sr]=Подразумевано за Trinity
-Name[sr@Latn]=Podrazumevano za Trinity
-Name[sv]=Trinity förval
-Name[te]=కెడిఈ 3.5 అప్రమేయం
-Name[tg]=Trinity Пешфарзӣ
-Name[th]=ค่าปริยาย Trinity
-Name[tr]=Trinity Öntanımlı
-Name[uk]=Trinity типовий
-Name[uz]=Trinity andozasi
-Name[uz@cyrillic]=Trinity андозаси
-Name[vi]=Mặc định Trinity
-Name[wa]=Prémetou Trinity
-Name[zh_CN]=Trinity 默认
-Name[zh_TW]=Trinity 預設
+Name=Trinity Default (old)
+Name[af]=Trinity Standaard (old)
+Name[be]=Стандартныя для Trinity (old)
+Name[bn]=কে.ডি.ই.-৩.৫ ডিফল্ট (old)
+Name[ca]=Trinity per omissió (old)
+Name[cs]=Výchozí pro Trinity (old)
+Name[csb]=Domëslnô Trinity (old)
+Name[da]=Trinity standard (old)
+Name[de]=Trinity Standard (old)
+Name[el]=Προκαθορισμένο του Trinity (old)
+Name[eo]=Trinity defaŭlta (old)
+Name[es]=Predeterminado de Trinity (old)
+Name[et]=Trinity vaiketaustapilt (old)
+Name[eu]=Trinity lehenetsia (old)
+Name[fa]=پیش‌فرض Trinity (old)
+Name[fi]=Trinity oletus (old)
+Name[fr]=Trinity par défaut (old)
+Name[fy]=Trinity Standert (old)
+Name[ga]=Réamhshocrú Trinity (old)
+Name[gl]=Predeterminado en Trinity (old)
+Name[he]=ברירת מחדל של Trinity (old)
+Name[hr]=Trinity zadano (old)
+Name[hu]=A Trinity alapértelmezése (old)
+Name[is]=Trinity sjálfgefið (old)
+Name[it]=Predefinito di Trinity (precedente)
+Name[ja]=Trinity 標準 (old)
+Name[ka]=TDE სტანდარტული (old)
+Name[kk]=Trinity әдеттісі (old)
+Name[km]=លំនាំដើម TDE ៣.៥ (old)
+Name[lt]=Trinity numatytoji parinktis (old)
+Name[mk]=Стандардно за Trinity (old)
+Name[nb]=Trinity Standard (old)
+Name[nds]=Trinity Standard (old)
+Name[ne]=Trinity पूर्वनिर्धारित (old)
+Name[nl]=Trinity Standaard (old)
+Name[nn]=Trinity Standard (old)
+Name[pa]=Trinity ਮੂਲ (old)
+Name[pl]=Domyślna Trinity (old)
+Name[pt]=Predefinido do Trinity (old)
+Name[pt_BR]=Trinity Padrão (old)
+Name[ro]=Trinity (Implicit) (old)
+Name[ru]=Trinity по умолчанию (old)
+Name[se]=Trinity standárda (old)
+Name[sk]=Štandard Trinity (old)
+Name[sl]=Privzeto za Trinity (old)
+Name[sr]=Подразумевано за Trinity (old)
+Name[sr@Latn]=Podrazumevano za Trinity (old)
+Name[sv]=Trinity förval (old)
+Name[te]=కెడిఈ 3.5 అప్రమేయం (old)
+Name[tg]=Trinity Пешфарзӣ (old)
+Name[th]=ค่าปริยาย Trinity (old)
+Name[tr]=Trinity Öntanımlı (old)
+Name[uk]=Trinity типовий (old)
+Name[uz]=Trinity andozasi (old)
+Name[uz@cyrillic]=Trinity андозаси (old)
+Name[vi]=Mặc định Trinity (old)
+Name[wa]=Prémetou Trinity (old)
+Name[zh_CN]=Trinity 默认 (old)
+Name[zh_TW]=Trinity 預設 (old)
ImageType=pixmap
Author=Martin C and Timothy Pearson
diff --git a/pics/wallpapers/airplane.jpg b/pics/wallpapers/airplane.jpg
new file mode 100644
index 000000000..66def1358
--- /dev/null
+++ b/pics/wallpapers/airplane.jpg
Binary files differ
diff --git a/pics/wallpapers/airplane.jpg.desktop b/pics/wallpapers/airplane.jpg.desktop
new file mode 100644
index 000000000..3c58e8d15
--- /dev/null
+++ b/pics/wallpapers/airplane.jpg.desktop
@@ -0,0 +1,58 @@
+[Wallpaper]
+File=airplane.jpg
+Name=Airplane
+Name[ar]=Airplane
+Name[bn]=Airplane
+Name[ca]=Airplane
+Name[ca@valencia]=Airplane
+Name[cs]=Airplane
+Name[da]=Airplane
+Name[de]=Airplane
+Name[el]=Airplane
+Name[en_GB]=Airplane
+Name[eo]=Airplane
+Name[es]=Airplane
+Name[et]=Airplane
+Name[eu]=Airplane
+Name[fi]=Airplane
+Name[fr]=Airplane
+Name[fy]=Airplane
+Name[ga]=Airplane
+Name[gl]=Airplane
+Name[hr]=Airplane
+Name[hu]=Airplane
+Name[ia]=Airplane
+Name[id]=Airplane
+Name[is]=Airplane
+Name[it]=Aereoplano
+Name[ja]=Airplane
+Name[km]=Airplane
+Name[kn]=Airplane
+Name[ko]=비행기
+Name[lt]=Airplane
+Name[lv]=Airplane
+Name[mai]=Airplane
+Name[ml]=Airplane
+Name[nb]=Airplane
+Name[nds]=Airplane
+Name[nl]=Airplane
+Name[nn]=Airplane
+Name[pa]=Airplane
+Name[pl]=Airplane
+Name[pt]=Airplane
+Name[pt_BR]=Airplane
+Name[ro]=Airplane
+Name[ru]=Airplane
+Name[si]=Airplane
+Name[sk]=Airplane
+Name[sl]=Airplane
+Name[sr@ijekavianlatin]=Airplane
+Name[sr@latin]=Airplane
+Name[sv]=Airplane
+Name[tg]=Airplane
+Name[tr]=Airplane
+Name[wa]=Airplane
+Name[x-test]=xxAirplanexx
+Name[zh_TW]=Airplane
+ImageType=pixmap
+Author=Alex Couture
diff --git a/pics/wallpapers/another-view.jpg b/pics/wallpapers/another-view.jpg
new file mode 100644
index 000000000..24da1453d
--- /dev/null
+++ b/pics/wallpapers/another-view.jpg
Binary files differ
diff --git a/pics/wallpapers/another-view.jpg.desktop b/pics/wallpapers/another-view.jpg.desktop
new file mode 100644
index 000000000..cadf0adbe
--- /dev/null
+++ b/pics/wallpapers/another-view.jpg.desktop
@@ -0,0 +1,58 @@
+[Wallpaper]
+File=another-view.jpg
+Name=Another View
+Name[ar]=Another View
+Name[bn]=Another View
+Name[ca]=Another View
+Name[ca@valencia]=Another View
+Name[cs]=Another View
+Name[da]=Another View
+Name[de]=Another View
+Name[el]=Another View
+Name[en_GB]=Another View
+Name[eo]=Another View
+Name[es]=Another View
+Name[et]=Another View
+Name[eu]=Another View
+Name[fi]=Another View
+Name[fr]=Another View
+Name[fy]=Another View
+Name[ga]=Another View
+Name[gl]=Another View
+Name[hr]=Another View
+Name[hu]=Another View
+Name[ia]=Another View
+Name[id]=Another View
+Name[is]=Another View
+Name[it]=Un'altra vista
+Name[ja]=Another View
+Name[km]=Another View
+Name[kn]=Another View
+Name[ko]=다른 경치
+Name[lt]=Another View
+Name[lv]=Another View
+Name[mai]=Another View
+Name[ml]=Another View
+Name[nb]=Another View
+Name[nds]=Another View
+Name[nl]=Another View
+Name[nn]=Another View
+Name[pa]=Another View
+Name[pl]=Another View
+Name[pt]=Another View
+Name[pt_BR]=Another View
+Name[ro]=Another View
+Name[ru]=Another View
+Name[si]=Another View
+Name[sk]=Another View
+Name[sl]=Another View
+Name[sr@ijekavianlatin]=Another View
+Name[sr@latin]=Another View
+Name[sv]=Another View
+Name[tg]=Another View
+Name[tr]=Another View
+Name[wa]=Another View
+Name[x-test]=xxAnother Viewxx
+Name[zh_TW]=Another View
+ImageType=pixmap
+Author=Alex Couture
diff --git a/pics/wallpapers/default_gears.jpg b/pics/wallpapers/default_gears.jpg
deleted file mode 100644
index cb54eff5d..000000000
--- a/pics/wallpapers/default_gears.jpg
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/default_gears.jpg.desktop b/pics/wallpapers/default_gears.jpg.desktop
deleted file mode 100644
index 8fe0eb695..000000000
--- a/pics/wallpapers/default_gears.jpg.desktop
+++ /dev/null
@@ -1,62 +0,0 @@
-[Wallpaper]
-File=default_gears.jpg
-Name=Default Gears
-Name[af]=Standaard Ratte
-Name[az]=Ön Qurğulu Vinçlər
-Name[be]=Стандартныя колцы
-Name[bn]=ডিফল্ট গিয়ার
-Name[ca]=Mecanismes per omissió
-Name[cs]=Výchozí kola
-Name[csb]=Domëslnô - zãbaté kòła
-Name[da]=Standardgear
-Name[de]=Standard-Zahnräder
-Name[el]=Προεπιλεγμένα Γρανάζια
-Name[eo]=Norma aparato
-Name[es]=Engranajes predeterminados
-Name[et]=Vaikimisi hammasrattad
-Name[eu]=Gurpil lehenetsiak
-Name[fa]=دنده‌های پیش‌فرض
-Name[fi]=Oletushammasrattaat
-Name[fr]=Roues par défaut
-Name[fy]=Standert kamrêd
-Name[ga]=Giaranna Réamhshocraithe
-Name[gl]=Motores Predeterminados
-Name[he]=גלגלת ברירת מחדל
-Name[hi]=डिफ़ॉल्ट गियर्स
-Name[hr]=Zadani zupčanici
-Name[hu]=Alapértelmezett fogaskerekek
-Name[is]=Sjálfgefnir gírar
-Name[it]=Rotelle predefinite
-Name[ja]=標準ギア
-Name[ka]=ძირითადი კბილანები
-Name[kk]=Әдетті тістегершіктер
-Name[km]=ស្ពឺ​លំនាំដើម
-Name[lv]=Noklusētie zobrati
-Name[mk]=Стандардни запчаници
-Name[nb]=Standard tannhjul
-Name[nds]=Standard-Tahnrööd
-Name[ne]=पूर्वनिर्धारित गियर
-Name[nl]=Standaardtandwielen
-Name[nn]=Standard tannhjul
-Name[pa]=ਮੂਲ ਗੇਅਰ
-Name[pl]=Domyślna - koła zębate
-Name[pt]=Engrenagens Predefinidas
-Name[pt_BR]=Gears Padrão
-Name[ro]=Rotițe (Implicit)
-Name[ru]=Шестерёнки по умолчанию
-Name[rw]=Ikiziga-menyo Mburabuzi
-Name[sk]=Štandardný výstroj
-Name[sl]=Privzeti zobniki
-Name[sr]=Подразумевни зупчаници
-Name[sr@Latn]=Podrazumevni zupčanici
-Name[sv]=Standardkugghjul
-Name[ta]=முன்னிருந்த விளைவு
-Name[te]=అప్రమేయ గేర్లు
-Name[tr]=Öntanımlı Çarklar
-Name[tt]=Töp Yoldızlar
-Name[uk]=Типові шестерні
-Name[vi]=Bánh răng Mặc định
-Name[wa]=Prémetowe boesse di vitesse
-Name[zh_CN]=默认齿轮
-ImageType=pixmap
-
diff --git a/pics/wallpapers/globe.png b/pics/wallpapers/globe.png
deleted file mode 100644
index 8ac321aeb..000000000
--- a/pics/wallpapers/globe.png
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/globe.svgz b/pics/wallpapers/globe.svgz
deleted file mode 100644
index a6ccd4d9e..000000000
--- a/pics/wallpapers/globe.svgz
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/globe.svgz.desktop b/pics/wallpapers/globe.svgz.desktop
deleted file mode 100644
index 966ddc86a..000000000
--- a/pics/wallpapers/globe.svgz.desktop
+++ /dev/null
@@ -1,54 +0,0 @@
-[Wallpaper]
-File=globe.svgz
-Name=Geared Globe
-Name[af]=Rat Balla
-Name[be]=Свет па коле
-Name[ca]=Engranatge global
-Name[cs]=Ozubený glóbus
-Name[csb]=Zémskô kùgla z kòłã
-Name[da]=Gear-globus
-Name[de]=Globus mit Zahnrädern
-Name[el]=Σφαίρα Με Γρανάζια
-Name[eo]=Umita Globo
-Name[es]=Globo dentado
-Name[et]=Hammasratasgloobus
-Name[fa]=کره دنده‌ای
-Name[fi]=Hammasrattain koneistettu maapallo
-Name[fr]=Globe cranté
-Name[fy]=Tosktsjilglobe
-Name[gl]=Engranaxe Global
-Name[he]=כפפת גלגלת
-Name[hr]=Globus sa zupčanikom
-Name[hu]=Fogaskerék-földgömb
-Name[is]=Gírahnöttur
-Name[it]=Mondo a rotelle
-Name[ka]=კბილანა გლობუსი
-Name[kk]=Тістегершік жаһан
-Name[km]=ភូគោល​រាង​ស្ពឺ
-Name[mk]=Глобус во запчаник
-Name[nb]=Globus og tannhjul
-Name[nds]=Eer mit Tahnrööd
-Name[ne]=गियर ग्लोब
-Name[nl]=Tandwielglobe
-Name[nn]=Globus og tannhjul
-Name[pa]=ਗੇਅਰ ਗਲੋਬੀ
-Name[pl]=Kula ziemska z kołem
-Name[pt]=Globo e Engrenagens
-Name[pt_BR]=Globo
-Name[ro]=Glob rotiță
-Name[ru]=Орбита TDE
-Name[rw]=Umubumbe Ugenda
-Name[sk]=Zemeguľa
-Name[sl]=Zobniška krogla
-Name[sr]=Озупчен глобус
-Name[sr@Latn]=Ozupčen globus
-Name[sv]=Klot med kuggar
-Name[te]=గెర్డ్ గొళం
-Name[tr]=Dişli Küre
-Name[tt]=Yoldızlı Tup
-Name[uk]=Земна куля в шестерні
-Name[vi]=Quả cầu Bánh răng
-Name[wa]=Éndjin daegn
-Name[zh_CN]=全球动力(SVG)
-Author=Jakob Kohl
-ImageType=scalable
diff --git a/pics/wallpapers/mountain-lake.jpg b/pics/wallpapers/mountain-lake.jpg
new file mode 100644
index 000000000..47d322975
--- /dev/null
+++ b/pics/wallpapers/mountain-lake.jpg
Binary files differ
diff --git a/pics/wallpapers/mountain-lake.jpg.desktop b/pics/wallpapers/mountain-lake.jpg.desktop
new file mode 100644
index 000000000..aad14455e
--- /dev/null
+++ b/pics/wallpapers/mountain-lake.jpg.desktop
@@ -0,0 +1,58 @@
+[Wallpaper]
+File=mountain-lake.jpg
+Name=Mountain Lake
+Name[ar]=Mountain Lake
+Name[bn]=Mountain Lake
+Name[ca]=Mountain Lake
+Name[ca@valencia]=Mountain Lake
+Name[cs]=Mountain Lake
+Name[da]=Mountain Lake
+Name[de]=Mountain Lake
+Name[el]=Mountain Lake
+Name[en_GB]=Mountain Lake
+Name[eo]=Mountain Lake
+Name[es]=Mountain Lake
+Name[et]=Mountain Lake
+Name[eu]=Mountain Lake
+Name[fi]=Mountain Lake
+Name[fr]=Mountain Lake
+Name[fy]=Mountain Lake
+Name[ga]=Mountain Lake
+Name[gl]=Mountain Lake
+Name[hr]=Mountain Lake
+Name[hu]=Mountain Lake
+Name[ia]=Mountain Lake
+Name[id]=Mountain Lake
+Name[is]=Mountain Lake
+Name[it]=Lago di montagna
+Name[ja]=Mountain Lake
+Name[km]=Mountain Lake
+Name[kn]=Mountain Lake
+Name[ko]=산에 있는 호수
+Name[lt]=Mountain Lake
+Name[lv]=Mountain Lake
+Name[mai]=Mountain Lake
+Name[ml]=Mountain Lake
+Name[nb]=Mountain Lake
+Name[nds]=Mountain Lake
+Name[nl]=Mountain Lake
+Name[nn]=Mountain Lake
+Name[pa]=Mountain Lake
+Name[pl]=Mountain Lake
+Name[pt]=Mountain Lake
+Name[pt_BR]=Mountain Lake
+Name[ro]=Mountain Lake
+Name[ru]=Mountain Lake
+Name[si]=Mountain Lake
+Name[sk]=Mountain Lake
+Name[sl]=Mountain Lake
+Name[sr@ijekavianlatin]=Mountain Lake
+Name[sr@latin]=Mountain Lake
+Name[sv]=Mountain Lake
+Name[tg]=Mountain Lake
+Name[tr]=Mountain Lake
+Name[wa]=Mountain Lake
+Name[x-test]=xxMountain Lakexx
+Name[zh_TW]=Mountain Lake
+ImageType=pixmap
+Author=Alex Couture
diff --git a/pics/wallpapers/stripes.jpg b/pics/wallpapers/stripes.jpg
deleted file mode 100644
index 723cfe905..000000000
--- a/pics/wallpapers/stripes.jpg
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/stripes.jpg.desktop b/pics/wallpapers/stripes.jpg.desktop
deleted file mode 100644
index dc36cb442..000000000
--- a/pics/wallpapers/stripes.jpg.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
-[Wallpaper]
-File=stripes.jpg
-Name=Stripes
-Name[de]=Streifen
-Name[en_GB]=Stripes
-ImageType=pixmap
-Author=Ivan Čukić
diff --git a/pics/wallpapers/triplegears.jpg b/pics/wallpapers/triplegears.jpg
deleted file mode 100644
index 37eb42bcd..000000000
--- a/pics/wallpapers/triplegears.jpg
+++ /dev/null
Binary files differ
diff --git a/pics/wallpapers/triplegears.jpg.desktop b/pics/wallpapers/triplegears.jpg.desktop
deleted file mode 100644
index 0ab387acf..000000000
--- a/pics/wallpapers/triplegears.jpg.desktop
+++ /dev/null
@@ -1,60 +0,0 @@
-[Wallpaper]
-File=triplegears.jpg
-Name=Triple Gears
-Name[af]=Trippel Ratte
-Name[az]=Üçlü Çərx
-Name[be]=Патройныя колцы
-Name[bn]=ট্রিপল গিয়ার
-Name[ca]=Rodes triples
-Name[cs]=Tři soukolí
-Name[csb]=Pòtrójné zãbaté kòła
-Name[da]=Trippelgear
-Name[el]=Τριπλά Γρανάζια
-Name[eo]=Tria aparato
-Name[es]=Triple engranaje
-Name[et]=Kolm hammasratast
-Name[eu]=Hiru gurpil
-Name[fa]=دنده‌های سه‌گانه
-Name[fi]=Kolmoishammasrattaat
-Name[fr]=Les trois roues
-Name[fy]=Trijefâldige kamrêd
-Name[gl]=Triple Engranaxe
-Name[he]=גלגלות משולשת
-Name[hi]=ट्रिपल गीयर्स
-Name[hr]=trostruki zupčanici
-Name[hu]=Három fogaskerék
-Name[is]=Þrefaldir gírar
-Name[it]=Triple ruote
-Name[ja]=トリプルギア
-Name[ka]=სამმაგი კბილანები
-Name[kk]=Үш тістегершік
-Name[km]=ស្ពឺ​មុខ​បី
-Name[lv]=Trīs zobrati
-Name[mk]=Тројни запчаници
-Name[nb]=Triple tannhjulComment=A lock key (e.g., Caps Lock or Num Lock) has changed its state and and is now activeComment=En låsetast (f.eks. «Caps Lock» eller «Num Lock») har fått endret statusen og er nå tatt i bruk0
-Name[nds]=Dreefache Tahnrööd
-Name[ne]=तेस्रो गियर
-Name[nl]=Drievoudige tandwielen
-Name[nn]=Triple tannhjul
-Name[pa]=ਤੀਹਰੇ ਗੇਅਰ
-Name[pl]=Potrójne koła zębate
-Name[pt]=Engrenagens Triplas
-Name[pt_BR]=Gears Triplo
-Name[ro]=Trei rotițe
-Name[ru]=Тройные шестерёнки
-Name[rw]=Ibiziga-menyo Bitatu
-Name[sk]=Trojnásobná rýchlosť
-Name[sl]=Trojni zobnik
-Name[sr]=Троструки зупчаници
-Name[sr@Latn]=Trostruki zupčanici
-Name[sv]=Tredubbla kugghjul
-Name[ta]=மூன்று கியர்கள்
-Name[te]=మూడు గేర్లు
-Name[tg]=Механизми сегона
-Name[tr]=Üçlü Çarklar
-Name[tt]=Öçle Yoldızlar
-Name[uk]=Потрійні шестерні
-Name[vi]=Ba Bánh răng
-Name[zh_CN]=三向齿轮
-ImageType=pixmap
-Author=Jörg Gastner
diff --git a/r14-xdg-update b/r14-xdg-update
index 7e00c2f12..1195240d4 100644
--- a/r14-xdg-update
+++ b/r14-xdg-update
@@ -3,7 +3,7 @@
# A script to perform R14.0.0 XDG compliance updates.
SCRIPT_NAME="`basename \`readlink -f $0\``"
-SCRIPT_VERSION=201403020
+SCRIPT_VERSION=201407050
# This script should be needed to run only once, but corner cases
# and file/directory permissions could cause incomplete updates.
@@ -379,14 +379,13 @@ if [ "$R14_VERSION" -lt "201309150" ]; then
fi
# Preserve kicker/panel icons.
-if [ "$R14_VERSION" -lt "201309150" ]; then
+if [ "$R14_VERSION" -lt "201407050" ]; then
if [ -r $PROFILE_DIR/share/config/kickerrc ]; then
Log "Updating kicker/panel customizations in kickerrc."
- if [ -r "$PROFILE_DIR/share/config/kickerrc" ]; then
- sed -i 's|StorageId\[\$e\]=kde-|StorageId\[\$e\]=tde-|g' "$PROFILE_DIR/share/config/kickerrc" 2>/dev/null
- else
- Log "kickerrc does not exist."
- fi
+ sed -i 's|StorageId\[\$e\]=kde-|StorageId\[\$e\]=tde-|g' "$PROFILE_DIR/share/config/kickerrc" 2>/dev/null
+ sed -i '/^\(Favorites\|FirstSeenApps\)/s|\([=,]\)kde-|\1tde-|g' "$PROFILE_DIR/share/config/kickerrc" 2>/dev/null
+ else
+ Log "kickerrc does not exist."
fi
fi
if [ "$R14_VERSION" -lt "201309150" ]; then
diff --git a/starttde b/starttde
index 269d4ffa5..b1f6505da 100644..100755
--- a/starttde
+++ b/starttde
@@ -27,6 +27,19 @@ is_in_path() {
return 1
}
+# Usage: is_before_in_path ENV_VAR var before_var
+# Return 0 if 'var' is before 'before_var' in 'ENV_VAR', 1 otherwise
+is_before_in_path() {
+ [ $# -ge 3 ] || return 1
+ var="$1"; search="$2"; before="$3"
+ ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
+ for i in $*; do
+ [ "${i}" = "${search}" ] && return 0
+ [ "${i}" = "${before}" ] && return 1
+ done
+ return 1
+}
+
# Usage: place_before_in_path PATH /opt/trinity/games /usr/games
place_before_in_path() {
var="$1"; insert="$2";
@@ -81,7 +94,7 @@ unset BIN_DIR
# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.
-trap '[starttde] echo GOT SIGHUP' HUP
+trap 'echo "[starttde] GOT SIGHUP"' HUP
# Check if a TDE session is already running.
if kcheckrunning >/dev/null 2>&1; then
@@ -251,14 +264,30 @@ fi
# set in $TDEDIRS are intended to override data files found in $TDEDIR. Those additional
# directories should be placed before $TDEDIR and before /usr/share.
if [ "$TDEDIR" != "/usr" ] && [ -d $TDEDIR/share ]; then
- # If '/usr/share' is not already here, we include it at the last position.
+ # If '/usr/share' is not already there, we include it at the last position.
if ! is_in_path XDG_DATA_DIRS "/usr/share"; then
- XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
+ if [ "$XDG_DATA_DIRS" = "" ]; then
+ XDG_DATA_DIRS=/usr/share # In case XDG_DATA_DIRS is empty, to avoid a leading :
+ else
+ XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
+ fi
+ fi
+ # If '/usr/local/share' is not already there, we include it before '/usr/share'
+ if ! is_in_path XDG_DATA_DIRS "/usr/local/share"; then
+ place_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"
+ fi
+
+ # Ensure that $TDEDIR/share is always before '/usr/local/share' and '/usr/share'.
+ if ! is_in_path XDG_DATA_DIRS "$TDEDIR/share" ||
+ is_before_in_path XDG_DATA_DIRS "/usr/local/share" "$TDEDIR/share" ||
+ is_before_in_path XDG_DATA_DIRS "/usr/share" "$TDEDIR/share"; then
+ remove_from_path XDG_DATA_DIRS "$TDEDIR/share"
+ if is_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"; then
+ place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/local/share"
+ else
+ place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/share"
+ fi
fi
-
- # Ensure that $TDEDIR/share is always before '/usr/share'.
- remove_from_path XDG_DATA_DIRS $TDEDIR/share
- place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/share"
# Adds supplementary directories from TDEDIRS, if any, before TDEDIR.
if [ "$TDEDIRS" != "" ]; then
@@ -336,10 +365,10 @@ fi
# Make sure a default wallpaper is set.
if [ ! -e "$tdehome/share/config/kdesktoprc" ]; then
# With Trinity this file should exist, but test first.
- if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then
+ if [ -r $TDEDIR/share/wallpapers/Trinity-lineart.svg.desktop ]; then
cat >"$tdehome/share/config/kdesktoprc" <<EOF
[Desktop0]
-Wallpaper=isadora.png
+Wallpaper=Trinity-lineart.svg
WallpaperMode=Scaled
EOF
fi
diff --git a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
index deaaf08e7..a79f0522e 100644
--- a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
+++ b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
@@ -152,7 +152,13 @@ void TDEBackend::AddDevice(TDEStorageDevice * sdevice, bool allowNotification)
&& !(sdevice->isDiskOfType(TDEDiskDeviceType::CDAudio))
&& !(sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank))
) {
- //
+ //
+ }
+ /* We also don't display devices that underlie other devices;
+ /* e.g. the raw partition of a device mapper volume
+ */
+ else if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::UsedByDevice)) {
+ //
}
else {
// Create medium
@@ -168,7 +174,7 @@ void TDEBackend::AddDevice(TDEStorageDevice * sdevice, bool allowNotification)
medium->setHidden(false);
}
}
-
+
// Insert medium into list
m_mediaList.addMedium(medium, allowNotification);
@@ -211,7 +217,7 @@ void TDEBackend::AddDevice(TDEStorageDevice * sdevice, bool allowNotification)
// Create medium
Medium* medium = new Medium(sdevice->uniqueID(), driveUDIFromDeviceUID(sdevice->uniqueID()), "");
setVolumeProperties(medium);
-
+
// Insert medium into list
m_mediaList.addMedium(medium, allowNotification);
@@ -240,7 +246,7 @@ void TDEBackend::AddDevice(TDEStorageDevice * sdevice, bool allowNotification)
&& !(sdevice->isDiskOfType(TDEDiskDeviceType::Floppy))
&& !(sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank))
) {
- //
+ //
}
else {
// Create medium
@@ -386,7 +392,7 @@ void TDEBackend::ResetProperties(TDEStorageDevice * sdevice, bool allowNotificat
&& !(sdevice->isDiskOfType(TDEDiskDeviceType::Floppy))
&& !(sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank))
) {
- //
+ //
}
else {
// Do not list the LUKS backend device if it has been unlocked elsewhere
@@ -536,7 +542,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
diskLabel = i18n("Blank Mount Ranier CD-RW-W");
}
}
-
+
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDROM)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
@@ -545,7 +551,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
diskLabel = i18n("Blank DVD-ROM");
}
}
-
+
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDRAM)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
@@ -558,7 +564,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDR)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank DVD-R");
}
@@ -567,7 +573,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDRW)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank DVD-RW");
}
@@ -576,7 +582,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDRDL)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank Dual Layer DVD-R");
}
@@ -585,7 +591,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDRWDL)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank Dual Layer DVD-RW");
}
@@ -594,7 +600,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDPLUSR)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank DVD+R");
}
@@ -603,7 +609,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDPLUSRW)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank DVD+RW");
}
@@ -612,7 +618,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDPLUSRDL)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank Dual Layer DVD+R");
}
@@ -621,7 +627,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::DVDPLUSRWDL)) {
mimeType = "media/dvd" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankdvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankdvd";
medium->unmountableState("");
diskLabel = i18n("Blank Dual Layer DVD+RW");
}
@@ -630,7 +636,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::BDROM)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankbd" + MOUNT_SUFFIX;
+ mimeType = "media/blankbd";
medium->unmountableState("");
diskLabel = i18n("Blank BD-ROM");
}
@@ -639,7 +645,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::BDR)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankbd" + MOUNT_SUFFIX;
+ mimeType = "media/blankbd";
medium->unmountableState("");
diskLabel = i18n("Blank BD-R");
}
@@ -648,7 +654,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::BDRW)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankbd" + MOUNT_SUFFIX;
+ mimeType = "media/blankbd";
medium->unmountableState("");
diskLabel = i18n("Blank BD-RW");
}
@@ -657,7 +663,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::HDDVDROM)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankhddvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankhddvd";
medium->unmountableState("");
diskLabel = i18n("Blank HDDVD-ROM");
}
@@ -666,7 +672,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::HDDVDR)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankhddvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankhddvd";
medium->unmountableState("");
diskLabel = i18n("Blank HDDVD-R");
}
@@ -675,12 +681,12 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::HDDVDRW)) {
mimeType = "media/bluray" + MOUNT_SUFFIX;
if (sdevice->checkDiskStatus(TDEDiskDeviceStatus::Blank)) {
- mimeType = "media/blankhddvd" + MOUNT_SUFFIX;
+ mimeType = "media/blankhddvd";
medium->unmountableState("");
diskLabel = i18n("Blank HDDVD-RW");
}
}
-
+
if (sdevice->isDiskOfType(TDEDiskDeviceType::CDAudio)) {
mimeType = "media/audiocd";
medium->unmountableState("audiocd:/?device=" + sdevice->deviceNode());
@@ -696,7 +702,7 @@ void TDEBackend::setVolumeProperties(Medium* medium)
if (sdevice->isDiskOfType(TDEDiskDeviceType::BDVideo)) {
mimeType = "media/bdvideo";
}
-
+
medium->setIconName(TQString::null);
}
else {
@@ -784,7 +790,7 @@ bool TDEBackend::setFloppyProperties(Medium* medium)
else {
medium->setEncrypted(false);
}
-
+
// USAGE: mountableState(Device node, Mount point, Filesystem type, Mounted ?)
medium->mountableState(sdevice->deviceNode(), sdevice->mountPath(), sdevice->fileSystemName(), !sdevice->mountPath().isNull());
}
@@ -819,11 +825,11 @@ bool TDEBackend::setFloppyProperties(Medium* medium)
}
medium->setLabel(diskLabel);
}
-
+
/** @todo Mimetype for JAZ drives ? */
-
+
medium->setIconName(TQString::null);
-
+
return true;
}
@@ -867,7 +873,7 @@ void TDEBackend::setFloppyMountState( Medium *medium )
KMountPoint::List mtab = KMountPoint::currentMountPoints();
KMountPoint::List::iterator it = mtab.begin();
KMountPoint::List::iterator end = mtab.end();
-
+
TQString fstype;
TQString mountpoint;
for (; it!=end; ++it) {
@@ -1104,36 +1110,36 @@ bool TDEBackend::setMountoptions(const TQString &name, const TQStringList &optio
TQString drive_udi = driveUDIFromDeviceUID(medium->id());
kdDebug(1219) << "setMountoptions " << name << " " << options << endl;
-
+
TDEConfig config("mediamanagerrc");
config.setGroup(drive_udi);
-
+
TQMap<TQString,TQString> valids = MediaManagerUtils::splitOptions(options);
-
+
const char *names[] = { "use_defaults", "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", 0 };
for (int index = 0; names[index]; ++index) {
if (valids.contains(names[index])) {
config.writeEntry(names[index], valids[names[index]] == "true");
}
}
-
+
if (valids.contains("shortname")) {
config.writeEntry("shortname", valids["shortname"]);
}
-
+
if (valids.contains("journaling")) {
config.writeEntry("journaling", valids["journaling"]);
}
-
+
if (!mountoptions(name).contains(TQString("mountpoint=%1").arg(valids["mountpoint"]))) {
config.writeEntry("mountpoint", valids["mountpoint"]);
}
-
+
if (valids.contains("automount")) {
config.setGroup(drive_udi);
config.writeEntry("automount", valids["automount"]);
}
-
+
return true;
}
@@ -1152,14 +1158,14 @@ TQString TDEBackend::mount(const Medium *medium)
if (medium->isMounted()) {
return TQString(); // that was easy
}
-
+
TQString mountPoint = isInFstab(medium);
if (!mountPoint.isNull())
{
struct mount_job_data data;
data.completed = false;
data.medium = medium;
-
+
TDEIO::Job *job = TDEIO::mount( false, 0, medium->deviceNode(), mountPoint );
connect(job, TQT_SIGNAL( result (TDEIO::Job *)), TQT_SLOT( slotResult( TDEIO::Job *)));
mount_jobs[job] = &data;
@@ -1170,7 +1176,7 @@ TQString TDEBackend::mount(const Medium *medium)
}
// Return the error message (if any) to the caller
return (data.error) ? data.errorMessage : TQString::null;
-
+
}
TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices();
@@ -1181,9 +1187,9 @@ TQString TDEBackend::mount(const Medium *medium)
}
TQString diskLabel;
-
+
TQMap<TQString,TQString> valids = MediaManagerUtils::splitOptions(mountoptions(medium->id()));
-
+
TQString mount_point = valids["mountpoint"];
if (mount_point.startsWith("/media/")) {
diskLabel = mount_point.mid(7);
@@ -1196,7 +1202,7 @@ TQString TDEBackend::mount(const Medium *medium)
diskLabel = medium->label() + " (" + node + ")";
diskLabel.replace("/", "_");
}
-
+
TQString qerror = i18n("Cannot mount encrypted drives!");
if (!medium->isEncrypted()) {
@@ -1228,7 +1234,7 @@ TQString TDEBackend::mount(const Medium *medium)
m_decryptDialog = new Dialog(sdevice->deviceNode(), iconName);
m_decryptDialog->show();
-
+
connect(m_decryptDialog, TQT_SIGNAL (user1Clicked()), this, TQT_SLOT (slotPasswordReady()));
connect(m_decryptDialog, TQT_SIGNAL (cancelClicked()), this, TQT_SLOT (slotPasswordCancel()));
connect(this, TQT_SIGNAL (signalDecryptionPasswordError(TQString)), m_decryptDialog, TQT_SLOT (slotDialogError(TQString)));
@@ -1316,18 +1322,18 @@ TQString TDEBackend::mount(const TQString &_udi)
if (!medium) {
return i18n("No such medium: %1").arg(_udi);
}
-
+
return mount(medium);
}
TQString TDEBackend::unmount(const TQString &_udi)
{
const Medium* medium = m_mediaList.findById(_udi);
-
+
if ( !medium ) {
return i18n("No such medium: %1").arg(_udi);
}
-
+
if (!medium->isMounted()) {
return TQString(); // that was easy
}
@@ -1338,7 +1344,7 @@ TQString TDEBackend::unmount(const TQString &_udi)
struct mount_job_data data;
data.completed = false;
data.medium = medium;
-
+
TDEIO::Job *job = TDEIO::unmount( medium->mountPoint(), false );
connect(job, TQT_SIGNAL( result (TDEIO::Job *)), TQT_SLOT( slotResult( TDEIO::Job *)));
mount_jobs[job] = &data;
@@ -1501,7 +1507,7 @@ TQString TDEBackend::listUsingProcesses(const Medium* medium)
while (!is.atEnd()) {
tmp = is.readLine();
tmp = TQStyleSheet::escape(tmp) + "\n";
-
+
proclist += tmp;
if (counter++ > 10) {
proclist += "...";
@@ -1542,7 +1548,7 @@ TQString TDEBackend::killUsingProcesses(const Medium* medium)
while (!is.atEnd()) {
tmp = is.readLine();
tmp = TQStyleSheet::escape(tmp) + "\n";
-
+
proclist += tmp;
if (counter++ > 10) {
proclist += "...";
diff --git a/tdeioslave/media/mimetypes/blankdvd.desktop b/tdeioslave/media/mimetypes/blankdvd.desktop
index f5f06c9bc..6aa21b144 100644
--- a/tdeioslave/media/mimetypes/blankdvd.desktop
+++ b/tdeioslave/media/mimetypes/blankdvd.desktop
@@ -69,5 +69,4 @@ Comment[vi]=DVD trống
Comment[wa]=Plake lazer DVD sins rén dzo
Comment[zh_CN]=空 DVD
Comment[zh_TW]=空白 DVD
-Icon=cdwriter_unmount
-
+Icon=dvd_unmount
diff --git a/tdeioslave/media/tdecmodule/managermodule.cpp b/tdeioslave/media/tdecmodule/managermodule.cpp
index 39ea8fe00..6478ee2a8 100644
--- a/tdeioslave/media/tdecmodule/managermodule.cpp
+++ b/tdeioslave/media/tdecmodule/managermodule.cpp
@@ -1,5 +1,5 @@
/* This file is part of the KDE Project
- Copyright (c) 2005 K�vin Ottens <ervin ipsquad net>
+ Copyright (c) 2005 Kévin Ottens <ervin ipsquad net>
Copyright (c) 2006 Valentine Sinitsyn <[email protected]>
This library is free software; you can redistribute it and/or
@@ -26,7 +26,8 @@
#include <dcopref.h>
#include <tqbutton.h>
#include <tqcheckbox.h>
-#include <tqcombobox.h>
+#include <kcombobox.h>
+#include <tqlayout.h>
#include <tqobjectlist.h>
#include <kdirnotify_stub.h>
@@ -36,7 +37,10 @@
ManagerModule::ManagerModule( TQWidget* parent, const char* name )
: TDECModule( parent, name )
{
+ TQBoxLayout *layout = new TQVBoxLayout( this, 0, KDialog::spacingHint() );
+
view = new ManagerModuleView( this );
+ layout->addWidget( view );
addConfig( MediaManagerSettings::self(), view );
diff --git a/tdeioslave/media/tdecmodule/managermoduleview.ui b/tdeioslave/media/tdecmodule/managermoduleview.ui
index e4a98d6ed..982da7d80 100644
--- a/tdeioslave/media/tdecmodule/managermoduleview.ui
+++ b/tdeioslave/media/tdecmodule/managermoduleview.ui
@@ -67,6 +67,14 @@
<property name="name">
<cstring>textLabel3</cstring>
</property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="text">
<string>Here you can specify default mount options for your storage media. Please note that some options are not supported for certain filesystems and/or medium. You will be able to redefine all these options on per-volume basis later, using Properties dialog of the corresponding volume.&lt;br&gt;
Some of the options are tristate. Leave them "undefined" to let TDE choose the best value depending on your media.</string>
diff --git a/tdepasswd/passwddlg.cpp b/tdepasswd/passwddlg.cpp
index 0406f75b2..b1d5d1a16 100644
--- a/tdepasswd/passwddlg.cpp
+++ b/tdepasswd/passwddlg.cpp
@@ -14,7 +14,7 @@
TDEpasswd1Dialog::TDEpasswd1Dialog()
- : KPasswordDialog(Password, false, 0)
+ : KPasswordDialog(Password, false, Help)
{
setCaption(i18n("Change Password"));
setPrompt(i18n("Please enter your current password:"));
@@ -79,7 +79,7 @@ int TDEpasswd1Dialog::getPassword(TQCString &password)
TDEpasswd2Dialog::TDEpasswd2Dialog(const char *oldpass, TQCString user)
- : KPasswordDialog(NewPassword, false, 0)
+ : KPasswordDialog(NewPassword, false, Help)
{
m_Pass = oldpass;
m_User = user;
diff --git a/tdm/README b/tdm/README
index dc46ccc70..30ea34cf9 100644
--- a/tdm/README
+++ b/tdm/README
@@ -72,7 +72,7 @@ TDM's config files are all located in ${tde_confdir}/tdm.
deriving it from an already present TDM/XDM installation or by using
defaults if no previous installation is found.
-You can change the configuration from the TDE Control Center. You will
+You can change the configuration from the Trinity Control Center. You will
find the "Login Manager" module in the "System Administration" group.
Have a look at README.pam in the tdebase top level directory if your
diff --git a/tdm/backend/client.c b/tdm/backend/client.c
index c9948ebf9..1dfd97849 100644
--- a/tdm/backend/client.c
+++ b/tdm/backend/client.c
@@ -386,6 +386,7 @@ doPAMAuth( const char *psrv, struct pam_data *pdata )
# ifdef PAM_FAIL_DELAY
pam_set_item( pamh, PAM_FAIL_DELAY, (void *)fail_delay );
# endif
+ pretc = pam_putenv( pamh, "XDG_SESSION_CLASS=greeter" );
ReInitErrorLog();
Debug( " pam_authenticate() ...\n" );
diff --git a/tdm/kfrontend/gentdmconf.c b/tdm/kfrontend/gentdmconf.c
index e81ff11bd..9a7bc1258 100644
--- a/tdm/kfrontend/gentdmconf.c
+++ b/tdm/kfrontend/gentdmconf.c
@@ -694,7 +694,7 @@ static const char def_background[] =
"Program=\n"
"ReverseBlending=false\n"
"UseSHM=false\n"
-"Wallpaper=isadora.png\n"
+"Wallpaper=Trinity-lineart.svg\n"
"WallpaperList=\n"
"WallpaperMode=Scaled\n";
diff --git a/tdm/kfrontend/krootimage.h b/tdm/kfrontend/krootimage.h
index b10480986..e002ce230 100644
--- a/tdm/kfrontend/krootimage.h
+++ b/tdm/kfrontend/krootimage.h
@@ -27,6 +27,7 @@ Boston, MA 02110-1301, USA.
#include <tqtimer.h>
#include <bgrender.h>
+#include <KCrossBGRender.h>
class MyApplication : public TDEApplication
diff --git a/tdm/kfrontend/themes/CMakeLists.txt b/tdm/kfrontend/themes/CMakeLists.txt
index f1dd26e15..3077ac7a7 100644
--- a/tdm/kfrontend/themes/CMakeLists.txt
+++ b/tdm/kfrontend/themes/CMakeLists.txt
@@ -10,4 +10,5 @@
#################################################
add_subdirectory( circles )
+add_subdirectory( minimalist )
add_subdirectory( o2_enterprise )
diff --git a/tdm/kfrontend/themes/Makefile.am b/tdm/kfrontend/themes/Makefile.am
index 7d13b5174..ea3483728 100644
--- a/tdm/kfrontend/themes/Makefile.am
+++ b/tdm/kfrontend/themes/Makefile.am
@@ -1 +1 @@
-SUBDIRS = circles o2_enterprise
+SUBDIRS = circles minimalist o2_enterprise
diff --git a/tdm/kfrontend/themes/minimalist/CMakeLists.txt b/tdm/kfrontend/themes/minimalist/CMakeLists.txt
new file mode 100644
index 000000000..c8760fa4e
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/CMakeLists.txt
@@ -0,0 +1,31 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+install(
+ FILES
+ background.png
+ box.png
+ caps-lock-warning.png
+ GdmGreeterTheme.desktop
+ lineedit.png
+ login_normal.png
+ login_prelight.png
+ minimalist.xml
+ screenshot.png
+ session_normal.png
+ session_prelight.png
+ system_normal.png
+ system_prelight.png
+ tdelogo.png
+ topline.png
+
+ DESTINATION
+ ${DATA_INSTALL_DIR}/tdm/themes/minimalist )
diff --git a/tdm/kfrontend/themes/minimalist/GdmGreeterTheme.desktop b/tdm/kfrontend/themes/minimalist/GdmGreeterTheme.desktop
new file mode 100644
index 000000000..03519634d
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/GdmGreeterTheme.desktop
@@ -0,0 +1,10 @@
+# This is not really a .desktop file like the rest, but it's useful to treat
+# it as such
+
+[GdmGreeterTheme]
+Encoding=UTF-8
+Greeter=minimalist.xml
+Name=Minimalist
+Description=A minimalist TDM theme for TDE, inspired by LightDM
+Author=TDE
+Screenshot=screenshot.png
diff --git a/tdm/kfrontend/themes/minimalist/Makefile.am b/tdm/kfrontend/themes/minimalist/Makefile.am
new file mode 100644
index 000000000..fb7a2d1a3
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/Makefile.am
@@ -0,0 +1,19 @@
+minimalistdir = $(kde_datadir)/tdm/themes/minimalist
+minimalist_DATA = \
+ background.png \
+ box.png \
+ caps-lock-warning.png \
+ GdmGreeterTheme.desktop \
+ lineedit.png \
+ login_normal.png \
+ login_prelight.png \
+ minimalist.xml \
+ screenshot.png \
+ session_normal.png \
+ session_prelight.png \
+ system_normal.png \
+ system_prelight.png \
+ tdelogo.png \
+ topline.png
+
+EXTRA_DIST = $(minimalist_DATA)
diff --git a/tdm/kfrontend/themes/minimalist/background.png b/tdm/kfrontend/themes/minimalist/background.png
new file mode 100644
index 000000000..8cc7a1a33
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/background.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/box.png b/tdm/kfrontend/themes/minimalist/box.png
new file mode 100644
index 000000000..7925e0985
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/box.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/caps-lock-warning.png b/tdm/kfrontend/themes/minimalist/caps-lock-warning.png
new file mode 100644
index 000000000..66370890d
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/caps-lock-warning.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/lineedit.png b/tdm/kfrontend/themes/minimalist/lineedit.png
new file mode 100644
index 000000000..6640a00a7
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/lineedit.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/login_normal.png b/tdm/kfrontend/themes/minimalist/login_normal.png
new file mode 100644
index 000000000..a652cad47
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/login_normal.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/login_prelight.png b/tdm/kfrontend/themes/minimalist/login_prelight.png
new file mode 100644
index 000000000..852b0fcc9
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/login_prelight.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/minimalist.xml b/tdm/kfrontend/themes/minimalist/minimalist.xml
new file mode 100644
index 000000000..f1dfada8f
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/minimalist.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE greeter SYSTEM "greeter.dtd">
+
+<greeter id="theme">
+ <style font="Sans 11" window-text-color="#f07746"
+ base-color="#f07746" alternate-base-color="#999999"
+ text-color="#dfdbd2" disabled-text-color="#666666"
+ base-alpha="0"
+ disabled-base-color="#df382c"
+ disabled-base-alpha="0"
+ disabled-highlight-alpha="0"
+ frame="false" />
+
+<!-- backgound image -->
+ <item type="pixmap" id="background" background="true">
+ <normal file="background.png" scalemode="crop"/>
+ <pos x="0" y="0" width="100%" height="100%"/>
+ </item>
+
+
+<!-- topline -->
+ <item type="pixmap">
+ <normal file="topline.png"/>
+ <pos anchor="nw" x="0" y="0" width="100%" height="26"/>
+ </item>
+
+<!-- box -->
+ <item type="pixmap">
+ <normal file="box.png"/>
+ <pos anchor="nw" x="120" y="200" width="340" height="160"/>
+ </item>
+
+<!-- user line -->
+ <item type="pixmap">
+ <pos anchor="nw" x="140" y="245" width="300" height="32"/>
+ <normal file="lineedit.png"/>
+ </item>
+
+<!-- user field -->
+ <item type="label">
+ <pos anchor="nw" x="145" y="225"/>
+ <normal font="Sans 11" color="#dfdbd2"/>
+ <stock type="username-label"/>
+ </item>
+
+
+ <item type="entry" id="user-entry">
+ <style font="Sans 10" text-color="#dfdbd2"/>
+ <pos anchor="nw" x="143" y="248" width="293" height="26"/>
+ </item>
+
+<!-- password line -->
+ <item type="pixmap">
+ <pos anchor="nw" x="140" y="305" width="300" height="32"/>
+ <normal file="lineedit.png"/>
+ </item>
+
+
+<!-- password field -->
+
+ <item type="label">
+ <pos anchor="nw" x="145" y="285"/>
+ <normal font="Sans 11" color="#dfdbd2"/>
+ <stock type="password-label"/>
+ </item>
+
+ <item type="entry" id="pw-entry">
+ <style font="Sans 10" text-color="#dfdbd2"/>
+ <pos anchor="nw" x="143" y="308" width="267" height="26"/>
+ </item>
+
+<!-- login button -->
+ <item type="pixmap" id="login_button" button="true">
+ <normal alpha="1" file="login_normal.png"/>
+ <prelight file="login_prelight.png"/>
+ <active file="login_prelight.png"/>
+ <pos anchor="nw" x="410" y="308"/>
+ </item>
+
+
+<!-- Session button -->
+ <item type="pixmap" id="session_button" button="true">
+ <normal alpha="1" file="session_normal.png"/>
+ <prelight file="session_prelight.png"/>
+ <active file="session_prelight.png"/>
+ <pos anchor="nw" x="422" y="215"/>
+ </item>
+
+
+ <!-- logo -->
+ <item type="pixmap">
+ <normal file="tdelogo.png"/>
+ <pos anchor="ns" x="95%" y="95%" width="48" height="48"/>
+ </item>
+
+<!-- Clock -->
+ <item type="rect" id="system-session">
+ <pos anchor="ne" x="100%" y="0"/>
+ <fixed>
+ <item type="label">
+ <pos anchor="ne" x="-32" y="5"/>
+ <normal font="Sans 10" color="#dfdbd2"/>
+ <text>%c</text>
+ </item>
+ </fixed>
+ </item>
+
+<!-- Welcome Label -->
+ <item type="label" id="welcome">
+ <pos anchor="nw" x="6" y="4" width="50%" height="26"/>
+ <normal font="Sans 12" color="#dfdbd2"/>
+ <text>%h</text>
+ </item>
+
+<!-- System button -->
+ <item type="pixmap" id="system_button" button="true">
+ <show modes="console" type="system"/>
+ <normal alpha="1" file="system_normal.png"/>
+ <prelight file="system_prelight.png"/>
+ <active file="system_prelight.png"/>
+ <pos anchor="ne" x="100%" y="0"/>
+ </item>
+
+<!-- caps lock and pam warning -->
+ <item type="label" id="pam-error" >
+ <pos x="50%" y="20%" anchor="nw" />
+ <normal color="#CD0000" font="Sans Serif 12" />
+ <text/>
+ </item>
+ <item type="label" id="caps-lock-warning" >
+ <normal color="#CD0000" font="Sans Serif 12" />
+ <pos x="50%" y="20%" anchor="nw" />
+ <stock type="caps-lock-warning" />
+ </item>
+
+</greeter>
diff --git a/tdm/kfrontend/themes/minimalist/screenshot.png b/tdm/kfrontend/themes/minimalist/screenshot.png
new file mode 100644
index 000000000..73da3a8ac
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/screenshot.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/session_normal.png b/tdm/kfrontend/themes/minimalist/session_normal.png
new file mode 100644
index 000000000..f9a961922
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/session_normal.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/session_prelight.png b/tdm/kfrontend/themes/minimalist/session_prelight.png
new file mode 100644
index 000000000..55166ced0
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/session_prelight.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/system_normal.png b/tdm/kfrontend/themes/minimalist/system_normal.png
new file mode 100644
index 000000000..ecddb542b
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/system_normal.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/system_prelight.png b/tdm/kfrontend/themes/minimalist/system_prelight.png
new file mode 100644
index 000000000..b6495eabd
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/system_prelight.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/tdelogo.png b/tdm/kfrontend/themes/minimalist/tdelogo.png
new file mode 100644
index 000000000..e28243535
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/tdelogo.png
Binary files differ
diff --git a/tdm/kfrontend/themes/minimalist/topline.png b/tdm/kfrontend/themes/minimalist/topline.png
new file mode 100644
index 000000000..063d72da6
--- /dev/null
+++ b/tdm/kfrontend/themes/minimalist/topline.png
Binary files differ
diff --git a/twin/compton-tde/CMakeLists.txt b/twin/compton-tde/CMakeLists.txt
index 7d4f9ace4..ebaf38f33 100644
--- a/twin/compton-tde/CMakeLists.txt
+++ b/twin/compton-tde/CMakeLists.txt
@@ -12,65 +12,85 @@
if( NOT WITH_XRENDER )
tde_message_fatal( "xrender support is needed to build compton-tde.\n Pass -DWITH_XRENDER=ON to cmake arguments." )
-elseif( NOT WITH_XRANDR )
- tde_message_fatal( "xrandr support is needed to build compton-tde.\n Pass -DWITH_XRANDR=ON to cmake arguments." )
elseif( NOT WITH_XFIXES )
tde_message_fatal( "xfixes support is needed to build compton-tde.\n Pass -DWITH_XFIXES=ON to cmake arguments." )
-elseif( NOT WITH_XDAMAGE )
- tde_message_fatal( "xdamage support is needed to build compton-tde.\n Pass -DWITH_XDAMAGE=ON to cmake arguments." )
-elseif( NOT WITH_XEXT )
- tde_message_fatal( "xext support is needed to build compton-tde.\n Pass -DWITH_XEXT=ON to cmake arguments." )
-elseif( NOT WITH_XINERAMA )
- tde_message_fatal( "xinerama support is needed to build compton-tde.\n Pass -DWITH_XINERAMA=ON to cmake arguments." )
-elseif( NOT WITH_LIBCONFIG )
- tde_message_fatal( "libconfig support is needed to build compton-tde.\n Pass -DWITH_LIBCONFIG=ON to cmake arguments." )
endif( )
-
include_directories(
${CMAKE_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${DBUS_INCLUDE_DIRS}
)
##### compton-tde (executable) ###################
-add_definitions("-Wall" "-std=c99")
+# TDE to compton config option map
+# WITH_XINNERAMA -> CONFIG_XINERAMA
+# WITH_XRANDR -> CONFIG_XANDR
+# HAVE_XEXT_XSYNCFENCE -> CONFIG_XSYNC
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_GLSL
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_FBO
+# WITH_PCRE -> CONFIG_REGEX_PCRE
+# WITH_PCRE -> CONFIG_REGEX_PCRE_JIT
+# WITH_LIBCONFIG -> CONFIG_LIBCONFIG
+#
+# HAVE_LIBCONFIG_OLD_API -> CONFIG_LIBCONFIG_LEGACY (set up in compton_config.h)
+# CONFIG_XSYNC -> CONFIG_GLX_SYNC
+#
+# CONFIG_DBUS - always ON
+# CONFIG_C2 - always ON
+
+# TODO: think about some configuration option for CONFIG_VSYNC_DRM
+# NOTE: HAVE__XEXT_XSYNCFENCE is an automatically detected feature that shows
+# that libXext provides coresponding feature.
+
+add_definitions("-std=c99")
+
+set( compton_SRCS compton.c )
-option(CONFIG_LIBCONFIG "Enable configuration file parsing using libconfig" ON)
-if (CONFIG_LIBCONFIG)
- add_definitions("-DCONFIG_LIBCONFIG")
-endif ()
+set( CONFIG_XSYNC ${HAVE_XEXT_XSYNCFENCE} )
-option(CONFIG_VSYNC_DRM "Enable DRM VSync support" ON)
-if (CONFIG_VSYNC_DRM)
- add_definitions("-DCONFIG_LIBCONFIG")
-endif ()
+if( WITH_OPENGL )
+ set( CONFIG_VSYNC_OPENGL ${WITH_OPENGL} )
+ set( CONFIG_VSYNC_OPENGL_GLSL ${WITH_OPENGL} )
+ set( CONFIG_VSYNC_OPENGL_FBO ${WITH_OPENGL} )
+ set( CONFIG_GLX_SYNC ${CONFIG_XSYNC} )
+ list( APPEND compton_LIBRARIES ${GL_LIBRARIES})
+ list( APPEND compton_SRCS opengl.c )
+endif( )
+
+if( WITH_LIBCONFIG )
+ set( CONFIG_LIBCONFIG ${WITH_LIBCONFIG} )
+ list( APPEND compton_LIBRARIES ${LIBCONFIG_LIBRARIES} )
+endif( )
+
+if( WITH_XINERAMA )
+ set( CONFIG_XINERAMA ${WITH_XINERAMA} )
+ list( APPEND compton_LIBRARIES ${XINERAMA_LIBRARIES} )
+endif( )
+
+if( WITH_XRANDR )
+ set( CONFIG_XRANDR ${WITH_XRANDR} )
+ list( APPEND compton_LIBRARIES ${XRANDR_LIBRARIES} )
+endif( )
-option(CONFIG_VSYNC_OPENGL "Enable OpenGL support" ON)
-if (CONFIG_VSYNC_OPENGL)
- add_definitions("-DCONFIG_VSYNC_OPENGL")
- list(APPEND compton_SRCS src/opengl.c)
-endif ()
+if( WITH_PCRE )
+ set( CONFIG_REGEX_PCRE ${WITH_PCRE} )
+ set( CONFIG_REGEX_PCRE_JIT ${WITH_PCRE} )
+ list( APPEND compton_LIBRARIES ${LIBPCRE_LIBRARIES} )
+endif( )
-option(CONFIG_XINERAMA "Enable additional Xinerama features" ON)
-if (CONFIG_XINERAMA)
- add_definitions("-DCONFIG_XINERAMA")
-endif ()
+configure_file( compton_config.h.cmake compton_config.h )
-option(CONFIG_C2 "Enable matching system" ON)
-if (CONFIG_C2)
- add_definitions("-DCONFIG_C2")
- list(APPEND compton_SRCS src/c2.c)
-endif ()
+# permanently turn on some optional features: dbus c2
+list( APPEND compton_SRCS dbus.c c2.c )
+list( APPEND compton_LIBRARIES ${DBUS_LIBRARIES} )
tde_add_executable( compton-tde
- SOURCES c2.c compton.c opengl.c
- LINK m GL Xinerama ${LIBCONFIG_LIBRARIES} ${XRENDER_LIBRARIES} ${XRANDR_LIBRARIES} ${XFIXES_LIBRARIES} ${XDAMAGE_LIBRARIES} ${XEXT_LIBRARIES} ${XCOMPOSITE_LIBRARIES}
+ SOURCES ${compton_SRCS}
+ LINK m ${compton_LIBRARIES} ${XRENDER_LIBRARIES} ${XFIXES_LIBRARIES}
+ ${XDAMAGE_LIBRARIES} ${XEXT_LIBRARIES} ${XCOMPOSITE_LIBRARIES}
DESTINATION ${BIN_INSTALL_DIR}
)
diff --git a/twin/compton-tde/common.h b/twin/compton-tde/common.h
index 5c6392f51..8a7bae6d5 100644
--- a/twin/compton-tde/common.h
+++ b/twin/compton-tde/common.h
@@ -12,7 +12,7 @@
#ifndef COMPTON_COMMON_H
#define COMPTON_COMMON_H
-#include "config.h"
+#include "compton_config.h"
// === Options ===
@@ -61,7 +61,7 @@
// Whether to enable X Sync support.
// #define CONFIG_XSYNC 1
// Whether to enable GLX Sync support.
-// #define CONFIG_GLX_XSYNC 1
+// #define CONFIG_GLX_SYNC 1
// TDE specific options
// #define USE_ENV_HOME 1
@@ -106,12 +106,15 @@
#include <X11/extensions/Xdamage.h>
#include <X11/extensions/Xrender.h>
#include <X11/extensions/shape.h>
-#include <X11/extensions/Xrandr.h>
#include <X11/extensions/Xdbe.h>
#ifdef CONFIG_XSYNC
#include <X11/extensions/sync.h>
#endif
+#ifdef CONFIG_XRANDR
+#include <X11/extensions/Xrandr.h>
+#endif
+
#ifdef CONFIG_XINERAMA
#include <X11/extensions/Xinerama.h>
#endif
@@ -921,12 +924,14 @@ typedef struct _session_t {
int shape_event;
/// Error base number for X Shape extension.
int shape_error;
+#ifdef CONFIG_XRANDR
/// Whether X RandR extension exists.
bool randr_exists;
/// Event base number for X RandR extension.
int randr_event;
/// Error base number for X RandR extension.
int randr_error;
+#endif // CONFIG_XRANDR
#ifdef CONFIG_VSYNC_OPENGL
/// Whether X GLX extension exists.
bool glx_exists;
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c
index 123703a19..2c467e2c4 100644
--- a/twin/compton-tde/compton.c
+++ b/twin/compton-tde/compton.c
@@ -4543,6 +4543,7 @@ ev_shape_notify(session_t *ps, XShapeEvent *ev) {
update_reg_ignore_expire(ps, w);
}
+#ifdef CONFIG_XRANDR
/**
* Handle ScreenChangeNotify events from X RandR extension.
*/
@@ -4561,6 +4562,7 @@ ev_screen_change_notify(session_t *ps,
}
}
}
+#endif // CONFIG_XRANDR
#if defined(DEBUG_EVENTS) || defined(DEBUG_RESTACK)
/**
@@ -4659,10 +4661,12 @@ ev_handle(session_t *ps, XEvent *ev) {
ev_shape_notify(ps, (XShapeEvent *) ev);
break;
}
+#ifdef CONFIG_XRANDR
if (ps->randr_exists && ev->type == (ps->randr_event + RRScreenChangeNotify)) {
ev_screen_change_notify(ps, (XRRScreenChangeNotifyEvent *) ev);
break;
}
+#endif // CONFIG_XRANDR
if (isdamagenotify(ps, ev)) {
ev_damage_notify(ps, (XDamageNotifyEvent *) ev);
break;
@@ -4762,9 +4766,14 @@ usage(int ret) {
" Detect _NET_WM_OPACITY on client windows, useful for window\n"
" managers not passing _NET_WM_OPACITY of client windows to frame\n"
" windows.\n"
+#ifndef CONFIG_XRANDR
+#define WARNING " (AUTODETECTION DISABLED AT COMPILE TIME)"
+#else
+#define WARNING
+#endif
"--refresh-rate val\n"
" Specify refresh rate of the screen. If not specified or 0, compton\n"
- " will try detecting this with X RandR extension.\n"
+ " will try detecting this with X RandR extension."WARNING"\n"
"--vsync vsync-method\n"
" Set VSync method. There are up to 4 VSync methods currently available.\n"
" none = No VSync\n"
@@ -6259,6 +6268,7 @@ init_atoms(session_t *ps) {
ps->atom_win_type_tde_transparent_to_desktop = get_atom(ps, "_TDE_TRANSPARENT_TO_DESKTOP");
}
+#ifdef CONFIG_XRANDR
/**
* Update refresh rate info with X Randr extension.
*/
@@ -6277,6 +6287,7 @@ update_refresh_rate(session_t *ps) {
else
ps->refresh_intv = 0;
}
+#endif // CONFIG_XRANDR
/**
* Initialize refresh-rated based software optimization.
@@ -6291,10 +6302,12 @@ swopti_init(session_t *ps) {
if (ps->refresh_rate)
ps->refresh_intv = US_PER_SEC / ps->refresh_rate;
+#ifdef CONFIG_XRANDR
// Auto-detect refresh rate otherwise
if (!ps->refresh_rate && ps->randr_exists) {
update_refresh_rate(ps);
}
+#endif // CONFIG_XRANDR
// Turn off vsync_sw if we can't get the refresh rate
if (!ps->refresh_rate)
@@ -7196,9 +7209,11 @@ session_init(session_t *ps_old, int argc, char **argv) {
.shape_exists = false,
.shape_event = 0,
.shape_error = 0,
+#ifdef CONFIG_XRANDR
.randr_exists = 0,
.randr_event = 0,
.randr_error = 0,
+#endif // CONFIG_XRANDR
#ifdef CONFIG_VSYNC_OPENGL
.glx_exists = false,
.glx_event = 0,
@@ -7371,11 +7386,15 @@ session_init(session_t *ps_old, int argc, char **argv) {
// Query X RandR
if ((ps->o.sw_opti && !ps->o.refresh_rate) || ps->o.xinerama_shadow_crop) {
- if (XRRQueryExtension(ps->dpy, &ps->randr_event, &ps->randr_error))
- ps->randr_exists = true;
- else
- printf_errf("(): No XRandR extension, automatic screen change "
- "detection impossible.");
+#ifdef CONFIG_XRANDR
+ if (XRRQueryExtension(ps->dpy, &ps->randr_event, &ps->randr_error))
+ ps->randr_exists = true;
+ else
+ printf_errf("(): No XRandR extension, automatic screen change "
+ "detection impossible.");
+#else // CONFIG_XRANDR
+ printf_errf("(): Xrandr support not compiled in.");
+#endif // CONFIG_XRANDR
}
// Query X DBE extension
@@ -7435,11 +7454,21 @@ session_init(session_t *ps_old, int argc, char **argv) {
if (ps->o.sw_opti)
ps->o.sw_opti = swopti_init(ps);
+#ifdef CONFIG_XRANDR
// Monitor screen changes if vsync_sw is enabled and we are using
// an auto-detected refresh rate, or when Xinerama features are enabled
if (ps->randr_exists && ((ps->o.sw_opti && !ps->o.refresh_rate)
- || ps->o.xinerama_shadow_crop))
- XRRSelectInput(ps->dpy, ps->root, RRScreenChangeNotifyMask);
+ || ps->o.xinerama_shadow_crop))
+ XRRSelectInput(ps->dpy, ps->root, RRScreenChangeNotifyMask);
+#else
+ if( (ps->o.sw_opti && !ps->o.refresh_rate) ) {
+ printf_errf("(): Xrandr support not compiled in. Plese specify --refrash-rate manually");
+ }
+ if (ps->o.xinerama_shadow_crop) {
+ printf_errf("(): due to Xrandr support not compiled in."
+ " Xinerama features may malfunction on changing screen size.");
+ }
+#endif // CONFIG_XRANDR
// Initialize VSync
if (!vsync_init(ps))
diff --git a/twin/compton-tde/compton_config.h.cmake b/twin/compton-tde/compton_config.h.cmake
new file mode 100644
index 000000000..bf3f22543
--- /dev/null
+++ b/twin/compton-tde/compton_config.h.cmake
@@ -0,0 +1,38 @@
+#include "config.h"
+
+// Whether to enable PCRE regular expression support in blacklists, enabled
+// by default
+#cmakedefine CONFIG_REGEX_PCRE 1
+// Whether to enable JIT support of libpcre. This may cause problems on PaX
+// kernels.
+#cmakedefine CONFIG_REGEX_PCRE_JIT 1
+
+// Whether to enable parsing of configuration files using libconfig.
+#cmakedefine CONFIG_LIBCONFIG 1
+// Whether we are using a legacy version of libconfig (1.3.x).
+#cmakedefine CONFIG_LIBCONFIG_LEGACY 1
+
+// Whether to enable DRM VSync support
+#cmakedefine CONFIG_VSYNC_DRM 1
+
+// Whether to enable DBus support with libdbus.
+#define CONFIG_DBUS 1
+// Whether to enable condition support.
+#define CONFIG_C2 1
+
+// Whether to enable X Sync support.
+#cmakedefine CONFIG_XSYNC 1
+
+// Whether to enable OpenGL support
+#cmakedefine CONFIG_VSYNC_OPENGL 1
+// Whether to enable GLX GLSL support
+#cmakedefine CONFIG_VSYNC_OPENGL_GLSL 1
+// Whether to enable GLX FBO support
+#cmakedefine CONFIG_VSYNC_OPENGL_FBO 1
+// Whether to enable GLX Sync support.
+#cmakedefine CONFIG_GLX_SYNC 1
+
+// Whether to enable Xranr support
+#cmakedefine CONFIG_XRANDR 1
+// Whether to enable Xinerama support
+#cmakedefine CONFIG_XINERAMA 1
diff --git a/twin/kompmgr/CMakeLists.txt b/twin/kompmgr/CMakeLists.txt
index 0cc2e5616..e2eb0c186 100644
--- a/twin/kompmgr/CMakeLists.txt
+++ b/twin/kompmgr/CMakeLists.txt
@@ -14,10 +14,6 @@ if( NOT WITH_XRENDER )
tde_message_fatal( "xrender support is needed to build kompmgr.\n Pass -DWITH_XRENDER=ON to cmake arguments." )
elseif( NOT WITH_XFIXES )
tde_message_fatal( "xfixes support is needed to build kompmgr.\n Pass -DWITH_XFIXES=ON to cmake arguments." )
-elseif( NOT WITH_XDAMAGE )
- tde_message_fatal( "xdamage support is needed to build kompmgr.\n Pass -DWITH_XDAMAGE=ON to cmake arguments." )
-elseif( NOT WITH_XEXT )
- tde_message_fatal( "xext support is needed to build kompmgr.\n Pass -DWITH_XEXT=ON to cmake arguments." )
endif( )