Date: Sun, 14 Dec 1997 01:14:12 -0800 (PST) From: Donald Burr <dburr@POBoxes.com> To: FreeBSD Ports <freebsd-ports@freebsd.org>, se@freebsd.org Subject: About the KDE port Message-ID: <XFMail.971214014632.dburr@POBoxes.com>
next in thread | raw e-mail | index | archive | help
This message is in MIME format --_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_ Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- I finally built and installed the KDE port this weekend. I LOVE IT! Thanks so much for porting it to FreeBSD. I did notice several things that don't quite work right, so I thought I should mention them here, so that you may be aware of them and fix them for the next kde port, etc. Those are: kaudioserver dies with a signal 11 (segfault) upon startup. KDE's "find" module (kfind) assumes that the `find' utility is from the GNU fileutils pckage. This is the case for Linux, but NOT the case for FreeBSD. (mainly, kfind calls find with the "-fprint" option, which doesn't exist in the FreeBSD `find'). A patch written by one of the people on the KDE mailing list is attached. KDE has the capability for you to put icons of devices (cd-rom, jaz, etc.) on the desktop, then mount and unmount them by clicking on the icons. The icons change to show whether the devices are mounted or not. This feature does not work on the FreeBSD port -- probably uses some Linux-specific syscall or mount command syntax. (Yes, I fixed the mount adn umount binaries so that I can execute them as a normal user.) The "memory" and "processor" control panels do not show a lot of useful information. Probably depends on the Linux /proc tree, so there probably isn't much you can do about it, but I thought I should mention it just in case. The "su" command in /usr/local/bin/kfmsu2 does not work right as written, so the "KFM as superuser" window dies immediately without offering the opportunity to type in the root password. Changing it to read: su root -c "kfm -sw >/dev/null" makes it work fine. The terminal emulator (kvt) does not put proper UTMP entries in /var/run/utmp. This means that commands like w. finger, etc. do not display proper login entries for users' kvt windows, "talk" and "write" do not work properly, etc. There is (suppsedly) a compile time option "UTMP_SUPPORT" in the utmp.c source file, defining this should do the trick. At least according to the folks on the KDE mailing list. - --- Donald Burr <dburr@POBoxes.com> - Ask me for my PGP key | PGP: Your WWW HomePage: http://DonaldBurr.base.org/ ICQ #1347455 | right to Address: P.O. Box 91212, Santa Barbara, CA 93190-1212 | 'Net privacy. Phone: (805) 957-9666 FAX: (800) 492-5954 | USE IT. -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBNJOq9/jpixuAwagxAQHJWAQAhIGm1CtxW1FvODkggSt3D7owh5rc81HL k9BS+4xSOrQIHyz0xWBjcmDS3OmbLxvLmZgGEeu63WAZgalbmydo8WvyzMM/gkGv Raw64gMaa46q8kOngKYv0syLxh7eAAt9m49hHt+2SYtAfKyqaGOYsyaxOe8r06Mv PKuyNrlUTEE= =6PMs -----END PGP SIGNATURE----- --_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_ Content-Disposition: attachment; filename="kfind.diff" Content-Transfer-Encoding: 7bit Content-Description: kfind.diff Content-Type: text/plain; charset=us-ascii; name=kfind.diff; SizeOnDisk=2561 diff -r -C3 kfind/kfind.cpp kfind.new/kfind.cpp *** kfind/kfind.cpp Sat Nov 8 01:02:46 1997 --- kfind.new/kfind.cpp Mon Dec 8 13:54:23 1997 *************** *** 59,64 **** --- 59,67 ---- win,SLOT(openBinding())); connect(&findProcess,SIGNAL(processExited(KProcess *)), this,SLOT(processResults())); + connect(&findProcess, + SIGNAL(receivedStdout(KProcess *, char *, int)), + this, SLOT(handleStdout(KProcess *, char *, int))) ; emit haveResults(false); resize(tabDialog->sizeHint()); *************** *** 96,102 **** int t = time( 0L ); outFile.sprintf( "/tmp/kfindout%i", t ); ! buffer.append(pom.sprintf(" -fprint %s ",outFile.data())); buffer=buffer.simplifyWhiteSpace(); while( !buffer.isEmpty() ) { --- 99,105 ---- int t = time( 0L ); outFile.sprintf( "/tmp/kfindout%i", t ); ! buffer.append(pom.sprintf(" -print")); buffer=buffer.simplifyWhiteSpace(); while( !buffer.isEmpty() ) { *************** *** 110,116 **** buffer = buffer.remove(0,pos+1); }; ! findProcess.start(); }; }; --- 113,119 ---- buffer = buffer.remove(0,pos+1); }; ! findProcess.start(KProcess::NotifyOnExit, KProcess::AllOutput); }; }; *************** *** 138,143 **** --- 141,157 ---- stopSearch(); }; + + void Kfind::handleStdout(KProcess *proc, char *buffer, int buflen) + { + char tmp = buffer[buflen] ; + buffer[buflen] = '\0' ; + + FILE *f = fopen(outFile.data(),"a"); + fwrite(buffer, strlen(buffer), 1, f); + fclose(f); + buffer[buflen] = tmp ; + } void Kfind::processResults() { diff -r -C3 kfind/kfind.h kfind.new/kfind.h *** kfind/kfind.h Tue Aug 19 05:02:15 1997 --- kfind.new/kfind.h Mon Dec 8 13:54:41 1997 *************** *** 28,33 **** --- 28,34 ---- void stopSearch(); void newSearch(); void processResults(); + void handleStdout(KProcess *proc, char *buffer, int buflen); signals: void haveResults(bool); void resultSelected(bool); diff -r -C3 kfind/kfwin.cpp kfind.new/kfwin.cpp *** kfind/kfwin.cpp Wed Oct 8 01:01:47 1997 --- kfind.new/kfwin.cpp Mon Dec 8 13:35:39 1997 *************** *** 101,106 **** --- 101,107 ---- sprintf(str,klocale->translate("%d file(s) found"),count); emit statusChanged(str); + unlink(file); fclose(f); delete filename; delete strl; --_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_-- End of MIME message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.971214014632.dburr>