Tim,
For R14, the kmenu entries for each of the apps should have a logical home in
the kmenu tree. After loading tdegraphics I have 4 applications in the "More
Applications" lost and found folder. See:
http://www.3111skyline.com/dl/dt/trinity/ss/menu-MoreApplications-AppsNeedG…
They include:
KColorChoose
KColorEdit
KFax
KIconEdit
They are not the big apps like Gimp or the like, but there is no reason they
should be stuffed in an innocuous named "More Applications" folder. I would
propose putting them in the "Graphics/Graphics Utilities" folder. Simply
renaming "More Applications" to "Graphics Utilities" would work. I would also
move other apps from the current "Graphics Menu" into the Graphics Utilities
Menu like:
[Graphic Utilities]
KColorChoose
KColorEdit
KFax
KIconEdit
MPovModeler
KRuler
KSnapshot
I would also collect the 'Viewers' into a like menu of their own. Like
"Graphics/Graphics Viewers"
[Graphic Viewers]
KDVI
KFaxView
FontView
Kview
Kuickshow
That would leave the parent Graphics menu uncluttered and ready to receive the
users main graphic apps. Food for thought for R14
--
David C. Rankin, J.D.,P.E.
Tim,
In kcontrol /Security & Privacy/Password & User Account/ -- I can't set a
photo for user. Under the Login Administration/User tab I selected the order for
setting the icon to be Users,Admin which should allow the user to set his own
face icon (that should allow the user to set his face here shouldn't it?)
When you click on the square box to set the icon, you get this error:
"Your administrator has disallowed changing your image." (bummer)
Anyway, please confirm this behavior. If it is something controlled by kdmrc,
then that will need to be adjusted to allow the user to set his own face by default.
--
David C. Rankin, J.D.,P.E.
I have been looking around the web for an app to convert C++ source code to flow diagrams. I'm looking in the wrong places or nothing exists other than a few commercial apps.
I was hoping the Umbrello tool could help, but that does not convert anything directly.
Is there a way to do this?
I want to map the entire docbook process. As I am still very much a novice C++ coder, I am in over my head trying to trace how everything connects. The process should be documented for the wiki.
Ideas?
Thanks.
Darrell
Serghei,
I have submitted a patch for the libkscan ConfigureChecks.cmake
SANE_LIBRARIES concatenation bug. Please take a look at the patch provided for
http://bugs.pearsoncomputing.net/show_bug.cgi?id=901
I think this will provide a more robust set of REGEX expressions for
dealing with lib and ldflag strings and will work across all distros. The
original REGEX expressions simply removed spaces which would result in flags
being merged together causing the build to fail. This set of REGEX expressions
eliminates all non-library information first leaving only a concise semi-colon
separate list of library names.
In short this is the patch:
--- tdegraphics/libkscan/ConfigureChecks.cmake
+++ tdegraphics/libkscan/ConfigureChecks.cmake 2012-03-08 15:51:30.452794166
-0600
@@ -39,8 +39,14 @@
string( REGEX REPLACE "(^| )-I" ";" SANE_INCLUDE_DIRS "${SANE_INCLUDE_DIRS}" )
endif( )
if( SANE_LIBRARIES )
- string( REGEX REPLACE "(^| )-l" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" )
- string( REPLACE " " "" SANE_LIBRARIES "${SANE_LIBRARIES}" )
+ ## remove all spaces and replace whitespace with ';'
+ string( REGEX REPLACE "[ ]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" )
+ ## remove all non-library information
+ string( REGEX REPLACE "[-][^l]([^ ;])+" "" SANE_LIBRARIES "${SANE_LIBRARIES}" )
+ ## remove multiple ';'
+ string( REGEX REPLACE "[;]+" ";" SANE_LIBRARIES "${SANE_LIBRARIES}" )
+ ## remove '-l'
+ string( REGEX REPLACE "-l" "" SANE_LIBRARIES "${SANE_LIBRARIES}" )
endif( )
if( NOT HAVE_SANE )
If it works for you, go ahead and commit it.
--
David C. Rankin, J.D.,P.E.
I am creating three new entities for the TDE help files. The entities will be stored in the sources tree in tdelibs/kdoctools/customization/entities/general.entities.
These new entities will contain the document version, release date, and copyright years.
The past practice with all KDE3 help files was to use hard-coded, static text strings. I want to change the fixed text to entities so they can be dynamic and always match the TDE release information.
Conceptually, I tested these new entities by hard-coding them into general.entities and compiling a couple of modified docbook sources to use those entities. Works as planned. :)
The next step is to modify the cmake build process to update the general.entities file when the tdelibs package is built.
The macro or script, whichever is correct terminology for cmake, needs to work like this:
* Extract the release version variable TDE_VERSION_STRING from tdelibs/tdecore/tdeversion.h.
* Read the file date stamp of tdeversion.h (for GIT sources this will change regularly, for tarballs this will remain fixed)
* Create a copyright year string in the form of "2010-$CURRENT_YEAR"
* Update the text strings between the quotation marks in general.entities:
<!ENTITY tde-release-version "R14.0.0 [DEVELOPMENT]">
<!ENTITY tde-release-date "March 8, 2012">
<!ENTITY tde-copyright-date "2010-2012">
* Continue with the build process.
I think I can do something like that in a shell script but I am unfamiliar with how to do the same in cmake.
I don't mind doing the grunt work and testing, but I appreciate guidance to do this.
Thanks!
Darrell
What is the latest tqt status?
I received the following build failure in tdebase:
/dev/shm/tdebase.build/kicker/kicker/core/kmenubase.ui.h:7: error: 't_xdisplay' was not declared in this scope
This particular run was against Qt3.
Darrell
<snip>
>> Yes! I'll pick an obvious example, KHTML. I would like to replace the
broken KHTML engine with Webkit using Qt4. Problem is, I can't link a
Qt4
>> library into a TDE library or program due to symbol conflicts. Even if
you trick the compiler and linker, the program will crash at runtime
because the C++ runtime will not know which symbols (Qt3 or Qt4) to use
when function names and static members have the same name.
> But that is what the linker does. Isn't it? Looks at symbolic names and
puts addresses instead. Therefore you shouldn't have name
> conflicts at runtime. The crash you may encounter is because the linker
chosen wrong symbols to link together in one algorithm. But this have
obvious solution. Put the code you want to link with Qt4 in separate
module and link only with Qt4. I still don't understand how is renaming
better solves this. Could you please refer exact source file and
function?
Actually the linker creates a reference to a "mangled" symbol--see
http://en.wikipedia.org/wiki/Name_mangling#Name_mangling_in_C.2B.2B
Let's take a simple example, qWarning. This becomes _Z8qWarningPKcz in
libqt-mt.so.3.3.8 (nm -D /usr/lib/libqt-mt.so | grep qWarning), and
_Z8qWarningPKcz in /usr/lib/libQtCore.so (nm -D /usr/lib/libQtCore.so |
grep qWarning). If my program references Z8qWarningPKcz, which library
will the symbol resolver choose at runtime? They are not binary
compatible with each other, and when the symbol resolver chooses the wrong
one at runtime (which it will do quite often) the entire program will
crash.
<snip>
> I suppose this could be done in more easy way without renaming.
Not really, see above. :-)
And if you want to work on a "pure" KDE 3.5.10 fork you have that right;
just be aware that you will hit a dead end far before TDE will. ;-)
Tim
Darrell, all,
Ran into another issue with tdegraphics that I can't solve by a dependency review:
[ 31%] Building CXX object libkscan/CMakeFiles/kscan-shared.dir/imgscaninfo.cpp.o
Linking CXX shared library libkscan.so
/usr/bin/ld: cannot find
-lsane-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu-L/usr/lib
collect2: ld returned 1 exit status
make[2]: *** [libkscan/libkscan.so.1.0.0] Error 1
make[1]: *** [libkscan/CMakeFiles/kscan-shared.dir/all] Error 2
make: *** [all] Error 2
Is this a CMake issue? Linker error? What to look for?
--
David C. Rankin, J.D.,P.E.
I'm working on bug report 892. Most of this work involves changing XDG categories (X-KDE-Whatever -> X-TDE-Whatever), which will help further distinguish Trinity from KDE3 and KDE4 and reduce potential conflicts. The work is going well but I have run into a challenge.
When I rebuild tdelibs and tdebase to install desktop files to $PREFIX/share/applications/trinity rather than $PREFIX/share/applications/kde, a few things start breaking.
Some keyboard shortcuts stop, but I can recover that by deleting the user's khotkeys config file and starting afresh. That problem might be related or not, or might just be cruft from its KDE3 days when I migrated profiles.
The real problem is noticeable when I open Konqueror and select the Settings menu option. Most of the setting modules do not appear. The only modules that appear are the "native" ones: Behavior, Appearance, Previews & Meta-Data, and Performance.
The associated desktop files built and installed to $PREFIX/share/applications/trinity just fine.
I can solve the problem by creating a sym link from $PREFIX/share/applications/kde to $PREFIX/share/applications/trinity and restarting the session.
I tried a new profile but that did not solve the problem either. Only the sym link, or building to $PREFIX/share/applications/kde, avoids the problem.
I haven't tested with other packages because at this point I only need tdelibs and tdebase for testing.
At this point I'm concluding that something in the code is hard-coded to look for $PREFIX/share/applications/kde. I can't find anything obvious or explicit. I've looked hard and am stumped.
I would appreciate any help in this challenge. :)
Thanks!
Darrell