According to the Geany manual:
The system path is the data subfolder of the installation path on Windows.
The user configuration directory might vary, but on Windows XP it's: C:\Documents and Settings\UserName\Application Data\geany
A Euphoria Programmer provided this information while commenting on program I wrote which installs versions of several files which enable Geany to support the Euphoria Programming Language:
Some updated info for Windows installs:
In my version of Windows, the actual path to the directory created by geany is C:\Users\Owner\AppData\Roaming\geany *That path doesn't exist until geany is run once. You should tell users to run geany once so it can write those default files/dirs.* This way you can confirm that whatever path they provide for installing these forms is correct.
The path to geany config files needs to be gotten from getenv("APPDATA"), instead of getenv("HOME"). APPDATA can be used from Windows XP on up. On my Windows XP box, it returns C:\Documents and Settings\user\Application Data On Windows 7 it returns C:\The system path is the data subfolder of the installation path on Windows. The user configuration directory might vary, but on Windows XP it's: C:\Documents and Settings\UserName\Application Data\geanyUsers\Owner\AppData\Roaming\geany The Windows file path code need only be this: constant GEANY_DIR = getenv( "APPDATA" ) & SLASH & "geany"
This is my latest installation program, written in Euphoria. The code is simple and intuitive, so I think most programmers will be able to follow it without any problems:
------ EuGeany 1.3b-- -- usage eui EuGeany.ex---- Installs Geany configuration files which-- provide support for the Euphoria Programming Language-- Existing files are backed up with an extension suffix-- which may be defined by the user--
-- For more information read comments in the respective files,
-- especially, filetypes.Euphoria.conf.---- include std/console.einclude std/filesys.einclude std/graphics.e constant BACKUP_SUFFIX = "~"-- constant BACKUP_SUFFIX = ".BAK" sequence GEANY_USER_CONFIG = getenv( "HOME") & SLASH & ".config" & SLASH & "geany" ifdef WINDOWS then GEANY_USER_CONFIG = getenv( "APPDATA" ) & SLASH & "geany"end ifdef -- create tags directory, if it does not already exist:if create_directory( GEANY_USER_CONFIG & SLASH & "tags" ) then end if constant SCREEN = 1constant DIR = 1constant FILE = 2sequence data = { -- DIR = [1] -- FILE = [2] { SLASH & "filedefs" & SLASH , "filetypes.Euphoria.conf"}, { SLASH & "tags" & SLASH , "std.euphoria-4.1.e.tags" }, { SLASH , "filetype_extensions.conf" }, { SLASH , "snippets.conf"} } constant OVERWRITE_EXISTING_FILE = 1sequence destinationsequence pwd = current_dir() & SLASHbk_color(BLACK)for i=1 to length( data ) do destination = GEANY_USER_CONFIG & data[i][DIR] & data[i][FILE] -- BACKUP OLD FILES text_color(BRIGHT_BLUE) display( "\n---- " & destination ) if file_exists( destination ) then -- make a back up copy text_color(YELLOW) for x = 1 to length(GEANY_USER_CONFIG & data[i][DIR]) -11 do puts(SCREEN, " ") end for display( " backing up ... ", 0 ) if copy_file(destination,destination & BACKUP_SUFFIX,OVERWRITE_EXISTING_FILE) then -- do nothing else text_color(BRIGHT_RED) display( " !!! backup failed" ) end if else -- file does not exist, no need to back up text_color(YELLOW) display( "no backup file necessary ... ", 0 ) end if -- UPDATE FILES if copy_file( pwd & data[i][FILE], destination, OVERWRITE_EXISTING_FILE) then -- file is successfully updated text_color(BROWN) display( data[i][FILE], 0) text_color(BRIGHT_CYAN) display ( " UPDATED!") else -- update failed text_color(BRIGHT_RED) display( " !!! update failed") end ifend for
Regards,