Results 1 to 7 of 7

Thread: dfGUI for Linux!

  1. #1
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697

    dfGUI for Linux!

    Yeah, you heard right!

    There is now a port (well, more accurately, a reimplementation, but whatever) of dfGUI, for Linux and Qt. It's even pseudo-skinnable.

    Check it out here:

    http://3dguios.resnet.mtu.edu/dfGUI-linux

    Check out BUGS and INSTALL (text files in the package) before installing it. There is one fairly major bug that I haven't been able to track down, that requires some special installation procedures.

    Have fun!

  2. #2
    Great! I'll give this a try some time!
    Team Anandtech DF!

  3. #3
    Target Butt IronBits's Avatar
    Join Date
    Dec 2001
    Location
    Morrisville, NC
    Posts
    8,619
    Alright! Thanks for the hard work.

  4. #4
    Peaches Moogie's Avatar
    Join Date
    Mar 2002
    Location
    Peachville
    Posts
    2,463
    Blog Entries
    3
    This is great. I'll check it out! Thanks!





    irc.aknarra.net #lobby
    irc.free-dc.org #free-dc

  5. #5
    Administrator Dyyryath's Avatar
    Join Date
    Dec 2001
    Location
    North Carolina
    Posts
    1,850
    Heh, I've been hoping somebody else would do this before I got time to mess with it.

    It looks pretty good from the SS, but I'm having some compilation issues. I'll pop the source open when I have a few minutes, but in the meantime, does this mean anything to you offhand:

    Code:
    In file included from .ui/dfGUIform.cpp:47:
    dfGUIform.ui.h: In member function `void dfGUIform::setupScript(const dfGUIconfiguration&)':
    dfGUIform.ui.h:1271: no matching function for call to `QString::QString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
    /usr/local/qt/include/qstring.h:669: candidates are: QString::QString(QStringData*, bool)
    /usr/local/qt/include/qstring.h:650:                 QString::QString(int, bool)
    /usr/local/qt/include/qstring.h:391:                 QString::QString(const char*)
    /usr/local/qt/include/qstring.h:389:                 QString::QString(const QChar*, unsigned int)
    /usr/local/qt/include/qstring.h:388:                 QString::QString(const QByteArray&)
    /usr/local/qt/include/qstring.h:387:                 QString::QString(const QString&)
    /usr/local/qt/include/qstring.h:386:                 QString::QString(QChar)
    /usr/local/qt/include/qstring.h:761:                 QString::QString()
    make: *** [.obj/dfGUIform.o] Error 1
    I'm using qt 3.1.1 compiled from source. g++ is v3.2. I've got all the devel stuff loaded for X and libstdc++.

  6. #6
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    I don't know why I didn't see that, but if you go to line 1271 in that file and change QString(switches.str()) to QString(switches.str().c_str()), that should work.

    Hmm, I wonder why they got rid of the QString constructor that took a std::string? I don't think I tried using it anywhere else, but if I did, replace that too. I'll fix this and throw the code up again, too.

    EDIT: Oh, did you define QT_NO_STL for some reason when you compiled Qt (or the app)? That would do it... Or, are you running this on a Mac? The mac9-mwerks and macx-mwerks mkspecs define QT_NO_STL...
    Last edited by bwkaz; 02-10-2003 at 10:01 AM.

  7. #7
    Senior Member
    Join Date
    Mar 2002
    Location
    MI, U.S.
    Posts
    697
    Whee! An update!

    I finally got around to looking at the biggest known bug. Somehow it seems to be fixed, all I did was reset a couple of QTimer pointers and moved the check for an existing config file up a bit higher. So I'm not quite sure what it was, but it seems fixed.

    I also added support for "AutoStop on Battery". I figured out how to read /proc/apm (by reading linux-2.4.20/arch/i386/apm.c, of course! duh, why didn't I think of that earlier ), so every time the client does a refresh, it checks that file. If you ask it to, if there's a battery in the system, and if the AC line status is "offline", it shuts down the client. No support yet for bringing the client back up; is this needed/wanted by anyone? It wouldn't be too hard to do, but I need sleep today so I won't put it in now.

    There is currently no APM driver version checking done on /proc/apm, which means if you run an APM driver other than 1.16 (the first number in the file is the driver version), it may very well not work. CONFIG_PM and CONFIG_APM are required in the kernel, or the /proc/apm file will not exist. If it doesn't exist, though, the program handles it nearly gracefully (all APM-related stuff is disabled). No support is here for apmd, the user-space daemon. Perhaps that would be easier, but I don't run it, so yeah.

    The BUGS file has been renamed to GOTCHAS, because that's what it is now. Since no prewritten rc file is necessary, the dfGUI.rc template has also been removed.

    The page has been updated; the link is the same. The filename is also the same, because I want to keep the versioning in step with the Windows dfGUI.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •