masneyb / gftp

gFTP is a free multithreaded file transfer client for *NIX based machines. 56 language translations available.
http://www.gftp.org
MIT License
118 stars 21 forks source link

Follow XDG Base Directory Specification and more #99

Closed aintyourcat closed 2 years ago

aintyourcat commented 4 years ago

Hello! Thanks for the app. Just a little suggestion from my personal preference, instead of making a directory in ~, it will be better if you could follow the XDG Base Directory specification (https://wiki.archlinux.org/index.php/XDG_Base_Directory), so we can put the user configuration on $XDG_CONFIG_HOME and the cache on $XDG_CACHE_HOME.

port-field-too-small

Next, I've found that the port field (on top) is too small, even when i resize the window, it seems that it isn't resizeable. And the last one, the log text is not readable with my Dracula theme, is there any option to change the color?

wdlkmpx commented 3 years ago

I was planning to do that, I guess it's something easy to do, but it will change the config file location. I've been using Windows XP for a few weeks now, but here the new possible file locations:

XDG_CONFIG_HOME = $HOME/.config

$HOME/.config/gftp/gftprc
$HOME/.config/gftp/bookmarks
$HOME/.config/gftp/etc ...

XDG_CONFIG_DIRS = /etc

/etc/gftprc

Here's a gtk2 test dialog that somehow references XDG_CONFIG_HOME, but it's not used...

    GtkWidget * label = gtk_label_new ("");
    GtkWidget * label2 = gtk_label_new ("");
    char * p, * localConfigDir;
#ifdef __MINGW32__
    p = strrchr (argv[0], '\\');
    localConfigDir = getenv ("LOCALAPPDATA");
    if (!localConfigDir) {
        localConfigDir = getenv ("APPDATA");
    }
#else
    p = strrchr (argv[0], '/');
    localConfigDir = getenv ("XDG_CONFIG_HOME");
#endif
    if (p) *p = 0;
    if (localConfigDir) {
        gtk_label_set_label (GTK_LABEL (label), localConfigDir);
    }
    gtk_label_set_label (GTK_LABEL (label2), argv[0]);

wdlkmpx commented 2 years ago

All the issues you reported have been fixed I think