new i18n class using overloaded operator() instead of getMessage()

This commit is contained in:
Dana Jansens 2002-05-16 22:35:59 +00:00
parent 30136ab3e9
commit ae3dc273c4
18 changed files with 4153 additions and 4156 deletions

View file

@ -104,8 +104,9 @@ static int handleXErrors(Display *d, XErrorEvent *e) {
char errtxt[128];
XGetErrorText(d, e->error_code, errtxt, 128);
fprintf(stderr, i18n->getMessage(BaseDisplaySet, BaseDisplayXError,
"%s: X error: %s(%d) opcodes %d/%d\n resource 0x%lx\n"),
fprintf(stderr, i18n(BaseDisplaySet, BaseDisplayXError,
"%s: X error: %s(%d) opcodes %d/%d\n resource 0x%lx\n"
),
base_display->getApplicationName(), errtxt, e->error_code,
e->request_code, e->minor_code, e->resourceid);
#endif // DEBUG
@ -122,7 +123,7 @@ static int handleXErrors(Display *d, XErrorEvent *e) {
#ifndef HAVE_SIGACTION
static RETSIGTYPE signalhandler(int sig) {
#else // HAVE_SIGACTION
static void signalhandler(int sig) {
static void signalhandler(int sig) {
#endif // HAVE_SIGACTION
static int re_enter = 0;
@ -150,7 +151,7 @@ static void signalhandler(int sig) {
return;
}
fprintf(stderr, i18n->getMessage(BaseDisplaySet, BaseDisplaySignalCaught,
fprintf(stderr, i18n(BaseDisplaySet, BaseDisplaySignalCaught,
"%s: signal %d caught\n"),
base_display->getApplicationName(), sig);
@ -158,13 +159,13 @@ static void signalhandler(int sig) {
internal_error = True;
re_enter = 1;
fprintf(stderr, i18n->getMessage(BaseDisplaySet, BaseDisplayShuttingDown,
fprintf(stderr, i18n(BaseDisplaySet, BaseDisplayShuttingDown,
"shutting down\n"));
base_display->shutdown();
}
if (sig != SIGTERM && sig != SIGINT) {
fprintf(stderr, i18n->getMessage(BaseDisplaySet, BaseDisplayAborting,
fprintf(stderr, i18n(BaseDisplaySet, BaseDisplayAborting,
"aborting... dumping core\n"));
abort();
}
@ -173,29 +174,29 @@ static void signalhandler(int sig) {
break;
}
}
}
// convenience functions
// convenience functions
#ifndef __EMX__
void bexec(const char *command, char* displaystring) {
void bexec(const char *command, char* displaystring) {
if (! fork()) {
setsid();
putenv(displaystring);
execl("/bin/sh", "/bin/sh", "-c", command, NULL);
exit(0);
}
}
}
#endif // !__EMX__
char *bstrdup(const char *s) {
char *bstrdup(const char *s) {
const int l = strlen(s) + 1;
char *n = new char[l];
strncpy(n, s, l);
return n;
}
}
BaseDisplay::BaseDisplay(const char *app_name, char *dpy_name) {
BaseDisplay::BaseDisplay(const char *app_name, char *dpy_name) {
application_name = bstrdup(app_name);
_startup = True;
@ -234,12 +235,12 @@ BaseDisplay::BaseDisplay(const char *app_name, char *dpy_name) {
#endif // HAVE_SIGACTION
if (! (display = XOpenDisplay(dpy_name))) {
fprintf(stderr, i18n->getMessage(BaseDisplaySet, BaseDisplayXConnectFail,
fprintf(stderr, i18n(BaseDisplaySet, BaseDisplayXConnectFail,
"BaseDisplay::BaseDisplay: connection to X server failed.\n"));
::exit(2);
} else if (fcntl(ConnectionNumber(display), F_SETFD, 1) == -1) {
fprintf(stderr,
i18n->getMessage(BaseDisplaySet, BaseDisplayCloseOnExecFail,
i18n(BaseDisplaySet, BaseDisplayCloseOnExecFail,
"BaseDisplay::BaseDisplay: couldn't mark display connection "
"as close-on-exec\n"));
::exit(2);
@ -382,10 +383,10 @@ BaseDisplay::BaseDisplay(const char *app_name, char *dpy_name) {
NumLockMask = Mod2Mask;
ScrollLockMask = Mod5Mask;
#endif // NOCLOBBER
}
}
BaseDisplay::~BaseDisplay(void) {
BaseDisplay::~BaseDisplay(void) {
std::for_each(screenInfoList.begin(), screenInfoList.end(),
PointerAssassin());
// we don't create the BTimers, we don't delete them
@ -394,10 +395,10 @@ BaseDisplay::~BaseDisplay(void) {
delete [] application_name;
XCloseDisplay(display);
}
}
void BaseDisplay::eventLoop(void) {
void BaseDisplay::eventLoop(void) {
run();
int xfd = ConnectionNumber(display);
@ -409,7 +410,7 @@ void BaseDisplay::eventLoop(void) {
if (last_bad_window != None && e.xany.window == last_bad_window) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(BaseDisplaySet,
fprintf(stderr, i18n(BaseDisplaySet,
BaseDisplayBadWindowRemove,
"BaseDisplay::eventLoop(): removing bad window "
"from event queue\n"));
@ -491,10 +492,10 @@ void BaseDisplay::eventLoop(void) {
}
}
}
}
}
const Bool BaseDisplay::validateWindow(Window window) {
const Bool BaseDisplay::validateWindow(Window window) {
XEvent event;
if (XCheckTypedWindowEvent(display, window, DestroyNotify, &event)) {
XPutBackEvent(display, &event);
@ -503,22 +504,22 @@ const Bool BaseDisplay::validateWindow(Window window) {
}
return True;
}
}
void BaseDisplay::grab(void) {
void BaseDisplay::grab(void) {
if (! server_grabs++)
XGrabServer(display);
}
}
void BaseDisplay::ungrab(void) {
void BaseDisplay::ungrab(void) {
if (! --server_grabs)
XUngrabServer(display);
}
}
void BaseDisplay::addTimer(BTimer *timer) {
void BaseDisplay::addTimer(BTimer *timer) {
ASSERT(timer != (BTimer *) 0);
TimerList::iterator it;
@ -531,25 +532,25 @@ void BaseDisplay::addTimer(BTimer *timer) {
}
timerList.insert(it, timer);
}
}
void BaseDisplay::removeTimer(BTimer *timer) {
void BaseDisplay::removeTimer(BTimer *timer) {
ASSERT(timer != (BTimer *) 0);
timerList.remove(timer);
}
}
/*
/*
* Grabs a button, but also grabs the button in every possible combination with
* the keyboard lock keys, so that they do not cancel out the event.
*/
void BaseDisplay::grabButton(unsigned int button, unsigned int modifiers,
void BaseDisplay::grabButton(unsigned int button, unsigned int modifiers,
Window grab_window, Bool owner_events,
unsigned int event_mask, int pointer_mode,
int keybaord_mode, Window confine_to,
Cursor cursor) const
{
{
#ifndef NOCLOBBER
for (size_t cnt = 0; cnt < MaskListLength; ++cnt)
XGrabButton(display, button, modifiers | MaskList[cnt], grab_window,
@ -560,13 +561,13 @@ void BaseDisplay::grabButton(unsigned int button, unsigned int modifiers,
owner_events, event_mask, pointer_mode, keybaord_mode,
confine_to, cursor);
#endif // NOCLOBBER
}
}
/*
/*
* Releases the grab on a button, and ungrabs all possible combinations of the
* keyboard lock keys.
*/
void BaseDisplay::ungrabButton(unsigned int button, unsigned int modifiers,
void BaseDisplay::ungrabButton(unsigned int button, unsigned int modifiers,
Window grab_window) const {
#ifndef NOCLOBBER
for (size_t cnt = 0; cnt < MaskListLength; ++cnt)
@ -574,12 +575,12 @@ void BaseDisplay::ungrabButton(unsigned int button, unsigned int modifiers,
#else // NOCLOBBER
XUngrabButton(display, button, modifiers, grab_window);
#endif // NOCLOBBER
}
}
ScreenInfo::ScreenInfo(BaseDisplay &d, int num) : basedisplay(d),
ScreenInfo::ScreenInfo(BaseDisplay &d, int num) : basedisplay(d),
screen_number(num)
{
{
root_window = RootWindow(basedisplay.getXDisplay(), screen_number);
depth = DefaultDepth(basedisplay.getXDisplay(), screen_number);
@ -620,4 +621,4 @@ ScreenInfo::ScreenInfo(BaseDisplay &d, int num) : basedisplay(d),
visual = DefaultVisual(basedisplay.getXDisplay(), screen_number);
colormap = DefaultColormap(basedisplay.getXDisplay(), screen_number);
}
}
}

View file

@ -87,7 +87,7 @@ Basemenu::Basemenu(BScreen &scrn) : openbox(scrn.getOpenbox()), screen(scrn) {
menu.bevel_w = screen.getBevelWidth();
if (i18n->multibyte())
if (i18n.multibyte())
menu.width = menu.title_h = menu.item_w = menu.frame_h =
screen.getMenuStyle()->t_fontset_extents->max_ink_extent.height +
(menu.bevel_w * 2);
@ -103,7 +103,7 @@ Basemenu::Basemenu(BScreen &scrn) : openbox(scrn.getOpenbox()), screen(scrn) {
menu.minsub = 0;
MenuStyle *style = screen.getMenuStyle();
if (i18n->multibyte()) {
if (i18n.multibyte()) {
menu.item_h = style->f_fontset_extents->max_ink_extent.height +
(menu.bevel_w);
} else {
@ -269,7 +269,7 @@ int Basemenu::remove(int index) {
void Basemenu::update(void) {
MenuStyle *style = screen.getMenuStyle();
if (i18n->multibyte()) {
if (i18n.multibyte()) {
menu.item_h = style->f_fontset_extents->max_ink_extent.height +
menu.bevel_w;
menu.title_h = style->t_fontset_extents->max_ink_extent.height +
@ -283,12 +283,12 @@ void Basemenu::update(void) {
if (title_vis) {
const char *s = (menu.label) ? menu.label :
i18n->getMessage(BasemenuSet, BasemenuOpenboxMenu,
i18n(BasemenuSet, BasemenuOpenboxMenu,
"Openbox Menu");
int l = strlen(s);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getMenuStyle()->t_fontset, s, l, &ink, &logical);
menu.item_w = logical.width;
@ -308,7 +308,7 @@ void Basemenu::update(void) {
(((*it)->l) ? (*it)->l : (const char *) 0));
int l = strlen(s);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getMenuStyle()->f_fontset, s, l, &ink, &logical);
ii = logical.width;
@ -487,12 +487,12 @@ void Basemenu::move(int x, int y) {
void Basemenu::redrawTitle(void) {
char *text = (char *) ((menu.label) ? menu.label :
i18n->getMessage(BasemenuSet, BasemenuOpenboxMenu,
i18n(BasemenuSet, BasemenuOpenboxMenu,
"Openbox Menu"));
int dx = menu.bevel_w, len = strlen(text);
unsigned int l;
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getMenuStyle()->t_fontset, text, len, &ink, &logical);
l = logical.width;
@ -513,7 +513,7 @@ void Basemenu::redrawTitle(void) {
}
MenuStyle *style = screen.getMenuStyle();
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, menu.title, style->t_fontset, style->t_text_gc, dx,
(menu.bevel_w - style->t_fontset_extents->max_ink_extent.y),
text, len);
@ -610,7 +610,7 @@ void Basemenu::drawItem(int index, Bool highlight, Bool clear,
unsigned int half_w = menu.item_h / 2, quarter_w = menu.item_h / 4;
if (text) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getMenuStyle()->f_fontset,
text, len, &ink, &logical);
@ -706,7 +706,7 @@ void Basemenu::drawItem(int index, Bool highlight, Bool clear,
}
if (dotext && text) {
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, menu.frame, screen.getMenuStyle()->f_fontset,
tgc, text_x, text_y, text, len);
else

View file

@ -39,28 +39,28 @@
Configmenu::Configmenu(BScreen &scr) : Basemenu(scr), screen(scr)
{
setLabel(i18n->getMessage(ConfigmenuSet, ConfigmenuConfigOptions,
setLabel(i18n(ConfigmenuSet, ConfigmenuConfigOptions,
"Config options"));
setInternalMenu();
focusmenu = new Focusmenu(this);
placementmenu = new Placementmenu(this);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuFocusModel,
insert(i18n(ConfigmenuSet, ConfigmenuFocusModel,
"Focus Model"), focusmenu);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuWindowPlacement,
insert(i18n(ConfigmenuSet, ConfigmenuWindowPlacement,
"Window Placement"), placementmenu);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuImageDithering,
insert(i18n(ConfigmenuSet, ConfigmenuImageDithering,
"Image Dithering"), 1);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuOpaqueMove,
insert(i18n(ConfigmenuSet, ConfigmenuOpaqueMove,
"Opaque Window Moving"), 2);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuFullMax,
insert(i18n(ConfigmenuSet, ConfigmenuFullMax,
"Full Maximization"), 3);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuFocusNew,
insert(i18n(ConfigmenuSet, ConfigmenuFocusNew,
"Focus New Windows"), 4);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuFocusLast,
insert(i18n(ConfigmenuSet, ConfigmenuFocusLast,
"Focus Last Window on Workspace"), 5);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuHideToolbar,
insert(i18n(ConfigmenuSet, ConfigmenuHideToolbar,
"Hide toolbar"), 6);
update();
@ -145,15 +145,15 @@ void Configmenu::reconfigure() {
Configmenu::Focusmenu::Focusmenu(Configmenu *cm) : Basemenu(cm->screen) {
configmenu = cm;
setLabel(i18n->getMessage(ConfigmenuSet, ConfigmenuFocusModel,
setLabel(i18n(ConfigmenuSet, ConfigmenuFocusModel,
"Focus Model"));
setInternalMenu();
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuClickToFocus,
insert(i18n(ConfigmenuSet, ConfigmenuClickToFocus,
"Click To Focus"), 1);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuSloppyFocus,
insert(i18n(ConfigmenuSet, ConfigmenuSloppyFocus,
"Sloppy Focus"), 2);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuAutoRaise,
insert(i18n(ConfigmenuSet, ConfigmenuAutoRaise,
"Auto Raise"), 3);
update();
@ -207,36 +207,36 @@ void Configmenu::Focusmenu::itemSelected(int button, int index) {
}
Configmenu::Placementmenu::Placementmenu(Configmenu *cm) :
Basemenu(cm->screen) {
Basemenu(cm->screen) {
configmenu = cm;
setLabel(i18n->getMessage(ConfigmenuSet, ConfigmenuWindowPlacement,
setLabel(i18n(ConfigmenuSet, ConfigmenuWindowPlacement,
"Window Placement"));
setInternalMenu();
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuSmartRows,
insert(i18n(ConfigmenuSet, ConfigmenuSmartRows,
"Smart Placement (Rows)"),
BScreen::RowSmartPlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuSmartCols,
insert(i18n(ConfigmenuSet, ConfigmenuSmartCols,
"Smart Placement (Columns)"),
BScreen::ColSmartPlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuCascade,
insert(i18n(ConfigmenuSet, ConfigmenuCascade,
"Cascade Placement"), BScreen::CascadePlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuBestFit,
insert(i18n(ConfigmenuSet, ConfigmenuBestFit,
"Best Fit Placement"), BScreen::BestFitPlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuUnderMouse,
insert(i18n(ConfigmenuSet, ConfigmenuUnderMouse,
"Under Mouse Placement"),
BScreen::UnderMousePlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuClickMouse,
insert(i18n(ConfigmenuSet, ConfigmenuClickMouse,
"Click Mouse Placement"),
BScreen::ClickMousePlacement);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuLeftRight,
insert(i18n(ConfigmenuSet, ConfigmenuLeftRight,
"Left to Right"), BScreen::LeftRight);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuRightLeft,
insert(i18n(ConfigmenuSet, ConfigmenuRightLeft,
"Right to Left"), BScreen::RightLeft);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuTopBottom,
insert(i18n(ConfigmenuSet, ConfigmenuTopBottom,
"Top to Bottom"), BScreen::TopBottom);
insert(i18n->getMessage(ConfigmenuSet, ConfigmenuBottomTop,
insert(i18n(ConfigmenuSet, ConfigmenuBottomTop,
"Bottom to Top"), BScreen::BottomTop);
update();

View file

@ -39,7 +39,7 @@
Iconmenu::Iconmenu(BScreen &scrn) : Basemenu(scrn), screen(scrn) {
setInternalMenu();
setLabel(i18n->getMessage(IconSet, IconIcons, "Icons"));
setLabel(i18n(IconSet, IconIcons, "Icons"));
update();
}

View file

@ -131,7 +131,7 @@ Pixmap BImage::render_solid(BTexture *texture) {
control.getDrawable(), width,
height, control.getDepth());
if (pixmap == None) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageErrorCreatingSolidPixmap,
fprintf(stderr, i18n(ImageSet, ImageErrorCreatingSolidPixmap,
"BImage::render_solid: error creating pixmap\n"));
return None;
}
@ -274,7 +274,7 @@ XImage *BImage::renderXImage(void) {
width, height, 32, 0);
if (! image) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageErrorCreatingXImage,
fprintf(stderr, i18n(ImageSet, ImageErrorCreatingXImage,
"BImage::renderXImage: error creating XImage\n"));
return (XImage *) 0;
}
@ -507,13 +507,13 @@ XImage *BImage::renderXImage(void) {
break; }
default:
fprintf(stderr, i18n->getMessage(ImageSet, ImageUnsupVisual,
fprintf(stderr, i18n(ImageSet, ImageUnsupVisual,
"BImage::renderXImage: unsupported visual\n"));
delete [] d;
XDestroyImage(image);
return (XImage *) 0;
}
} else {
} else {
switch (control.getVisual()->c_class) {
case StaticColor:
case PseudoColor:
@ -607,7 +607,7 @@ XImage *BImage::renderXImage(void) {
break;
default:
fprintf(stderr, i18n->getMessage(ImageSet, ImageUnsupVisual,
fprintf(stderr, i18n(ImageSet, ImageUnsupVisual,
"BImage::renderXImage: unsupported visual\n"));
delete [] d;
XDestroyImage(image);
@ -615,8 +615,8 @@ XImage *BImage::renderXImage(void) {
}
}
image->data = (char *) d;
return image;
image->data = (char *) d;
return image;
}
@ -626,7 +626,7 @@ Pixmap BImage::renderPixmap(void) {
control.getDrawable(), width, height, control.getDepth());
if (pixmap == None) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageErrorCreatingPixmap,
fprintf(stderr, i18n(ImageSet, ImageErrorCreatingPixmap,
"BImage::renderPixmap: error creating pixmap\n"));
return None;
}
@ -1767,7 +1767,7 @@ void BImage::cdgradient(void) {
BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
int _cpc, unsigned long cache_timeout,
unsigned long cmax) : basedisplay(dpy),
screeninfo(scrn)
screeninfo(scrn)
{
setDither(_dither);
setColorsPerChannel(_cpc);
@ -1853,7 +1853,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
}
if (colors_per_channel < 2 || ncolors > (1 << screen_depth)) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageInvalidColormapSize,
fprintf(stderr, i18n(ImageSet, ImageInvalidColormapSize,
"BImageControl::BImageControl: invalid colormap size %d "
"(%d/%d/%d) - reducing"),
ncolors, colors_per_channel, colors_per_channel,
@ -1864,7 +1864,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
colors = new XColor[ncolors];
if (! colors) {
fprintf(stderr, i18n->getMessage(ImageSet,
fprintf(stderr, i18n(ImageSet,
ImageErrorAllocatingColormap,
"BImageControl::BImageControl: error allocating "
"colormap\n"));
@ -1898,7 +1898,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
for (i = 0; i < ncolors; i++)
if (! XAllocColor(basedisplay.getXDisplay(), colormap, &colors[i])) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageColorAllocFail,
fprintf(stderr, i18n(ImageSet, ImageColorAllocFail,
"couldn't alloc color %i %i %i\n"),
colors[i].red, colors[i].green, colors[i].blue);
colors[i].flags = 0;
@ -1965,7 +1965,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
}
if (colors_per_channel < 2 || ncolors > (1 << screen_depth)) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageInvalidColormapSize,
fprintf(stderr, i18n(ImageSet, ImageInvalidColormapSize,
"BImageControl::BImageControl: invalid colormap size %d "
"(%d/%d/%d) - reducing"),
ncolors, colors_per_channel, colors_per_channel,
@ -1976,7 +1976,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
colors = new XColor[ncolors];
if (! colors) {
fprintf(stderr, i18n->getMessage(ImageSet,
fprintf(stderr, i18n(ImageSet,
ImageErrorAllocatingColormap,
"BImageControl::BImageControl: error allocating "
"colormap\n"));
@ -1999,7 +1999,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
if (! XAllocColor(basedisplay.getXDisplay(), colormap,
&colors[i])) {
fprintf(stderr, i18n->getMessage(ImageSet, ImageColorAllocFail,
fprintf(stderr, i18n(ImageSet, ImageColorAllocFail,
"couldn't alloc color %i %i %i\n"),
colors[i].red, colors[i].green, colors[i].blue);
colors[i].flags = 0;
@ -2052,7 +2052,7 @@ BImageControl::BImageControl(BaseDisplay &dpy, ScreenInfo &scrn, Bool _dither,
}
default:
fprintf(stderr, i18n->getMessage(ImageSet, ImageUnsupVisual,
fprintf(stderr, i18n(ImageSet, ImageUnsupVisual,
"BImageControl::BImageControl: unsupported visual %d\n"),
getVisual()->c_class);
exit(1);
@ -2087,7 +2087,7 @@ BImageControl::~BImageControl(void) {
if (!cache.empty()) {
int i, n = cache.size();
fprintf(stderr, i18n->getMessage(ImageSet, ImagePixmapRelease,
fprintf(stderr, i18n(ImageSet, ImagePixmapRelease,
"BImageContol::~BImageControl: pixmap cache - "
"releasing %d pixmaps\n"), n);
@ -2164,7 +2164,7 @@ Pixmap BImageControl::renderImage(unsigned int width, unsigned int height,
if ((unsigned) cache.size() > cache_max) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(ImageSet, ImagePixmapCacheLarge,
fprintf(stderr, i18n(ImageSet, ImagePixmapCacheLarge,
"BImageControl::renderImage: cache is large, "
"forcing cleanout\n"));
#endif // DEBUG

View file

@ -109,7 +109,7 @@ using std::ends;
static Bool running = True;
static int anotherWMRunning(Display *display, XErrorEvent *) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenAnotherWMRunning,
fprintf(stderr, i18n(ScreenSet, ScreenAnotherWMRunning,
"BScreen::BScreen: an error occured while querying the X server.\n"
" another window manager already running on display %s.\n"),
DisplayString(display));
@ -190,7 +190,7 @@ static const char *getFontSize(const char *pattern, int *size) {
BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
openbox(ob), config(conf)
openbox(ob), config(conf)
{
event_mask = ColormapChangeMask | EnterWindowMask | PropertyChangeMask |
SubstructureRedirectMask | KeyPressMask | KeyReleaseMask |
@ -204,7 +204,7 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
managed = running;
if (! managed) return;
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenManagingScreen,
fprintf(stderr, i18n(ScreenSet, ScreenManagingScreen,
"BScreen::BScreen: managing screen %d "
"using visual 0x%lx, depth %d\n"),
getScreenNumber(), XVisualIDFromVisual(getVisual()),
@ -250,7 +250,7 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
XGCValues gcv;
unsigned long gc_value_mask = GCForeground;
if (! i18n->multibyte()) gc_value_mask |= GCFont;
if (! i18n.multibyte()) gc_value_mask |= GCFont;
gcv.foreground = WhitePixel(getBaseDisplay().getXDisplay(),
getScreenNumber())
@ -336,11 +336,11 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
XCreateGC(getBaseDisplay().getXDisplay(), getRootWindow(),
gc_value_mask, &gcv);
const char *s = i18n->getMessage(ScreenSet, ScreenPositionLength,
const char *s = i18n(ScreenSet, ScreenPositionLength,
"0: 0000 x 0: 0000");
int l = strlen(s);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(resource.wstyle.fontset, s, l, &ink, &logical);
geom_w = logical.width;
@ -413,7 +413,7 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
}
saveWorkspaceNames();
workspacemenu->insert(i18n->getMessage(IconSet, IconIcons, "Icons"),
workspacemenu->insert(i18n(IconSet, IconIcons, "Icons"),
iconmenu);
workspacemenu->update();
@ -811,7 +811,7 @@ void BScreen::readDatabaseFontSet(const char *rname, const char *rclass,
*fontset = createFontSet(defaultFont);
if (! *fontset) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenDefaultFontLoadFail,
fprintf(stderr, i18n(ScreenSet, ScreenDefaultFontLoadFail,
"BScreen::LoadStyle(): couldn't load default font.\n"));
exit(2);
}
@ -833,7 +833,7 @@ void BScreen::readDatabaseFont(const char *rname, const char *rclass,
if (resource.styleconfig.getValue(rname, rclass, s)) {
if ((*font = XLoadQueryFont(getBaseDisplay().getXDisplay(),
s.c_str())) == NULL) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenFontLoadFail,
fprintf(stderr, i18n(ScreenSet, ScreenFontLoadFail,
"BScreen::LoadStyle(): couldn't load font '%s'\n"),
s.c_str());
load_default = true;
@ -844,7 +844,7 @@ void BScreen::readDatabaseFont(const char *rname, const char *rclass,
if (load_default) {
if ((*font = XLoadQueryFont(getBaseDisplay().getXDisplay(),
defaultFont)) == NULL) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenDefaultFontLoadFail,
fprintf(stderr, i18n(ScreenSet, ScreenDefaultFontLoadFail,
"BScreen::LoadStyle(): couldn't load default font.\n"));
exit(2);
}
@ -1051,7 +1051,7 @@ void BScreen::setColPlacementDirection(int d) {
void BScreen::setRootCommand(const char *cmd) {
if (resource.root_command != NULL)
if (resource.root_command != NULL)
delete [] resource.root_command;
if (cmd != NULL)
resource.root_command = bstrdup(cmd);
@ -1391,9 +1391,9 @@ void BScreen::load() {
rscreen.rdbuf()->freeze(0);
rname.rdbuf()->freeze(0); rclass.rdbuf()->freeze(0);
}
}
void BScreen::reconfigure(void) {
void BScreen::reconfigure(void) {
load();
toolbar->load();
#ifdef SLIT
@ -1403,7 +1403,7 @@ void BScreen::reconfigure(void) {
XGCValues gcv;
unsigned long gc_value_mask = GCForeground;
if (! i18n->multibyte()) gc_value_mask |= GCFont;
if (! i18n.multibyte()) gc_value_mask |= GCFont;
gcv.foreground = WhitePixel(getBaseDisplay().getXDisplay(),
getScreenNumber());
@ -1472,11 +1472,11 @@ void BScreen::reconfigure(void) {
XChangeGC(getBaseDisplay().getXDisplay(), resource.tstyle.b_pic_gc,
gc_value_mask, &gcv);
const char *s = i18n->getMessage(ScreenSet, ScreenPositionLength,
const char *s = i18n(ScreenSet, ScreenPositionLength,
"0: 0000 x 0: 0000");
int l = strlen(s);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(resource.wstyle.fontset, s, l, &ink, &logical);
geom_w = logical.width;
@ -1552,23 +1552,23 @@ void BScreen::reconfigure(void) {
(*it)->reconfigure();
image_control->timeout();
}
}
void BScreen::rereadMenu(void) {
void BScreen::rereadMenu(void) {
InitMenu();
raiseWindows(0, 0);
rootmenu->reconfigure();
}
}
void BScreen::removeWorkspaceNames(void) {
void BScreen::removeWorkspaceNames(void) {
workspaceNames.clear();
}
}
void BScreen::LoadStyle(void) {
void BScreen::LoadStyle(void) {
Resource &conf = resource.styleconfig;
const char *sfile = openbox.getStyleFilename();
@ -1580,7 +1580,7 @@ void BScreen::LoadStyle(void) {
if (!loaded) {
conf.setFile(DEFAULTSTYLE);
if (!conf.load()) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenDefaultStyleLoadFail,
fprintf(stderr, i18n(ScreenSet, ScreenDefaultStyleLoadFail,
"BScreen::LoadStyle(): couldn't load "
"default style.\n"));
exit(2);
@ -1592,7 +1592,7 @@ void BScreen::LoadStyle(void) {
// load fonts/fontsets
if (i18n->multibyte()) {
if (i18n.multibyte()) {
readDatabaseFontSet("window.font", "Window.Font",
&resource.wstyle.fontset);
readDatabaseFontSet("toolbar.font", "Toolbar.Font",
@ -1881,10 +1881,10 @@ void BScreen::LoadStyle(void) {
spawnlp(P_NOWAIT, "cmd.exe", "cmd.exe", "/c", cmd, NULL);
#endif // !__EMX__
}
}
}
void BScreen::addIcon(OpenboxWindow *w) {
void BScreen::addIcon(OpenboxWindow *w) {
if (! w) return;
w->setWorkspace(-1);
@ -1894,10 +1894,10 @@ void BScreen::addIcon(OpenboxWindow *w) {
iconmenu->insert((const char **) w->getIconTitle());
iconmenu->update();
}
}
void BScreen::removeIcon(OpenboxWindow *w) {
void BScreen::removeIcon(OpenboxWindow *w) {
if (! w) return;
iconList.remove(w);
@ -1908,20 +1908,20 @@ void BScreen::removeIcon(OpenboxWindow *w) {
winList::iterator it = iconList.begin();
for (int i = 0; it != iconList.end(); ++it, ++i)
(*it)->setWindowNumber(i);
}
}
OpenboxWindow *BScreen::getIcon(int index) {
OpenboxWindow *BScreen::getIcon(int index) {
if (index < 0 || index >= (signed)iconList.size())
return (OpenboxWindow *) 0;
winList::iterator it = iconList.begin();
for (; index > 0; --index, ++it); // increment to index
return *it;
}
}
int BScreen::addWorkspace(void) {
int BScreen::addWorkspace(void) {
Workspace *wkspc = new Workspace(*this, workspacesList.size());
workspacesList.push_back(wkspc);
setWorkspaceCount(workspaceCount()+1);
@ -1936,10 +1936,10 @@ int BScreen::addWorkspace(void) {
updateNetizenWorkspaceCount();
return workspacesList.size();
}
}
int BScreen::removeLastWorkspace(void) {
int BScreen::removeLastWorkspace(void) {
if (workspacesList.size() == 1)
return 0;
@ -1964,10 +1964,10 @@ int BScreen::removeLastWorkspace(void) {
updateNetizenWorkspaceCount();
return workspacesList.size();
}
}
void BScreen::changeWorkspaceID(int id) {
void BScreen::changeWorkspaceID(int id) {
if (! current_workspace) return;
if (id != current_workspace->getWorkspaceID()) {
@ -1997,10 +1997,10 @@ void BScreen::changeWorkspaceID(int id) {
}
updateNetizenCurrentWorkspace();
}
}
void BScreen::addNetizen(Netizen *n) {
void BScreen::addNetizen(Netizen *n) {
netizenList.push_back(n);
n->sendWorkspaceCount();
@ -2016,10 +2016,10 @@ void BScreen::addNetizen(Netizen *n) {
Window f = ((openbox.focusedWindow()) ?
openbox.focusedWindow()->getClientWindow() : None);
n->sendWindowFocus(f);
}
}
void BScreen::removeNetizen(Window w) {
void BScreen::removeNetizen(Window w) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
@ -2029,68 +2029,68 @@ void BScreen::removeNetizen(Window w) {
delete tmp;
break;
}
}
}
void BScreen::updateNetizenCurrentWorkspace(void) {
void BScreen::updateNetizenCurrentWorkspace(void) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendCurrentWorkspace();
}
}
void BScreen::updateNetizenWorkspaceCount(void) {
void BScreen::updateNetizenWorkspaceCount(void) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWorkspaceCount();
}
}
void BScreen::updateNetizenWindowFocus(void) {
void BScreen::updateNetizenWindowFocus(void) {
Window f = ((openbox.focusedWindow()) ?
openbox.focusedWindow()->getClientWindow() : None);
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWindowFocus(f);
}
}
void BScreen::updateNetizenWindowAdd(Window w, unsigned long p) {
void BScreen::updateNetizenWindowAdd(Window w, unsigned long p) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWindowAdd(w, p);
}
}
void BScreen::updateNetizenWindowDel(Window w) {
void BScreen::updateNetizenWindowDel(Window w) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWindowDel(w);
}
}
void BScreen::updateNetizenWindowRaise(Window w) {
void BScreen::updateNetizenWindowRaise(Window w) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWindowRaise(w);
}
}
void BScreen::updateNetizenWindowLower(Window w) {
void BScreen::updateNetizenWindowLower(Window w) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendWindowLower(w);
}
}
void BScreen::updateNetizenConfigNotify(XEvent *e) {
void BScreen::updateNetizenConfigNotify(XEvent *e) {
netList::iterator it;
for (it = netizenList.begin(); it != netizenList.end(); ++it)
(*it)->sendConfigNotify(e);
}
}
void BScreen::raiseWindows(Window *workspace_stack, int num) {
void BScreen::raiseWindows(Window *workspace_stack, int num) {
Window *session_stack = new
Window[(num + workspacesList.size() + rootmenuList.size() + 13)];
int i = 0, k = num;
@ -2137,22 +2137,22 @@ void BScreen::raiseWindows(Window *workspace_stack, int num) {
XRestackWindows(getBaseDisplay().getXDisplay(), session_stack, i);
delete [] session_stack;
}
}
void BScreen::addWorkspaceName(const char *name) {
void BScreen::addWorkspaceName(const char *name) {
workspaceNames.push_back(name);
}
}
const char *BScreen::getNameOfWorkspace(int id) {
const char *BScreen::getNameOfWorkspace(int id) {
if (id < 0 || id >= (signed)workspaceNames.size())
return (const char *) 0;
return workspaceNames[id].c_str();
}
}
void BScreen::reassociateWindow(OpenboxWindow *w, int wkspc_id, Bool ignore_sticky) {
void BScreen::reassociateWindow(OpenboxWindow *w, int wkspc_id, Bool ignore_sticky) {
if (! w) return;
if (wkspc_id == -1)
@ -2168,10 +2168,10 @@ void BScreen::reassociateWindow(OpenboxWindow *w, int wkspc_id, Bool ignore_stic
getWorkspace(w->getWorkspaceNumber())->removeWindow(w);
getWorkspace(wkspc_id)->addWindow(w);
}
}
}
void BScreen::nextFocus(void) {
void BScreen::nextFocus(void) {
Bool have_focused = False;
int focused_window_number = -1;
OpenboxWindow *next;
@ -2202,10 +2202,10 @@ void BScreen::nextFocus(void) {
current_workspace->raiseWindow(next);
next->setInputFocus();
}
}
}
void BScreen::prevFocus(void) {
void BScreen::prevFocus(void) {
Bool have_focused = False;
int focused_window_number = -1;
OpenboxWindow *prev;
@ -2236,10 +2236,10 @@ void BScreen::prevFocus(void) {
current_workspace->raiseWindow(prev);
prev->setInputFocus();
}
}
}
void BScreen::raiseFocus(void) {
void BScreen::raiseFocus(void) {
Bool have_focused = False;
int focused_window_number = -1;
@ -2254,10 +2254,10 @@ void BScreen::raiseFocus(void) {
if ((getCurrentWorkspace()->getCount() > 1) && have_focused)
getWorkspace(openbox.focusedWindow()->getWorkspaceNumber())->
raiseWindow(openbox.focusedWindow());
}
}
void BScreen::InitMenu(void) {
void BScreen::InitMenu(void) {
if (rootmenu) {
rootmenuList.clear();
while (rootmenu->getCount())
@ -2285,7 +2285,7 @@ void BScreen::InitMenu(void) {
if (menu_filename) {
if (feof(menu_file)) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenEmptyMenuFile,
fprintf(stderr, i18n(ScreenSet, ScreenEmptyMenuFile,
"%s: Empty menu file"), menu_filename);
menu_filename = (char *) 0;
} else {
@ -2335,18 +2335,18 @@ void BScreen::InitMenu(void) {
if (defaultMenu) {
rootmenu->setInternalMenu();
rootmenu->insert(i18n->getMessage(ScreenSet, Screenxterm, "xterm"),
rootmenu->insert(i18n(ScreenSet, Screenxterm, "xterm"),
BScreen::Execute,
i18n->getMessage(ScreenSet, Screenxterm, "xterm"));
rootmenu->insert(i18n->getMessage(ScreenSet, ScreenRestart, "Restart"),
i18n(ScreenSet, Screenxterm, "xterm"));
rootmenu->insert(i18n(ScreenSet, ScreenRestart, "Restart"),
BScreen::Restart);
rootmenu->insert(i18n->getMessage(ScreenSet, ScreenExit, "Exit"),
rootmenu->insert(i18n(ScreenSet, ScreenExit, "Exit"),
BScreen::Exit);
}
}
}
Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
char line[1024], label[1024], command[1024];
while (! feof(file)) {
@ -2427,7 +2427,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 421: // exec
if ((! *label) && (! *command)) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenEXECError,
fprintf(stderr, i18n(ScreenSet, ScreenEXECError,
"BScreen::parseMenuFile: [exec] error, "
"no menu label and/or command defined\n"));
continue;
@ -2439,7 +2439,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 442: // exit
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenEXITError,
fprintf(stderr, i18n(ScreenSet, ScreenEXITError,
"BScreen::parseMenuFile: [exit] error, "
"no menu label defined\n"));
continue;
@ -2452,7 +2452,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 561: // style
{
if ((! *label) || (! *command)) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenSTYLEError,
fprintf(stderr, i18n(ScreenSet, ScreenSTYLEError,
"BScreen::parseMenuFile: [style] error, "
"no menu label and/or filename defined\n"));
continue;
@ -2486,7 +2486,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 630: // config
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenCONFIGError,
fprintf(stderr, i18n(ScreenSet, ScreenCONFIGError,
"BScreen::parseMenufile: [config] error, "
"no label defined"));
continue;
@ -2499,7 +2499,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 740: // include
{
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenINCLUDEError,
fprintf(stderr, i18n(ScreenSet, ScreenINCLUDEError,
"BScreen::parseMenuFile: [include] error, "
"no filename defined\n"));
continue;
@ -2534,7 +2534,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
if (fstat(fileno(submenufile), &buf) ||
(! S_ISREG(buf.st_mode))) {
fprintf(stderr,
i18n->getMessage(ScreenSet, ScreenINCLUDEErrorReg,
i18n(ScreenSet, ScreenINCLUDEErrorReg,
"BScreen::parseMenuFile: [include] error: "
"'%s' is not a regular file\n"), newfile);
break;
@ -2555,7 +2555,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 767: // submenu
{
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenSUBMENUError,
fprintf(stderr, i18n(ScreenSet, ScreenSUBMENUError,
"BScreen::parseMenuFile: [submenu] error, "
"no menu label defined\n"));
continue;
@ -2579,7 +2579,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 773: // restart
{
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenRESTARTError,
fprintf(stderr, i18n(ScreenSet, ScreenRESTARTError,
"BScreen::parseMenuFile: [restart] error, "
"no menu label defined\n"));
continue;
@ -2596,7 +2596,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
case 845: // reconfig
{
if (! *label) {
fprintf(stderr, i18n->getMessage(ScreenSet, ScreenRECONFIGError,
fprintf(stderr, i18n(ScreenSet, ScreenRECONFIGError,
"BScreen::parseMenuFile: [reconfig] error, "
"no menu label defined\n"));
continue;
@ -2614,7 +2614,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
if ((! *label) || ((! *command) && newmenu)) {
fprintf(stderr,
i18n->getMessage(ScreenSet, ScreenSTYLESDIRError,
i18n(ScreenSet, ScreenSTYLESDIRError,
"BScreen::parseMenuFile: [stylesdir/stylesmenu]"
" error, no directory defined\n"));
continue;
@ -2701,7 +2701,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
}
openbox.addMenuTimestamp(stylesdir);
} else {
fprintf(stderr, i18n->getMessage(ScreenSet,
fprintf(stderr, i18n(ScreenSet,
ScreenSTYLESDIRErrorNotDir,
"BScreen::parseMenuFile:"
" [stylesdir/stylesmenu] error, %s is not a"
@ -2709,7 +2709,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
}
} else {
fprintf(stderr,
i18n->getMessage(ScreenSet, ScreenSTYLESDIRErrorNoExist,
i18n(ScreenSet, ScreenSTYLESDIRErrorNoExist,
"BScreen::parseMenuFile: [stylesdir/stylesmenu]"
" error, %s does not exist\n"), stylesdir);
}
@ -2721,7 +2721,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
{
if (! *label) {
fprintf(stderr,
i18n->getMessage(ScreenSet, ScreenWORKSPACESError,
i18n(ScreenSet, ScreenWORKSPACESError,
"BScreen:parseMenuFile: [workspaces] error, "
"no menu label defined\n"));
continue;
@ -2737,10 +2737,10 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
}
return ((menu->getCount() == 0) ? True : False);
}
}
void BScreen::shutdown(void) {
void BScreen::shutdown(void) {
openbox.grab();
XSelectInput(getBaseDisplay().getXDisplay(), getRootWindow(), NoEventMask);
@ -2757,10 +2757,10 @@ void BScreen::shutdown(void) {
#endif // SLIT
openbox.ungrab();
}
}
void BScreen::showPosition(int x, int y) {
void BScreen::showPosition(int x, int y) {
if (! geom_visible) {
XMoveResizeWindow(getBaseDisplay().getXDisplay(), geom_window,
(size().w() - geom_w) / 2,
@ -2773,12 +2773,12 @@ void BScreen::showPosition(int x, int y) {
char label[1024];
sprintf(label, i18n->getMessage(ScreenSet, ScreenPositionFormat,
sprintf(label, i18n(ScreenSet, ScreenPositionFormat,
"X: %4d x Y: %4d"), x, y);
XClearWindow(getBaseDisplay().getXDisplay(), geom_window);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XmbDrawString(getBaseDisplay().getXDisplay(), geom_window,
resource.wstyle.fontset, resource.wstyle.l_text_focus_gc,
resource.bevel_width, resource.bevel_width -
@ -2791,10 +2791,10 @@ void BScreen::showPosition(int x, int y) {
resource.wstyle.font->ascent +
resource.bevel_width, label, strlen(label));
}
}
}
void BScreen::showGeometry(unsigned int gx, unsigned int gy) {
void BScreen::showGeometry(unsigned int gx, unsigned int gy) {
if (! geom_visible) {
XMoveResizeWindow(getBaseDisplay().getXDisplay(), geom_window,
(size().w() - geom_w) / 2,
@ -2807,12 +2807,12 @@ void BScreen::showGeometry(unsigned int gx, unsigned int gy) {
char label[1024];
sprintf(label, i18n->getMessage(ScreenSet, ScreenGeometryFormat,
sprintf(label, i18n(ScreenSet, ScreenGeometryFormat,
"W: %4d x H: %4d"), gx, gy);
XClearWindow(getBaseDisplay().getXDisplay(), geom_window);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XmbDrawString(getBaseDisplay().getXDisplay(), geom_window,
resource.wstyle.fontset, resource.wstyle.l_text_focus_gc,
resource.bevel_width, resource.bevel_width -
@ -2825,11 +2825,11 @@ void BScreen::showGeometry(unsigned int gx, unsigned int gy) {
resource.wstyle.font->ascent +
resource.bevel_width, label, strlen(label));
}
}
}
void BScreen::hideGeometry(void) {
void BScreen::hideGeometry(void) {
if (geom_visible) {
XUnmapWindow(getBaseDisplay().getXDisplay(), geom_window);
geom_visible = False;
}
}
}

View file

@ -46,7 +46,7 @@
using std::ends;
Slit::Slit(BScreen &scr, Resource &conf) : openbox(scr.getOpenbox()),
screen(scr), config(conf)
screen(scr), config(conf)
{
load();
@ -703,18 +703,18 @@ void Slit::timeout(void) {
Slitmenu::Slitmenu(Slit &sl) : Basemenu(sl.screen), slit(sl) {
setLabel(i18n->getMessage(SlitSet, SlitSlitTitle, "Slit"));
setLabel(i18n(SlitSet, SlitSlitTitle, "Slit"));
setInternalMenu();
directionmenu = new Directionmenu(*this);
placementmenu = new Placementmenu(*this);
insert(i18n->getMessage(CommonSet, CommonDirectionTitle, "Direction"),
insert(i18n(CommonSet, CommonDirectionTitle, "Direction"),
directionmenu);
insert(i18n->getMessage(CommonSet, CommonPlacementTitle, "Placement"),
insert(i18n(CommonSet, CommonPlacementTitle, "Placement"),
placementmenu);
insert(i18n->getMessage(CommonSet, CommonAlwaysOnTop, "Always on top"), 1);
insert(i18n->getMessage(CommonSet, CommonAutoHide, "Auto hide"), 2);
insert(i18n(CommonSet, CommonAlwaysOnTop, "Always on top"), 1);
insert(i18n(CommonSet, CommonAutoHide, "Auto hide"), 2);
update();
@ -779,18 +779,18 @@ void Slitmenu::reconfigure(void) {
Slitmenu::Directionmenu::Directionmenu(Slitmenu &sm)
: Basemenu(sm.slit.screen), slitmenu(sm) {
setLabel(i18n->getMessage(SlitSet, SlitSlitDirection, "Slit Direction"));
setLabel(i18n(SlitSet, SlitSlitDirection, "Slit Direction"));
setInternalMenu();
insert(i18n->getMessage(CommonSet, CommonDirectionHoriz, "Horizontal"),
insert(i18n(CommonSet, CommonDirectionHoriz, "Horizontal"),
Slit::Horizontal);
insert(i18n->getMessage(CommonSet, CommonDirectionVert, "Vertical"),
insert(i18n(CommonSet, CommonDirectionVert, "Vertical"),
Slit::Vertical);
update();
setValues();
}
}
void Slitmenu::Directionmenu::setValues() {
@ -831,33 +831,33 @@ void Slitmenu::Directionmenu::itemSelected(int button, int index) {
Slitmenu::Placementmenu::Placementmenu(Slitmenu &sm)
: Basemenu(sm.slit.screen), slitmenu(sm) {
setLabel(i18n->getMessage(SlitSet, SlitSlitPlacement, "Slit Placement"));
setLabel(i18n(SlitSet, SlitSlitPlacement, "Slit Placement"));
setMinimumSublevels(3);
setInternalMenu();
insert(i18n->getMessage(CommonSet, CommonPlacementTopLeft, "Top Left"),
insert(i18n(CommonSet, CommonPlacementTopLeft, "Top Left"),
Slit::TopLeft);
insert(i18n->getMessage(CommonSet, CommonPlacementCenterLeft, "Center Left"),
insert(i18n(CommonSet, CommonPlacementCenterLeft, "Center Left"),
Slit::CenterLeft);
insert(i18n->getMessage(CommonSet, CommonPlacementBottomLeft, "Bottom Left"),
insert(i18n(CommonSet, CommonPlacementBottomLeft, "Bottom Left"),
Slit::BottomLeft);
insert(i18n->getMessage(CommonSet, CommonPlacementTopCenter, "Top Center"),
insert(i18n(CommonSet, CommonPlacementTopCenter, "Top Center"),
Slit::TopCenter);
insert("");
insert(i18n->getMessage(CommonSet, CommonPlacementBottomCenter,
insert(i18n(CommonSet, CommonPlacementBottomCenter,
"Bottom Center"),
Slit::BottomCenter);
insert(i18n->getMessage(CommonSet, CommonPlacementTopRight, "Top Right"),
insert(i18n(CommonSet, CommonPlacementTopRight, "Top Right"),
Slit::TopRight);
insert(i18n->getMessage(CommonSet, CommonPlacementCenterRight,
insert(i18n(CommonSet, CommonPlacementCenterRight,
"Center Right"),
Slit::CenterRight);
insert(i18n->getMessage(CommonSet, CommonPlacementBottomRight,
insert(i18n(CommonSet, CommonPlacementBottomRight,
"Bottom Right"),
Slit::BottomRight);
update();
}
}
void Slitmenu::Placementmenu::itemSelected(int button, int index) {

View file

@ -67,7 +67,7 @@
using std::ends;
Toolbar::Toolbar(BScreen &scrn, Resource &conf) : openbox(scrn.getOpenbox()),
screen(scrn), config(conf)
screen(scrn), config(conf)
{
load();
@ -326,7 +326,7 @@ void Toolbar::reconfigure() {
frame.bevel_w = screen.getBevelWidth();
frame.width = screen.size().w() * m_width_percent / 100;
if (i18n->multibyte())
if (i18n.multibyte())
frame.height =
screen.getToolbarStyle()->fontset_extents->max_ink_extent.height;
else
@ -406,7 +406,7 @@ void Toolbar::reconfigure() {
t[len++] = 'A'; // add size to the string for padding
t[len] = '\0';
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset, t, len, &ink,
&logical);
@ -440,9 +440,9 @@ void Toolbar::reconfigure() {
#else // !HAVE_STRFTIME
frame.clock_w =
XTextWidth(screen.getToolbarStyle()->font,
i18n->getMessage(ToolbarSet, ToolbarNoStrftimeLength,
i18n(ToolbarSet, ToolbarNoStrftimeLength,
"00:00000"),
strlen(i18n->getMessage(ToolbarSet, ToolbarNoStrftimeLength,
strlen(i18n(ToolbarSet, ToolbarNoStrftimeLength,
"00:00000"))) + (frame.bevel_w * 4);
#endif // HAVE_STRFTIME
@ -451,7 +451,7 @@ void Toolbar::reconfigure() {
frame.workspace_label_w = 0;
for (i = 0; i < screen.getWorkspaceCount(); i++) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
screen.getWorkspace(i)->getName(),
@ -621,7 +621,7 @@ void Toolbar::reconfigure() {
#ifdef HAVE_STRFTIME
void Toolbar::checkClock(Bool redraw) {
#else // !HAVE_STRFTIME
void Toolbar::checkClock(Bool redraw, Bool date) {
void Toolbar::checkClock(Bool redraw, Bool date) {
#endif // HAVE_STRFTIME
time_t tmp = 0;
struct tm *tt = 0;
@ -651,24 +651,24 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
tt->tm_mday, tt->tm_mon + 1,
(tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year);
else
sprintf(t, i18n->getMessage(ToolbarSet, ToolbarNoStrftimeDateFormat,
sprintf(t, i18n(ToolbarSet, ToolbarNoStrftimeDateFormat,
"%02d/%02d/%02d"),
tt->tm_mon + 1, tt->tm_mday,
(tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year);
} else {
if (screen.isClock24Hour())
sprintf(t, i18n->getMessage(ToolbarSet, ToolbarNoStrftimeTimeFormat24,
sprintf(t, i18n(ToolbarSet, ToolbarNoStrftimeTimeFormat24,
" %02d:%02d "),
frame.hour, frame.minute);
else
sprintf(t, i18n->getMessage(ToolbarSet, ToolbarNoStrftimeTimeFormat12,
sprintf(t, i18n(ToolbarSet, ToolbarNoStrftimeTimeFormat12,
"%02d:%02d %sm"),
((frame.hour > 12) ? frame.hour - 12 :
((frame.hour == 0) ? 12 : frame.hour)), frame.minute,
((frame.hour >= 12) ?
i18n->getMessage(ToolbarSet,
i18n(ToolbarSet,
ToolbarNoStrftimeTimeFormatP, "p") :
i18n->getMessage(ToolbarSet,
i18n(ToolbarSet,
ToolbarNoStrftimeTimeFormatA, "a")));
}
#endif // HAVE_STRFTIME
@ -676,7 +676,7 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
int dx = (frame.bevel_w * 2), dlen = strlen(t);
unsigned int l;
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
t, dlen, &ink, &logical);
@ -689,7 +689,7 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
if (l > frame.clock_w) {
for (; dlen >= 0; dlen--) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
t, dlen, &ink, &logical);
@ -714,7 +714,7 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
}
ToolbarStyle *style = screen.getToolbarStyle();
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, frame.clock, style->fontset, style->c_text_gc,
dx, (1 - style->fontset_extents->max_ink_extent.y),
t, dlen);
@ -722,10 +722,10 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
XDrawString(display, frame.clock, style->c_text_gc, dx,
(style->font->ascent + 1), t, dlen);
}
}
}
void Toolbar::redrawWindowLabel(Bool redraw) {
void Toolbar::redrawWindowLabel(Bool redraw) {
OpenboxWindow *foc = screen.getOpenbox().focusedWindow();
if (foc == (OpenboxWindow *) 0) {
XClearWindow(display, frame.window_label);
@ -738,7 +738,7 @@ void Toolbar::redrawWindowLabel(Bool redraw) {
int dx = (frame.bevel_w * 2), dlen = strlen(*foc->getTitle());
unsigned int l;
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset, *foc->getTitle(),
dlen, &ink, &logical);
@ -750,7 +750,7 @@ void Toolbar::redrawWindowLabel(Bool redraw) {
if (l > frame.window_label_w) {
for (; dlen >= 0; dlen--) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
*foc->getTitle(), dlen, &ink, &logical);
@ -776,7 +776,7 @@ void Toolbar::redrawWindowLabel(Bool redraw) {
}
ToolbarStyle *style = screen.getToolbarStyle();
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, frame.window_label, style->fontset,
style->w_text_gc, dx,
(1 - style->fontset_extents->max_ink_extent.y),
@ -785,10 +785,10 @@ void Toolbar::redrawWindowLabel(Bool redraw) {
XDrawString(display, frame.window_label, style->w_text_gc, dx,
(style->font->ascent + 1), *foc->getTitle(), dlen);
}
}
}
void Toolbar::redrawWorkspaceLabel(Bool redraw) {
void Toolbar::redrawWorkspaceLabel(Bool redraw) {
if (screen.getCurrentWorkspace()->getName()) {
if (redraw)
XClearWindow(display, frame.workspace_label);
@ -797,7 +797,7 @@ void Toolbar::redrawWorkspaceLabel(Bool redraw) {
strlen(screen.getCurrentWorkspace()->getName());
unsigned int l;
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
screen.getCurrentWorkspace()->getName(), dlen,
@ -811,7 +811,7 @@ void Toolbar::redrawWorkspaceLabel(Bool redraw) {
if (l > frame.workspace_label_w) {
for (; dlen >= 0; dlen--) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
screen.getCurrentWorkspace()->getName(), dlen,
@ -838,7 +838,7 @@ void Toolbar::redrawWorkspaceLabel(Bool redraw) {
}
ToolbarStyle *style = screen.getToolbarStyle();
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, frame.workspace_label, style->fontset,
style->l_text_gc, dx,
(1 - style->fontset_extents->max_ink_extent.y),
@ -848,10 +848,10 @@ void Toolbar::redrawWorkspaceLabel(Bool redraw) {
(style->font->ascent + 1),
(char *) screen.getCurrentWorkspace()->getName(), dlen);
}
}
}
void Toolbar::redrawPrevWorkspaceButton(Bool pressed, Bool redraw) {
void Toolbar::redrawPrevWorkspaceButton(Bool pressed, Bool redraw) {
if (redraw) {
if (pressed) {
if (frame.pbutton)
@ -876,10 +876,10 @@ void Toolbar::redrawPrevWorkspaceButton(Bool pressed, Bool redraw) {
XFillPolygon(display, frame.psbutton, screen.getToolbarStyle()->b_pic_gc,
pts, 3, Convex, CoordModePrevious);
}
}
void Toolbar::redrawNextWorkspaceButton(Bool pressed, Bool redraw) {
void Toolbar::redrawNextWorkspaceButton(Bool pressed, Bool redraw) {
if (redraw) {
if (pressed) {
if (frame.pbutton)
@ -904,10 +904,10 @@ void Toolbar::redrawNextWorkspaceButton(Bool pressed, Bool redraw) {
XFillPolygon(display, frame.nsbutton, screen.getToolbarStyle()->b_pic_gc,
pts, 3, Convex, CoordModePrevious);
}
}
void Toolbar::redrawPrevWindowButton(Bool pressed, Bool redraw) {
void Toolbar::redrawPrevWindowButton(Bool pressed, Bool redraw) {
if (redraw) {
if (pressed) {
if (frame.pbutton)
@ -932,10 +932,10 @@ void Toolbar::redrawPrevWindowButton(Bool pressed, Bool redraw) {
XFillPolygon(display, frame.pwbutton, screen.getToolbarStyle()->b_pic_gc,
pts, 3, Convex, CoordModePrevious);
}
}
void Toolbar::redrawNextWindowButton(Bool pressed, Bool redraw) {
void Toolbar::redrawNextWindowButton(Bool pressed, Bool redraw) {
if (redraw) {
if (pressed) {
if (frame.pbutton)
@ -960,10 +960,10 @@ void Toolbar::redrawNextWindowButton(Bool pressed, Bool redraw) {
XFillPolygon(display, frame.nwbutton, screen.getToolbarStyle()->b_pic_gc,
pts, 3, Convex, CoordModePrevious);
}
}
void Toolbar::edit() {
void Toolbar::edit() {
Window window;
int foo;
@ -998,10 +998,10 @@ void Toolbar::edit() {
XSetWindowBackgroundPixmap(display, frame.workspace_label, frame.wlabel);
}
if (tmp) image_ctrl->removeImage(tmp);
}
}
void Toolbar::buttonPressEvent(XButtonEvent *be) {
void Toolbar::buttonPressEvent(XButtonEvent *be) {
if (be->button == 1) {
if (be->window == frame.psbutton)
redrawPrevWorkspaceButton(True, True);
@ -1045,11 +1045,11 @@ void Toolbar::buttonPressEvent(XButtonEvent *be) {
} else
toolbarmenu->hide();
}
}
}
void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
if (re->button == 1) {
if (re->window == frame.psbutton) {
redrawPrevWorkspaceButton(False, True);
@ -1093,10 +1093,10 @@ void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
}
#endif // HAVE_STRFTIME
}
}
}
void Toolbar::enterNotifyEvent(XCrossingEvent *) {
void Toolbar::enterNotifyEvent(XCrossingEvent *) {
if (! m_autohide)
return;
@ -1105,9 +1105,9 @@ void Toolbar::enterNotifyEvent(XCrossingEvent *) {
} else {
if (hide_timer->isTiming()) hide_timer->stop();
}
}
}
void Toolbar::leaveNotifyEvent(XCrossingEvent *) {
void Toolbar::leaveNotifyEvent(XCrossingEvent *) {
if (! m_autohide)
return;
@ -1116,10 +1116,10 @@ void Toolbar::leaveNotifyEvent(XCrossingEvent *) {
} else if (! toolbarmenu->isVisible()) {
if (! hide_timer->isTiming()) hide_timer->start();
}
}
}
void Toolbar::exposeEvent(XExposeEvent *ee) {
void Toolbar::exposeEvent(XExposeEvent *ee) {
if (ee->window == frame.clock) checkClock(True);
else if (ee->window == frame.workspace_label && (! m_editing))
redrawWorkspaceLabel();
@ -1128,10 +1128,10 @@ void Toolbar::exposeEvent(XExposeEvent *ee) {
else if (ee->window == frame.nsbutton) redrawNextWorkspaceButton();
else if (ee->window == frame.pwbutton) redrawPrevWindowButton();
else if (ee->window == frame.nwbutton) redrawNextWindowButton();
}
}
void Toolbar::keyPressEvent(XKeyEvent *ke) {
void Toolbar::keyPressEvent(XKeyEvent *ke) {
if (ke->window == frame.workspace_label && m_editing) {
openbox.grab();
@ -1217,7 +1217,7 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) {
XClearWindow(display, frame.workspace_label);
int l = strlen(new_workspace_name), tw, x;
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen.getToolbarStyle()->fontset,
new_workspace_name, l, &ink, &logical);
@ -1231,7 +1231,7 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) {
if (x < (signed) frame.bevel_w) x = frame.bevel_w;
WindowStyle *style = screen.getWindowStyle();
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, frame.workspace_label, style->fontset,
style->l_text_focus_gc, x,
(1 - style->fontset_extents->max_ink_extent.y),
@ -1248,19 +1248,19 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) {
openbox.ungrab();
}
}
}
void Toolbar::timeout() {
void Toolbar::timeout() {
checkClock(True);
timeval now;
gettimeofday(&now, 0);
clock_timer->setTimeout((60 - (now.tv_sec % 60)) * 1000);
}
}
void Toolbar::HideHandler::timeout() {
void Toolbar::HideHandler::timeout() {
toolbar->m_hidden = !toolbar->m_hidden;
if (toolbar->m_hidden)
XMoveWindow(toolbar->display, toolbar->frame.window,
@ -1268,39 +1268,39 @@ void Toolbar::HideHandler::timeout() {
else
XMoveWindow(toolbar->display, toolbar->frame.window,
toolbar->frame.x, toolbar->frame.y);
}
}
Toolbarmenu::Toolbarmenu(Toolbar &tb) : Basemenu(tb.screen), toolbar(tb) {
setLabel(i18n->getMessage(ToolbarSet, ToolbarToolbarTitle, "Toolbar"));
Toolbarmenu::Toolbarmenu(Toolbar &tb) : Basemenu(tb.screen), toolbar(tb) {
setLabel(i18n(ToolbarSet, ToolbarToolbarTitle, "Toolbar"));
setInternalMenu();
placementmenu = new Placementmenu(*this);
insert(i18n->getMessage(CommonSet, CommonPlacementTitle, "Placement"),
insert(i18n(CommonSet, CommonPlacementTitle, "Placement"),
placementmenu);
insert(i18n->getMessage(CommonSet, CommonAlwaysOnTop, "Always on top"), 1);
insert(i18n->getMessage(CommonSet, CommonAutoHide, "Auto hide"), 2);
insert(i18n->getMessage(ToolbarSet, ToolbarEditWkspcName,
insert(i18n(CommonSet, CommonAlwaysOnTop, "Always on top"), 1);
insert(i18n(CommonSet, CommonAutoHide, "Auto hide"), 2);
insert(i18n(ToolbarSet, ToolbarEditWkspcName,
"Edit current workspace name"), 3);
update();
setValues();
}
}
void Toolbarmenu::setValues() {
void Toolbarmenu::setValues() {
setItemSelected(1, toolbar.onTop());
setItemSelected(2, toolbar.autoHide());
}
}
Toolbarmenu::~Toolbarmenu() {
Toolbarmenu::~Toolbarmenu() {
delete placementmenu;
}
}
void Toolbarmenu::itemSelected(int button, int index) {
void Toolbarmenu::itemSelected(int button, int index) {
if (button != 1)
return;
@ -1335,47 +1335,47 @@ void Toolbarmenu::itemSelected(int button, int index) {
break;
}
} // switch
}
}
void Toolbarmenu::internal_hide() {
void Toolbarmenu::internal_hide() {
Basemenu::internal_hide();
if (toolbar.autoHide() && ! toolbar.isEditing())
toolbar.hide_handler.timeout();
}
}
void Toolbarmenu::reconfigure() {
void Toolbarmenu::reconfigure() {
setValues();
placementmenu->reconfigure();
Basemenu::reconfigure();
}
}
Toolbarmenu::Placementmenu::Placementmenu(Toolbarmenu &tm)
Toolbarmenu::Placementmenu::Placementmenu(Toolbarmenu &tm)
: Basemenu(tm.toolbar.screen), toolbarmenu(tm) {
setLabel(i18n->getMessage(ToolbarSet, ToolbarToolbarPlacement,
setLabel(i18n(ToolbarSet, ToolbarToolbarPlacement,
"Toolbar Placement"));
setInternalMenu();
setMinimumSublevels(3);
insert(i18n->getMessage(CommonSet, CommonPlacementTopLeft,
insert(i18n(CommonSet, CommonPlacementTopLeft,
"Top Left"), Toolbar::TopLeft);
insert(i18n->getMessage(CommonSet, CommonPlacementBottomLeft,
insert(i18n(CommonSet, CommonPlacementBottomLeft,
"Bottom Left"), Toolbar::BottomLeft);
insert(i18n->getMessage(CommonSet, CommonPlacementTopCenter,
insert(i18n(CommonSet, CommonPlacementTopCenter,
"Top Center"), Toolbar::TopCenter);
insert(i18n->getMessage(CommonSet, CommonPlacementBottomCenter,
insert(i18n(CommonSet, CommonPlacementBottomCenter,
"Bottom Center"), Toolbar::BottomCenter);
insert(i18n->getMessage(CommonSet, CommonPlacementTopRight,
insert(i18n(CommonSet, CommonPlacementTopRight,
"Top Right"), Toolbar::TopRight);
insert(i18n->getMessage(CommonSet, CommonPlacementBottomRight,
insert(i18n(CommonSet, CommonPlacementBottomRight,
"Bottom Right"), Toolbar::BottomRight);
update();
}
}
void Toolbarmenu::Placementmenu::itemSelected(int button, int index) {
void Toolbarmenu::Placementmenu::itemSelected(int button, int index) {
if (button != 1)
return;
@ -1391,4 +1391,4 @@ void Toolbarmenu::Placementmenu::itemSelected(int button, int index) {
// toolbar
toolbarmenu.toolbar.screen.getSlit()->reposition();
#endif // SLIT
}
}

View file

@ -62,7 +62,7 @@
*/
OpenboxWindow::OpenboxWindow(Openbox &o, Window w, BScreen *s) : openbox(o) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowCreating,
fprintf(stderr, i18n(WindowSet, WindowCreating,
"OpenboxWindow::OpenboxWindow(): creating 0x%lx\n"),
w);
#endif // DEBUG
@ -79,7 +79,7 @@ OpenboxWindow::OpenboxWindow(Openbox &o, Window w, BScreen *s) : openbox(o) {
(! wattrib.screen) || wattrib.override_redirect) {
#ifdef DEBUG
fprintf(stderr,
i18n->getMessage(WindowSet, WindowXGetWindowAttributesFail,
i18n(WindowSet, WindowXGetWindowAttributesFail,
"OpenboxWindow::OpenboxWindow(): XGetWindowAttributes "
"failed\n"));
#endif // DEBUG
@ -94,7 +94,7 @@ OpenboxWindow::OpenboxWindow(Openbox &o, Window w, BScreen *s) : openbox(o) {
screen = openbox.searchScreen(RootWindowOfScreen(wattrib.screen));
if (! screen) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowCannotFindScreen,
fprintf(stderr, i18n(WindowSet, WindowCannotFindScreen,
"OpenboxWindow::OpenboxWindow(): can't find screen\n"
"\tfor root window 0x%lx\n"),
RootWindowOfScreen(wattrib.screen));
@ -815,7 +815,7 @@ void OpenboxWindow::reconfigure(void) {
frame.border_w;
if (client.title) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen->getWindowStyle()->fontset,
client.title, client.title_len, &ink, &logical);
@ -917,16 +917,16 @@ void OpenboxWindow::getWMName(void) {
}
XFree((char *) text_prop.value);
} else {
client.title = bstrdup(i18n->getMessage(WindowSet, WindowUnnamed,
client.title = bstrdup(i18n(WindowSet, WindowUnnamed,
"Unnamed"));
}
} else {
client.title = bstrdup(i18n->getMessage(WindowSet, WindowUnnamed,
client.title = bstrdup(i18n(WindowSet, WindowUnnamed,
"Unnamed"));
}
client.title_len = strlen(client.title);
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen->getWindowStyle()->fontset,
client.title, client.title_len, &ink, &logical);
@ -2040,7 +2040,7 @@ void OpenboxWindow::redrawLabel(void) {
if (client.title_text_w > frame.label_w) {
for (; dlen >= 0; dlen--) {
if (i18n->multibyte()) {
if (i18n.multibyte()) {
XRectangle ink, logical;
XmbTextExtents(screen->getWindowStyle()->fontset, client.title, dlen,
&ink, &logical);
@ -2068,7 +2068,7 @@ void OpenboxWindow::redrawLabel(void) {
WindowStyle *style = screen->getWindowStyle();
GC text_gc = (flags.focused) ? style->l_text_focus_gc :
style->l_text_unfocus_gc;
if (i18n->multibyte())
if (i18n.multibyte())
XmbDrawString(display, frame.label, style->fontset, text_gc, dx,
(1 - style->fontset_extents->max_ink_extent.y),
client.title, dlen);
@ -2195,7 +2195,7 @@ void OpenboxWindow::redrawCloseButton(Bool pressed) {
void OpenboxWindow::mapRequestEvent(XMapRequestEvent *re) {
if (re->window == client.window) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowMapRequest,
fprintf(stderr, i18n(WindowSet, WindowMapRequest,
"OpenboxWindow::mapRequestEvent() for 0x%lx\n"),
client.window);
#endif // DEBUG
@ -2261,7 +2261,7 @@ void OpenboxWindow::mapNotifyEvent(XMapEvent *ne) {
void OpenboxWindow::unmapNotifyEvent(XUnmapEvent *ue) {
if (ue->window == client.window) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowUnmapNotify,
fprintf(stderr, i18n(WindowSet, WindowUnmapNotify,
"OpenboxWindow::unmapNotifyEvent() for 0x%lx\n"),
client.window);
#endif // DEBUG
@ -2286,7 +2286,7 @@ void OpenboxWindow::unmapNotifyEvent(XUnmapEvent *ue) {
if (! XCheckTypedWindowEvent(display, client.window, ReparentNotify,
&dummy)) {
#ifdef DEBUG
fprintf(stderr, i18n->getMessage(WindowSet, WindowUnmapNotifyReparent,
fprintf(stderr, i18n(WindowSet, WindowUnmapNotifyReparent,
"OpenboxWindow::unmapNotifyEvent(): reparent 0x%lx to "
"root.\n"), client.window);
#endif // DEBUG
@ -3148,7 +3148,7 @@ void OpenboxWindow::upsize(void) {
// the height of the titlebar is based upon the height of the font being
// used to display the window's title
WindowStyle *style = screen->getWindowStyle();
if (i18n->multibyte())
if (i18n.multibyte())
frame.title_h = (style->fontset_extents->max_ink_extent.height +
(frame.bevel_w * 2) + 2);
else

View file

@ -43,7 +43,7 @@
Windowmenu::Windowmenu(OpenboxWindow &win) : Basemenu(*win.getScreen()),
window(win), screen(*win.getScreen())
window(win), screen(*win.getScreen())
{
setTitleVisibility(False);
@ -51,23 +51,23 @@ Windowmenu::Windowmenu(OpenboxWindow &win) : Basemenu(*win.getScreen()),
setInternalMenu();
sendToMenu = new SendtoWorkspacemenu(*this);
insert(i18n->getMessage(WindowmenuSet, WindowmenuSendTo, "Send To ..."),
insert(i18n(WindowmenuSet, WindowmenuSendTo, "Send To ..."),
sendToMenu);
insert(i18n->getMessage(WindowmenuSet, WindowmenuShade, "Shade"),
insert(i18n(WindowmenuSet, WindowmenuShade, "Shade"),
BScreen::WindowShade);
insert(i18n->getMessage(WindowmenuSet, WindowmenuIconify, "Iconify"),
insert(i18n(WindowmenuSet, WindowmenuIconify, "Iconify"),
BScreen::WindowIconify);
insert(i18n->getMessage(WindowmenuSet, WindowmenuMaximize, "Maximize"),
insert(i18n(WindowmenuSet, WindowmenuMaximize, "Maximize"),
BScreen::WindowMaximize);
insert(i18n->getMessage(WindowmenuSet, WindowmenuRaise,"Raise"),
insert(i18n(WindowmenuSet, WindowmenuRaise,"Raise"),
BScreen::WindowRaise);
insert(i18n->getMessage(WindowmenuSet, WindowmenuLower, "Lower"),
insert(i18n(WindowmenuSet, WindowmenuLower, "Lower"),
BScreen::WindowLower);
insert(i18n->getMessage(WindowmenuSet, WindowmenuStick, "Stick"),
insert(i18n(WindowmenuSet, WindowmenuStick, "Stick"),
BScreen::WindowStick);
insert(i18n->getMessage(WindowmenuSet, WindowmenuKillClient, "Kill Client"),
insert(i18n(WindowmenuSet, WindowmenuKillClient, "Kill Client"),
BScreen::WindowKill);
insert(i18n->getMessage(WindowmenuSet, WindowmenuClose, "Close"),
insert(i18n(WindowmenuSet, WindowmenuClose, "Close"),
BScreen::WindowClose);
update();
@ -163,7 +163,7 @@ Windowmenu::SendtoWorkspacemenu::SendtoWorkspacemenu(Windowmenu &w)
setMovable(False);
setInternalMenu();
update();
}
}
void Windowmenu::SendtoWorkspacemenu::itemSelected(int button, int index) {

View file

@ -303,7 +303,7 @@ void Workspace::setName(const char *new_name) {
name = bstrdup(new_name);
} else {
name = new char[128];
sprintf(name, i18n->getMessage(WorkspaceSet, WorkspaceDefaultNameFormat,
sprintf(name, i18n(WorkspaceSet, WorkspaceDefaultNameFormat,
"Workspace %d"), id + 1);
}

View file

@ -41,11 +41,11 @@
Workspacemenu::Workspacemenu(BScreen &scrn) : Basemenu(scrn), screen(scrn) {
setInternalMenu();
setLabel(i18n->getMessage(WorkspacemenuSet, WorkspacemenuWorkspacesTitle,
setLabel(i18n(WorkspacemenuSet, WorkspacemenuWorkspacesTitle,
"Workspaces"));
insert(i18n->getMessage(WorkspacemenuSet, WorkspacemenuNewWorkspace,
insert(i18n(WorkspacemenuSet, WorkspacemenuNewWorkspace,
"New Workspace"));
insert(i18n->getMessage(WorkspacemenuSet, WorkspacemenuRemoveLast,
insert(i18n(WorkspacemenuSet, WorkspacemenuRemoveLast,
"Remove Last"));
}

View file

@ -42,14 +42,36 @@
#include <algorithm>
using std::cerr;
using std::endl;
std::string XDisplay::_app_name;
Window XDisplay::_last_bad_window = None;
/*
* X error handler to handle all X errors while the application is
* running.
*/
int XDisplay::XErrorHandler(Display *d, XErrorEvent *e) {
d=d;e=e;
return 0;
#ifdef DEBUG
char errtxt[128];
XGetErrorText(d, e->error_code, errtxt, sizeof(errtxt)/sizeof(char));
cerr << _app_name.c_str() << ": X error: " <<
errtxt << "(" << e->error_code << ") opcodes " <<
e->request_code << "/" << e->minor_code << endl;
cerr.flags(std::ios_base::hex);
cerr << " resource 0x" << e->resourceid << endl;
cerr.flags(std::ios_base::dec);
#endif
if (e->error_code == BadWindow)
_last_bad_window = e->resourceid;
return False;
}
XDisplay::XDisplay(const char *dpyname) {
XDisplay::XDisplay(const std::string &application_name, const char *dpyname) {
_app_name = application_name;
_grabs = 0;
_hasshape = false;

View file

@ -42,7 +42,10 @@ private:
typedef std::vector<XScreen*> XScreenList;
XScreenList _screens;
// X error handling
static int XErrorHandler(Display *d, XErrorEvent *e);
static std::string _app_name;
static Window _last_bad_window;
// no copying!!
XDisplay(const XDisplay &);
@ -52,7 +55,7 @@ protected:
virtual void process_event(XEvent *) = 0;
public:
XDisplay(const char *dpyname = 0);
XDisplay(const std::string &application_name, const char *dpyname = 0);
virtual ~XDisplay();
XScreen *screen(unsigned int s) const;

View file

@ -1,5 +1,6 @@
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
// i18n.cc for Openbox
// Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org>
// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
//
// Permission is hereby granted, free of charge, to any person obtaining a
@ -20,18 +21,11 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
// stupid macros needed to access some functions in version 2 of the GNU C
// library
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif // _GNU_SOURCE
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif // HAVE_CONFIG_H
#include "i18n.h"
extern "C" {
#include <X11/Xlocale.h>
#ifdef HAVE_STDLIB_H
@ -49,23 +43,15 @@
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif // HAVE_LOCALE_H
// the rest of bb source uses True and False from X, so we continue that
#define True true
#define False false
static I18n static_i18n;
I18n *i18n;
void NLSInit(const char *catalog) {
i18n = &static_i18n;
i18n->openCatalog(catalog);
}
#include <string>
using std::string;
I18n::I18n(void) {
mb = False;
#include "i18n.h"
I18n::I18n(const char *catalog) {
mb = false;
#ifdef HAVE_SETLOCALE
locale = setlocale(LC_ALL, "");
if (! locale) {
@ -76,7 +62,7 @@ I18n::I18n(void) {
} else {
// MB_CUR_MAX returns the size of a char in the current locale
if (MB_CUR_MAX > 1)
mb = True;
mb = true;
// truncate any encoding off the end of the locale
char *l = strchr(locale, '@');
if (l) *l = '\0';
@ -88,14 +74,12 @@ I18n::I18n(void) {
catalog_fd = (nl_catd) -1;
#endif
#endif // HAVE_SETLOCALE
catalog_filename = (char *) 0;
if (catalog)
openCatalog(catalog);
}
I18n::~I18n(void) {
delete [] catalog_filename;
I18n::~I18n() {
#if defined(NLS) && defined(HAVE_CATCLOSE)
if (catalog_fd != (nl_catd) -1)
catclose(catalog_fd);
@ -105,35 +89,27 @@ I18n::~I18n(void) {
void I18n::openCatalog(const char *catalog) {
#if defined(NLS) && defined(HAVE_CATOPEN)
int lp = strlen(LOCALEPATH), lc = strlen(locale),
ct = strlen(catalog), len = lp + lc + ct + 3;
catalog_filename = new char[len];
strncpy(catalog_filename, LOCALEPATH, lp);
*(catalog_filename + lp) = '/';
strncpy(catalog_filename + lp + 1, locale, lc);
*(catalog_filename + lp + lc + 1) = '/';
strncpy(catalog_filename + lp + lc + 2, catalog, ct + 1);
string catalog_filename = LOCALEPATH;
catalog_filename += '/';
catalog_filename += locale;
catalog_filename += '/';
catalog_filename += catalog;
# ifdef MCLoadBySet
catalog_fd = catopen(catalog_filename, MCLoadBySet);
catalog_fd = catopen(catalog_filename.c_str(), MCLoadBySet);
# else // !MCLoadBySet
catalog_fd = catopen(catalog_filename, NL_CAT_LOCALE);
catalog_fd = catopen(catalog_filename.c_str(), NL_CAT_LOCALE);
# endif // MCLoadBySet
if (catalog_fd == (nl_catd) -1)
fprintf(stderr, "failed to open catalog, using default messages\n");
#else // !HAVE_CATOPEN
catalog_filename = (char *) 0;
#endif // HAVE_CATOPEN
}
const char *I18n::getMessage(int set, int msg, const char *msgString) const {
const char* I18n::operator()(int set, int msg, const char *msgString) const {
#if defined(NLS) && defined(HAVE_CATGETS)
if (catalog_fd != (nl_catd) -1)
return (const char *) catgets(catalog_fd, set, msg, msgString);
return catgets(catalog_fd, set, msg, msgString);
else
#endif
return msgString;

View file

@ -1,5 +1,6 @@
// i18n.h for Openbox
// Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
// -*- mode: C++; indent-tabs-mode: nil; -*-
// i18n.hh for Openbox
// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org>
// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
//
// Permission is hereby granted, free of charge, to any person obtaining a
@ -28,39 +29,35 @@
// add ifdefs to every call to getMessage
#include "../nls/openbox-nls.h"
extern "C" {
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif // HAVE_LOCALE_H
#ifdef HAVE_NL_TYPES_H
extern "C" {
# include <nl_types.h>
}
#endif // HAVE_NL_TYPES_H
}
class I18n {
private:
char *locale, *catalog_filename;
char *locale;
bool mb;
#ifdef HAVE_NL_TYPES_H
nl_catd catalog_fd;
#endif
public:
I18n(void);
~I18n(void);
I18n(const char *catalog = 0);
~I18n();
inline bool multibyte(void) const { return mb; }
const char *getMessage(int set, int msg, const char *msgString) const;
const char* operator()(int set, int msg, const char *msgString) const;
void openCatalog(const char *catalog);
};
extern I18n *i18n;
extern void NLSInit(const char *);
extern I18n i18n; // located in main.cc
#endif // __i18n_h

View file

@ -32,9 +32,6 @@
# include "../config.h"
#endif // HAVE_CONFIG_H
#include "i18n.h"
#include "openbox.h"
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif // HAVE_STDIO_H
@ -59,10 +56,14 @@
#define MAXPATHLEN 255
#endif // MAXPATHLEN
#include "openbox.h"
#include "i18n.h"
I18n i18n("openbox.cat");
static void showHelp(int exitval) {
// print program usage and command line options
printf(i18n->getMessage(mainSet, mainUsage,
printf(i18n(mainSet, mainUsage,
"Openbox %s : (c) 2002 - 2002 Ben Jansens\n"
"\t\t\t 2001 - 2002 Sean 'Shaleh' Perry\n\n"
"\t\t\t 1997 - 2000 Brad Hughes\n\n"
@ -75,7 +76,7 @@ static void showHelp(int exitval) {
// some people have requested that we print out compile options
// as well
fprintf(stdout,i18n->getMessage(mainSet, mainCompileOptions,
fprintf(stdout,i18n(mainSet, mainCompileOptions,
"Compile time options:\n"
" Debugging:\t\t\t%s\n"
" Interlacing:\t\t\t%s\n"
@ -84,39 +85,39 @@ static void showHelp(int exitval) {
" 8bpp Ordered Dithering:\t%s\n"
" Event Clobbering:\t\t%s\n\n"),
#ifdef DEBUG
i18n->getMessage(CommonSet, CommonYes, "yes"),
i18n(CommonSet, CommonYes, "yes"),
#else // !DEBUG
i18n->getMessage(CommonSet, CommonNo, "no"),
i18n(CommonSet, CommonNo, "no"),
#endif // DEBUG
#ifdef INTERLACE
i18n->getMessage(CommonSet, CommonYes, "yes"),
i18n(CommonSet, CommonYes, "yes"),
#else // !INTERLACE
i18n->getMessage(CommonSet, CommonNo, "no"),
i18n(CommonSet, CommonNo, "no"),
#endif // INTERLACE
#ifdef SHAPE
i18n->getMessage(CommonSet, CommonYes, "yes"),
i18n(CommonSet, CommonYes, "yes"),
#else // !SHAPE
i18n->getMessage(CommonSet, CommonNo, "no"),
i18n(CommonSet, CommonNo, "no"),
#endif // SHAPE
#ifdef SLIT
i18n->getMessage(CommonSet, CommonYes, "yes"),
i18n(CommonSet, CommonYes, "yes"),
#else // !SLIT
i18n->getMessage(CommonSet, CommonNo, "no"),
i18n(CommonSet, CommonNo, "no"),
#endif // SLIT
#ifdef ORDEREDPSEUDO
i18n->getMessage(CommonSet, CommonYes, "yes"),
i18n(CommonSet, CommonYes, "yes"),
#else // !ORDEREDPSEUDO
i18n->getMessage(CommonSet, CommonNo, "no"),
i18n(CommonSet, CommonNo, "no"),
#endif // ORDEREDPSEUDO
#ifndef NOCLOBBER
i18n->getMessage(CommonSet, CommonYes, "yes")
i18n(CommonSet, CommonYes, "yes")
#else // !NOCLOBBER
i18n->getMessage(CommonSet, CommonNo, "no")
i18n(CommonSet, CommonNo, "no")
#endif // NOCLOBBER
);
@ -128,15 +129,13 @@ int main(int argc, char **argv) {
char *rc_file = (char *) 0;
char *menu_file = (char *) 0;
NLSInit("openbox.cat");
for (int i = 1; i < argc; ++i) {
if (! strcmp(argv[i], "-rc")) {
// look for alternative rc file to use
if ((++i) >= argc) {
fprintf(stderr,
i18n->getMessage(mainSet, mainRCRequiresArg,
i18n(mainSet, mainRCRequiresArg,
"error: '-rc' requires and argument\n"));
::exit(1);
@ -148,7 +147,7 @@ int main(int argc, char **argv) {
if ((++i) >= argc) {
fprintf(stderr,
i18n->getMessage(mainSet, mainMENURequiresArg,
i18n(mainSet, mainMENURequiresArg,
"error: '-menu' requires and argument\n"));
::exit(1);
@ -161,7 +160,7 @@ int main(int argc, char **argv) {
if ((++i) >= argc) {
fprintf(stderr,
i18n->getMessage(mainSet, mainDISPLAYRequiresArg,
i18n(mainSet, mainDISPLAYRequiresArg,
"error: '-display' requires an argument\n"));
::exit(1);
@ -173,8 +172,7 @@ int main(int argc, char **argv) {
if (putenv(dtmp)) {
fprintf(stderr,
i18n->
getMessage(mainSet, mainWarnDisplaySet,
i18n(mainSet, mainWarnDisplaySet,
"warning: couldn't set environment variable 'DISPLAY'\n"));
perror("putenv()");
}

View file

@ -219,7 +219,7 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc,
if (screenList.empty()) {
fprintf(stderr,
i18n->getMessage(openboxSet, openboxNoManagableScreens,
i18n(openboxSet, openboxNoManagableScreens,
"Openbox::Openbox: no managable screens found, aborting.\n"));
::exit(3);
}
@ -240,7 +240,7 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc,
ungrab();
focusWindow(0);
}
}
Openbox::~Openbox() {
@ -449,7 +449,7 @@ void Openbox::process_event(XEvent *e) {
case MapRequest: {
#ifdef DEBUG
fprintf(stderr,
i18n->getMessage(openboxSet, openboxMapRequest,
i18n(openboxSet, openboxMapRequest,
"Openbox::process_event(): MapRequest for 0x%lx\n"),
e->xmaprequest.window);
#endif // DEBUG