diff --git a/ChangeLog b/ChangeLog index f5e062c2..65737987 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Changes since version 0.60.0: +............................. + +- fixed some problems with non gcc compilers. +- fixed problem with showing instance.class in the inspector window. +- fixed crash when displaying workspace name in some positions. + + Changes since version 0.53.0: ............................. diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index c3c6999d..6fecfca7 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -1,3 +1,10 @@ +changes since wmaker 0.60.0: +............................ + +- added WMScreenWidth() and WMScreenHeight() functions. +- fixed some problems when compiling with non gcc compilers. + + changes since wmaker 0.53.0: ............................ diff --git a/WINGs/WINGs.h b/WINGs/WINGs.h index 2c60ab64..93e918a7 100644 --- a/WINGs/WINGs.h +++ b/WINGs/WINGs.h @@ -672,6 +672,10 @@ int WMWidthOfString(WMFont *font, char *text, int length); WMScreen *WMWidgetScreen(WMWidget *w); +unsigned int WMScreenWidth(WMScreen *scr); + +unsigned int WMScreenHeight(WMScreen *scr); + void WMUnmapWidget(WMWidget *w); void WMMapWidget(WMWidget *w); diff --git a/WINGs/wevent.c b/WINGs/wevent.c index 999d50c3..93a828b5 100644 --- a/WINGs/wevent.c +++ b/WINGs/wevent.c @@ -593,7 +593,6 @@ WMHandleEvent(XEvent *event) if (event->type == SelectionNotify || event->type == SelectionClear || event->type == SelectionRequest) { - puts("REQREWQ"); /* handle selection related events */ W_HandleSelectionEvent(event); } diff --git a/WINGs/widgets.c b/WINGs/widgets.c index 92b82e45..dd87d745 100644 --- a/WINGs/widgets.c +++ b/WINGs/widgets.c @@ -953,6 +953,20 @@ WMScreenDepth(WMScreen *scr) } +unsigned int +WMScreenWidth(WMScreen *scr) +{ + return scr->rootView->size.width; +} + + +unsigned int +WMScreenHeight(WMScreen *scr) +{ + return scr->rootView->size.height; +} + + void WMRedisplayWidget(WMWidget *w) { diff --git a/WINGs/wscrollview.c b/WINGs/wscrollview.c index 234dec74..a28033b6 100644 --- a/WINGs/wscrollview.c +++ b/WINGs/wscrollview.c @@ -245,7 +245,7 @@ doScrolling(WMWidget *self, void *data) int vpsize; float size; - if (sPtr->hScroller == self) { + if (sPtr->hScroller == (WMScroller *)self) { pos = -sPtr->contentView->pos.x; size = sPtr->contentView->size.width-sPtr->viewport->size.width; vpsize = sPtr->viewport->size.width - sPtr->pageScroll; @@ -310,7 +310,7 @@ doScrolling(WMWidget *self, void *data) break; } - if (sPtr->hScroller == self) { + if (sPtr->hScroller == (WMScroller *)self) { W_MoveView(sPtr->contentView, -pos, sPtr->contentView->pos.y); } else { W_MoveView(sPtr->contentView, sPtr->contentView->pos.x, -pos); diff --git a/WINGs/wtextfield.c b/WINGs/wtextfield.c index 5d49dc71..4c355d5d 100644 --- a/WINGs/wtextfield.c +++ b/WINGs/wtextfield.c @@ -1260,7 +1260,6 @@ handleTextFieldActionEvents(XEvent *event, void *data) { WMNotification *notif = WMCreateNotification("_lostOwnership", NULL,tPtr); - puts("notify it"); WMPostNotification(notif); WMReleaseNotification(notif); } diff --git a/WPrefs.app/KeyboardShortcuts.c b/WPrefs.app/KeyboardShortcuts.c index ebea640e..cfc1ca05 100644 --- a/WPrefs.app/KeyboardShortcuts.c +++ b/WPrefs.app/KeyboardShortcuts.c @@ -408,6 +408,14 @@ createPanel(Panel *p) WMAddListItem(panel->actLs, _("Shortcut for window 2")); WMAddListItem(panel->actLs, _("Shortcut for window 3")); WMAddListItem(panel->actLs, _("Shortcut for window 4")); +#ifdef EXTEND_WINDOWSHORTCUT + WMAddListItem(panel->actLs, _("Shortcut for window 5")); + WMAddListItem(panel->actLs, _("Shortcut for window 6")); + WMAddListItem(panel->actLs, _("Shortcut for window 7")); + WMAddListItem(panel->actLs, _("Shortcut for window 8")); + WMAddListItem(panel->actLs, _("Shortcut for window 9")); + WMAddListItem(panel->actLs, _("Shortcut for window 10")); +#endif WMAddListItem(panel->actLs, _("Raise Clip")); WMAddListItem(panel->actLs, _("Lower Clip")); WMAddListItem(panel->actLs, _("Raise/Lower Clip")); diff --git a/WPrefs.app/WPrefs.h b/WPrefs.app/WPrefs.h index cb32f579..49d79a0b 100644 --- a/WPrefs.app/WPrefs.h +++ b/WPrefs.app/WPrefs.h @@ -38,6 +38,7 @@ #include /** some config options **/ +/* is not easier to include ../src/wconfig.h ?? */ #undef EXTEND_WINDOWSHORTCUT /****/ diff --git a/src/WindowMaker.h b/src/WindowMaker.h index 5a94c7a8..e38677d7 100644 --- a/src/WindowMaker.h +++ b/src/WindowMaker.h @@ -357,9 +357,9 @@ typedef struct WPreferences { int icon_size; /* size of the icon */ - int menu_style; /* menu decoration style */ + char menu_style; /* menu decoration style */ - int workspace_name_display_position; + char workspace_name_display_position; unsigned int modifier_mask; /* mask to use as kbd modifier */ diff --git a/src/appicon.c b/src/appicon.c index 3a6edde1..eda33b06 100644 --- a/src/appicon.c +++ b/src/appicon.c @@ -379,11 +379,11 @@ updateDockNumbers(WScreen *scr) XSetForeground(dpy, numbers_gc, scr->black_pixel); WMDrawString(scr->wmscreen, dicon->icon->core->window, numbers_gc, - scr->icon_title_font->font, 4, 3, ws_numbers, length); + scr->icon_title_font, 4, 3, ws_numbers, length); XSetForeground(dpy, numbers_gc, scr->white_pixel); WMDrawString(scr->wmscreen, dicon->icon->core->window, numbers_gc, - scr->icon_title_font->font, 3, 2, ws_numbers, length); + scr->icon_title_font, 3, 2, ws_numbers, length); XFreeGC(dpy, numbers_gc); free(ws_numbers); diff --git a/src/dock.c b/src/dock.c index a16a5838..c948a414 100644 --- a/src/dock.c +++ b/src/dock.c @@ -3526,7 +3526,6 @@ iconDblClick(WObjDescriptor *desc, XEvent *event) ((btn->icon->owner == NULL) && (btn->applist != NULL))) { if (btn->icon->owner == NULL) btn->icon->owner = btn->applist->wapp->main_window_desc; - } #else if (btn->icon->owner && !(event->xbutton.state & ControlMask)) { #endif diff --git a/src/winspector.c b/src/winspector.c index 02fcaf2e..a3ce7b5f 100644 --- a/src/winspector.c +++ b/src/winspector.c @@ -1095,14 +1095,16 @@ createInspectorForWindow(WWindow *wwin) WMSetButtonAction(panel->defaultRb, selectSpecification, panel); if (wwin->wm_class && wwin->wm_instance) { - char *str; + char *str, *tmp; - str = wstrappend(wwin->wm_instance, wwin->wm_class); + tmp = wstrappend(wwin->wm_instance, "."); + str = wstrappend(tmp, wwin->wm_class); panel->bothRb = WMCreateRadioButton(panel->specFrm); WMMoveWidget(panel->bothRb, 10, 18); WMResizeWidget(panel->bothRb, frame_width - (2 * 10), 20); WMSetButtonText(panel->bothRb, str); - free(str); + free(tmp); + free(str); WMGroupButtons(panel->defaultRb, panel->bothRb); if (!selectedBtn) @@ -1137,6 +1139,9 @@ createInspectorForWindow(WWindow *wwin) WMSetButtonAction(panel->clsRb, selectSpecification, panel); } + if (selectedBtn) + WMSetButtonSelected(selectedBtn, True); + panel->specLbl = WMCreateLabel(panel->win); WMMoveWidget(panel->specLbl, 15, 170); WMResizeWidget(panel->specLbl, frame_width, 100); diff --git a/src/workspace.c b/src/workspace.c index bd8d6910..88bc441b 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -314,33 +314,34 @@ showWorkspaceName(WScreen *scr, int workspace) h = WMFontHeight(scr->workspace_name_font); switch (wPreferences.workspace_name_display_position) { - case WD_CENTER: - px = (scr->scr_width - (w+4))/2; - py = (scr->scr_height - (h+4))/2; - break; case WD_TOP: px = (scr->scr_width - (w+4))/2; py = 0; break; case WD_BOTTOM: px = (scr->scr_width - (w+4))/2; - py = scr->scr_height - h; + py = scr->scr_height - (h+4); break; case WD_TOPLEFT: px = 0; py = 0; break; case WD_TOPRIGHT: - px = scr->scr_width - w; + px = scr->scr_width - (w+4); py = 0; break; case WD_BOTTOMLEFT: px = 0; - py = scr->scr_height - h; + py = scr->scr_height - (h+4); break; case WD_BOTTOMRIGHT: - px = scr->scr_width - w; - py = scr->scr_height - h; + px = scr->scr_width - (w+4); + py = scr->scr_height - (h+4); + break; + case WD_CENTER: + default: + px = (scr->scr_width - (w+4))/2; + py = (scr->scr_height - (h+4))/2; break; } XResizeWindow(dpy, scr->workspace_name, w+4, h+4); @@ -389,7 +390,7 @@ showWorkspaceName(WScreen *scr, int workspace) ximg = RGetXImage(scr->rcontext, scr->root_win, px, py, data->text->width, data->text->height); - if (!ximg) { + if (!ximg || !ximg->image) { goto erro; } diff --git a/wrlib/convert.c b/wrlib/convert.c index 91641f33..710fdfe2 100644 --- a/wrlib/convert.c +++ b/wrlib/convert.c @@ -215,7 +215,8 @@ image2TrueColorD16(RContext *ctx, RImage *image) nberr[x+1]+=ber-2*b; } ofs += image->width; - (char*)dataP += line_offset; + /*(char*)dataP += line_offset;*/ + dataP = (unsigned short *)((char *)dataP + line_offset); /* skip to next line */ terr = rerr; rerr = nrerr; @@ -433,7 +434,7 @@ image2PseudoColor(RContext *ctx, RImage *image) grn = image->data[1]; blu = image->data[2]; - data = ximg->image->data; + data = (unsigned char *)ximg->image->data; /* Tables are same at the moment because rmask==gmask==bmask. */ rtable = computeTable(rmask); @@ -605,7 +606,7 @@ image2GrayScale(RContext *ctx, RImage *image) grn = image->data[1]; blu = image->data[2]; - data = ximg->image->data; + data = (unsigned char *)ximg->image->data; if (ctx->vclass == StaticGray) gmask = (1<depth) - 1; /* use all grays */