X11: implement OS.get_unique_id

This commit is contained in:
geequlim 2018-01-20 21:42:19 +08:00 committed by Geequlim
parent 3be04f73f5
commit df1c16d0fe
2 changed files with 17 additions and 0 deletions

View file

@ -549,6 +549,21 @@ void OS_X11::set_ime_position(const Point2 &p_pos) {
XFree(preedit_attr);
}
String OS_X11::get_unique_id() const {
static String machine_id;
if (machine_id.empty()) {
if (FileAccess *f = FileAccess::open("/etc/machine-id", FileAccess::READ)) {
while (machine_id.empty() && !f->eof_reached()) {
machine_id = f->get_line().strip_edges();
}
f->close();
memdelete(f);
}
}
return machine_id;
}
void OS_X11::finalize() {
if (main_loop)

View file

@ -266,6 +266,8 @@ public:
virtual bool get_borderless_window();
virtual void set_ime_position(const Point2 &p_pos);
virtual String get_unique_id() const;
virtual void move_window_to_foreground();
virtual void alert(const String &p_alert, const String &p_title = "ALERT!");