diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-05-10 11:42:33 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-05-10 11:42:33 +0200 |
commit | 6f08fd4510dd426322af28b3bf982bb44f218465 (patch) | |
tree | 115664f7da9117de2e12cfdf621db09dac245346 | |
parent | e06d459f5732e05a91ba19b95f8392fbf004bd19 (diff) |
winwidget.c: Set _NET_WM_NAME and _NET_WM_ICON_NAME, marked as utf8 (closes #44)
Note that feh does not try to convert encodings or anything. It expects
filenames to be in UTF8 and passe them on to NET_WM_NAME and NET_WM_ICON NAME.
The only new thing is that it now also sets _NET_WM_NAME and _NET_WM_ICON_NAME
and explicitly tells X11 that they are in UTF-8. Again, no recode, if you use
UTF-8 filesystems (which you should), everything is fine.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/winwidget.c | 11 |
2 files changed, 12 insertions, 1 deletions
@@ -25,6 +25,8 @@ git HEAD <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625683> * Fix --auto-zoom / --zoom max/fill documentation, the "Auto-Zoom" menu option is now always checked when these options are used + * Set _NET_WM_NAME and _NET_WM_ICON_NAME properties + <http://github.com/derf/feh/issues/44> Sat, 23 Apr 2011 22:00:27 +0200 Daniel Friesel <derf@finalrewind.org> diff --git a/src/winwidget.c b/src/winwidget.c index 964c835..599e4bf 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -302,12 +302,21 @@ void winwidget_create_window(winwidget ret, int w, int h) void winwidget_update_title(winwidget ret) { char *name; + Atom prop_name = XInternAtom(disp, "_NET_WM_NAME", False); + Atom prop_icon = XInternAtom(disp, "_NET_WM_ICON_NAME", False); + Atom prop_utf8 = XInternAtom(disp, "UTF8_STRING", False); D(("winwid->name = %s\n", ret->name)); name = ret->name ? ret->name : "feh"; XStoreName(disp, ret->win, name); XSetIconName(disp, ret->win, name); - /* XFlush(disp); */ + + XChangeProperty(disp, ret->win, prop_name, prop_utf8, 8, + PropModeReplace, (const unsigned char *)name, strlen(name)); + + XChangeProperty(disp, ret->win, prop_icon, prop_utf8, 8, + PropModeReplace, (const unsigned char *)name, strlen(name)); + return; } |