all repos — openbox @ a1b96061eb78c44ddb5fda026efb6ba7b52c93af

openbox fork - make it a bit more like ryudo

sync with bb-cvs
Dana Jansens danakj@orodu.net
commit

a1b96061eb78c44ddb5fda026efb6ba7b52c93af

parent

266a35a943d0202b0e450b1f4e5313bce2de367b

M AUTHORSAUTHORS

@@ -69,6 +69,8 @@ Wilbert Berendsen <wbsoft@xs4all.nl>

- man pages and Dutch (nl_NL) nls support Řyvind Stegard <oyvind.stegard@bluezone.no> - Norwegian (no_NO) nls support + Wojciech Krygier <wkrygie@kis.p.lodz.pl> + - Polish (pl_PL) nls support Ciprian Popovici <ciprian@zuavra.net> - Romanian (ro_RO) nls support Ales Kosir <ales.kosir@telemach.net>
M CHANGELOG.BlackboxCHANGELOG.Blackbox

@@ -1,6 +1,22 @@

ChangeLog from Blackbox (this code's previous project): Changes from 0.62.1 to 0.65.0: + - added Taiwan Chinese (zh_TW), Hungarian (hu_HU), Korean (ko_KR), + Norwegian (no_NO), Polish (pl_PL), Romanian (ro_RO) and Ukrainian (uk_UA) + nls files and updated most of the others. + - added French man pages + - remove slit and netwm as compile time options + - strip much of BaseDisplay's original functionality and move it to the + blackbox class. + - huge amounts of internal cleanups + - added emacs local variables to each file that prevent the addition of tabs + - added a Util.cc file which contains useful functions with no obvious home. + - removed several unused variables and otherwise reduced the memory usage + of the objects in Blackbox. For the record we are about 100k larger than + 0.62.0 and that is mostly due to the STL. However for the most part + blackbox runs faster and is still one of the leanest window managers out + there today. + - move code over to the STL - bsetroot now sets _XROOTPMAP_ID, so pseudo transparent apps will be happy - beginnings of a strut implementation. toolbar and slit are removed from the available screen area if 'full maximize' is not set

@@ -12,7 +28,6 @@ Added a reparentNotifyEvent handler in the BlackboxWindow class and a new

case in the Blackbox class's process_event function. - no more blackbox->grab/ungrab calls everywhere - compression of motion and expose - - added a Util.cc file which contains useful functions with no obvious home. - Now we have one function which turns ~/ into /home/user/. This is now called everywhere this expansion should be done. Even added this to the resource.menu_file so now the menu file may be specified as

@@ -22,50 +37,35 @@ items it contains before they reach the top of the queue. Also added a

TimerQueueManager protocol class which BaseDisplay now inherits from. - BTimer now defaults to NOT recurring. Most of the timers in blackbox were one shots so I saw little benefit in defaulting to repeating timers. - - added emacs local variables that prevent the addition of tabs to each file - update transient handling, should solve issues with apps like acroread. added a getTransientInfo() method of the BlackboxWindow class which handles checking the transient state in X and setting the appropriate variables on the window. To further attack the infinite loops this - function ensures that client.transient != this. - The new transient code also allows for one window to have multiple - transients so applications like xmms and web browsers are better behaved. - - added Taiwan Chinese (zh_TW), Hungarian (hu_HU), Korean (ko_KR), - Norwegian (no_NO), Romanian (ro_RO) and Ukrainian (uk_UA) nls files and - updated the most of the others. - - added French man pages - - remove slit and netwm as compile time options - - strip much of BaseDisplay's original functionality and move it to the - blackbox class. - - move code over to the STL - - new placeWindow algorithm. Blows the old one out of the water. Not only - is it faster but it is also cleaner code too (-: Went from number 5 in - the profiling to results to under 30. Managing of new windows is slowed - down by image rendering above all else now. - Because of the new code layout, the support is now there for new and - different layout options, but this will wait for after 0.65.0. - - better window group handling - - huge amounts of internal cleanups + function ensures that client.transient != this. We also check for loops + of the forms A -> B -> C -> A. The new transient code also allows for one + window to have multiple transients so applications like xmms and web + browsers are better behaved. - even better ICCCM support and focus handling - wmswallow works - fix for clock clipping in the toolbar - better support for non decorated windows and toggling decor - the geometry window shown when moving or resizing a window now handles the - parentrelative setting better + parentrelative setting better. parentrelative support has been improved + for all of the other widgets as well. + - better window group handling - improved edge snap support (still no window to window snapping) - changing preferences no longer leads to windows being raised - - the window's send to menu disables the current workspace, which is a + - the window's "send to" menu ignores the current workspace, which is a better UI approach - - removed several unused variables and otherwise reduced the memory usage - of the objects in Blackbox. For the record we are about 100k larger than - 0.62.0 and that is mostly due to the STL. However for the most part - blackbox runs faster and is still one of the leanest window managers out - there today. + - new placeWindow algorithm. Blows the old one out of the water. Not only + is it faster but it is also cleaner code too (-: Went from number 5 in + the profiling results to under 30. Image rendering is now the slowest + part of managing of new windows. + Because of the new code layout, support is now there for new and + different layout options but this will wait for after 0.65.0. - smart window placement ignores shaded windows now - new option in the Config menu which allows Scroll Lock to disable Blackbox's keybindings. - - first the resurrection of the code and now the return of Brad! Blackbox - is only getting better with age. Changes from 0.62.0 to 0.62.1: - the lock modifier code handles user redefined modifiers better
M configure.inconfigure.in

@@ -260,6 +260,7 @@ nls/it_IT/Makefile

nls/ja_JP/Makefile nls/ko_KR/Makefile nls/no_NO/Makefile +nls/pl_PL/Makefile nls/nl_NL/Makefile nls/pt_BR/Makefile nls/ro_RO/Makefile
M nls/Makefile.amnls/Makefile.am

@@ -2,7 +2,7 @@ # nls/Makefile.am for Blackbox - an X11 Window Manager

NLSTEST = @NLS@ SUBDIRS = C da_DK de_DE es_AR es_ES et_EE fr_FR hu_HU it_IT ja_JP ko_KR nl_NL \ - no_NO pt_BR ro_RO ru_RU sl_SI sv_SE tr_TR uk_UA zh_CN zh_TW + no_NO pl_PL pt_BR ro_RO ru_RU sl_SI sv_SE tr_TR uk_UA zh_CN zh_TW MAINTAINERCLEANFILES = Makefile.in blackbox-nls.hh DISTCLEANFILES = blackbox-nls.hh
M nls/es_AR/main.mnls/es_AR/main.m

@@ -5,13 +5,13 @@ # error: '-rc' requiere un argumento\n

$ #DISPLAYRequiresArg # error: '-display' requiere un argumento\n $ #WarnDisplaySet -# warning: no pude establecer la variable de entorno 'DISPLAY'\n +# Aviso: no pude establecer la variable de entorno 'DISPLAY'\n $ #Usage # Blackbox %s : (c) 2001 - 2002 Sean 'Shaleh' Perry\n\ \t\t\t 1997 - 2000, 2002 Brad Hughes\n\n\ -display <cadena>\t\tusar la conexión al display.\n\ -rc <cadena>\t\t\tusar otro archivo de recursos.\n\ - -version\t\t\tmostrar version y salir.\n\ + -version\t\t\tmostrar versin y salir.\n\ -help\t\t\t\tmostrar este texto de ayuda y salir.\n\n $ #CompileOptions # Opciones de Tiempo de Compilación:\n\
A nls/pl_PL/BaseDisplay.m

@@ -0,0 +1,16 @@

+$set 1 #BaseDisplay + +$ #XError +# %s: błąd X: %s(%d) opcodes %d/%d\n resource 0x%lx\n +$ #SignalCaught +# %s: złapano sygnał %d\n +$ #ShuttingDown +# zamykam\n +$ #Aborting +# przerywam... zrzucam core\n +$ #XConnectFail +# BaseDisplay::BaseDisplay: Nie można połączyć się z X serwerem.\n +$ #CloseOnExecFail +# BaseDisplay::BaseDisplay: Nie można ustawić połączenia jako 'close-on-exec'\n +$ #BadWindowRemove +# BaseDisplay::eventLoop(): Usuwam złe okno z kolejki zdarzeń\n
A nls/pl_PL/Basemenu.m

@@ -0,0 +1,4 @@

+$set 2 #Basemenu + +$ #BlackboxMenu +# Menu Blackbox
A nls/pl_PL/Configmenu.m

@@ -0,0 +1,42 @@

+$set 3 #Configmenu + +$ #ConfigOptions +# Konfiguracja +$ #FocusModel +# Sposób aktywacji okien +$ #WindowPlacement +# Rozmieszczanie okien +$ #ImageDithering +# Rastrowanie obrazu +$ #OpaqueMove +# Wyświetlaj zawartość przesuwanego okna +$ #FullMax +# Pełnoekranowa maksymalizacja +$ #FocusNew +# Ustawiaj nowe okna jako aktywne +$ #FocusLast +# Zmień aktywne okno przy zmianie pulpitów +$ #DisableBindings +# Scroll Lock blokuje modyfikatory +$ #ClickToFocus +# Uaktywnia kliknięcie +$ #SloppyFocus +# Uaktywnia kursor +$ #AutoRaise +# Podnoszenie automatyczne +$ #ClickRaise +# Podnoszenie po kliknięciu +$ #SmartRows +# Optymalne (Wiersze) +$ #SmartCols +# Optymalne (Kolumny) +$ #Cascade +# Kaskada +$ #LeftRight +# od Lewej do Prawej +$ #RightLeft +# od Prawej do Lewej +$ #TopBottom +# z Góry na Dół +$ #BottomTop +# z Dołu do Góry
A nls/pl_PL/Icon.m

@@ -0,0 +1,4 @@

+$set 4 #Icon + +$ #Icons +# Ikony
A nls/pl_PL/Image.m

@@ -0,0 +1,25 @@

+$set 5 #Image + +$ #ErrorCreatingSolidPixmap +# BImage::render_solid: wystąpił błąd podczas tworzenia pixmapy\n +$ #ErrorCreatingXImage +# BImage::renderXImage: wystąpił błąd podczas tworzenia obiektu XImage\n +$ #UnsupVisual +# BImage::renderXImage: brak akceptowanego sposobu obsługi kolorów\n +$ #ErrorCreatingPixmap +# BImage::renderPixmap: wystąpił błąd podczas tworzenia pixmapy\n +$ #InvalidColormapSize +# BImageControl::BImageControl: zły rozmiar mapy kolorów %d (%d/%d/%d) - \ +redukuje\n +$ #ErrorAllocatingColormap +# BImageControl::BImageControl: błąd alokacji mapy kolorów\n +$ #ColorAllocFail +# BImageControl::BImageControl: alokacja koloru %d/%d/%d nieudana\n +$ #PixmapRelease +# BImageControl::BImageControl: pixmap cache - zwalniam %d pixmap\n +$ #PixmapCacheLarge +# BImageControl::renderImage: duża pamięć cache, wymuszam czyszczenie\n +$ #ColorParseError +# BImageControl::getColor: wystąpił błąd podczas tłumaczenia koloru: '%s'\n +$ #ColorAllocError +# BImageControl::getColor: wystąpił błąd podczas alokacji koloru: '%s'\n
A nls/pl_PL/Makefile.am

@@ -0,0 +1,35 @@

+# Makefile.am for Blackbox - an X11 Window Manager + +NLSTEST = @NLS@ +THE_LANG = pl_PL +THE_NLS_PATH = $(DESTDIR)$(pkgdatadir)/nls/$(THE_LANG) +CLEANFILES = blackbox.cat +MAINTAINERCLEANFILES = Makefile.in Translation.m +DISTCLEANFILES = Translation.m +MFILES = @srcdir@/BaseDisplay.m @srcdir@/Basemenu.m @srcdir@/Configmenu.m @srcdir@/Icon.m @srcdir@/Image.m @srcdir@/Screen.m @srcdir@/Slit.m @srcdir@/Toolbar.m @srcdir@/Window.m @srcdir@/Windowmenu.m @srcdir@/Workspace.m @srcdir@/Workspacemenu.m @srcdir@/blackbox.m @srcdir@/common.m @srcdir@/main.m @srcdir@/bsetroot.m + +all-local: blackbox.cat +install-data-local: blackbox.cat + @if test x$(NLSTEST) = "x-DNLS"; then \ + echo "Installing catalog in $(THE_NLS_PATH)"; \ + $(mkinstalldirs) $(THE_NLS_PATH); \ + $(INSTALL_DATA) blackbox.cat $(THE_NLS_PATH); \ + fi +uninstall-local: + @if test x$(NLSTEST) = "x-DNLS"; then \ + rm -f $(THE_NLS_PATH)/blackbox.cat; \ + rmdir $(THE_NLS_PATH); \ + fi + +Translation.m: $(MFILES) + @if test x$(NLSTEST) = "x-DNLS"; then \ + awk -f @srcdir@/../convert.awk output=Translation.m $(MFILES); \ + fi + +blackbox.cat: Translation.m + @if test x$(NLSTEST) = "x-DNLS"; then \ + $(gencat_cmd) blackbox.cat Translation.m; \ + fi + +distclean-local: + rm -f *\~ .\#*
A nls/pl_PL/Screen.m

@@ -0,0 +1,53 @@

+$set 6 #Screen + +$ #AnotherWMRunning +# BScreen::BScreen: wystąpił błąd podczas kontaktowania się z X serwerem.\n\ +Inny menedżer okien obsługuje panel graficzny %s.\n +$ #ManagingScreen +# BScreen::BScreen: obsługuję ekran %d visual 0x%lx, głębia kolorów %d\n +$ #FontLoadFail +# BScreen::LoadStyle(): nie można załadować czcionki '%s'\n +$ #DefaultFontLoadFail +# BScreen::LoadStyle(): nie można załadować domyślnej czcionki.\n +$ #EmptyMenuFile +# %s: plik menu jest pusty\n +$ #xterm +# xterm +$ #Restart +# Restart +$ #Exit +# Wyjście +$ #EXECError +# BScreen::parseMenuFile: [exec] błąd, brak etykiety menu i/lub komendy\n +$ #EXITError +# BScreen::parseMenuFile: [exit] błąd, brak etykiety menu\n +$ #STYLEError +# BScreen::parseMenuFile: [style] błąd, brak etykiety menu i/lub nazwy pliku\n +$ #CONFIGError +# BScreen::parseMenuFile: [config] błąd, brak etykiety menu\n +$ #INCLUDEError +# BScreen::parseMenuFile: [include] błąd, brak nazwy pliku\n +$ #INCLUDEErrorReg +# BScreen::parseMenuFile: [include] błąd, '%s' nie jest zwykłym plikiem\n +$ #SUBMENUError +# BScreen::parseMenuFile: [submenu] błąd, brak etykiety menu\n +$ #RESTARTError +# BScreen::parseMenuFile: [restart] błąd, brak etykiety menu\n +$ #RECONFIGError +# BScreen::parseMenuFile: [reconfig] błąd, brak etykiety menu\n +$ #STYLESDIRError +# BScreen::parseMenuFile: [stylesdir/stylesmenu] błąd, brak nazwy katalogu\n +$ #STYLESDIRErrorNotDir +# BScreen::parseMenuFile: [stylesdir/stylesmenu] błąd, '%s' nie jest \ +katalogiem\n +$ #STYLESDIRErrorNoExist +# BScreen::parseMenuFile: [stylesdir/stylesmenu] błąd, '%s' nie istnieje\n +$ #WORKSPACESError +# BScreen::parseMenuFile: [workspaces] błąd, brak etykiety menu\n +$ #PositionLength +# 0: 0000 x 0: 0000 +$ #PositionFormat +# X: %4d x Y: %4d +$ #GeometryFormat +# S: %4d x W: %4d +
A nls/pl_PL/Slit.m

@@ -0,0 +1,8 @@

+$set 7 #Slit + +$ #SlitTitle +# Slit +$ #SlitDirection +# Kierunek +$ #SlitPlacement +# Położenie
A nls/pl_PL/Toolbar.m

@@ -0,0 +1,22 @@

+$set 8 #Toolbar + +$ #NoStrftimeLength +# 00:00000 +$ #NoStrftimeDateFormat +# %02d/%02d/%02d +$ #NoStrftimeDateFormatEu +# %02d.%02d.%02d +$ #NoStrftimeTimeFormat24 +# %02d:%02d +$ #NoStrftimeTimeFormat12 +# %02d:%02d %sm +$ #NoStrftimeTimeFormatP +# pm +$ #NoStrftimeTimeFormatA +# am +$ #ToolbarTitle +# Toolbar +$ #EditWkspcName +# Zmień nazwę aktywnego pulpitu +$ #ToolbarPlacement +# Położenie
A nls/pl_PL/Window.m

@@ -0,0 +1,16 @@

+$set 9 #Window + +$ #Creating +# BlackboxWindow::BlackboxWindow: tworzę 0x%lx\n +$ #XGetWindowAttributesFail +# BlackboxWindow::BlackboxWindow: nieudane wywołanie XGetWindowAttributres\n +$ #CannotFindScreen +# BlackboxWindow::BlackboxWindow: brak ekranu dla głównego okna 0x%lx\n +$ #Unnamed +# Bez nazwy +$ #MapRequest +# BlackboxWindow::mapRequestEvent() dla 0x%lx\n +$ #UnmapNotify +# BlackboxWindow::unmapNotifyEvent() dla 0x%lx\n +$ #ReparentNotify +# BlackboxWindow::reparentNotifyEvent: zmieniam rodzica 0x%lx na 0x%lx\n
A nls/pl_PL/Windowmenu.m

@@ -0,0 +1,20 @@

+$set 10 #Windowmenu + +$ #SendTo +# Wyślij na ... +$ #Shade +# Zwiń +$ #Iconify +# Ikonizuj +$ #Maximize +# Maksymalizuj +$ #Raise +# Na wierzch +$ #Lower +# Pod spód +$ #Stick +# Przyklej +$ #KillClient +# Zabij +$ #Close +# Zamknij
A nls/pl_PL/Workspace.m

@@ -0,0 +1,4 @@

+$set 11 #Workspace + +$ #DefaultNameFormat +# Pulpit %d
A nls/pl_PL/Workspacemenu.m

@@ -0,0 +1,8 @@

+$set 12 #Workspacemenu + +$ #WorkspacesTitle +# Pulpit +$ #NewWorkspace +# Nowy pulpit +$ #RemoveLast +# Usuń ostatni
A nls/pl_PL/blackbox.m

@@ -0,0 +1,6 @@

+$set 13 #blackbox + +$ #NoManagableScreens +# Blackbox::Blackbox: nie znaleziono ekranów, którymi można by było zarządzać.\n +$ #MapRequest +# Blackbox::process_event: MapRequest dla 0x%lx\n
A nls/pl_PL/bsetroot.m

@@ -0,0 +1,16 @@

+$set 16 #bsetroot + +$ #MustSpecify +# %s: błąd: należy użyć jednej z opcji: -solid, -mod, -gradient\n +$ #Usage +# %s 2.0: (c) 1997-2000 Brad Hughes\n\n\ + -display <string> połącz z podanym panelem graficznym\n\ + -mod <x> <y> współczynniki siatki typu modula\n\ + -foreground, -fg <color> kolor siatki\n\ + -background, -bg <color> kolor tła siatki\n\n\ + -gradient <texture> tekstura gradientowa\n\ + -from <color> początkowy kolor gradientu\n\ + -to <color> końcowy kolor gradientu\n\n\ + -solid <color> jednolite wypełnienie podanym kolorem\n\n\ + -help wyświetla ten komunikat\n +
A nls/pl_PL/common.m

@@ -0,0 +1,38 @@

+$set 15 #Common + +$ #Yes +# Tak +$ #No +# Nie + +$ #DirectionTitle +# Kierunek +$ #DirectionHoriz +# Poziomy +$ #DirectionVert +# Pionowy + +$ #AlwaysOnTop +# Zawsze na wierzchu + +$ #PlacementTitle +# Położenie +$ #PlacementTopLeft +# Górne Lewe +$ #PlacementCenterLeft +# Środkowe Lewe +$ #PlacementBottomLeft +# Dolne Lewe +$ #PlacementTopCenter +# Górne Centralne +$ #PlacementBottomCenter +# Dolne Centralne +$ #PlacementTopRight +# Górne Prawe +$ #PlacementCenterRight +# Środkowe Prawe +$ #PlacementBottomRight +# Dolne Prawe + +$ #AutoHide +# Automatyczne ukrywanie
A nls/pl_PL/main.m

@@ -0,0 +1,20 @@

+$set 14 #main + +$ #RCRequiresArg +# błąd: opcja '-rc' wymaga podania argumentu\n +$ #DISPLAYRequiresArg +# błąd: opcja '-display' wymaga podania argumentu\n +$ #WarnDisplaySet +# ostrzeżenie: nie można ustawić zmiennej środowiskowej 'DISPLAY'\n +$ #Usage +# Blackbox %s : (c) 2001 - 2002 Sean 'Shaleh' Perry\n\ + \t\t\t 1997 - 2000, 2002 Brad Hughes\n\n\ + -display <string>\t\tpołącz z podanym panelem graficznym.\n\ + -rc <string>\t\t\tużyj innego pliku konfiguracyjnego.\n\ + -version\t\t\twyświetl wersję i zakończ działanie programu.\n\ + -help\t\t\t\twyświetl ten komunikat.\n\n +$ #CompileOptions +# Opcje użyte podczas kompilacji:\n\ + Debugging\t\t\t%s\n\ + Shape:\t\t\t%s\n\ + 8bpp Ordered Dithering:\t%s\n\n
M src/Screen.ccsrc/Screen.cc

@@ -974,10 +974,19 @@ resource.wstyle.b_unfocus =

readDatabaseTexture("window.button.unfocus", "black", style); resource.wstyle.b_pressed = readDatabaseTexture("window.button.pressed", "black", style); - resource.wstyle.f_focus = - readDatabaseColor("window.frame.focusColor", "white", style); - resource.wstyle.f_unfocus = - readDatabaseColor("window.frame.unfocusColor", "black", style); + + // we create the window.frame texture by hand because it exists only to + // make the code cleaner and is not actually used for display + BColor color = readDatabaseColor("window.frame.focusColor", "white", style); + resource.wstyle.f_focus = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.wstyle.f_focus.setColor(color); + + color = readDatabaseColor("window.frame.unfocusColor", "white", style); + resource.wstyle.f_unfocus = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.wstyle.f_unfocus.setColor(color); + resource.wstyle.l_text_focus = readDatabaseColor("window.label.focus.textColor", "black", style); resource.wstyle.l_text_unfocus =

@@ -995,7 +1004,17 @@ else if (s == "center" || s == "Center")

resource.wstyle.justify = CenterJustify; } - // load toolbar config + // sanity checks + if (resource.wstyle.t_focus.texture() == BTexture::Parent_Relative) + resource.wstyle.t_focus = resource.wstyle.f_focus; + if (resource.wstyle.t_unfocus.texture() == BTexture::Parent_Relative) + resource.wstyle.t_unfocus = resource.wstyle.f_unfocus; + if (resource.wstyle.h_focus.texture() == BTexture::Parent_Relative) + resource.wstyle.h_focus = resource.wstyle.f_focus; + if (resource.wstyle.h_unfocus.texture() == BTexture::Parent_Relative) + resource.wstyle.h_unfocus = resource.wstyle.f_unfocus; + +// load toolbar config resource.tstyle.toolbar = readDatabaseTexture("toolbar", "black", style); resource.tstyle.label =

@@ -1023,6 +1042,14 @@ if (s == "right" || s == "Right")

resource.tstyle.justify = RightJustify; else if (s == "center" || s == "Center") resource.tstyle.justify = CenterJustify; + } + + // sanity checks + if (resource.tstyle.toolbar.texture() == BTexture::Parent_Relative) { + resource.tstyle.toolbar = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.tstyle.toolbar.setColor(BColor("black", getBaseDisplay(), + getScreenNumber())); } // load menu config

@@ -1071,6 +1098,14 @@ resource.mstyle.bullet_pos = Basemenu::Left;

if (style.getValue("menu.bullet.position", s)) { if (s == "right" || s == "Right") resource.mstyle.bullet_pos = Basemenu::Right; + } + + // sanity checks + if (resource.mstyle.frame.texture() == BTexture::Parent_Relative) { + resource.mstyle.frame = BTexture("solid flat", getBaseDisplay(), + getScreenNumber(), image_control); + resource.mstyle.frame.setColor(BColor("black", getBaseDisplay(), + getScreenNumber())); } resource.border_color =

@@ -2422,18 +2457,10 @@ // associate this texture with this screen

texture.setDisplay(getBaseDisplay(), getScreenNumber()); texture.setImageControl(image_control); - if (texture.texture() & BTexture::Solid) { - texture.setColor(readDatabaseColor(rname + ".color", - default_color, style)); - texture.setColorTo(readDatabaseColor(rname + ".colorTo", - default_color, style)); - } else if (texture.texture() & BTexture::Gradient) { - texture.setColor(readDatabaseColor(rname + ".color", - default_color, style)); - texture.setColorTo(readDatabaseColor(rname + ".colorTo", - default_color, style)); - } - + texture.setColor(readDatabaseColor(rname + ".color", default_color, style)); + texture.setColorTo(readDatabaseColor(rname + ".colorTo", default_color, + style)); + return texture; }
M src/Screen.hhsrc/Screen.hh

@@ -62,10 +62,10 @@

enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; struct WindowStyle { - BColor f_focus, f_unfocus, l_text_focus, l_text_unfocus, b_pic_focus, + BColor l_text_focus, l_text_unfocus, b_pic_focus, b_pic_unfocus; - BTexture t_focus, t_unfocus, l_focus, l_unfocus, h_focus, h_unfocus, - b_focus, b_unfocus, b_pressed, g_focus, g_unfocus; + BTexture f_focus, f_unfocus, t_focus, t_unfocus, l_focus, l_unfocus, + h_focus, h_unfocus, b_focus, b_unfocus, b_pressed, g_focus, g_unfocus; BFont *font;
M src/Window.ccsrc/Window.cc

@@ -590,8 +590,8 @@ decorateLabel();

} if (decorations & Decor_Border) { - frame.fborder_pixel = screen->getWindowStyle()->f_focus.pixel(); - frame.uborder_pixel = screen->getWindowStyle()->f_unfocus.pixel(); + frame.fborder_pixel = screen->getWindowStyle()->f_focus.color().pixel(); + frame.uborder_pixel = screen->getWindowStyle()->f_unfocus.color().pixel(); } if (decorations & Decor_Handle) {

@@ -2710,7 +2710,7 @@ }

void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { - if (pe->state == PropertyDelete) + if (pe->state == PropertyDelete || ! validateClient()) return; #if 0