ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/main.C
(Generate patch)

Comparing rxvt-unicode/src/main.C (file contents):
Revision 1.116 by root, Sun Nov 21 19:04:07 2004 UTC vs.
Revision 1.119 by root, Mon Dec 13 01:29:03 2004 UTC

259 free (env_windowid); 259 free (env_windowid);
260 free (env_display); 260 free (env_display);
261 free (env_term); 261 free (env_term);
262 free (env_colorfgbg); 262 free (env_colorfgbg);
263 free (locale); 263 free (locale);
264#if 0 264 free (incr_buf);
265 free (codeset);
266#endif
267 265
268 delete envv; 266 delete envv;
269 delete argv; 267 delete argv;
270} 268}
271 269
355 353
356 init_xlocale (); 354 init_xlocale ();
357 355
358 scr_reset (); /* initialize screen */ 356 scr_reset (); /* initialize screen */
359 357
360#if 1 358#if 0
361 XSynchronize (display->display, True); 359 XSynchronize (display->display, True);
362#endif 360#endif
363 361
364#ifdef HAVE_SCROLLBARS 362#ifdef HAVE_SCROLLBARS
365 if (options & Opt_scrollBar) 363 if (options & Opt_scrollBar)
831 } 829 }
832 830
833 return true; 831 return true;
834} 832}
835 833
834void rxvt_term::set_string_property (Atom prop, const char *str, int len)
835{
836 // TODO: SMART_WINDOW_TITLE
837 XChangeProperty (display->display, TermWin.parent[0],
838 prop, XA_STRING, 8, PropModeReplace,
839 (const unsigned char *)str, len >= 0 ? len : strlen (str));
840}
841
842void rxvt_term::set_utf8_property (Atom prop, const char *str, int len)
843{
844 // TODO: SMART_WINDOW_TITLE
845 wchar_t *ws = rxvt_mbstowcs (str, len);
846 char *s = rxvt_wcstoutf8 (ws);
847
848 XChangeProperty (display->display, TermWin.parent[0],
849 prop, xa[XA_UTF8_STRING], 8, PropModeReplace,
850 (const unsigned char *)s, strlen (s));
851
852 free (s);
853 free (ws);
854}
855
836/*----------------------------------------------------------------------*/ 856/*----------------------------------------------------------------------*/
837/*----------------------------------------------------------------------*/ 857/*----------------------------------------------------------------------*/
838/* xterm sequences - title, iconName, color (exptl) */ 858/* xterm sequences - title, iconName, color (exptl) */
839void 859void
840rxvt_term::set_title (const char *str) 860rxvt_term::set_title (const char *str)
841{ 861{
842#ifdef SMART_WINDOW_TITLE 862 set_string_property (XA_WM_NAME, str);
843 char *name; 863#if ENABLE_FRILLS
844 864 set_utf8_property (display->atom ("_NET_WM_NAME"), str);
845 if (!XFetchName (display->display, TermWin.parent[0], &name))
846 name = NULL;
847
848 if (name == NULL || strcmp (name, str))
849#endif
850 XStoreName (display->display, TermWin.parent[0], str);
851
852#ifdef SMART_WINDOW_TITLE
853 if (name)
854 XFree (name);
855#endif 865#endif
856} 866}
857 867
858void 868void
859rxvt_term::set_icon_name (const char *str) 869rxvt_term::set_icon_name (const char *str)
860{ 870{
861#ifdef SMART_WINDOW_TITLE 871 set_string_property (XA_WM_ICON_NAME, str);
862 char *name; 872#if ENABLE_FRILLS
863 873 set_utf8_property (display->atom ("_NET_WM_ICON_NAME"), str);
864 if (!XGetIconName (display->display, TermWin.parent[0], &name))
865 name = NULL;
866
867 if (name == NULL || strcmp (name, str))
868#endif
869 XSetIconName (display->display, TermWin.parent[0], str);
870
871#ifdef SMART_WINDOW_TITLE
872 if (name)
873 XFree (name);
874#endif 874#endif
875} 875}
876 876
877#ifdef XTERM_COLOR_CHANGE 877#ifdef XTERM_COLOR_CHANGE
878void 878void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines