Merge branches 'fix-out-of-range-memory', 'obey-configure' and 'other-improvements' into windows-mingw
This commit is contained in:
commit
5bf23bb05d
11 changed files with 69 additions and 41 deletions
|
@ -227,5 +227,5 @@ AC_DEFUN([AM_PATH_XFT],
|
||||||
|
|
||||||
CFLAGS="$CFLAGS $XFT_CFLAGS"
|
CFLAGS="$CFLAGS $XFT_CFLAGS"
|
||||||
CXXFLAGS="$CXXFLAGS $XFT_CFLAGS"
|
CXXFLAGS="$CXXFLAGS $XFT_CFLAGS"
|
||||||
LIBS="$LIBS $XFT_LIBS"
|
LIBS="$XFT_LIBS $LIBS"
|
||||||
])
|
])
|
||||||
|
|
40
configure.in
40
configure.in
|
@ -60,10 +60,10 @@ AC_FUNC_REALLOC
|
||||||
AC_FUNC_SELECT_ARGTYPES
|
AC_FUNC_SELECT_ARGTYPES
|
||||||
AC_FUNC_STAT
|
AC_FUNC_STAT
|
||||||
|
|
||||||
AC_CHECK_FUNCS(basename, , AC_CHECK_LIB(gen, basename, LIBS="$LIBS -lgen"))
|
AC_CHECK_FUNCS(basename, , AC_CHECK_LIB(gen, basename, LIBS="-lgen $LIBS"))
|
||||||
AC_CHECK_FUNCS(catclose catgets catopen getpid gettimeofday memset mkdir \
|
AC_CHECK_FUNCS(catclose catgets catopen getpid gettimeofday memset mkdir \
|
||||||
nl_langinfo putenv regcomp select setenv setlocale sigaction snprintf \
|
nl_langinfo putenv regcomp select setenv setlocale sigaction snprintf \
|
||||||
sqrt strcasecmp strcasestr strchr strstr strtol strtoul vsnprintf)
|
sqrt strcasecmp strcasestr strchr strstr strtol strtoul sync vsnprintf)
|
||||||
|
|
||||||
dnl The autoconf test for strftime is broken now (due to gcc 3.3 bug?):
|
dnl The autoconf test for strftime is broken now (due to gcc 3.3 bug?):
|
||||||
dnl Gcc 3.3 testprog = ``extern "C" char strftime;'', build with g++ test.cc
|
dnl Gcc 3.3 testprog = ``extern "C" char strftime;'', build with g++ test.cc
|
||||||
|
@ -130,13 +130,13 @@ if test "x$ac_cv_header_iconv_h" = "xyes"; then
|
||||||
AC_CHECK_LIB([iconv],
|
AC_CHECK_LIB([iconv],
|
||||||
[iconv_open],
|
[iconv_open],
|
||||||
[
|
[
|
||||||
LIBS="$LIBS -liconv"
|
LIBS="-liconv $LIBS"
|
||||||
],
|
],
|
||||||
[])
|
[])
|
||||||
AC_CHECK_LIB([iconv],
|
AC_CHECK_LIB([iconv],
|
||||||
[libiconv_open],
|
[libiconv_open],
|
||||||
[
|
[
|
||||||
LIBS="$LIBS -liconv"
|
LIBS="-liconv $LIBS"
|
||||||
],
|
],
|
||||||
[])
|
[])
|
||||||
|
|
||||||
|
@ -163,8 +163,8 @@ dnl Check if iconv uses const in prototype declaration
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_CHECK_LIB(nsl, t_open, LIBS="$LIBS -lnsl")
|
AC_CHECK_LIB(nsl, t_open, LIBS="-lnsl $LIBS")
|
||||||
AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket")
|
AC_CHECK_LIB(socket, socket, LIBS="-lsocket $LIBS")
|
||||||
|
|
||||||
dnl Check for X headers and libraries
|
dnl Check for X headers and libraries
|
||||||
AC_PATH_X
|
AC_PATH_X
|
||||||
|
@ -177,18 +177,18 @@ test x$x_libraries = "x" && x_libraries="/usr/lib"
|
||||||
|
|
||||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||||
CXXFLAGS="$CXXFLAGS $X_CFLAGS"
|
CXXFLAGS="$CXXFLAGS $X_CFLAGS"
|
||||||
LIBS="$LIBS $X_LIBS"
|
LIBS="$X_LIBS $LIBS"
|
||||||
LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS"
|
LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS"
|
||||||
|
|
||||||
|
|
||||||
dnl Check for required functions in -lX11
|
dnl Check for required functions in -lX11
|
||||||
AC_CHECK_LIB(X11, XOpenDisplay,
|
AC_CHECK_LIB(X11, XOpenDisplay,
|
||||||
LIBS="$LIBS -lX11",
|
LIBS="-lX11 $LIBS",
|
||||||
AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.])
|
AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.])
|
||||||
)
|
)
|
||||||
LIBS="$LIBS $X_EXTRA_LIBS"
|
LIBS="$X_EXTRA_LIBS $LIBS"
|
||||||
|
|
||||||
AC_CHECK_LIB(xpg4, setlocale, LIBS="$LIBS -lxpg4")
|
AC_CHECK_LIB(xpg4, setlocale, LIBS="-lxpg4 $LIBS")
|
||||||
|
|
||||||
AC_CHECK_PROGS(gencat_cmd, gencat)
|
AC_CHECK_PROGS(gencat_cmd, gencat)
|
||||||
if test x$gencat_cmd = "x"; then
|
if test x$gencat_cmd = "x"; then
|
||||||
|
@ -397,14 +397,14 @@ AC_ARG_ENABLE(
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_CHECK_LIB(Xrender, XRenderCreatePicture,
|
AC_CHECK_LIB(Xrender, XRenderCreatePicture,
|
||||||
AC_DEFINE(HAVE_XRENDER, 1, "Xrender support")
|
AC_DEFINE(HAVE_XRENDER, 1, "Xrender support")
|
||||||
LIBS="$LIBS -lXrender")
|
LIBS="-lXrender $LIBS")
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
fi,
|
fi,
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_CHECK_LIB(Xrender, XRenderCreatePicture,
|
AC_CHECK_LIB(Xrender, XRenderCreatePicture,
|
||||||
AC_DEFINE(HAVE_XRENDER, 1, "Xrender support")
|
AC_DEFINE(HAVE_XRENDER, 1, "Xrender support")
|
||||||
LIBS="$LIBS -lXrender")
|
LIBS="-lXrender $LIBS")
|
||||||
)
|
)
|
||||||
|
|
||||||
XPM=false
|
XPM=false
|
||||||
|
@ -417,7 +417,7 @@ AC_ARG_ENABLE(
|
||||||
AC_CHECK_LIB(Xpm, XpmReadFileToPixmap,
|
AC_CHECK_LIB(Xpm, XpmReadFileToPixmap,
|
||||||
AC_DEFINE(HAVE_XPM, 1, "Xpm support")
|
AC_DEFINE(HAVE_XPM, 1, "Xpm support")
|
||||||
XPM=true
|
XPM=true
|
||||||
LIBS="$LIBS -lXpm")
|
LIBS="-lXpm $LIBS")
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
fi,
|
fi,
|
||||||
|
@ -425,7 +425,7 @@ AC_ARG_ENABLE(
|
||||||
AC_CHECK_LIB(Xpm, XpmReadFileToPixmap,
|
AC_CHECK_LIB(Xpm, XpmReadFileToPixmap,
|
||||||
AC_DEFINE(HAVE_XPM, 1, "Xpm support")
|
AC_DEFINE(HAVE_XPM, 1, "Xpm support")
|
||||||
XPM=true
|
XPM=true
|
||||||
LIBS="$LIBS -lXpm")
|
LIBS="-lXpm $LIBS")
|
||||||
)
|
)
|
||||||
|
|
||||||
AM_CONDITIONAL(XPM, test x$XPM = xtrue)
|
AM_CONDITIONAL(XPM, test x$XPM = xtrue)
|
||||||
|
@ -445,7 +445,7 @@ if test x$enable_imlib2 = "xyes"; then
|
||||||
AC_DEFINE(HAVE_IMLIB2, [], [Imlib2 support])
|
AC_DEFINE(HAVE_IMLIB2, [], [Imlib2 support])
|
||||||
IMLIB2_LIBS=`imlib2-config --libs`
|
IMLIB2_LIBS=`imlib2-config --libs`
|
||||||
IMLIB2_CFLAGS=`imlib2-config --cflags`
|
IMLIB2_CFLAGS=`imlib2-config --cflags`
|
||||||
LIBS="$LIBS $IMLIB2_LIBS"
|
LIBS="$IMLIB2_LIBS $LIBS"
|
||||||
CXXFLAGS="$CXXFLAGS $IMLIB2_CFLAGS"
|
CXXFLAGS="$CXXFLAGS $IMLIB2_CFLAGS"
|
||||||
], [ AC_MSG_RESULT(no)]
|
], [ AC_MSG_RESULT(no)]
|
||||||
)
|
)
|
||||||
|
@ -494,7 +494,7 @@ if test "x$enableval" = "xyes"; then
|
||||||
, XineramaQueryScreens(0, 0),
|
, XineramaQueryScreens(0, 0),
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(XINERAMA, [1], [Define to 1 if you have XINERAMA])
|
AC_DEFINE(XINERAMA, [1], [Define to 1 if you have XINERAMA])
|
||||||
LIBS="$LIBS -lXinerama",
|
LIBS="-lXinerama $LIBS",
|
||||||
AC_MSG_RESULT([no])))
|
AC_MSG_RESULT([no])))
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
@ -519,7 +519,7 @@ if test "x$enableval" = "xyes"; then
|
||||||
, long foo = ShapeSet,
|
, long foo = ShapeSet,
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(SHAPE, [1], [Define to 1 if you have SHAPE])
|
AC_DEFINE(SHAPE, [1], [Define to 1 if you have SHAPE])
|
||||||
LIBS="$LIBS -lXext"
|
LIBS="-lXext $LIBS"
|
||||||
FEATURES="$FEATURES XShape",
|
FEATURES="$FEATURES XShape",
|
||||||
AC_MSG_RESULT([no])))
|
AC_MSG_RESULT([no])))
|
||||||
else
|
else
|
||||||
|
@ -547,7 +547,7 @@ if test "x$enableval" = "xyes"; then
|
||||||
, XRRQueryExtension(0, 0, 0),
|
, XRRQueryExtension(0, 0, 0),
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(HAVE_RANDR, [1], [Define to 1 if you have RANDR])
|
AC_DEFINE(HAVE_RANDR, [1], [Define to 1 if you have RANDR])
|
||||||
LIBS="$LIBS -lXrandr",
|
LIBS="-lXrandr $LIBS",
|
||||||
AC_MSG_RESULT([no])))
|
AC_MSG_RESULT([no])))
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
@ -571,7 +571,7 @@ if test "x$enableval" = "xyes"; then
|
||||||
, XRRUpdateConfiguration(0),
|
, XRRUpdateConfiguration(0),
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(HAVE_RANDR1_2, [1], [Define to 1 if you have RANDR 1.2])
|
AC_DEFINE(HAVE_RANDR1_2, [1], [Define to 1 if you have RANDR 1.2])
|
||||||
LIBS="$LIBS -lXrandr",
|
LIBS="-lXrandr $LIBS",
|
||||||
AC_MSG_RESULT([no])))
|
AC_MSG_RESULT([no])))
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
@ -613,7 +613,7 @@ if test "x$enableval" = "xyes"; then
|
||||||
, fribidi_version_info,
|
, fribidi_version_info,
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(HAVE_FRIBIDI, [1], [Define to 1 if you have FRIBIDI])
|
AC_DEFINE(HAVE_FRIBIDI, [1], [Define to 1 if you have FRIBIDI])
|
||||||
LIBS="$LIBS -lfribidi",
|
LIBS="-lfribidi $LIBS",
|
||||||
AC_MSG_RESULT([no])))
|
AC_MSG_RESULT([no])))
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
|
|
@ -60,8 +60,13 @@ App::App(const char *displayname):m_done(false), m_display(0) {
|
||||||
if (displayname != 0 && displayname[0] == '\0')
|
if (displayname != 0 && displayname[0] == '\0')
|
||||||
displayname = 0;
|
displayname = 0;
|
||||||
m_display = XOpenDisplay(displayname);
|
m_display = XOpenDisplay(displayname);
|
||||||
if (!m_display)
|
if (!m_display) {
|
||||||
throw std::string("Couldn't connect to XServer");
|
if (displayname) {
|
||||||
|
throw std::string("Couldn't connect to XServer") + displayname;
|
||||||
|
} else {
|
||||||
|
throw std::string("Couldn't connect to XServer passing null display");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
FbStringUtil::init();
|
FbStringUtil::init();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,9 +63,14 @@ bool FileUtil::isExecutable(const char* filename) {
|
||||||
if (!filename || stat(filename, &buf))
|
if (!filename || stat(filename, &buf))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return buf.st_mode & S_IXUSR ||
|
return buf.st_mode & S_IXUSR
|
||||||
buf.st_mode & S_IXGRP ||
|
#ifdef S_IXGRP
|
||||||
buf.st_mode & S_IXOTH;
|
|| buf.st_mode & S_IXGRP
|
||||||
|
#endif
|
||||||
|
#ifdef S_IXOTH
|
||||||
|
|| buf.st_mode & S_IXOTH
|
||||||
|
#endif
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FileUtil::copyFile(const char* from, const char* to) {
|
bool FileUtil::copyFile(const char* from, const char* to) {
|
||||||
|
|
|
@ -72,17 +72,17 @@ void NLSInit(const char *catalog) {
|
||||||
|
|
||||||
|
|
||||||
I18n::I18n():m_multibyte(false), m_utf8_translate(false), m_catalog_fd((nl_catd)(-1)) {
|
I18n::I18n():m_multibyte(false), m_utf8_translate(false), m_catalog_fd((nl_catd)(-1)) {
|
||||||
#ifdef HAVE_SETLOCALE
|
#if defined(HAVE_SETLOCALE) && defined(NLS)
|
||||||
//make sure we don't get 0 to m_locale string
|
//make sure we don't get 0 to m_locale string
|
||||||
char *temp = setlocale(LC_MESSAGES, "");
|
char *temp = setlocale(LC_MESSAGES, "");
|
||||||
m_locale = ( temp ? temp : "");
|
m_locale = ( temp ? temp : "");
|
||||||
if (m_locale.empty()) {
|
if (m_locale.empty()) {
|
||||||
cerr<<"Warning: Failed to set locale, reverting to \"C\""<<endl;
|
cerr<<"Warning: Failed to set locale, reverting to \"C\""<<endl;
|
||||||
#endif // HAVE_SETLOCALE
|
#endif // defined(HAVE_SETLOCALE) && defined(NLS)
|
||||||
|
|
||||||
m_locale = "C";
|
m_locale = "C";
|
||||||
|
|
||||||
#ifdef HAVE_SETLOCALE
|
#if defined(HAVE_SETLOCALE) && defined(NLS)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ I18n::I18n():m_multibyte(false), m_utf8_translate(false), m_catalog_fd((nl_catd)
|
||||||
if (index != string::npos)
|
if (index != string::npos)
|
||||||
m_locale.erase(0,index+1); //erase all characters starting up to index
|
m_locale.erase(0,index+1); //erase all characters starting up to index
|
||||||
}
|
}
|
||||||
#endif // HAVE_SETLOCALE
|
#endif // defined(HAVE_SETLOCALE) && defined(NLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ bool SignalHandler::registerHandler(int signum, SignalEventHandler *eh,
|
||||||
if (oldhandler_ret != 0)
|
if (oldhandler_ret != 0)
|
||||||
*oldhandler_ret = s_signal_handler[signum];
|
*oldhandler_ret = s_signal_handler[signum];
|
||||||
|
|
||||||
|
#ifdef HAVE_SIGACTION
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
// set callback
|
// set callback
|
||||||
sa.sa_handler = SignalHandler::handleSignal;
|
sa.sa_handler = SignalHandler::handleSignal;
|
||||||
|
@ -54,7 +55,12 @@ bool SignalHandler::registerHandler(int signum, SignalEventHandler *eh,
|
||||||
|
|
||||||
if (sigaction(signum, &sa, 0) == -1)
|
if (sigaction(signum, &sa, 0) == -1)
|
||||||
return false;
|
return false;
|
||||||
|
#else
|
||||||
|
// Fallback code for Windows and other platforms lacking sigaction.
|
||||||
|
if (signal(signum, &SignalHandler::handleSignal) == SIG_ERR) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
s_signal_handler[signum] = eh;
|
s_signal_handler[signum] = eh;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -49,7 +49,9 @@
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_SELECT_H
|
||||||
# include <sys/select.h>
|
# include <sys/select.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace FbTk {
|
namespace FbTk {
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ defaults.hh: Makefile
|
||||||
defaults.cc: force
|
defaults.cc: force
|
||||||
@( \
|
@( \
|
||||||
GITDIR=$(top_srcdir)/.git; \
|
GITDIR=$(top_srcdir)/.git; \
|
||||||
|
echo '// This file is generated from Makefile. Do not edit!'; \
|
||||||
echo '#include "defaults.hh"'; \
|
echo '#include "defaults.hh"'; \
|
||||||
echo ''; \
|
echo ''; \
|
||||||
echo 'std::string realProgramName(const std::string& name) {'; \
|
echo 'std::string realProgramName(const std::string& name) {'; \
|
||||||
|
|
|
@ -40,7 +40,10 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#ifdef HAVE_SYS_WAIT_H
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CSTRING
|
#ifdef HAVE_CSTRING
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -124,7 +124,9 @@
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif // HAVE_SYS_STAT_H
|
#endif // HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_WAIT_H
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
#endif // HAVE_SYS_WAIT_H
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
22
src/main.cc
22
src/main.cc
|
@ -34,6 +34,7 @@
|
||||||
#include "FbTk/I18n.hh"
|
#include "FbTk/I18n.hh"
|
||||||
#include "FbTk/CommandParser.hh"
|
#include "FbTk/CommandParser.hh"
|
||||||
#include "FbTk/FileUtil.hh"
|
#include "FbTk/FileUtil.hh"
|
||||||
|
#include "FbTk/StringUtil.hh"
|
||||||
|
|
||||||
//use GNU extensions
|
//use GNU extensions
|
||||||
#ifndef _GNU_SOURCE
|
#ifndef _GNU_SOURCE
|
||||||
|
@ -114,22 +115,22 @@ static void showInfo(ostream &ostr) {
|
||||||
|
|
||||||
ostr <<_FB_CONSOLETEXT(Common, DefaultMenuFile, " menu", "default menu file (right aligned - make sure same width as other default values)")
|
ostr <<_FB_CONSOLETEXT(Common, DefaultMenuFile, " menu", "default menu file (right aligned - make sure same width as other default values)")
|
||||||
<< ": "
|
<< ": "
|
||||||
<< DEFAULTMENU << endl;
|
<< FbTk::StringUtil::expandFilename(DEFAULTMENU) << endl;
|
||||||
ostr << _FB_CONSOLETEXT(Common, DefaultStyle, " style", "default style (right aligned - make sure same width as other default values)")
|
ostr << _FB_CONSOLETEXT(Common, DefaultStyle, " style", "default style (right aligned - make sure same width as other default values)")
|
||||||
<< ": "
|
<< ": "
|
||||||
<< DEFAULTSTYLE << endl;
|
<< FbTk::StringUtil::expandFilename(DEFAULTSTYLE) << endl;
|
||||||
|
|
||||||
ostr << _FB_CONSOLETEXT(Common, DefaultKeyFile, " keys", "default key file (right aligned - make sure same width as other default values)")
|
ostr << _FB_CONSOLETEXT(Common, DefaultKeyFile, " keys", "default key file (right aligned - make sure same width as other default values)")
|
||||||
<< ": "
|
<< ": "
|
||||||
<< DEFAULTKEYSFILE << endl;
|
<< FbTk::StringUtil::expandFilename(DEFAULTKEYSFILE) << endl;
|
||||||
ostr << _FB_CONSOLETEXT(Common, DefaultInitFile, " init", "default init file (right aligned - make sure same width as other default values)")
|
ostr << _FB_CONSOLETEXT(Common, DefaultInitFile, " init", "default init file (right aligned - make sure same width as other default values)")
|
||||||
<< ": "
|
<< ": "
|
||||||
<< DEFAULT_INITFILE << endl;
|
<< FbTk::StringUtil::expandFilename(DEFAULT_INITFILE) << endl;
|
||||||
|
|
||||||
#ifdef NLS
|
#ifdef NLS
|
||||||
ostr << _FB_CONSOLETEXT(Common, DefaultLocalePath, " nls", "location for localization files (right aligned - make sure same width as other default values)")
|
ostr << _FB_CONSOLETEXT(Common, DefaultLocalePath, " nls", "location for localization files (right aligned - make sure same width as other default values)")
|
||||||
<< ": "
|
<< ": "
|
||||||
<< LOCALEPATH << endl;
|
<< FbTk::StringUtil::expandFilename(LOCALEPATH) << endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char NOT[] = "-";
|
const char NOT[] = "-";
|
||||||
|
@ -220,12 +221,12 @@ struct Options {
|
||||||
const char* env;
|
const char* env;
|
||||||
|
|
||||||
env = getenv("DISPLAY");
|
env = getenv("DISPLAY");
|
||||||
if (env) {
|
if (env && strlen(env) > 0) {
|
||||||
session_display.assign(env);
|
session_display.assign(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
env = getenv("HOME");
|
env = getenv("HOME");
|
||||||
if (env) {
|
if (env && strlen(env) > 0) {
|
||||||
rc_path.assign(std::string(env) + "/." + realProgramName("fluxbox"));
|
rc_path.assign(std::string(env) + "/." + realProgramName("fluxbox"));
|
||||||
rc_file = rc_path + "/init";
|
rc_file = rc_path + "/init";
|
||||||
}
|
}
|
||||||
|
@ -369,14 +370,15 @@ void setupConfigFiles(const std::string& dirname, const std::string& rc) {
|
||||||
// copy default files if needed
|
// copy default files if needed
|
||||||
for (size_t i = 0; i < nr_of_cfiles; ++i) {
|
for (size_t i = 0; i < nr_of_cfiles; ++i) {
|
||||||
if (cfiles[i].create_file) {
|
if (cfiles[i].create_file) {
|
||||||
FbTk::FileUtil::copyFile(cfiles[i].default_name, cfiles[i].filename.c_str());
|
FbTk::FileUtil::copyFile(FbTk::StringUtil::expandFilename(cfiles[i].default_name).c_str(), cfiles[i].filename.c_str());
|
||||||
sync_fs = true;
|
sync_fs = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_SYNC
|
||||||
if (sync_fs) {
|
if (sync_fs) {
|
||||||
sync();
|
sync();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -413,7 +415,9 @@ void updateConfigFilesIfNeeded(const std::string& rc_file) {
|
||||||
<< commandargs
|
<< commandargs
|
||||||
<< "' failed." << endl;
|
<< "' failed." << endl;
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_SYNC
|
||||||
sync();
|
sync();
|
||||||
|
#endif // HAVE_SYNC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue