- 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>
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
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
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
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
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
$ #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\
--- /dev/null
+$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
--- /dev/null
+$set 2 #Basemenu
+
+$ #BlackboxMenu
+# Menu Blackbox
--- /dev/null
+$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
--- /dev/null
+$set 4 #Icon
+
+$ #Icons
+# Ikony
--- /dev/null
+$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
--- /dev/null
+# 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 *\~ .\#*
--- /dev/null
+$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
+
--- /dev/null
+$set 7 #Slit
+
+$ #SlitTitle
+# Slit
+$ #SlitDirection
+# Kierunek
+$ #SlitPlacement
+# Po³o¿enie
--- /dev/null
+$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
--- /dev/null
+$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
--- /dev/null
+$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
--- /dev/null
+$set 11 #Workspace
+
+$ #DefaultNameFormat
+# Pulpit %d
--- /dev/null
+$set 12 #Workspacemenu
+
+$ #WorkspacesTitle
+# Pulpit
+$ #NewWorkspace
+# Nowy pulpit
+$ #RemoveLast
+# Usuñ ostatni
--- /dev/null
+$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
--- /dev/null
+$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
+
--- /dev/null
+$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
--- /dev/null
+$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
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 =
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 =
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);
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);
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;
}
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;
}
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) {
void BlackboxWindow::propertyNotifyEvent(const XPropertyEvent *pe) {
- if (pe->state == PropertyDelete)
+ if (pe->state == PropertyDelete || ! validateClient())
return;
#if 0