diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xrdb.c | 4 | ||||
| -rw-r--r-- | src/xterm.c | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/xrdb.c b/src/xrdb.c index e3a1fcb15a9..3d7f715c88f 100644 --- a/src/xrdb.c +++ b/src/xrdb.c @@ -289,9 +289,9 @@ get_user_app (const char *class) /* Check in the home directory. This is a bit of a hack; let's hope one's home directory doesn't contain ':' or '%'. */ char const *home = get_homedir (); - db = search_magic_path (home, class, "%L/%N"); + db = search_magic_path (home, class, "/%L/%N"); if (! db) - db = search_magic_path (home, class, "%N"); + db = search_magic_path (home, class, "/%N"); } return db; diff --git a/src/xterm.c b/src/xterm.c index 6340700cb89..2a99c469276 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -8760,6 +8760,20 @@ handle_one_xevent (struct x_display_info *dpyinfo, goto OTHER; case FocusIn: + /* Some WMs (e.g. Mutter in Gnome Shell), don't unmap + minimized/iconified windows; thus, for those WMs we won't get + a MapNotify when unminimizing/deconifying. Check here if we + are deconizing a window (Bug42655). */ + f = any; + if (f && FRAME_ICONIFIED_P (f)) + { + SET_FRAME_VISIBLE (f, 1); + SET_FRAME_ICONIFIED (f, false); + f->output_data.x->has_been_visible = true; + inev.ie.kind = DEICONIFY_EVENT; + XSETFRAME (inev.ie.frame_or_window, f); + } + x_detect_focus_change (dpyinfo, any, event, &inev.ie); goto OTHER; |
