Hide U flag altogether if not on Linux
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
This commit is contained in:

committed by
Brenden Matthews

parent
e6465e8298
commit
3ed65249be
@@ -162,7 +162,8 @@ file.
|
|||||||
|
|
||||||
**-U \| \--unique**
|
**-U \| \--unique**
|
||||||
|
|
||||||
: Conky won't start if another Conky process is already running.
|
: Conky won't start if another Conky process is already running. Implemented
|
||||||
|
only for Linux.
|
||||||
|
|
||||||
**-v \| -V \| \--version**
|
**-v \| -V \| \--version**
|
||||||
|
|
||||||
|
13
src/conky.cc
13
src/conky.cc
@@ -2106,7 +2106,10 @@ void set_current_config() {
|
|||||||
|
|
||||||
/* : means that character before that takes an argument */
|
/* : means that character before that takes an argument */
|
||||||
const char *getopt_string =
|
const char *getopt_string =
|
||||||
"vVqdDSs:t:u:i:hc:p:U"
|
"vVqdDSs:t:u:i:hc:p:"
|
||||||
|
#if defined(__linux__)
|
||||||
|
"U"
|
||||||
|
#endif
|
||||||
#ifdef BUILD_X11
|
#ifdef BUILD_X11
|
||||||
"x:y:w:a:X:m:f:"
|
"x:y:w:a:X:m:f:"
|
||||||
#ifdef OWN_WINDOW
|
#ifdef OWN_WINDOW
|
||||||
@@ -2136,8 +2139,12 @@ const struct option longopts[] = {
|
|||||||
{"double-buffer", 0, nullptr, 'b'}, {"window-id", 1, nullptr, 'w'},
|
{"double-buffer", 0, nullptr, 'b'}, {"window-id", 1, nullptr, 'w'},
|
||||||
#endif /* BUILD_X11 */
|
#endif /* BUILD_X11 */
|
||||||
{"text", 1, nullptr, 't'}, {"interval", 1, nullptr, 'u'},
|
{"text", 1, nullptr, 't'}, {"interval", 1, nullptr, 'u'},
|
||||||
{"pause", 1, nullptr, 'p'}, {"unique", 0, nullptr, 'U'},
|
{"pause", 1, nullptr, 'p'},
|
||||||
{nullptr, 0, nullptr, 0}};
|
#if defined(__linux__)
|
||||||
|
{"unique", 0, nullptr, 'U'},
|
||||||
|
#endif /* Linux */
|
||||||
|
{nullptr, 0, nullptr, 0}
|
||||||
|
};
|
||||||
|
|
||||||
void setup_inotify() {
|
void setup_inotify() {
|
||||||
#ifdef HAVE_SYS_INOTIFY_H
|
#ifdef HAVE_SYS_INOTIFY_H
|
||||||
|
@@ -275,6 +275,7 @@ static void print_help(const char *prog_name) {
|
|||||||
prog_name);
|
prog_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
// NOTE: Only works on systems where there is a /proc/[pid]/stat file.
|
// NOTE: Only works on systems where there is a /proc/[pid]/stat file.
|
||||||
static bool is_conky_already_running() {
|
static bool is_conky_already_running() {
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
@@ -312,6 +313,7 @@ static bool is_conky_already_running() {
|
|||||||
closedir(dir);
|
closedir(dir);
|
||||||
return instances > 1;
|
return instances > 1;
|
||||||
}
|
}
|
||||||
|
#endif /* Linux */
|
||||||
|
|
||||||
inline void reset_optind() {
|
inline void reset_optind() {
|
||||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
|
||||||
@@ -392,19 +394,22 @@ int main(int argc, char **argv) {
|
|||||||
window.window = strtol(optarg, nullptr, 0);
|
window.window = strtol(optarg, nullptr, 0);
|
||||||
break;
|
break;
|
||||||
#endif /* BUILD_X11 */
|
#endif /* BUILD_X11 */
|
||||||
|
#if defined(__linux__)
|
||||||
case 'U':
|
case 'U':
|
||||||
unique_process = true;
|
unique_process = true;
|
||||||
break;
|
break;
|
||||||
|
#endif /* Linux */
|
||||||
case '?':
|
case '?':
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
if (unique_process && is_conky_already_running()) {
|
if (unique_process && is_conky_already_running()) {
|
||||||
NORM_ERR("already running");
|
NORM_ERR("already running");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* Linux */
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_current_config();
|
set_current_config();
|
||||||
|
Reference in New Issue
Block a user