Something I just figured out - if you use the GTK interface, and try to run (using either shift + an arrow key or the period key) you will only move one space in the desired direction.
Edit: BTW there doesn't seem to be an obvious way to disable config options in cmake, how do I do that? I'd like to make it so that the GTK interface isn't the default for now.
Edit again: Hmm, period key seems to work actually. Lack of shift + arrow running is still annoying though.
Bug in 2.3.x git: running doesn't work with GTK interface
Moderator: Moderator
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
-
- Spiderkin
- Posts: 482
- Joined: Sat Mar 18, 2006 12:48 pm
Re: Bug in 2.3.x git: running doesn't work with GTK interfac
I suspect running in the GTK interface doesn't work in the 2.3.5 version either, then...
It might help to give me an idea of what's going on if you add a call to printf() in src/main-gtk2.c:
The changed code should look like
(beware: the are two almost identical blocks containing this code; only the one "inside" #if 1 is actually used. I'll remove the other one from the git repo.)
... and report back how it reports "shift-Left" (for instance).
Re: default interface: I think the game just loads the "first" (in whatever order it's using) available interface. What I usually do is to just have a little shell script which starts the game with the appropriate options:
I'm not sure how easy it would be to add a build variable to set the default interface, but given the easy workaround I don't see much point
.
Likewise, it would be quite easy to add "DISABLE_X11", "DISABLE_GTK2", etc. options to the CMakeLists.txt file, but again not sure if it's worth the effort given the above. However, I'd certainly accept a patch which does it
.
It might help to give me an idea of what's going on if you add a call to printf() in src/main-gtk2.c:
Code: Select all
/* Build the macro trigger string */
strnfmt(msg, 128, "%c%s%s%s%s_%X%c", 31,
mc ? "N" : "", ms ? "S" : "",
mo ? "O" : "", mx ? "M" : "",
event->keyval, 13);
/* Enqueue the "macro trigger" string */
for (i = 0; msg[i]; i++) Term_keypress(msg[i]);
Code: Select all
/* Build the macro trigger string */
strnfmt(msg, 128, "%c%s%s%s%s_%X%c", 31,
mc ? "N" : "", ms ? "S" : "",
mo ? "O" : "", mx ? "M" : "",
event->keyval, 13);
printf("KEYPRESS: [%s]\n", msg);
/* Enqueue the "macro trigger" string */
for (i = 0; msg[i]; i++) Term_keypress(msg[i]);
... and report back how it reports "shift-Left" (for instance).
Re: default interface: I think the game just loads the "first" (in whatever order it's using) available interface. What I usually do is to just have a little shell script which starts the game with the appropriate options:
Code: Select all
!/bin/sh
export ANGBAND_X11_FONT="-*-fixed-medium-*-normal-*-20-*-*-*-*-*-*-*"
cd "`dirname $0`" && ./src/tome -mx11 -- -n4

Likewise, it would be quite easy to add "DISABLE_X11", "DISABLE_GTK2", etc. options to the CMakeLists.txt file, but again not sure if it's worth the effort given the above. However, I'd certainly accept a patch which does it
