set frame title using _NET_WM_NAME and _NET_WM_ICON_NAME
svn: r3576
This commit is contained in:
parent
25f5e6b4eb
commit
9650d2f43a
|
@ -227,7 +227,6 @@ Bool wxFrame::Create(wxFrame *frame_parent, char *title,
|
||||||
}
|
}
|
||||||
// set common data
|
// set common data
|
||||||
SetSize(x, y, width, height, wxSIZE_AUTO | wxPOS_USE_MINUS_ONE);
|
SetSize(x, y, width, height, wxSIZE_AUTO | wxPOS_USE_MINUS_ONE);
|
||||||
SetTitle(title);
|
|
||||||
// create board widget
|
// create board widget
|
||||||
wgt = XtVaCreateManagedWidget(
|
wgt = XtVaCreateManagedWidget(
|
||||||
name, xfwfBoardWidgetClass, X->frame,
|
name, xfwfBoardWidgetClass, X->frame,
|
||||||
|
@ -238,6 +237,7 @@ Bool wxFrame::Create(wxFrame *frame_parent, char *title,
|
||||||
AddEventHandlers();
|
AddEventHandlers();
|
||||||
|
|
||||||
XtRealizeWidget(X->frame);
|
XtRealizeWidget(X->frame);
|
||||||
|
SetTitle(title);
|
||||||
// make a WM_PROTOCOLS atom if necessary
|
// make a WM_PROTOCOLS atom if necessary
|
||||||
XInternAtom(XtDisplay(X->frame), "WM_PROTOCOLS", False);
|
XInternAtom(XtDisplay(X->frame), "WM_PROTOCOLS", False);
|
||||||
// make a WM_DELETE_WINDOW atom
|
// make a WM_DELETE_WINDOW atom
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
# include <X11/Xft/Xft.h>
|
# include <X11/Xft/Xft.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static Atom utf8_atom = 0;
|
static Atom utf8_atom = 0, net_wm_name_atom, net_wm_icon_name_atom;
|
||||||
|
|
||||||
extern void wxSetSensitive(Widget, Bool enabled);
|
extern void wxSetSensitive(Widget, Bool enabled);
|
||||||
|
|
||||||
|
@ -243,19 +243,36 @@ void wxWindow::SetName(char *name)
|
||||||
|
|
||||||
void wxWindow::SetTitle(char *title)
|
void wxWindow::SetTitle(char *title)
|
||||||
{
|
{
|
||||||
|
/* Note: widget must be realized */
|
||||||
|
|
||||||
if (!X->frame) // forbid, if no widget associated
|
if (!X->frame) // forbid, if no widget associated
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!utf8_atom) {
|
if (!utf8_atom) {
|
||||||
utf8_atom = XInternAtom(XtDisplay(X->frame), "UTF8_STRING", FALSE);
|
utf8_atom = XInternAtom(XtDisplay(X->frame), "UTF8_STRING", FALSE);
|
||||||
|
net_wm_name_atom = XInternAtom(XtDisplay(X->frame), "_NET_WM_NAME", FALSE);
|
||||||
|
net_wm_icon_name_atom = XInternAtom(XtDisplay(X->frame), "_NET_WM_ICON_NAME", FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
XtVaSetValues(X->frame,
|
XtVaSetValues(X->frame,
|
||||||
XtNtitle, title,
|
XtNtitle, title,
|
||||||
XtNiconName, title,
|
XtNiconName, title,
|
||||||
XtNtitleEncoding, utf8_atom,
|
XtNtitleEncoding, utf8_atom,
|
||||||
XtNiconNameEncoding, utf8_atom,
|
XtNiconNameEncoding, utf8_atom,
|
||||||
NULL);
|
NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 2; i++) {
|
||||||
|
XChangeProperty(XtDisplay(X->frame), XtWindow(X->frame),
|
||||||
|
!i ? net_wm_name_atom: net_wm_icon_name_atom,
|
||||||
|
utf8_atom,
|
||||||
|
8, PropModeReplace,
|
||||||
|
(unsigned char *)title, strlen(title));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user