From: Dana Jansens Date: Fri, 7 Jun 2002 00:24:02 +0000 (+0000) Subject: fix off-by-ones in window-to-window snapping. move the property from the blackbox... X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=e90fafd2fd907a81bdc60ad8b6de35fc1595cdff;p=chaz%2Fopenbox fix off-by-ones in window-to-window snapping. move the property from the blackbox class to the screen class. --- diff --git a/src/Configmenu.cc b/src/Configmenu.cc index 7bd90ef2..3a8a6e45 100644 --- a/src/Configmenu.cc +++ b/src/Configmenu.cc @@ -70,10 +70,10 @@ void Configmenu::setValues(void) { setItemSelected(4, getScreen()->doFullMax()); setItemSelected(5, getScreen()->doFocusNew()); setItemSelected(6, getScreen()->doFocusLast()); - setItemSelected(7, getScreen()->getBlackbox()->getWindowToWindowSnap()); + setItemSelected(7, getScreen()->getWindowToWindowSnap()); - setItemSelected(8, getScreen()->getBlackbox()->getWindowCornerSnap()); - setItemEnabled(8, getScreen()->getBlackbox()->getWindowToWindowSnap()); + setItemSelected(8, getScreen()->getWindowCornerSnap()); + setItemEnabled(8, getScreen()->getWindowToWindowSnap()); setItemSelected(9, getScreen()->doHideToolbar()); } @@ -94,58 +94,47 @@ void Configmenu::itemSelected(int button, unsigned int index) { return; switch(item->function()) { - case 1: { // dither + case 1: // dither getScreen()->saveImageDither(! getScreen()->doImageDither()); setItemSelected(index, getScreen()->doImageDither()); break; - } - case 2: { // opaque move + case 2: // opaque move getScreen()->saveOpaqueMove(! getScreen()->doOpaqueMove()); setItemSelected(index, getScreen()->doOpaqueMove()); break; - } - case 3: { // full maximization + case 3: // full maximization getScreen()->saveFullMax(! getScreen()->doFullMax()); setItemSelected(index, getScreen()->doFullMax()); break; - } - case 4: { // focus new windows + + case 4: // focus new windows getScreen()->saveFocusNew(! getScreen()->doFocusNew()); setItemSelected(index, getScreen()->doFocusNew()); break; - } - case 5: { // focus last window on workspace + case 5: // focus last window on workspace getScreen()->saveFocusLast(! getScreen()->doFocusLast()); setItemSelected(index, getScreen()->doFocusLast()); break; - } - case 6: { // window-to-window snapping - getScreen()->getBlackbox()-> - saveWindowToWindowSnap(! getScreen()->getBlackbox()-> - getWindowToWindowSnap()); - setItemSelected(index, getScreen()->getBlackbox()->getWindowToWindowSnap()); - setItemEnabled(index + 1, - getScreen()->getBlackbox()->getWindowToWindowSnap()); + case 6: // window-to-window snapping + getScreen()->saveWindowToWindowSnap(! getScreen()->getWindowToWindowSnap()); + setItemSelected(index, getScreen()->getWindowToWindowSnap()); + setItemEnabled(index + 1, getScreen()->getWindowToWindowSnap()); break; - } - case 7: { // window corner snapping - getScreen()->getBlackbox()-> - saveWindowCornerSnap(! getScreen()->getBlackbox()->getWindowCornerSnap()); - setItemSelected(index, getScreen()->getBlackbox()->getWindowCornerSnap()); + case 7: // window corner snapping + getScreen()->saveWindowCornerSnap(! getScreen()->getWindowCornerSnap()); + setItemSelected(index, getScreen()->getWindowCornerSnap()); break; - } - case 8: { // hide toolbar + case 8: // hide toolbar getScreen()->saveHideToolbar(! getScreen()->doHideToolbar()); setItemSelected(index, getScreen()->doHideToolbar()); break; } - } // switch } diff --git a/src/Screen.cc b/src/Screen.cc index 512475c8..ba394bc9 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -424,6 +424,20 @@ void BScreen::saveHideToolbar(bool h) { } +void BScreen::saveWindowToWindowSnap(bool s) { + resource.window_to_window_snap = s; + config->setValue(screenstr + "windowToWindowSnap", + resource.window_to_window_snap); +} + + +void BScreen::saveWindowCornerSnap(bool s) { + resource.window_corner_snap = s; + config->setValue(screenstr + "windowCornerSnap", + resource.window_corner_snap); +} + + void BScreen::saveWorkspaces(unsigned int w) { resource.workspaces = w; config->setValue(screenstr + "workspaces", resource.workspaces); @@ -510,6 +524,8 @@ void BScreen::save_rc(void) { saveFocusNew(resource.focus_new); saveFocusLast(resource.focus_last); saveHideToolbar(resource.hide_toolbar); + saveWindowToWindowSnap(resource.window_to_window_snap); + saveWindowCornerSnap(resource.window_corner_snap); saveWorkspaces(resource.workspaces); savePlacementPolicy(resource.placement_policy); saveEdgeSnapThreshold(resource.edge_snap_threshold); @@ -549,6 +565,14 @@ void BScreen::load_rc(void) { if (! config->getValue(screenstr + "hideToolbar", resource.hide_toolbar)) resource.hide_toolbar = false; + if (! config->getValue(screenstr + "windowToWindowSnap", + resource.window_to_window_snap)) + resource.window_to_window_snap = true; + + if (! config->getValue(screenstr + "windowCornerSnap", + resource.window_corner_snap)) + resource.window_corner_snap = true; + if (! config->getValue(screenstr + "imageDither", b)) b = true; image_control->setDither(b); diff --git a/src/Screen.hh b/src/Screen.hh index c044200c..44199b34 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -152,8 +152,8 @@ private: MenuStyle mstyle; bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither, - opaque_move, full_max, focus_new, focus_last, click_raise, - hide_toolbar; + opaque_move, full_max, focus_new, focus_last, click_raise, + hide_toolbar, window_to_window_snap, window_corner_snap; BColor border_color; unsigned int workspaces; @@ -216,6 +216,10 @@ public: inline bool doFocusNew(void) const { return resource.focus_new; } inline bool doFocusLast(void) const { return resource.focus_last; } inline bool doHideToolbar(void) const { return resource.hide_toolbar; } + inline bool getWindowToWindowSnap(void) const + { return resource.window_to_window_snap; } + inline bool getWindowCornerSnap(void) const + { return resource.window_corner_snap; } inline const GC &getOpGC(void) const { return opGC; } @@ -273,6 +277,8 @@ public: void saveFocusNew(bool f); void saveFocusLast(bool f); void saveHideToolbar(bool h); + void saveWindowToWindowSnap(bool s); + void saveWindowCornerSnap(bool s); inline void iconUpdate(void) { iconmenu->update(); } #ifdef HAVE_STRFTIME diff --git a/src/Window.cc b/src/Window.cc index 2fe0928f..417e15ac 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -2524,7 +2524,7 @@ void BlackboxWindow::motionNotifyEvent(XMotionEvent *me) { Workspace *w = screen->getWorkspace(getWorkspaceNumber()); assert(w); - if (blackbox->getWindowToWindowSnap()) { + if (screen->getWindowToWindowSnap()) { // try snap to another window for (unsigned int i = 0, c = w->getCount(); i < c; ++i) { BlackboxWindow *snapwin = w->getWindow(i); @@ -2537,51 +2537,18 @@ void BlackboxWindow::motionNotifyEvent(XMotionEvent *me) { dtop = std::abs(wbottom - winrect.top()), dbottom = std::abs(wtop - winrect.bottom()); - // snap left of other window? - if (dleft < snap_distance && dleft <= dright) { - dx = winrect.left() - frame.rect.width(); - - if (blackbox->getWindowCornerSnap()) { - // try corner-snap to its other sides - dtop = std::abs(wtop - winrect.top()); - dbottom = std::abs(wbottom - winrect.bottom()); - if (dtop < snap_distance && dtop <= dbottom) - dy = winrect.top(); - else if (dbottom < snap_distance) - dy = winrect.bottom() - frame.rect.height(); - } - - continue; - } - // snap right of other window? - else if (dright < snap_distance) { - dx = winrect.right() + 1; - - if (blackbox->getWindowCornerSnap()) { - // try corner-snap to its other sides - dtop = std::abs(wtop - winrect.top()); - dbottom = std::abs(wbottom - winrect.bottom()); - if (dtop < snap_distance && dtop <= dbottom) - dy = winrect.top(); - else if (dbottom < snap_distance) - dy = winrect.bottom() - frame.rect.height(); - } - - continue; - } - // snap top of other window? if (dtop < snap_distance && dtop <= dbottom) { dy = winrect.top() - frame.rect.height(); - if (blackbox->getWindowCornerSnap()) { + if (screen->getWindowCornerSnap()) { // try corner-snap to its other sides dleft = std::abs(wleft - winrect.left()); dright = std::abs(wright - winrect.right()); if (dleft < snap_distance && dleft <= dright) dx = winrect.left(); else if (dright < snap_distance) - dx = winrect.right() - frame.rect.width(); + dx = winrect.right() - frame.rect.width() + 1; } continue; @@ -2590,14 +2557,47 @@ void BlackboxWindow::motionNotifyEvent(XMotionEvent *me) { else if (dbottom < snap_distance) { dy = winrect.bottom() + 1; - if (blackbox->getWindowCornerSnap()) { + if (screen->getWindowCornerSnap()) { // try corner-snap to its other sides dleft = std::abs(wleft - winrect.left()); dright = std::abs(wright - winrect.right()); if (dleft < snap_distance && dleft <= dright) dx = winrect.left(); else if (dright < snap_distance) - dx = winrect.right() - frame.rect.width(); + dx = winrect.right() - frame.rect.width() + 1; + } + + continue; + } + + // snap left of other window? + if (dleft < snap_distance && dleft <= dright) { + dx = winrect.left() - frame.rect.width(); + + if (screen->getWindowCornerSnap()) { + // try corner-snap to its other sides + dtop = std::abs(wtop - winrect.top()); + dbottom = std::abs(wbottom - winrect.bottom()); + if (dtop < snap_distance && dtop <= dbottom) + dy = winrect.top(); + else if (dbottom < snap_distance) + dy = winrect.bottom() - frame.rect.height() + 1; + } + + continue; + } + // snap right of other window? + else if (dright < snap_distance) { + dx = winrect.right() + 1; + + if (screen->getWindowCornerSnap()) { + // try corner-snap to its other sides + dtop = std::abs(wtop - winrect.top()); + dbottom = std::abs(wbottom - winrect.bottom()); + if (dtop < snap_distance && dtop <= dbottom) + dy = winrect.top(); + else if (dbottom < snap_distance) + dy = winrect.bottom() - frame.rect.height() + 1; } continue; diff --git a/src/blackbox.cc b/src/blackbox.cc index 118a17bc..56782248 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -895,18 +895,6 @@ void Blackbox::shutdown(void) { } -void Blackbox::saveWindowToWindowSnap(bool s) { - resource.window_to_window_snap = s; - config.setValue("session.windowToWindowSnap", resource.window_to_window_snap); -} - - -void Blackbox::saveWindowCornerSnap(bool s) { - resource.window_corner_snap = s; - config.setValue("session.windowCornerSnap", resource.window_corner_snap); -} - - /* * Save all values as they are so that the defaults will be written to the rc * file @@ -924,8 +912,6 @@ void Blackbox::save_rc(void) { config.setValue("session.cacheMax", resource.cache_max); config.setValue("session.styleFile", resource.style_file); config.setValue("session.titlebarLayout", resource.titlebar_layout); - saveWindowToWindowSnap(resource.window_to_window_snap); - saveWindowCornerSnap(resource.window_corner_snap); std::for_each(screenList.begin(), screenList.end(), std::mem_fun(&BScreen::save_rc)); @@ -973,14 +959,6 @@ void Blackbox::load_rc(void) { if (! config.getValue("session.titlebarLayout", resource.titlebar_layout)) resource.titlebar_layout = "ILMC"; - - if (! config.getValue("session.windowToWindowSnap", - resource.window_to_window_snap)) - resource.window_to_window_snap = true; - - if (! config.getValue("session.windowCornerSnap", - resource.window_corner_snap)) - resource.window_corner_snap = true; } diff --git a/src/blackbox.hh b/src/blackbox.hh index 48fda8c5..cb38dc34 100644 --- a/src/blackbox.hh +++ b/src/blackbox.hh @@ -115,8 +115,6 @@ private: timeval auto_raise_delay; unsigned long cache_life, cache_max; std::string titlebar_layout; - bool window_to_window_snap; - bool window_corner_snap; } resource; typedef std::map WindowLookup; @@ -217,11 +215,6 @@ public: inline unsigned long getCacheMax(void) const { return resource.cache_max; } - inline bool getWindowToWindowSnap(void) const - { return resource.window_to_window_snap; } - inline bool getWindowCornerSnap(void) const - { return resource.window_corner_snap; } - inline void setNoFocus(bool f) { no_focus = f; } inline Cursor getSessionCursor(void) const @@ -236,8 +229,6 @@ public: void setFocusedWindow(BlackboxWindow *w); void shutdown(void); void saveStyleFilename(const std::string& filename); - void saveWindowToWindowSnap(bool); - void saveWindowCornerSnap(bool); void addMenuTimestamp(const std::string& filename); void restart(const char *prog = 0); void reconfigure(void); diff --git a/util/Makefile.in b/util/Makefile.in new file mode 100644 index 00000000..792fa51a --- /dev/null +++ b/util/Makefile.in @@ -0,0 +1,324 @@ +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# util/Makefile.am for Blackbox - an X11 Window manager + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CC = @CC@ +CXX = @CXX@ +DEBUG = @DEBUG@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +NLS = @NLS@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +gencat_cmd = @gencat_cmd@ +regex_cmd = @regex_cmd@ + +CPPFLAGS = @CPPFLAGS@ @DEBUG@ + +bin_SCRIPTS = bsetbg +bin_PROGRAMS = bsetroot + +bsetroot_SOURCES = bsetroot.cc +bsetroot_LDADD = ../src/BaseDisplay.o ../src/Color.o ../src/GCCache.o ../src/Texture.o ../src/Timer.o ../src/Image.o ../src/ImageControl.o ../src/i18n.o ../src/Util.o + +MAINTAINERCLEANFILES = Makefile.in +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(bin_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) -I.. +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +X_CFLAGS = @X_CFLAGS@ +X_LIBS = @X_LIBS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +bsetroot_OBJECTS = bsetroot.o +bsetroot_DEPENDENCIES = ../src/BaseDisplay.o ../src/Color.o \ +../src/GCCache.o ../src/Texture.o ../src/Timer.o ../src/Image.o \ +../src/ImageControl.o ../src/i18n.o ../src/Util.o +bsetroot_LDFLAGS = +SCRIPTS = $(bin_SCRIPTS) + +CXXFLAGS = @CXXFLAGS@ +CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP_ENV = --best +SOURCES = $(bsetroot_SOURCES) +OBJECTS = $(bsetroot_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .cc .o .s +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps util/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: + +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + list='$(bin_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + done + +.c.o: + $(COMPILE) -c $< + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +bsetroot: $(bsetroot_OBJECTS) $(bsetroot_DEPENDENCIES) + @rm -f bsetroot + $(CXXLINK) $(bsetroot_LDFLAGS) $(bsetroot_OBJECTS) $(bsetroot_LDADD) $(LIBS) + +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ + $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ + else if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ + $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ + else :; fi; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + list='$(bin_SCRIPTS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ + done +.cc.o: + $(CXXCOMPILE) -c $< + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = util + +distdir: $(DISTFILES) + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-binPROGRAMS install-binSCRIPTS +install-exec: install-exec-am + +install-data-am: +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(SCRIPTS) +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ + mostlyclean-tags mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \ + mostlyclean-am + +clean: clean-am + +distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \ + distclean-generic clean-am distclean-local + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-binPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile uninstall-binSCRIPTS install-binSCRIPTS tags \ +mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ +distdir info-am info dvi-am dvi check check-am installcheck-am \ +installcheck install-exec-am install-exec install-data-am install-data \ +install-am install uninstall-am uninstall all-redirect all-am all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +distclean-local: + rm -f *\~ .\#* + +# local dependencies + +bsetroot.o: bsetroot.cc ../config.h ../src/i18n.hh \ + ../src/../nls/blackbox-nls.hh ../src/GCCache.hh ../src/BaseDisplay.hh \ + ../src/Timer.hh ../src/Color.hh ../src/Texture.hh ../src/Util.hh \ + bsetroot.hh ../src/Image.hh + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: