From: Dana Jansens Date: Thu, 22 Aug 2002 03:46:45 +0000 (+0000) Subject: sync with bb-cvs X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=a1b96061eb78c44ddb5fda026efb6ba7b52c93af;p=chaz%2Fopenbox sync with bb-cvs --- diff --git a/AUTHORS b/AUTHORS index 8dcc1abb..8c4e92e8 100644 --- a/AUTHORS +++ b/AUTHORS @@ -69,6 +69,8 @@ nls contributors: - man pages and Dutch (nl_NL) nls support Øyvind Stegard - Norwegian (no_NO) nls support + Wojciech Krygier + - Polish (pl_PL) nls support Ciprian Popovici - Romanian (ro_RO) nls support Ales Kosir diff --git a/CHANGELOG.Blackbox b/CHANGELOG.Blackbox index 3ffca217..04fb3e95 100644 --- a/CHANGELOG.Blackbox +++ b/CHANGELOG.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 @@ Changes from 0.62.1 to 0.65.0: 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 @@ Changes from 0.62.1 to 0.65.0: 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 diff --git a/configure.in b/configure.in index 9e08bcaf..4aef1c11 100644 --- a/configure.in +++ b/configure.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 diff --git a/nls/Makefile.am b/nls/Makefile.am index b157483a..9ac9103f 100644 --- a/nls/Makefile.am +++ b/nls/Makefile.am @@ -2,7 +2,7 @@ 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 diff --git a/nls/es_AR/main.m b/nls/es_AR/main.m index eebcb211..b469ddb4 100644 --- a/nls/es_AR/main.m +++ b/nls/es_AR/main.m @@ -5,13 +5,13 @@ $ #RCRequiresArg $ #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 \t\tusar la conexión al display.\n\ -rc \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\ diff --git a/nls/pl_PL/BaseDisplay.m b/nls/pl_PL/BaseDisplay.m new file mode 100644 index 00000000..43ada42c --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Basemenu.m b/nls/pl_PL/Basemenu.m new file mode 100644 index 00000000..80e56ed3 --- /dev/null +++ b/nls/pl_PL/Basemenu.m @@ -0,0 +1,4 @@ +$set 2 #Basemenu + +$ #BlackboxMenu +# Menu Blackbox diff --git a/nls/pl_PL/Configmenu.m b/nls/pl_PL/Configmenu.m new file mode 100644 index 00000000..a2995f37 --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Icon.m b/nls/pl_PL/Icon.m new file mode 100644 index 00000000..deb39a6a --- /dev/null +++ b/nls/pl_PL/Icon.m @@ -0,0 +1,4 @@ +$set 4 #Icon + +$ #Icons +# Ikony diff --git a/nls/pl_PL/Image.m b/nls/pl_PL/Image.m new file mode 100644 index 00000000..1ff1249e --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Makefile.am b/nls/pl_PL/Makefile.am new file mode 100644 index 00000000..56fd9ade --- /dev/null +++ b/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 *\~ .\#* diff --git a/nls/pl_PL/Screen.m b/nls/pl_PL/Screen.m new file mode 100644 index 00000000..1c4eb26c --- /dev/null +++ b/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 + diff --git a/nls/pl_PL/Slit.m b/nls/pl_PL/Slit.m new file mode 100644 index 00000000..22fb06d8 --- /dev/null +++ b/nls/pl_PL/Slit.m @@ -0,0 +1,8 @@ +$set 7 #Slit + +$ #SlitTitle +# Slit +$ #SlitDirection +# Kierunek +$ #SlitPlacement +# Po³o¿enie diff --git a/nls/pl_PL/Toolbar.m b/nls/pl_PL/Toolbar.m new file mode 100644 index 00000000..da4c63a4 --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Window.m b/nls/pl_PL/Window.m new file mode 100644 index 00000000..feeb1b2f --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Windowmenu.m b/nls/pl_PL/Windowmenu.m new file mode 100644 index 00000000..a1abfd73 --- /dev/null +++ b/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 diff --git a/nls/pl_PL/Workspace.m b/nls/pl_PL/Workspace.m new file mode 100644 index 00000000..4c034ca7 --- /dev/null +++ b/nls/pl_PL/Workspace.m @@ -0,0 +1,4 @@ +$set 11 #Workspace + +$ #DefaultNameFormat +# Pulpit %d diff --git a/nls/pl_PL/Workspacemenu.m b/nls/pl_PL/Workspacemenu.m new file mode 100644 index 00000000..6800a2a3 --- /dev/null +++ b/nls/pl_PL/Workspacemenu.m @@ -0,0 +1,8 @@ +$set 12 #Workspacemenu + +$ #WorkspacesTitle +# Pulpit +$ #NewWorkspace +# Nowy pulpit +$ #RemoveLast +# Usuñ ostatni diff --git a/nls/pl_PL/blackbox.m b/nls/pl_PL/blackbox.m new file mode 100644 index 00000000..7411b1df --- /dev/null +++ b/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 diff --git a/nls/pl_PL/bsetroot.m b/nls/pl_PL/bsetroot.m new file mode 100644 index 00000000..1eed5827 --- /dev/null +++ b/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 po³±cz z podanym panelem graficznym\n\ + -mod wspó³czynniki siatki typu modula\n\ + -foreground, -fg kolor siatki\n\ + -background, -bg kolor t³a siatki\n\n\ + -gradient tekstura gradientowa\n\ + -from pocz±tkowy kolor gradientu\n\ + -to koñcowy kolor gradientu\n\n\ + -solid jednolite wype³nienie podanym kolorem\n\n\ + -help wy¶wietla ten komunikat\n + diff --git a/nls/pl_PL/common.m b/nls/pl_PL/common.m new file mode 100644 index 00000000..b9252e43 --- /dev/null +++ b/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 diff --git a/nls/pl_PL/main.m b/nls/pl_PL/main.m new file mode 100644 index 00000000..512737d0 --- /dev/null +++ b/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 \t\tpo³±cz z podanym panelem graficznym.\n\ + -rc \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 diff --git a/src/Screen.cc b/src/Screen.cc index acde7736..d92dec35 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -974,10 +974,19 @@ void BScreen::LoadStyle(void) { 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 @@ void BScreen::LoadStyle(void) { 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 = @@ -1025,6 +1044,14 @@ void BScreen::LoadStyle(void) { 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 resource.mstyle.title = readDatabaseTexture("menu.title", "white", style); @@ -1073,6 +1100,14 @@ void BScreen::LoadStyle(void) { 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 = readDatabaseColor("borderColor", "black", style); @@ -2422,18 +2457,10 @@ BTexture BScreen::readDatabaseTexture(const string &rname, 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; } diff --git a/src/Screen.hh b/src/Screen.hh index 6d12f320..cb9a8ae2 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -62,10 +62,10 @@ struct Strut; 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; diff --git a/src/Window.cc b/src/Window.cc index d696161e..1b86b285 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -590,8 +590,8 @@ void BlackboxWindow::decorate(void) { } 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::reparentNotifyEvent(const XReparentEvent *re) { void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) { - if (pe->state == PropertyDelete) + if (pe->state == PropertyDelete || ! validateClient()) return; #if 0