MaxIDE 64 - Linux

Community Forums/Showcase/MaxIDE 64 - Linux

Brucey(Posted 2014) [#1]
Greetings, Linux coders!

We've been working feverishly here at BaH headquarters to fix all the 64-bit issues with the MaxGUI Gtk modules, and finally appear to have a much more stable base on which to build stuff.

So much so that we are releasing a demo of a 64-bit native MaxIDE for Linux.

You can download it here : maxide64_gtk_webkit.tar.bz2 826kb

Unpack and drop it into your BlitzMax folder.

This particular version is built against libwebkitgtk-1.0, so you'll need that installed as a minimum - Out of general interest, it is *much* easier to get all the required libraries for a 64-bit build than it is to get the 32-bit libraries on a 64-bit machine!
It's also built on a fairly recent Ubuntu-variant, so your mileage here may vary too.

Finally, it uses our Scintilla-based drop-in TextArea replacement, which has line numbers ;-)

In testing, the 64-bit version does feel a little snappier than it's 32-bit sibling on the same machine. Again, your imagination may vary here too.

If it doesn't work for you, well, it doesn't work. No sleep lost, etc. Still early days yet.

Again, please be aware that this is an early release, and you should approach using it for important things with the usual caution.


*(Posted 2014) [#2]
Nice its good to see 64 bit versions available


markcw(Posted 2014) [#3]
Congratulations. I can report that it didn't run in my 32-bit ubuntu. Sadly I don't have a 64-bit linux to test it.


Brucey(Posted 2014) [#4]
Updated with a new build.

There was an issue with the garbage collector being somewhat overzealous collecting objects that were still actually in use - this could appear whilst iterating over a TList with Eachin, due to the way the enumerator in the linked list works.

This new build of MaxIDE seems very stable now.
If you haven't used one before, a GTK-based MaxIDE is a far nicer experience than the FLTK one.

I'm running out of excuses to avoid working on the Windows build... :-/


Grisu(Posted 2014) [#5]
Keep up the great work!

I'm running out of excuses to avoid working on the Windows build... :-/


How about blaming it on my code that's going to break it? ;)


xlsior(Posted 2014) [#6]
I'm running out of excuses to avoid working on the Windows build... :-/


If you're looking for an excuse to work on something else: your bah.jansson module doesn't compile under Windows, it appears to be missing some includes. ;-)

Also: you mentioned that the Linux build of MaxIDE uses scintilla and has line numbers -- Do you have any intention of adding code folding (and a windows build) as well?
(Code folding is pretty much the #1 missing feature in the standard MaxIDE for me)


JoshK(Posted 2014) [#7]
The Scintilla implementation is really a life saver. However, when the text area has the focus, menu hotkeys like F5 do not work.


Brucey(Posted 2014) [#8]
menu hotkeys like F5 do not work.

Ah, HotKey events are something that I'd apparently never implemented for GTKMaxGUI.
Seems to be working now though :-)
(Updated build available from the first post)


Kryzon(Posted 2014) [#9]
Congratulations on the release.


Derron(Posted 2014) [#10]
Works here too... font size differs from "fltk" (had to use 14pt there to have the same size like with Geany - now I use 10pt to have the same one).

@code folding

Should be possible as it "just" needs the folding functions to get connected to the scintilla area (folding and unfold points) - so I think code could be copied from the "scintilla blitzmax lexer"-code.


After I started yours, I am no longer able to start the older ones without deleting the config-file. This is because with the FLTK-Build I am not able to load certain TTF-Fonts (Bitstream Fonts not available there) but with yours these fonts are configured for console etc. This leads then to a segfault with the old MaxIDE.


@code folding again
Maybe bmx-ng needs a MaxIDE project somebody could contribute to (like mentioned in other threads I use MaxIDE just for debugging purposes as other things are handled by Geany already).

bye
Ron


Brucey(Posted 2014) [#11]
This leads then to a segfault with the old MaxIDE.

Ah well :-)

@code folding
Never use it myself... presumably one could add a custom flag for the gadget creation which enables code folding (however that is implemented internally)

@MaxIDE
I need to add some more options so that it's easier to build different targets (OSX->ARM Linux, Linux->64-bit, etc, etc)

btw, which is the latest version of the MaxIDE source? I appear to have several copies of it lying around from various places.


Derron(Posted 2014) [#12]
Hmm the latest I have is "1.43" but maybe the "community edition" is the better start.

@code folding
The lexer for "BlitzMax languages" should contain functions for "folding points".


With wxMax I had to do this:
...
		setproperty("fold", 1)
		setproperty("fold.comment" , 1)
		setproperty("fold.compact", 0)
		setmargintype(1 , wxSCI_MARGIN_SYMBOL)
		setmarginmask(1,-1)
		setmarginwidth(1,20)
		SetMarginSensitive(1 , 1)
...


So seems you are correct with setting a "flag" during creation.

bye
Ron


Derron(Posted 2014) [#13]
@stability

I just tested it once and again with a new config ... BUT


1. started IDE without config, started fine
2. tried to start IDE again: segfaulting

This is the faulty part:

console_style=DejaVu Sans Mono,12,000000000000000,0,0,0,255,255,255,2
navi_style=DejaVu Sans Mono,9,0000000000000000,0,0,0,255,255,255,1


Using the default "console" and "helvetica" font there...works fine - until I exit the app and start it again (because it replaces it again with DejaVu Sans).

Does not work with similar "user defined" fonts.


bye
Ron


Brucey(Posted 2014) [#14]
This is the fltk-build?


Derron(Posted 2014) [#15]
Nope, talking about your 64bit build.

Seems both have the same "bug" (concerning the fonts).
It does not happen in the fltk-build because it does not use "DejaVu Sans Mono" when saving the ini file. So when keeping this portion constant, it starts again.

Running yours, overwrites that both lines with the given DejaVu...


EDIT: I removed write permissions for myself - so it could start over and over again. That works but debugging of my game is not possible.
I get a nonresponsive window (smaller than the ide), the ide itself is not visible then. Have to kill my "TVTower.debug" to make that go away. It does display the debug tree itself, but as soon as clicking some entry above the "last one", it freezes.




bye
Ron


markcw(Posted 2014) [#16]
btw, which is the latest version of the MaxIDE source? I appear to have several copies of it lying around from various places.


After diff-ing a few I realized there is almost no difference between 1.40 and 1.43, so skidracer's 1.43 from here is the version I use.

I added one tweak to the openfile requester here (which opens the folder the current tab is in) for the scintilla version - which is great so thanks very much for that.


Brucey(Posted 2014) [#17]
1. started IDE without config, started fine
2. tried to start IDE again: segfaulting


Strange.
I dropped the maxide64 binary into my usual BlitzMax dir, and started it from Thunar (double-click). It started fine, loading the previously saved config.
Then I changed to font to something else (I've tried a few, for example Liberation Mono). All the open pages refreshed with the new font.
I then ran a debug of bcc with a DebugStop in it, and it stopped. I could dig down into the debug tree without any problems. Double-clicking a node would highlight the line in the source (opening the file if required).
So here, it is pretty stable.


Derron(Posted 2014) [#18]
Did you try to start it again (the ide) after you changed the font?

Feel free to send me a GDB-compatible build of it.

Else I end up with:
Program received signal SIGSEGV, Segmentation fault.
0x00000000004e6535 in ?? ()



@rebuild documentation (hmm happens in both version) it stops at pub.glew


bye
Ron