From bea7682cf4bd9d4e52579bf48d0b1821c018656b Mon Sep 17 00:00:00 2001 From: g3ngr33n Date: Wed, 22 May 2019 04:07:30 +0000 Subject: x11-wm/fluxbox: Patch, update, small change - Update the ebuild to EAPI 7 - Deprecated patch have been removed - 0001 : Remove from the source feature fluxbox-remote - 0002 : Fix nls on musl Package-Manager: Portage-2.3.62, Repoman-2.3.11 Signed-off-by: Anthony G. Basile --- x11-wm/fluxbox/Manifest | 1 + .../fluxbox/files/0001-strip-fluxbox-remote.patch | 467 +++++++++++++++++++++ x11-wm/fluxbox/files/0002-fix-nls-musl.patch | 33 ++ x11-wm/fluxbox/files/fluxbox.desktop | 8 + x11-wm/fluxbox/files/fluxbox.xsession | 90 ++++ x11-wm/fluxbox/files/styles-menu-commonbox | 5 + x11-wm/fluxbox/files/styles-menu-fluxbox | 5 + x11-wm/fluxbox/files/styles-menu-user | 5 + x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild | 102 +++++ x11-wm/fluxbox/metadata.xml | 27 ++ 10 files changed, 743 insertions(+) create mode 100644 x11-wm/fluxbox/Manifest create mode 100644 x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch create mode 100644 x11-wm/fluxbox/files/0002-fix-nls-musl.patch create mode 100644 x11-wm/fluxbox/files/fluxbox.desktop create mode 100644 x11-wm/fluxbox/files/fluxbox.xsession create mode 100644 x11-wm/fluxbox/files/styles-menu-commonbox create mode 100644 x11-wm/fluxbox/files/styles-menu-fluxbox create mode 100644 x11-wm/fluxbox/files/styles-menu-user create mode 100644 x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild create mode 100644 x11-wm/fluxbox/metadata.xml (limited to 'x11-wm') diff --git a/x11-wm/fluxbox/Manifest b/x11-wm/fluxbox/Manifest new file mode 100644 index 00000000..1419f31c --- /dev/null +++ b/x11-wm/fluxbox/Manifest @@ -0,0 +1 @@ +DIST fluxbox-1.3.7.tar.xz 786492 BLAKE2B ecf50e2eb19949b4a301366eaffc1d5199c17b116b7d19a31392eea632e6320210e1dff24b1794d3427c14206e31d9722d3c21ce24b584c61288233feb564925 SHA512 ab8adb8b5a5e396b6df814c93d7fe5aca3eaaa347ca45c1572ad7da0185dbe1e8981190af9b814112f9831b560e31ba0b7dec7e6af5e3e3e3d9d20f2bd463e01 diff --git a/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch b/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch new file mode 100644 index 00000000..8b1c9705 --- /dev/null +++ b/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch @@ -0,0 +1,467 @@ +--- a/src/ScreenResource.cc ++++ b/src/ScreenResource.cc +@@ -103,7 +103,6 @@ + menu_delay(rm, 200, scrname + ".menuDelay", altscrname+".MenuDelay"), + tab_width(rm, 64, scrname + ".tab.width", altscrname+".Tab.Width"), + tooltip_delay(rm, 500, scrname + ".tooltipDelay", altscrname+".TooltipDelay"), +- allow_remote_actions(rm, false, scrname+".allowRemoteActions", altscrname+".AllowRemoteActions"), + clientmenu_use_pixmap(rm, true, scrname+".clientMenu.usePixmap", altscrname+".ClientMenu.UsePixmap"), + tabs_use_pixmap(rm, true, scrname+".tabs.usePixmap", altscrname+".Tabs.UsePixmap"), + max_over_tabs(rm, false, scrname+".tabs.maxOver", altscrname+".Tabs.MaxOver"), + +--- a/src/Screen.hh ++++ b/src/Screen.hh +@@ -115,7 +115,6 @@ + FbWinFrame::TabPlacement getTabPlacement() const { return *resource.tab_placement; } + + unsigned int noFocusWhileTypingDelay() const { return *resource.typing_delay; } +- const bool allowRemoteActions() const { return *resource.allow_remote_actions; } + const bool clientMenuUsePixmap() const { return *resource.clientmenu_use_pixmap; } + const bool getDefaultInternalTabs() const { return *resource.default_internal_tabs; } + const bool getTabsUsePixmap() const { return *resource.tabs_use_pixmap; } + +--- a/src/ScreenResource.hh ++++ b/src/ScreenResource.hh +@@ -53,7 +53,6 @@ + menu_delay, + tab_width, + tooltip_delay; +- FbTk::Resource allow_remote_actions; + FbTk::Resource clientmenu_use_pixmap; + FbTk::Resource tabs_use_pixmap; + FbTk::Resource max_over_tabs; + +--- a/src/Screen.cc ++++ b/src/Screen.cc +@@ -624,34 +624,7 @@ + + void BScreen::propertyNotify(Atom atom) { + +- if (allowRemoteActions() && atom == atom_fbcmd) { +- Atom xa_ret_type; +- int ret_format; +- unsigned long ret_nitems, ret_bytes_after; +- char *str; +- if (rootWindow().property(atom_fbcmd, 0l, 64l, +- True, XA_STRING, &xa_ret_type, &ret_format, &ret_nitems, +- &ret_bytes_after, (unsigned char **)&str) && str) { +- +- if (ret_bytes_after) { +- XFree(str); +- long len = 64 + (ret_bytes_after + 3)/4; +- rootWindow().property(atom_fbcmd, 0l, len, +- True, XA_STRING, &xa_ret_type, &ret_format, &ret_nitems, +- &ret_bytes_after, (unsigned char **)&str); +- } +- +- static std::auto_ptr > cmd(0); +- cmd.reset(FbTk::CommandParser::instance().parse(str, false)); +- if (cmd.get()) { +- cmd->execute(); +- } +- XFree(str); +- +- } +- // TODO: this doesn't belong in FbPixmap +- } else if (FbTk::FbPixmap::rootwinPropertyNotify(screenNumber(), atom)) +- m_bg_change_sig.emit(*this); ++ return; + } + + void BScreen::keyPressEvent(XKeyEvent &ke) { + +--- a/util/fluxbox-remote.cc ++++ b/util/fluxbox-remote.cc +@@ -18,79 +18,3 @@ + // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + // DEALINGS IN THE SOFTWARE. +- +-#include +-#include +-#include +-#include +-#include +-#include +- +- +-bool g_gotError = false; +-static int HandleIPCError(Display *disp, XErrorEvent*ptr) +-{ +- // ptr->error_code contains the actual error flags +- g_gotError = true; +- return( 0 ); +-} +- +-typedef int (*xerror_cb_t)(Display*,XErrorEvent*); +- +- +-int main(int argc, char **argv) { +- +- int rc; +- Display* disp; +- Window root; +- Atom atom_fbcmd; +- Atom atom_result; +- xerror_cb_t error_cb; +- char* cmd; +- +- if (argc <= 1) { +- printf("fluxbox-remote \n"); +- return EXIT_SUCCESS; +- } +- +- disp = XOpenDisplay(NULL); +- if (!disp) { +- perror("error, can't open display."); +- rc = EXIT_FAILURE; +- return rc; +- } +- +- cmd = argv[1]; +- atom_fbcmd = XInternAtom(disp, "_FLUXBOX_ACTION", False); +- atom_result = XInternAtom(disp, "_FLUXBOX_ACTION_RESULT", False); +- root = DefaultRootWindow(disp); +- +- // assign the custom handler, clear the flag, sync the data, +- // then check it for success/failure +- error_cb = XSetErrorHandler(HandleIPCError); +- +- +- if (strcmp(cmd, "result") == 0) { +- XTextProperty text_prop; +- if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0 +- && text_prop.value > 0 +- && text_prop.nitems > 0) { +- +- printf("%s", text_prop.value); +- XFree(text_prop.value); +- } +- } else { +- XChangeProperty(disp, root, atom_fbcmd, +- XA_STRING, 8, PropModeReplace, +- (unsigned char *)cmd, strlen(cmd)); +- XSync(disp, false); +- } +- +- rc = (g_gotError ? EXIT_FAILURE : EXIT_SUCCESS); +- +- XSetErrorHandler(error_cb); +- XCloseDisplay(disp); +- +- return rc; +-} +- + +--- a/util/Makemodule.am ++++ b/util/Makemodule.am +@@ -12,7 +12,6 @@ + + bin_PROGRAMS += \ + fbsetroot \ +- fluxbox-remote \ + fluxbox-update_configs + + fbsetroot_SOURCES = \ +@@ -46,9 +45,3 @@ + libFbTk.a \ + $(FRIBIDI_LIBS) + +-fluxbox_remote_SOURCES = \ +- util/fluxbox-remote.cc +-fluxbox_remote_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -I$(fbtk_incdir) +- +--- a/Makefile.in ++++ b/Makefile.in +@@ -114,8 +114,7 @@ + build_triplet = @build@ + host_triplet = @host@ + bin_PROGRAMS = fluxbox$(EXEEXT) fbsetroot$(EXEEXT) \ +- fluxbox-remote$(EXEEXT) fluxbox-update_configs$(EXEEXT) \ +- fbrun$(EXEEXT) ++ fluxbox-update_configs$(EXEEXT) fbrun$(EXEEXT) \ + DIST_COMMON = $(srcdir)/data/Makemodule.am \ + $(srcdir)/data/styles/carp/Makemodule.am \ + $(srcdir)/data/styles/bora_blue/Makemodule.am \ +@@ -467,11 +466,6 @@ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +-am_fluxbox_remote_OBJECTS = \ +- util/fluxbox_remote-fluxbox-remote.$(OBJEXT) +-fluxbox_remote_OBJECTS = $(am_fluxbox_remote_OBJECTS) +-fluxbox_remote_LDADD = $(LDADD) +-fluxbox_remote_DEPENDENCIES = libFbTk.a src/defaults.$(OBJEXT) + am_fluxbox_update_configs_OBJECTS = \ + src/fluxbox_update_configs-defaults.$(OBJEXT) \ + src/fluxbox_update_configs-Resources.$(OBJEXT) \ +@@ -594,19 +588,16 @@ + am__v_CCLD_0 = @echo " CCLD " $@; + am__v_CCLD_1 = + SOURCES = $(libFbTk_a_SOURCES) $(fbrun_SOURCES) $(fbsetroot_SOURCES) \ +- $(fluxbox_SOURCES) $(fluxbox_remote_SOURCES) \ +- $(fluxbox_update_configs_SOURCES) \ ++ $(fluxbox_SOURCES) $(fluxbox_update_configs_SOURCES) \ + $(testDemandAttention_SOURCES) $(testFont_SOURCES) \ + $(testFullscreen_SOURCES) $(testKeys_SOURCES) \ + $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) \ + $(testTexture_SOURCES) + DIST_SOURCES = $(am__libFbTk_a_SOURCES_DIST) $(fbrun_SOURCES) \ + $(fbsetroot_SOURCES) $(am__fluxbox_SOURCES_DIST) \ +- $(fluxbox_remote_SOURCES) $(fluxbox_update_configs_SOURCES) \ +- $(testDemandAttention_SOURCES) $(testFont_SOURCES) \ ++ $(fluxbox_update_configs_SOURCES) $(testDemandAttention_SOURCES) $(testFont_SOURCES) \ + $(testFullscreen_SOURCES) $(testKeys_SOURCES) \ +- $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) \ +- $(testTexture_SOURCES) ++ $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) $(testTexture_SOURCES) \ + RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ +@@ -863,12 +854,11 @@ + data/windowmenu $(style_DATA) doc/CODESTYLE doc/fbrun.1.in \ + doc/fbsetbg.1.in doc/fbsetroot.1.in doc/fluxbox-apps.5.in \ + doc/fluxbox-keys.5.in doc/fluxbox-menu.5.in \ +- doc/fluxbox-remote.1.in doc/fluxbox-style.5.in \ +- doc/fluxbox.1.in doc/startfluxbox.1.in util/fbsetbg ++ doc/fluxbox-style.5.in doc/fluxbox.1.in \ ++ doc/startfluxbox.1.in util/fbsetbg + CLEANFILES = $(PATHFILES) doc/fbrun.1 doc/fbsetbg.1 doc/fbsetroot.1 \ + doc/fluxbox-apps.5 doc/fluxbox-keys.5 doc/fluxbox-menu.5 \ +- doc/fluxbox-remote.1 doc/fluxbox-style.5 doc/fluxbox.1 \ +- doc/startfluxbox.1 ++ doc/fluxbox-style.5 doc/fluxbox.1 doc/startfluxbox.1 \ + MAINTAINERCLEANFILES = \ + aclocal.m4 \ + config.h.in \ +@@ -1072,7 +1062,6 @@ + doc/fluxbox-apps.5 \ + doc/fluxbox-keys.5 \ + doc/fluxbox-menu.5 \ +- doc/fluxbox-remote.1 \ + doc/fluxbox-style.5 \ + doc/fluxbox.1 \ + doc/startfluxbox.1 +@@ -1568,13 +1557,6 @@ + libFbTk.a \ + $(FRIBIDI_LIBS) + +-fluxbox_remote_SOURCES = \ +- util/fluxbox-remote.cc +- +-fluxbox_remote_CPPFLAGS = \ +- $(AM_CPPFLAGS) \ +- -I$(fbtk_incdir) +- + fbrun_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -I$(src_incdir) +@@ -1999,12 +1981,7 @@ + fluxbox$(EXEEXT): $(fluxbox_OBJECTS) $(fluxbox_DEPENDENCIES) $(EXTRA_fluxbox_DEPENDENCIES) + @rm -f fluxbox$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fluxbox_OBJECTS) $(fluxbox_LDADD) $(LIBS) +-util/fluxbox_remote-fluxbox-remote.$(OBJEXT): util/$(am__dirstamp) \ +- util/$(DEPDIR)/$(am__dirstamp) + +-fluxbox-remote$(EXEEXT): $(fluxbox_remote_OBJECTS) $(fluxbox_remote_DEPENDENCIES) $(EXTRA_fluxbox_remote_DEPENDENCIES) +- @rm -f fluxbox-remote$(EXEEXT) +- $(AM_V_CXXLD)$(CXXLINK) $(fluxbox_remote_OBJECTS) $(fluxbox_remote_LDADD) $(LIBS) + src/fluxbox_update_configs-defaults.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) + src/fluxbox_update_configs-Resources.$(OBJEXT): src/$(am__dirstamp) \ +@@ -2246,7 +2223,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@src/tests/$(DEPDIR)/testStringUtil-StringUtiltest.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/tests/$(DEPDIR)/testTexture-texturetest.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@util/$(DEPDIR)/fbsetroot-fbsetroot.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@util/$(DEPDIR)/fluxbox_update_configs-fluxbox-update_configs.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@util/fbrun/$(DEPDIR)/fbrun-FbRun.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@util/fbrun/$(DEPDIR)/fbrun-main.Po@am__quote@ +@@ -4073,20 +4049,6 @@ + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/fluxbox-SystemTray.obj `if test -f 'src/SystemTray.cc'; then $(CYGPATH_W) 'src/SystemTray.cc'; else $(CYGPATH_W) '$(srcdir)/src/SystemTray.cc'; fi` + +-util/fluxbox_remote-fluxbox-remote.o: util/fluxbox-remote.cc +-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT util/fluxbox_remote-fluxbox-remote.o -MD -MP -MF util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo -c -o util/fluxbox_remote-fluxbox-remote.o `test -f 'util/fluxbox-remote.cc' || echo '$(srcdir)/'`util/fluxbox-remote.cc +-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po +-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='util/fluxbox-remote.cc' object='util/fluxbox_remote-fluxbox-remote.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o util/fluxbox_remote-fluxbox-remote.o `test -f 'util/fluxbox-remote.cc' || echo '$(srcdir)/'`util/fluxbox-remote.cc +- +-util/fluxbox_remote-fluxbox-remote.obj: util/fluxbox-remote.cc +-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT util/fluxbox_remote-fluxbox-remote.obj -MD -MP -MF util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo -c -o util/fluxbox_remote-fluxbox-remote.obj `if test -f 'util/fluxbox-remote.cc'; then $(CYGPATH_W) 'util/fluxbox-remote.cc'; else $(CYGPATH_W) '$(srcdir)/util/fluxbox-remote.cc'; fi` +-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po +-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='util/fluxbox-remote.cc' object='util/fluxbox_remote-fluxbox-remote.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o util/fluxbox_remote-fluxbox-remote.obj `if test -f 'util/fluxbox-remote.cc'; then $(CYGPATH_W) 'util/fluxbox-remote.cc'; else $(CYGPATH_W) '$(srcdir)/util/fluxbox-remote.cc'; fi` +- + src/fluxbox_update_configs-defaults.o: src/defaults.cc + @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_update_configs_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/fluxbox_update_configs-defaults.o -MD -MP -MF src/$(DEPDIR)/fluxbox_update_configs-defaults.Tpo -c -o src/fluxbox_update_configs-defaults.o `test -f 'src/defaults.cc' || echo '$(srcdir)/'`src/defaults.cc + @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/fluxbox_update_configs-defaults.Tpo src/$(DEPDIR)/fluxbox_update_configs-defaults.Po + +--- a/doc/fluxbox-remote.1 ++++ /dev/null +@@ -1,65 +0,0 @@ +-'\" t +-.\" Title: fluxbox-remote +-.\" Author: Mark Tiefenbruck +-.\" Generator: DocBook XSL Stylesheets v1.78.1 +-.\" Date: 08 February 2015 +-.\" Manual: Fluxbox Manual +-.\" Source: fluxbox-remote.txt +-.\" Language: English +-.\" +-.TH "FLUXBOX\-REMOTE" "1" "08 February 2015" "fluxbox\-remote\&.txt" "Fluxbox Manual" +-.\" ----------------------------------------------------------------- +-.\" * Define some portability stuff +-.\" ----------------------------------------------------------------- +-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-.\" http://bugs.debian.org/507673 +-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-.ie \n(.g .ds Aq \(aq +-.el .ds Aq ' +-.\" ----------------------------------------------------------------- +-.\" * set default formatting +-.\" ----------------------------------------------------------------- +-.\" disable hyphenation +-.nh +-.\" disable justification (adjust text to left margin only) +-.ad l +-.\" ----------------------------------------------------------------- +-.\" * MAIN CONTENT STARTS HERE * +-.\" ----------------------------------------------------------------- +-.SH "NAME" +-fluxbox-remote \- command line access to key commands for fluxbox(1) +-.SH "SYNOPSIS" +-.sp +-\fBfluxbox\-remote\fR \fIcommand\fR +-.SH "DESCRIPTION" +-.sp +-\fIfluxbox\-remote(1)\fR is designed to allow scripts to execute most key commands from \fIfluxbox(1)\fR\&. \fIfluxbox\-remote(1)\fR will only work with \fIfluxbox(1)\fR: its communications with \fIfluxbox(1)\fR are not standardized in any way\&. It is recommended that a standards\-based tool such as \fIwmctrl(1)\fR be used whenever possible, in order for scripts to work with other window managers\&. +-.SH "CAVEATS" +-.sp +-\fIfluxbox\-remote(1)\fR uses the X11 protocol to communicate with \fIfluxbox(1)\fR\&. Therefore, it is possible for any user with access to the \fIX(7)\fR server to use \fIfluxbox\-remote(1)\fR\&. For this reason, several key commands have been disabled\&. Users should be aware of the security implications when enabling \fIfluxbox\-remote(1)\fR, especially when using a forwarded \fIX(7)\fR connection\&. +-.SH "RESOURCES" +-.PP +-session\&.screen0\&.allowRemoteActions: +-.RS 4 +-This resource in ~/\&.fluxbox/init must be set to \(oqtrue\(cq in order for +-\fIfluxbox\-remote(1)\fR +-to function\&. Please read the +-\fBCAVEATS\fR +-first\&. +-.RE +-.SH "ENVIRONMENT" +-.sp +-In order to communicate with \fIfluxbox(1)\fR, the DISPLAY environment variable must be set properly\&. Usually, the value should be \(oq:0\&.0\(cq\&. +-.SH "AUTHORS" +-.sp +-This man page written by Mark Tiefenbruck +-.SH "SEE ALSO" +-.sp +-fluxbox(1) fluxbox\-keys(5) wmctrl(1) +-.SH "AUTHOR" +-.PP +-\fBMark Tiefenbruck\fR <\&mark@fluxbox\&.org\&> +-.RS 4 +-Author. +-.RE + +--- a/doc/fluxbox-remote.1.in ++++ /dev/null +@@ -1,65 +0,0 @@ +-'\" t +-.\" Title: fluxbox-remote +-.\" Author: Mark Tiefenbruck +-.\" Generator: DocBook XSL Stylesheets v1.78.1 +-.\" Date: 08 February 2015 +-.\" Manual: Fluxbox Manual +-.\" Source: fluxbox-remote.txt +-.\" Language: English +-.\" +-.TH "FLUXBOX\-REMOTE" "1" "08 February 2015" "fluxbox\-remote\&.txt" "Fluxbox Manual" +-.\" ----------------------------------------------------------------- +-.\" * Define some portability stuff +-.\" ----------------------------------------------------------------- +-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-.\" http://bugs.debian.org/507673 +-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-.ie \n(.g .ds Aq \(aq +-.el .ds Aq ' +-.\" ----------------------------------------------------------------- +-.\" * set default formatting +-.\" ----------------------------------------------------------------- +-.\" disable hyphenation +-.nh +-.\" disable justification (adjust text to left margin only) +-.ad l +-.\" ----------------------------------------------------------------- +-.\" * MAIN CONTENT STARTS HERE * +-.\" ----------------------------------------------------------------- +-.SH "NAME" +-fluxbox-remote \- command line access to key commands for fluxbox(1) +-.SH "SYNOPSIS" +-.sp +-\fBfluxbox\-remote\fR \fIcommand\fR +-.SH "DESCRIPTION" +-.sp +-\fIfluxbox\-remote(1)\fR is designed to allow scripts to execute most key commands from \fIfluxbox(1)\fR\&. \fIfluxbox\-remote(1)\fR will only work with \fIfluxbox(1)\fR: its communications with \fIfluxbox(1)\fR are not standardized in any way\&. It is recommended that a standards\-based tool such as \fIwmctrl(1)\fR be used whenever possible, in order for scripts to work with other window managers\&. +-.SH "CAVEATS" +-.sp +-\fIfluxbox\-remote(1)\fR uses the X11 protocol to communicate with \fIfluxbox(1)\fR\&. Therefore, it is possible for any user with access to the \fIX(7)\fR server to use \fIfluxbox\-remote(1)\fR\&. For this reason, several key commands have been disabled\&. Users should be aware of the security implications when enabling \fIfluxbox\-remote(1)\fR, especially when using a forwarded \fIX(7)\fR connection\&. +-.SH "RESOURCES" +-.PP +-session\&.screen0\&.allowRemoteActions: +-.RS 4 +-This resource in ~/\&.fluxbox/init must be set to \(oqtrue\(cq in order for +-\fIfluxbox\-remote(1)\fR +-to function\&. Please read the +-\fBCAVEATS\fR +-first\&. +-.RE +-.SH "ENVIRONMENT" +-.sp +-In order to communicate with \fIfluxbox(1)\fR, the DISPLAY environment variable must be set properly\&. Usually, the value should be \(oq:0\&.0\(cq\&. +-.SH "AUTHORS" +-.sp +-This man page written by Mark Tiefenbruck +-.SH "SEE ALSO" +-.sp +-fluxbox(1) fluxbox\-keys(5) wmctrl(1) +-.SH "AUTHOR" +-.PP +-\fBMark Tiefenbruck\fR <\&mark@fluxbox\&.org\&> +-.RS 4 +-Author. +-.RE + +--- a/doc/Makemodule.am ++++ b/doc/Makemodule.am +@@ -5,7 +5,6 @@ + doc/fluxbox-apps.5 \ + doc/fluxbox-keys.5 \ + doc/fluxbox-menu.5 \ +- doc/fluxbox-remote.1 \ + doc/fluxbox-style.5 \ + doc/fluxbox.1 \ + doc/startfluxbox.1 +@@ -17,7 +16,6 @@ + doc/fluxbox-apps.5 \ + doc/fluxbox-keys.5 \ + doc/fluxbox-menu.5 \ +- doc/fluxbox-remote.1 \ + doc/fluxbox-style.5 \ + doc/fluxbox.1 \ + doc/startfluxbox.1 +@@ -30,7 +28,6 @@ + doc/fluxbox-apps.5.in \ + doc/fluxbox-keys.5.in \ + doc/fluxbox-menu.5.in \ +- doc/fluxbox-remote.1.in \ + doc/fluxbox-style.5.in \ + doc/fluxbox.1.in \ + doc/startfluxbox.1.in diff --git a/x11-wm/fluxbox/files/0002-fix-nls-musl.patch b/x11-wm/fluxbox/files/0002-fix-nls-musl.patch new file mode 100644 index 00000000..caba8718 --- /dev/null +++ b/x11-wm/fluxbox/files/0002-fix-nls-musl.patch @@ -0,0 +1,33 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -332,18 +332,18 @@ + AM_CONDITIONAL([TEST], [test "x$enable_test" = "xyes"]) + + dnl Check whether to include native language support (i18n) +-AC_MSG_CHECKING([whether to include NLS support]) +-AC_ARG_ENABLE([nls], +- AS_HELP_STRING([--enable-nls], +- [include native language support (default=yes)]), +- [], [enable_nls=yes] +-) +-AC_MSG_RESULT([$enable_nls]) +-AS_IF([test "x$enable_nls" = "xyes"], [ +- AC_DEFINE([NLS], [1], [Native language support]) +- NLS="-DNLS" +-], []) +-AC_SUBST([NLS]) ++AC_PREREQ([2.50]) ++ ++AC_DEFUN([AM_NLS], ++[ ++ AC_MSG_CHECKING([whether NLS is requested]) ++ dnl Default is enabled NLS ++ AC_ARG_ENABLE([nls], ++ [ --disable-nls do not use Native Language Support], ++ USE_NLS=$enableval, USE_NLS=yes) ++ AC_MSG_RESULT([$USE_NLS]) ++ AC_SUBST([USE_NLS]) ++]) + + dnl Check for new timed pixmap cache + AC_MSG_CHECKING([whether to use a timed pixmap cache]) diff --git a/x11-wm/fluxbox/files/fluxbox.desktop b/x11-wm/fluxbox/files/fluxbox.desktop new file mode 100644 index 00000000..975d121c --- /dev/null +++ b/x11-wm/fluxbox/files/fluxbox.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Fluxbox +Comment=This session logs you into Fluxbox +Exec=startfluxbox +TryExec=startfluxbox +# no icon yet, only the top three are currently used +Icon= +Type=Application diff --git a/x11-wm/fluxbox/files/fluxbox.xsession b/x11-wm/fluxbox/files/fluxbox.xsession new file mode 100644 index 00000000..0fb9dcd6 --- /dev/null +++ b/x11-wm/fluxbox/files/fluxbox.xsession @@ -0,0 +1,90 @@ +#!/bin/sh +# Fluxbox Xsession starter, based on Xsession shipped by x11-apps/xinit-1.0.5-r1 + +# redirect errors to a file in user's home directory if we can +for errfile in "$HOME/.fluxbox-errors" "${TMPDIR-/tmp}/fluxbox-$USER" "/tmp/fluxbox-$USER" +do + if ( cp /dev/null "$errfile" 2> /dev/null ) + then + chmod 600 "$errfile" + exec > "$errfile" 2>&1 + break + fi +done + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +userxkbmap=$HOME/.Xkbmap + +sysresources=/etc/X11/Xresources +sysmodmap=/etc/X11/Xmodmap +sysxkbmap=/etc/X11/Xkbmap + +rh6sysresources=/etc/X11/xinit/Xresources +rh6sysmodmap=/etc/X11/xinit/Xmodmap + + +# merge in defaults +if [ -f "$rh6sysresources" ]; then + xrdb -merge "$rh6sysresources" +fi + +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +# merge in keymaps +if [ -f "$sysxkbmap" ]; then + setxkbmap `cat "$sysxkbmap"` + XKB_IN_USE=yes +fi + +if [ -f "$userxkbmap" ]; then + setxkbmap `cat "$userxkbmap"` + XKB_IN_USE=yes +fi + +# +# Eeek, this seems like too much magic here +# +if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then + if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then + xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config /etc/X11/xorg.conf` + if [ -n "$xkbsymbols" ]; then + setxkbmap -symbols "$xkbsymbols" + XKB_IN_USE=yes + fi + fi +fi + +# xkb and xmodmap don't play nice together +if [ -z "$XKB_IN_USE" ]; then + if [ -f "$rh6sysmodmap" ]; then + xmodmap "$rh6sysmodmap" + fi + + if [ -f "$sysmodmap" ]; then + xmodmap "$sysmodmap" + fi + + if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" + fi +fi + +unset XKB_IN_USE + +# run all system xinitrc shell scripts. +if [ -d /etc/X11/xinit/xinitrc.d ]; then + for i in /etc/X11/xinit/xinitrc.d/* ; do + if [ -x "$i" ]; then + . "$i" + fi + done +fi + +exec /usr/bin/startfluxbox diff --git a/x11-wm/fluxbox/files/styles-menu-commonbox b/x11-wm/fluxbox/files/styles-menu-commonbox new file mode 100644 index 00000000..742e587e --- /dev/null +++ b/x11-wm/fluxbox/files/styles-menu-commonbox @@ -0,0 +1,5 @@ +[begin] (Legacy Commonbox Styles) +[submenu] (Legacy Commonbox Styles) + [stylesdir] (/usr/share/commonbox/styles) +[end] +[end] diff --git a/x11-wm/fluxbox/files/styles-menu-fluxbox b/x11-wm/fluxbox/files/styles-menu-fluxbox new file mode 100644 index 00000000..d2e0d580 --- /dev/null +++ b/x11-wm/fluxbox/files/styles-menu-fluxbox @@ -0,0 +1,5 @@ +[begin] (Fluxbox Core Styles) +[submenu] (Fluxbox Core Styles) + [stylesdir] (/usr/share/fluxbox/styles) +[end] +[end] diff --git a/x11-wm/fluxbox/files/styles-menu-user b/x11-wm/fluxbox/files/styles-menu-user new file mode 100644 index 00000000..3d011d27 --- /dev/null +++ b/x11-wm/fluxbox/files/styles-menu-user @@ -0,0 +1,5 @@ +[begin] (User Styles) +[submenu] (User Styles) + [stylesdir] (~/.fluxbox/styles) +[end] +[end] diff --git a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild b/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild new file mode 100644 index 00000000..aef98eb9 --- /dev/null +++ b/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools toolchain-funcs + +IUSE="nls xinerama bidi +truetype +imlib +slit +systray +toolbar vim-syntax" + +REQUIRED_USE="systray? ( toolbar )" + +DESCRIPTION="X11 window manager featuring tabs and an iconbar" + +SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.xz" +HOMEPAGE="http://www.fluxbox.org" +SLOT="0" +LICENSE="MIT" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" + +RDEPEND=" + !!<=x11-misc/fbdesk-1.2.1 + !!<=x11-misc/fluxconf-0.9.9 + !!=dev-libs/fribidi-0.19.2 ) + imlib? ( >=media-libs/imlib2-1.2.0[X] ) + truetype? ( media-libs/freetype ) + vim-syntax? ( app-vim/fluxbox-syntax ) + x11-libs/libXext + x11-libs/libXft + x11-libs/libXpm + x11-libs/libXrandr + x11-libs/libXrender + xinerama? ( x11-libs/libXinerama ) + || ( x11-misc/gxmessage x11-apps/xmessage ) +" + +DEPEND=" + ${RDEPEND} + bidi? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + x11-base/xorg-proto +" + +PATCHES=( + "${FILESDIR}"/0001-strip-fluxbox-remote.patch + "${FILESDIR}"/0002-fix-nls-musl.patch +) + +src_prepare() { + + default + eautoreconf +} + +src_configure() { + + local myeconfargs=( + $(use_enable imlib imlib2) + $(use_enable bidi fribidi) + $(use_enable slit) + $(use_enable systray) + $(use_enable toolbar) + $(use_enable truetype xft) + $(use_enable xinerama) + --sysconfdir="${EPREFIX}"/etc/X11/${PN} \ + --with-style="${EPREFIX}"/usr/share/fluxbox/styles/Emerge + + ) + + if ! use nls; then + local myeconfargs=( --disable-nls ) + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + default + +} + +src_install() { + + emake DESTDIR="${D}" STRIP="" install + dodoc README* AUTHORS TODO* ChangeLog NEWS + + # Install the generated menu + insinto /usr/share/fluxbox + doins data/menu + + insinto /usr/share/xsessions + doins "${FILESDIR}"/${PN}.desktop + + exeinto /etc/X11/Sessions + newexe "${FILESDIR}"/${PN}.xsession fluxbox + + # Styles menu framework + insinto /usr/share/fluxbox/menu.d/styles + doins "${FILESDIR}"/styles-menu-fluxbox + doins "${FILESDIR}"/styles-menu-commonbox + doins "${FILESDIR}"/styles-menu-user +} diff --git a/x11-wm/fluxbox/metadata.xml b/x11-wm/fluxbox/metadata.xml new file mode 100644 index 00000000..0cbfa3e8 --- /dev/null +++ b/x11-wm/fluxbox/metadata.xml @@ -0,0 +1,27 @@ + + + + + zlogene@gentoo.org + Mikle Kolyada + + + Fluxbox is yet another windowmanager for X. Originally based upon the + Blackbox 0.61.1 code, Fluxbox has been extended to include a new tabbed + window handling mechanism, an improved configurable window title bar, + better KDE and GNOME integration, an integrated key grabber and + countless additional features. + + + + Enable bidirectional language support with + dev-libs/fribidi + + Enables the Fluxbox slit (or dock) + Enables the system tray in the Fluxbox toolbar + Enables the Fluxbox toolbar + + + fluxbox + + -- cgit v1.2.3-65-gdbad