Convert Bitcoin to GTK: Yes? No? wx is better?

8 messages BitcoinTalk mizerydearia, BioMike, lfm, teknohog, Satoshi Nakamoto August 19, 2010 — August 21, 2010
mizerydearia August 19, 2010 07:23 UTC Source ·

Who is skilled enough to convert official Linux Bitcoin client to use GTK instead of wx?

Is this development worthy or desirable enough to pursue or is wx acceptable?

q: let me get this straight. You’re asking if someone will put up a bounty for a conversion that you want? (bounty idea dismissed due to seeming weird/strange to some) a: I don’t want it. Is GTK better than QT or anytihng else? I’m not familiar.

“I would like it if Bitcoin used GTK instead of wxWidgets but I won’t pretend that I have a clue about how hard or easy that change might be”

someone: wx seems to work now as far as I can tell someone else: wx is an utter nightmare

q: why “convert” Satoshi’s front end? Why not just build a new one that uses the rpc calls?

there actually isn’t much that needs to be done to make bitcoind’s methods useful enough to do the same things the GUI does: in particular:

  • list sending addresses
  • show unaccepted blocks in listtransactions (maybe)
  • select a range of transactions to show
BioMike August 19, 2010 08:05 UTC Source ·

WxWidgets is not really a problem. My problem is the version that is used (2.9), which is considered unstable by many distro packagers (although the WxWidgets devs say it isn’t). On the other side, as far as I know WxWidgets uses gtk under Linux for drawing the whole stuff and makes it for the bitcoins devs easy to make things cross platform.

I think I would go with theymos in that the gui and daemon should be separated (or put the whole protocols and stuff in a library with bindings for different languages for that matter). I’ve already gotten my own “client” running (see http://bitcointalk.org/index.php?topic=851.0) with the daemon (who doesn’t need WxWidgets anymore) and it works very nicely. So, in my case I don’t have any dependency on WxWidgets any more.

lfm August 19, 2010 10:28 UTC Source ·
Quote from: BioMike on August 18, 2010, 11:05:18 PM UTC

I think I would go with theymos in that the gui and daemon should be separated (or put the whole protocols and stuff in a library with bindings for different languages for that matter). I’ve already gotten my own “client” running (see http://bitcointalk.org/index.php?topic=851.0) with the daemon …

So what do you mean the gui and the daemon should be separated? They already are. You can build the separate daemon. Do you need a separate build of only the gui? I can’t see why.

teknohog August 19, 2010 14:59 UTC Source ·
Quote from: lfm on August 19, 2010, 1:28:19 AM UTC

So what do you mean the gui and the daemon should be separated? They already are. You can build the separate daemon. Do you need a separate build of only the gui? I can’t see why.

Bitcoin is a P2P network, so the program should be running all the time. However, I don’t need to be looking at a GUI all that time, so it makes sense to have a daemon. Currently, you have to stop the daemon when you want to start the GUI version, which breaks the network for a moment.

Some P2P applications like aMule do this properly. The daemon is running all the time, and when you want to interact with it, you start the separate GUI, which connects to the daemon. Most importantly, the GUI can run on a different machine from the daemon.

Such a setup would be great for mobile Bitcoin usage. You run the daemon on your “server” machine, and you connect to it with a GUI on your mobile device. I think this has been already discussed in a different context, but the same mechanism applies.

However, you can already use the JSON-RPC mechanism to build a separate GUI, so there is no immediate need to change the mainline client.

Satoshi Nakamoto August 19, 2010 18:44 UTC Source ·
Quote from: BioMike on August 18, 2010, 11:05:18 PM UTC

WxWidgets is not really a problem. My problem is the version that is used (2.9), which is considered unstable by many distro packagers (although the WxWidgets devs say it isn’t). On the other side, as far as I know WxWidgets uses gtk under Linux for drawing the whole stuff and makes it for the bitcoins devs easy to make things cross platform.

wxWidgets 2.9 is their first UTF-8 version.  We are UTF-8 on all platforms including Windows.

The distro packages of 2.8 are UTF-16, so they just trip people up.  People had endless build problems with 2.8 and its wxString UTF-16/ANSI conditional build options until we standardized on 2.9.  Also, to use 2.8, we were using ANSI, which was just a temporary stopgap until wxWidgets supported UTF-8.

This is a problem that will solve itself.  With time, 2.9 will become a more mainline release.

BioMike August 19, 2010 18:55 UTC Source ·

teknohog couldn’t have explained my view better.

Quote from: satoshi on August 19, 2010, 6:44:36 PM UTC
Quote from: BioMike on August 19, 2010, 8:05:18 AM UTC

WxWidgets is not really a problem. My problem is the version that is used (2.9), which is considered unstable by many distro packagers (although the WxWidgets devs say it isn’t). On the other side, as far as I know WxWidgets uses gtk under Linux for drawing the whole stuff and makes it for the bitcoins devs easy to make things cross platform.

wxWidgets 2.9 is their first UTF-8 version. We are UTF-8 on all platforms including Windows.

The distro packages of 2.8 are UTF-16, so they just trip people up. People had endless build problems with 2.8 and its wxString UTF-16/ANSI conditional build options until we standardized on 2.9. Also, to use 2.8, we were using ANSI, which was just a temporary stopgap until wxWidgets supported UTF-8.

This is a problem that will solve itself. With time, 2.9 will become a more mainline release.

Yes, I understand why 2.9 was chosen. And I think it is also reasonable, but just unfortunate for people who just want to install the dep from their distro. (Under gentoo it b0rks up building other Wxwidget apps when having 2.9 installed into /usr/local)

lfm August 20, 2010 22:02 UTC Source ·
Quote from: BioMike on August 19, 2010, 6:55:38 PM UTC

teknohog couldn’t have explained my view better.

Quote from: satoshi on August 19, 2010, 6:44:36 PM UTC
Quote from: BioMike on August 19, 2010, 8:05:18 AM UTC

WxWidgets is not really a problem. My problem is the version that is used (2.9), which is considered unstable by many distro packagers (although the WxWidgets devs say it isn’t). On the other side, as far as I know WxWidgets uses gtk under Linux for drawing the whole stuff and makes it for the bitcoins devs easy to make things cross platform.

wxWidgets 2.9 is their first UTF-8 version. We are UTF-8 on all platforms including Windows.

The distro packages of 2.8 are UTF-16, so they just trip people up. People had endless build problems with 2.8 and its wxString UTF-16/ANSI conditional build options until we standardized on 2.9. Also, to use 2.8, we were using ANSI, which was just a temporary stopgap until wxWidgets supported UTF-8.

This is a problem that will solve itself. With time, 2.9 will become a more mainline release.

Yes, I understand why 2.9 was chosen. And I think it is also reasonable, but just unfortunate for people who just want to install the dep from their distro. (Under gentoo it b0rks up building other Wxwidget apps when having 2.9 installed into /usr/local)

Seems to me it is a good reason to leave Bitcoin as Beta status until this is resolved. Either wx 2.9 becomes easier to install or Bitcoin converts to something else.

BioMike August 21, 2010 05:48 UTC Source ·
Quote from: lfm on August 20, 2010, 10:02:09 PM UTC

Seems to me it is a good reason to leave Bitcoin as Beta status until this is resolved. Either wx 2.9 becomes easier to install or Bitcoin converts to something else.

Or build only the daemon and not the graphical version. Then no WxWidgets are needed.