Setting software details

BlitzMax Forums/MaxGUI Module/Setting software details

Twinprogrammer(Posted 2013) [#1]
Hey guys,

I've been making a software, and I was wondering, how do you set up the base software details (like description, copyright...) on the executable? Is there a command for this in MaxGUI? Also, how can I set the software icon (that is compatible with ALL operating systems)?


Derron(Posted 2013) [#2]
http://www.blitzmax.com/faq/faq.php
-->> http://www.blitzmax.com/faq/faq_entry.php?id=8


bye
Ron


col(Posted 2013) [#3]
I believe BLIde now has all of these features.

If you're a masochist for re-inventing the wheel and wanting to know how it all pieces together ( like me :D ) then you can write your own resource file ( .rc ) to include your icon and your manifest file that contains yours details, compile them all up into a .o file that you Import into your app.

[edit]

........(that is compatible with ALL operating systems)?


Sorry I didnt read that bit properly until after I posted.
[/edit]


Derron(Posted 2013) [#4]
On linux you have to store your icon in a specific directory. So this has to be done during "install". If you compile your app it is just a "binary" file for linux desktops environments and they display their default icon (just check this when unpacking a blender archive...think they would have integrated one if that would somehow be possible).

So no, there is no "cross platform icon support" possible.
Same counts for copyright information etc - this is an windows(.exe)-specific thing which is not supported on linux (why should it - for most cases you have access to sources and manuals/readme-files).


bye
Ron


Twinprogrammer(Posted 2013) [#5]
@derron

if so, how do I set the icon of the program(like is there a setwindowicon function)?


Derron(Posted 2013) [#6]
Just read the link i gave you as response to your initial posting.

For linux you have to assign the link to "links" to your binary file (like desktop links).


bye
Ron


Henri(Posted 2013) [#7]
On Windows:

How to create object file
Forum post

Then just add this line to bmx-source
?Win32
Import "<your filename>.o" 
?



EDIT: example of .rc (resource file) as descriped in link above with icon and software detail information

Contents of your.rc file
----------------------------------------
1 24 "your_file.exe.manifest"
101 ICON "your_icon.ico"

1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x40004
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
BLOCK "040904b0"
{
VALUE "Comments", "Some comments"
VALUE "CompanyName", "your name"
VALUE "FileVersion", "1.0.0.0"
VALUE "FileDescription", "Main executable."
VALUE "InternalName", "your name"
VALUE "LegalCopyright", "Copyright etc."
VALUE "LegalTrademarks", "All rights reserved"
VALUE "OriginalFilename", "your_file.exe"
VALUE "ProductName", "your product"
VALUE "ProductVersion", "1.0.0.0"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0409, 0
}
}
----------------------------------

-Henri


Twinprogrammer(Posted 2013) [#8]
I know how to do it with windows, but what about linux (how do I set the "links")? What about mac too?


Henri(Posted 2013) [#9]
On Linux:

First create desktop entry file:
Specification

(example your_file.desktop)
--------------------
[Desktop Entry]
Version=1.0
Type=Application
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
TryExec=fooview
Exec=fooview %F
Icon=fooview
MimeType=image/x-foo;
Actions=Gallery;Create;

[Desktop Action Gallery]
Exec=fooview --gallery
Name=Browse Gallery

[Desktop Action Create]
Exec=fooview --create-new
Name=Create a new Foo!
Icon=fooview-new
---------------------------------------------------------------

Then copy it to $XDG_DATA_DIRS/applications directory.

Maybe someone with linux can confirm if this actually works:-)

-Henri


Twinprogrammer(Posted 2013) [#10]
All right, got it. How do you do Mac though?