#define E_PROP_DEVICEMGR_INPUTWIN "DeviceMgr Input Window"
-#define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
-
/////////////////////////////////////////////////////////////////////////////
// Declaration of external variables.
/////////////////////////////////////////////////////////////////////////////
}
}
-#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
- #define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
-#endif
static std::vector<String> __active_helpers;
static String scim_helper_path;
#include <Ecore.h>
#include <Ecore_Ipc.h>
-#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
-#define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
-#endif
-
static Ecore_Ipc_Server *server = NULL;
static Ecore_Event_Handler *exit_handler = NULL;
static Ecore_Event_Handler *data_handler = NULL;
#include "scim_utility.h"
+#ifndef SCIM_HELPER_LAUNCHER_PROGRAM
+#define SCIM_HELPER_LAUNCHER_PROGRAM (SCIM_LIBEXECDIR "/scim-helper-launcher")
+#endif
+
namespace scim {
/**
uuid = String (argv [i]);
continue;
}
+ }
- ISF_SAVE_LOG ("Invalid command line option: %d %s...\n", i, argv [i]);
+ String exec = String (argv[0]);
- std::cerr << "Invalid command line option: " << argv [i] << "\n";
- return -1;
+ if (exec != String (SCIM_HELPER_LAUNCHER_PROGRAM)) {
+ /* 3rd party shared object type IME */
+ uuid = helper = String ("lib") + exec.substr (exec.find_last_of (SCIM_PATH_DELIM) + 1);
}
SCIM_DEBUG_MAIN(1) << "scim-helper-launcher: " << config << " " << display << " " << helper << " " << uuid << "\n";