mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-28 04:03:39 +08:00
Put the universal variables notifier named pipe in XDG_RUNTIME_DIR
This is where named pipes belong.
This commit is contained in:
parent
330e996c30
commit
220a15b8f6
|
@ -67,13 +67,12 @@
|
||||||
static wcstring fishd_get_config();
|
static wcstring fishd_get_config();
|
||||||
static std::string get_variables_file_path(const std::string &dir, const std::string &identifier);
|
static std::string get_variables_file_path(const std::string &dir, const std::string &identifier);
|
||||||
|
|
||||||
static wcstring default_vars_path_uncached()
|
static wcstring vars_filename_in_directory(const wcstring &wdir)
|
||||||
{
|
{
|
||||||
wcstring wdir = fishd_get_config();
|
if (wdir.empty())
|
||||||
const std::string dir = wcs2string(wdir);
|
|
||||||
if (dir.empty())
|
|
||||||
return L"";
|
return L"";
|
||||||
|
|
||||||
|
const std::string dir = wcs2string(wdir);
|
||||||
const std::string machine_id = get_machine_identifier();
|
const std::string machine_id = get_machine_identifier();
|
||||||
const std::string machine_id_path = get_variables_file_path(dir, machine_id);
|
const std::string machine_id_path = get_variables_file_path(dir, machine_id);
|
||||||
return str2wcstring(machine_id_path);
|
return str2wcstring(machine_id_path);
|
||||||
|
@ -81,10 +80,24 @@ static wcstring default_vars_path_uncached()
|
||||||
|
|
||||||
static const wcstring &default_vars_path()
|
static const wcstring &default_vars_path()
|
||||||
{
|
{
|
||||||
static wcstring cached_result = default_vars_path_uncached();
|
static wcstring cached_result = vars_filename_in_directory(fishd_get_config());
|
||||||
return cached_result;
|
return cached_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Like default_vars_path, but returns a file in XDG_RUNTIME_DIR, if present. This is called infrequently and so does not need to be cached. */
|
||||||
|
static wcstring default_named_pipe_path()
|
||||||
|
{
|
||||||
|
env_var_t xdg_runtime_wdir = env_get_string(L"XDG_RUNTIME_DIR", ENV_GLOBAL | ENV_EXPORT);
|
||||||
|
if (! xdg_runtime_wdir.missing_or_empty())
|
||||||
|
{
|
||||||
|
return vars_filename_in_directory(xdg_runtime_wdir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return default_vars_path();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Test if the message msg contains the command cmd
|
Test if the message msg contains the command cmd
|
||||||
*/
|
*/
|
||||||
|
@ -1277,7 +1290,7 @@ class universal_notifier_named_pipe_t : public universal_notifier_t
|
||||||
|
|
||||||
void make_pipe(const wchar_t *test_path)
|
void make_pipe(const wchar_t *test_path)
|
||||||
{
|
{
|
||||||
wcstring vars_path = test_path ? wcstring(test_path) : default_vars_path();
|
wcstring vars_path = test_path ? wcstring(test_path) : default_named_pipe_path();
|
||||||
vars_path.append(L".notifier");
|
vars_path.append(L".notifier");
|
||||||
const std::string narrow_path = wcs2string(vars_path);
|
const std::string narrow_path = wcs2string(vars_path);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user