Properly implement OS.alert() from script, and use xmessage on X11
This commit is contained in:
parent
8f07f24318
commit
ce6fefced8
4 changed files with 20 additions and 1 deletions
|
@ -732,6 +732,11 @@ int _OS::find_scancode_from_string(const String& p_code) const {
|
||||||
return find_keycode(p_code);
|
return find_keycode(p_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _OS::alert(const String& p_alert,const String& p_title) {
|
||||||
|
|
||||||
|
OS::get_singleton()->alert(p_alert,p_title);
|
||||||
|
}
|
||||||
|
|
||||||
_OS *_OS::singleton=NULL;
|
_OS *_OS::singleton=NULL;
|
||||||
|
|
||||||
void _OS::_bind_methods() {
|
void _OS::_bind_methods() {
|
||||||
|
@ -859,6 +864,7 @@ void _OS::_bind_methods() {
|
||||||
|
|
||||||
ObjectTypeDB::bind_method(_MD("set_use_file_access_save_and_swap","enabled"),&_OS::set_use_file_access_save_and_swap);
|
ObjectTypeDB::bind_method(_MD("set_use_file_access_save_and_swap","enabled"),&_OS::set_use_file_access_save_and_swap);
|
||||||
|
|
||||||
|
ObjectTypeDB::bind_method(_MD("alert","text","title"),&_OS::alert,DEFVAL("Alert!"));
|
||||||
|
|
||||||
|
|
||||||
BIND_CONSTANT( DAY_SUNDAY );
|
BIND_CONSTANT( DAY_SUNDAY );
|
||||||
|
|
|
@ -256,6 +256,9 @@ public:
|
||||||
|
|
||||||
String get_data_dir() const;
|
String get_data_dir() const;
|
||||||
|
|
||||||
|
void alert(const String& p_alert,const String& p_title="ALERT!");
|
||||||
|
|
||||||
|
|
||||||
void set_screen_orientation(ScreenOrientation p_orientation);
|
void set_screen_orientation(ScreenOrientation p_orientation);
|
||||||
ScreenOrientation get_screen_orientation() const;
|
ScreenOrientation get_screen_orientation() const;
|
||||||
|
|
||||||
|
|
|
@ -1866,6 +1866,16 @@ void OS_X11::swap_buffers() {
|
||||||
context_gl->swap_buffers();
|
context_gl->swap_buffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OS_X11::alert(const String& p_alert,const String& p_title) {
|
||||||
|
|
||||||
|
List<String> args;
|
||||||
|
args.push_back("-center");
|
||||||
|
args.push_back("-title");
|
||||||
|
args.push_back(p_title);
|
||||||
|
args.push_back(p_alert);
|
||||||
|
|
||||||
|
execute("/usr/bin/xmessage",args,true);
|
||||||
|
}
|
||||||
|
|
||||||
void OS_X11::set_icon(const Image& p_icon) {
|
void OS_X11::set_icon(const Image& p_icon) {
|
||||||
if (!p_icon.empty()) {
|
if (!p_icon.empty()) {
|
||||||
|
|
|
@ -243,7 +243,7 @@ public:
|
||||||
virtual bool is_window_maximized() const;
|
virtual bool is_window_maximized() const;
|
||||||
|
|
||||||
virtual void move_window_to_foreground();
|
virtual void move_window_to_foreground();
|
||||||
|
virtual void alert(const String& p_alert,const String& p_title="ALERT!");
|
||||||
void run();
|
void run();
|
||||||
|
|
||||||
OS_X11();
|
OS_X11();
|
||||||
|
|
Loading…
Reference in a new issue