From 155a7370404022772ec6d48873397a69482331e9 Mon Sep 17 00:00:00 2001 From: Andreas Bierfert Date: Apr 02 2011 09:29:44 +0000 Subject: 1.3.1-1 version upgrade (including suggestions from #681170) rework patches update menu gen script enabled new bidirectional support (now requires fribidi) vim-syntax subpackage with vim syntax files --- diff --git a/fluxbox-dso.patch b/fluxbox-dso.patch deleted file mode 100644 index 0f4f7ba..0000000 --- a/fluxbox-dso.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -up fluxbox-1.1.1/src/Makefile.am.dso fluxbox-1.1.1/src/Makefile.am ---- fluxbox-1.1.1/src/Makefile.am.dso 2010-12-08 23:04:57.000000000 +0100 -+++ fluxbox-1.1.1/src/Makefile.am 2010-12-08 23:05:39.000000000 +0100 -@@ -156,4 +156,4 @@ fluxbox_SOURCES = AtomHandler.hh ArrowBu - ${REMEMBER_SOURCE} ${TOOLBAR_SOURCE} - - --LDADD=FbTk/libFbTk.a FbTk/LogicCommands.o defaults.$(OBJEXT) -+LDADD=-lfontconfig FbTk/libFbTk.a FbTk/LogicCommands.o defaults.$(OBJEXT) -diff -up fluxbox-1.1.1/src/Makefile.in.dso fluxbox-1.1.1/src/Makefile.in ---- fluxbox-1.1.1/src/Makefile.in.dso 2010-12-08 23:05:48.000000000 +0100 -+++ fluxbox-1.1.1/src/Makefile.in 2010-12-08 23:06:30.000000000 +0100 -@@ -367,7 +367,7 @@ fluxbox_SOURCES = AtomHandler.hh ArrowBu - ${newwmspec_SOURCE} ${gnome_SOURCE} \ - ${REMEMBER_SOURCE} ${TOOLBAR_SOURCE} - --LDADD = FbTk/libFbTk.a FbTk/LogicCommands.o defaults.$(OBJEXT) -+LDADD = -lfontconfig FbTk/libFbTk.a FbTk/LogicCommands.o defaults.$(OBJEXT) - all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -diff -up fluxbox-1.1.1/util/fbrun/Makefile.am.dso fluxbox-1.1.1/util/fbrun/Makefile.am ---- fluxbox-1.1.1/util/fbrun/Makefile.am.dso 2010-12-08 23:16:58.000000000 +0100 -+++ fluxbox-1.1.1/util/fbrun/Makefile.am 2010-12-08 23:17:33.000000000 +0100 -@@ -2,7 +2,7 @@ FLUXBOX_SRC_DIR= ../../src/ - INCLUDES= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk - bin_PROGRAMS= fbrun - fbrun_SOURCES= FbRun.hh FbRun.cc main.cc fbrun.xpm --fbrun_LDADD= ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a -+fbrun_LDADD= -lfontconfig ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a - - ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a: -- cd ${FLUXBOX_SRC_DIR}FbTk && make -\ No newline at end of file -+ cd ${FLUXBOX_SRC_DIR}FbTk && make -diff -up fluxbox-1.1.1/util/fbrun/Makefile.in.dso fluxbox-1.1.1/util/fbrun/Makefile.in ---- fluxbox-1.1.1/util/fbrun/Makefile.in.dso 2010-12-08 23:17:08.000000000 +0100 -+++ fluxbox-1.1.1/util/fbrun/Makefile.in 2010-12-08 23:17:50.000000000 +0100 -@@ -179,7 +179,7 @@ top_srcdir = @top_srcdir@ - FLUXBOX_SRC_DIR = ../../src/ - INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk - fbrun_SOURCES = FbRun.hh FbRun.cc main.cc fbrun.xpm --fbrun_LDADD = ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a -+fbrun_LDADD = -lfontconfig ${FLUXBOX_SRC_DIR}FbTk/libFbTk.a - all: all-am - - .SUFFIXES: -diff -up fluxbox-1.1.1/util/Makefile.am.dso fluxbox-1.1.1/util/Makefile.am ---- fluxbox-1.1.1/util/Makefile.am.dso 2008-06-06 11:15:55.000000000 +0200 -+++ fluxbox-1.1.1/util/Makefile.am 2010-12-08 23:35:11.000000000 +0100 -@@ -4,10 +4,10 @@ INCLUDES= -I$(top_srcdir)/src -I$(top_ - bin_SCRIPTS= fbsetbg fluxbox-generate_menu startfluxbox - bin_PROGRAMS= fbsetroot fluxbox-update_configs fluxbox-remote - fbsetroot_SOURCES= fbsetroot.cc fbsetroot.hh --fbsetroot_LDADD=../src/FbRootWindow.o ../src/FbAtoms.o \ -+fbsetroot_LDADD= -lfontconfig ../src/FbRootWindow.o ../src/FbAtoms.o \ - ../src/FbTk/libFbTk.a - fluxbox_update_configs_SOURCES= fluxbox-update_configs.cc --fluxbox_update_configs_LDADD= ../src/defaults.o ../src/Resources.o \ -+fluxbox_update_configs_LDADD= -lfontconfig ../src/defaults.o ../src/Resources.o \ - ../src/FbTk/libFbTk.a - fluxbox_remote_SOURCES= fluxbox-remote.cc - -diff -up fluxbox-1.1.1/util/Makefile.in.dso fluxbox-1.1.1/util/Makefile.in ---- fluxbox-1.1.1/util/Makefile.in.dso 2008-09-17 18:16:23.000000000 +0200 -+++ fluxbox-1.1.1/util/Makefile.in 2010-12-08 23:35:31.000000000 +0100 -@@ -206,11 +206,11 @@ SUBDIRS = fbrun - INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk - bin_SCRIPTS = fbsetbg fluxbox-generate_menu startfluxbox - fbsetroot_SOURCES = fbsetroot.cc fbsetroot.hh --fbsetroot_LDADD = ../src/FbRootWindow.o ../src/FbAtoms.o \ -+fbsetroot_LDADD = -lfontconfig ../src/FbRootWindow.o ../src/FbAtoms.o \ - ../src/FbTk/libFbTk.a - - fluxbox_update_configs_SOURCES = fluxbox-update_configs.cc --fluxbox_update_configs_LDADD = ../src/defaults.o ../src/Resources.o \ -+fluxbox_update_configs_LDADD = -lfontconfig ../src/defaults.o ../src/Resources.o \ - ../src/FbTk/libFbTk.a - - fluxbox_remote_SOURCES = fluxbox-remote.cc diff --git a/fluxbox-gcc43.patch b/fluxbox-gcc43.patch deleted file mode 100644 index a406275..0000000 --- a/fluxbox-gcc43.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up fluxbox-1.0.0/src/main.cc.gcc43 fluxbox-1.0.0/src/main.cc ---- fluxbox-1.0.0/src/main.cc.gcc43 2008-03-27 01:19:22.000000000 -0400 -+++ fluxbox-1.0.0/src/main.cc 2008-03-27 01:20:15.000000000 -0400 -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - - using std::cout; - using std::cerr; diff --git a/fluxbox-gcc46.patch b/fluxbox-gcc46.patch new file mode 100644 index 0000000..90d2689 --- /dev/null +++ b/fluxbox-gcc46.patch @@ -0,0 +1,44 @@ +From d28e105075e3ec46515c322ee5dca6967a4cc696 Mon Sep 17 00:00:00 2001 +From: Daniel Diaz +Date: Mon, 28 Mar 2011 07:06:01 +0000 +Subject: compile fix: added to provide declaration for 'size_t' (gcc-4.6.x likes it that way) + +--- +diff --git a/src/FbTk/LayerItem.hh b/src/FbTk/LayerItem.hh +index a4cdd49..ad33451 100644 +--- a/src/FbTk/LayerItem.hh ++++ b/src/FbTk/LayerItem.hh +@@ -26,6 +26,7 @@ + #include "Layer.hh" + #include "NotCopyable.hh" + #include ++#include // size_t + + namespace FbTk { + +diff --git a/src/FbTk/MacroCommand.hh b/src/FbTk/MacroCommand.hh +index 932ecaf..bce2ce4 100644 +--- a/src/FbTk/MacroCommand.hh ++++ b/src/FbTk/MacroCommand.hh +@@ -26,6 +26,7 @@ + #include "RefCount.hh" + + #include ++#include // size_t + + namespace FbTk { + +diff --git a/src/FbTk/MultLayers.hh b/src/FbTk/MultLayers.hh +index 62c006f..3da25f6 100644 +--- a/src/FbTk/MultLayers.hh ++++ b/src/FbTk/MultLayers.hh +@@ -24,6 +24,7 @@ + #define FBTK_MULTLAYERS_HH + + #include ++#include // size_t + + namespace FbTk { + +-- +cgit diff --git a/fluxbox-xdg-menu-svn13.py b/fluxbox-xdg-menu-svn13.py new file mode 100644 index 0000000..6cfead1 --- /dev/null +++ b/fluxbox-xdg-menu-svn13.py @@ -0,0 +1,260 @@ +#!/usr/bin/env python +# vim: noexpandtab:ts=4:sts=4 + +"""Menu Generator for Fluxbox + +Generates a menu for Fluxbox using the freedesktop.org standards + +Usage: fluxbox-fdo-menugen.py [options] + +Options: + -l ..., --lang=... create the menu using a language. Default = $LANG + -h, --help show this help + -f ..., --file=... output the menu into a file. Default = ~/.fluxbox/menu + -t ..., --theme=... what icon theme you want to use + --with-icons do not put icons for applications in the menu + --stdout output the menu to standard output + --submenu output to be used as an include/submenu with fluxbox + --with-backgrounds creates a background menu. Default background_paths = + ~/.fluxbox/backgrounds, /usr/share/wallpapers, + /usr/share/backgrounds + --backgrounds-only do not regenerate menu, only do the bg menu. + --bg-path= path to location to look for images + example: --bg-path=~/pics + may be used with --backgrounds-only but --bg-path= + must be first: --bg-path=~/some/path --backgrounds-only + +A nice example string to use: fluxbox-fdo-menugen.py --with-icons --with-backgrounds --bg-path=~/some/path +To update only the backgrounds: fluxbox-fdo-menugen.py --bg-path=~/some/path --backgrounds-only +""" + +__author__ = "Rudolf Kastl , Antonio Gomes, Michael Rice" +__version__ = "$Revision: 13 $" +__date__ = "$Date: 2010/01/20 21:50:10 $" +__license__ = "GPL" + + +import os,re,sys,glob,getopt +import xdg.Menu,xdg.DesktopEntry,xdg.IconTheme +from os.path import isfile + +def usage(): + print __doc__ + +def header(wm="fluxbox"): + return """ +[begin] (Fluxbox) + [exec] (Web Browser) {htmlview} + [exec] (Email) {evolution} + [exec] (Terminal) {$TERM} + [exec] (Irc) {xchat} + [separator]\n""" + +def footer(wm="fluxbox"): + return """ + [submenu] (Fluxbox Menu) + [config] (Configure) + [submenu] (System Styles) {Choose a style...} + [stylesdir] (/usr/share/fluxbox/styles) + [stylesdir] (/usr/share/commonbox/styles/) + [end] + [submenu] (User Styles) {Choose a style...} + [stylesdir] (~/.fluxbox/styles) + [end] + [workspaces] (Workspace List) + [submenu] (Tools) + [exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center} + [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg} + [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png} + [exec] (Run) {fbrun } + [exec] (Regen Menu) {fluxbox-generate_menu --with-icons} + [end] + [submenu] (Window) + [restart] (kde) {startkde} + [restart] (openbox) {openbox} + [restart] (gnome) {gnome-session} + [end] + [exec] (Lock screen) {xscreensaver-command -lock} + [commanddialog] (Fluxbox Command) + [reconfig] (Reload config) + [restart] (Restart) + [separator] + [exit] (Exit) + [end] +[end]\n""" + +def checkWm(entry, wm="fluxbox"): + if entry.DesktopEntry.getOnlyShowIn() != []: + entry.Show = False + if entry.DesktopEntry.getNotShowIn() != []: + if isinstance(entry, xdg.Menu.MenuEntry): + if wm in entry.DesktopEntry.getNotShowIn(): + entry.Show = False + else: + entry.Show = True + +def findIcon(icon, theme): + """Finds the path and filename for the given icon name + e.g. gaim --> /usr/share/pixmaps/gaim.png + e.g. fart.png --> /usr/share/pixmaps/fart.png + """ + retval=str(xdg.IconTheme.getIconPath(icon, 48, theme,["png","xpm"])) + if retval == "None": + retval="" + + return (retval + "").encode('utf8') + +def parseMenu(menu,wm,use_icons,theme,depth=1): + if use_icons: + print "%s[submenu] (%s) <%s> " % ( (depth*"\t"), menu.getName().encode('utf8'), findIcon(menu.getIcon(), theme) ) + else: + print "%s[submenu] (%s) " % ( (depth*"\t"), menu.getName().encode('utf8'), ) + depth += 1 + for entry in menu.getEntries(): + if isinstance(entry, xdg.Menu.Menu): + parseMenu(entry,wm,use_icons,theme,depth) + elif isinstance(entry, xdg.Menu.MenuEntry): + checkWm(entry,wm) + if entry.Show == False: continue + if use_icons: + print "%s[exec] (%s) {%s} <%s> " % ( (depth*"\t"), entry.DesktopEntry.getName().encode("utf8"), entry.DesktopEntry.getExec().split()[0], findIcon(entry.DesktopEntry.getIcon(), theme) ) + else: + print "%s[exec] (%s) {%s} " % ( (depth*"\t"), entry.DesktopEntry.getName().encode("utf8"), entry.DesktopEntry.getExec().split()[0] ) + elif isinstance(entry,xdg.Menu.Separator): + print "%s[separator]" % (depth*"\t") + elif isinstance(entry.xdg.Menu.Header): + print "%s%s" % ( (depth*"\t"), entry.Name ) + depth -= 1 + print "%s[end]" % (depth*"\t") + +def get_bgimgs_and_parse(xPath): + try: + if isfile(os.path.expanduser("~/.fluxbox/bgmenu")) == True: + os.unlink(os.path.expanduser("~/.fluxbox/bgmenu")) + except OSError: + pass + h = {} + bg_paths =["~/.fluxbox/backgrounds","/usr/share/wallpapers", + "/usr/share/backgrounds","/usr/share/backgrounds/images"] + try: + if xPath == None: + pass + else: + bg_paths.append(xPath) + except(TypeError): + pass + for dir in bg_paths: + for imgpth in bg_paths: + try: + imgs = os.listdir(os.path.expanduser(imgpth)) + for i in imgs: + h[i] = imgpth + except (OSError): + pass + bgMenu = open(os.path.expanduser("~/.fluxbox/bgmenu"),'w+') + num = len(h) + countNum = 1 + bgPagCk = 1 + bgPgNum = 1 + bgMenu.write( "[submenu] (Backgrounds)\n" ) + bgMenu.write( "[submenu] (Backgrounds) {Set Your Background}\n" ) + bgMenu.write("\t[exec] (Random Image) {fbsetbg -r ~/.fluxbox/backgrounds}\n") + types = ["png","jpg","jpeg","gif"] + for i in h.keys(): + try: + t = i.split(".")[-1].lower() + if t in types: + print "Hello" + bgMenu.write( "\t[exec]\t("+ i +") {fbsetbg -f "+ h[i] + "/" + i +"}\n" ) + countNum = countNum + 1 + num = num - 1 + bgPagCk = bgPagCk + 1 + if bgPagCk == 26: + bgPgNum = bgPgNum + 1 + bgMenu.write("[end]\n[submenu] (Backgrounds " + str(bgPgNum) +") \ + {Set Your Background}\n") + bgPagCk = 1 + if num == 0: + bgMenu.write( "[end]\n[end]\n" ) + bgMenu.close() + except(KeyError): + print h[i] + pass + +def main(argv): +# Setting the default values + wm = "fluxbox" + file = "~/.fluxbox/menu" + use_icons = False + use_bg = False + bg_Xpath = False + theme = "gnome" + lang = os.getenv("LANG","C") + file = os.path.expanduser("~/.fluxbox/menu") + do_submenu = False + use_stdout = False + + try: + opts, args = getopt.getopt(argv, "hf:dl:d", ["help","lang=","file=","with-icons","stdout",\ + "theme=","submenu","with-backgrounds","backgrounds-only","bg-path="]) + + except getopt.GetoptError: + usage() + sys.exit(2) + for opt, arg in opts: + if opt in ("-h", "--help"): + usage() + sys.exit() + elif opt in ("-l", "--lang"): + lang = arg + elif opt in ("-f", "--file"): + file = os.path.expanduser(arg) + elif opt == '--with-icons': + use_icons = True + elif opt in ("-t", "--theme"): + theme = arg + elif opt == '--stdout': + use_stdout = True + elif opt == '--stdout': + file = sys.stdout + elif opt == '--bg-path': + bg_Xpath = True + xPath = os.path.expanduser(arg) + elif opt == '--with-backgrounds': + use_bg = True + elif opt == '--backgrounds-only': + if bg_Xpath: + get_bgimgs_and_parse(xPath) + else: + get_bgimgs_and_parse(None) + raise SystemExit + + elif opt == '--submenu': + do_submenu = True + + if not use_stdout: + fsock = open(file,'w') + saveout = sys.stdout + sys.stdout = fsock + + menu=xdg.Menu.parse() +# is done automatically now +# menu.setLocale(lang) + + if not do_submenu: + print header() + parseMenu(menu,wm,use_icons,theme) + if not do_submenu and use_bg and bg_Xpath: + get_bgimgs_and_parse(xPath) + print "[include] (~/.fluxbox/bgmenu)" + if not do_submenu and use_bg and not bg_Xpath: + print "[include] (~/.fluxbox/bgmenu)" + get_bgimgs_and_parse(None) + if not do_submenu: + print footer() + if not use_stdout: + sys.stdout = saveout + +# print menu +if __name__ == "__main__": + main(sys.argv[1:]) diff --git a/fluxbox-xdg-menu.py b/fluxbox-xdg-menu.py deleted file mode 100644 index bbf0cb3..0000000 --- a/fluxbox-xdg-menu.py +++ /dev/null @@ -1,262 +0,0 @@ -#!/usr/bin/env python -# vim: noexpandtab:ts=4:sts=4 - -"""Menu Generator for Fluxbox - -Generates a menu for Fluxbox using the freedesktop.org standards - -Usage: fluxbox-xdg-menu.py [options] - -Options: - -l ..., --lang=... create the menu using a language. Default = $LANG - -h, --help show this help - -f ..., --file=... output the menu into a file. Default = ~/.fluxbox/menu - -t ..., --theme=... what icon theme you want to use - --with-icons put icons for applications in the menu - --stdout output the menu to standard output - --submenu output to be used as an include/submenu with fluxbox - --with-backgrounds creates a background menu. Default background_paths = - ~/.fluxbox/backgrounds, /usr/share/wallpapers, - /usr/share/backgrounds - --backgrounds-only do not regenerate menu, only do the bg menu. - --bg-path= path to location to look for images - example: --bg-path=~/pics - may be used with --backgrounds-only but --bg-path= - must be first: --bg-path=~/some/path --backgrounds-only - -A nice example string to use: fluxbox-fdo-menugen.py --with-icons --with-backgrounds --bg-path=~/some/path -To update only the backgrounds: fluxbox-fdo-menugen.py --bg-path=~/some/path --backgrounds-only -""" - -__author__ = "Rudolf Kastl , Antonio Gomes, Michael Rice" -__version__ = "$Revision: 1.2 $" -__date__ = "$Date: 2006/10/21 09:38:14 $" -__license__ = "GPL" - - -import os,re,sys,glob,getopt -import xdg.Menu,xdg.DesktopEntry,xdg.IconTheme -from os.path import isfile - -def usage(): - print __doc__ - -def header(wm="fluxbox"): - return """ -[begin] (Fluxbox) - [exec] (Web Browser) {htmlview} - [exec] (Email) {evolution} - [exec] (Terminal) {$TERM} - [exec] (Irc) {xchat} - [separator]\n""" - -def footer(wm="fluxbox"): - return """ - [submenu] (Fluxbox Menu) - [config] (Configure) - [submenu] (System Styles) {Choose a style...} - [stylesdir] (/usr/share/fluxbox/styles) - [stylesdir] (/usr/share/commonbox/styles/) - [end] - [submenu] (User Styles) {Choose a style...} - [stylesdir] (~/.fluxbox/styles) - [end] - [workspaces] (Workspace List) - [submenu] (Tools) - [exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center} - [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg} - [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png} - [exec] (Run) {fbrun } - [exec] (Regen Menu) {fluxbox-generate_menu --with-icons} - [end] - [submenu] (Window) - [restart] (kde) {startkde} - [restart] (openbox) {openbox} - [restart] (gnome) {gnome-session} - [end] - [exec] (Lock screen) {xscreensaver-command -lock} - [commanddialog] (Fluxbox Command) - [reconfig] (Reload config) - [restart] (Restart) - [separator] - [exit] (Exit) - [end] -[end]\n""" - -def checkWm(entry, wm="fluxbox"): - if entry.DesktopEntry.getOnlyShowIn() != []: - entry.Show = False - if entry.DesktopEntry.getNotShowIn() != []: - if isinstance(entry, xdg.Menu.MenuEntry): - if wm in entry.DesktopEntry.getNotShowIn(): - entry.Show = False - else: - entry.Show = True - -def findIcon(icon, theme): - """Finds the path and filename for the given icon name - e.g. gaim --> /usr/share/pixmaps/gaim.png - e.g. fart.png --> /usr/share/pixmaps/fart.png - """ - retval=str(xdg.IconTheme.getIconPath(icon, 48, theme)) - if retval == "None": - retval="" - - return (retval + "").encode('utf8') - -def parseMenu(menu,wm,use_icons,theme,depth=1): - if use_icons: - print "%s[submenu] (%s) <%s> " % ( (depth*"\t"), menu.getName().encode('utf8'), findIcon(menu.getIcon(), theme) ) - else: - print "%s[submenu] (%s) " % ( (depth*"\t"), menu.getName().encode('utf8'), ) - depth += 1 - for entry in menu.getEntries(): - if isinstance(entry, xdg.Menu.Menu): - parseMenu(entry,wm,use_icons,theme,depth) - elif isinstance(entry, xdg.Menu.MenuEntry): - checkWm(entry,wm) - if entry.Show == False: continue - appname = entry.DesktopEntry.getName().encode("utf8"); - appname = appname.replace(")","\)"); - if use_icons: - print "%s[exec] (%s) {%s} <%s> " % ( (depth*"\t"), appname, entry.DesktopEntry.getExec().split()[0], findIcon(entry.DesktopEntry.getIcon(), theme) ) - else: - print "%s[exec] (%s) {%s} " % ( (depth*"\t"), appname, entry.DesktopEntry.getExec().split()[0] ) - elif isinstance(entry,xdg.Menu.Separator): - print "%s[separator]" % (depth*"\t") - elif isinstance(entry.xdg.Menu.Header): - print "%s%s" % ( (depth*"\t"), entry.Name ) - depth -= 1 - print "%s[end]" % (depth*"\t") - -def get_bgimgs_and_parse(xPath): - try: - if isfile(os.path.expanduser("~/.fluxbox/bgmenu")) == True: - os.unlink(os.path.expanduser("~/.fluxbox/bgmenu")) - except OSError: - pass - h = {} - bg_paths =["~/.fluxbox/backgrounds","/usr/share/wallpapers", - "/usr/share/backgrounds","/usr/share/backgrounds/images"] - try: - if xPath == None: - pass - else: - bg_paths.append(xPath) - except(TypeError): - pass - for dir in bg_paths: - for imgpth in bg_paths: - try: - imgs = os.listdir(os.path.expanduser(imgpth)) - for i in imgs: - h[i] = imgpth - except (OSError): - pass - bgMenu = open(os.path.expanduser("~/.fluxbox/bgmenu"),'w+') - num = len(h) - countNum = 1 - bgPagCk = 1 - bgPgNum = 1 - bgMenu.write( "[submenu] (Backgrounds)\n" ) - bgMenu.write( "[submenu] (Backgrounds) {Set Your Background}\n" ) - bgMenu.write("\t[exec] (Random Image) {fbsetbg -r ~/.fluxbox/backgrounds}\n") - types = ["png","jpg","jpeg","gif"] - for i in h.keys(): - try: - t = i.split(".")[-1].lower() - if t in types: - print "Hello" - bgMenu.write( "\t[exec]\t("+ i +") {fbsetbg -f "+ h[i] + "/" + i +"}\n" ) - countNum = countNum + 1 - num = num - 1 - bgPagCk = bgPagCk + 1 - if bgPagCk == 26: - bgPgNum = bgPgNum + 1 - bgMenu.write("[end]\n[submenu] (Backgrounds " + str(bgPgNum) +") \ - {Set Your Background}\n") - bgPagCk = 1 - if num == 0: - bgMenu.write( "[end]\n[end]\n" ) - bgMenu.close() - except(KeyError): - print h[i] - pass - -def main(argv): -# Setting the default values - wm = "fluxbox" - file = "~/.fluxbox/menu" - use_icons = False - use_bg = False - bg_Xpath = False - theme = "gnome" - lang = os.getenv("LANG","C") - file = os.path.expanduser("~/.fluxbox/menu") - do_submenu = False - use_stdout = False - - try: - opts, args = getopt.getopt(argv, "hf:dl:d", ["help","lang=","file=","with-icons","stdout",\ - "theme=","submenu","with-backgrounds","backgrounds-only","bg-path="]) - - except getopt.GetoptError: - usage() - sys.exit(2) - for opt, arg in opts: - if opt in ("-h", "--help"): - usage() - sys.exit() - elif opt in ("-l", "--lang"): - lang = arg - elif opt in ("-f", "--file"): - file = os.path.expanduser(arg) - elif opt == '--with-icons': - use_icons = True - elif opt in ("-t", "--theme"): - theme = arg - elif opt == '--stdout': - use_stdout = True - elif opt == '--stdout': - file = sys.stdout - elif opt == '--bg-path': - bg_Xpath = True - xPath = os.path.expanduser(arg) - elif opt == '--with-backgrounds': - use_bg = True - elif opt == '--backgrounds-only': - if bg_Xpath: - get_bgimgs_and_parse(xPath) - else: - get_bgimgs_and_parse(None) - raise SystemExit - - elif opt == '--submenu': - do_submenu = True - - if not use_stdout: - fsock = open(file,'w') - saveout = sys.stdout - sys.stdout = fsock - - menu=xdg.Menu.parse() -# is done automatically now -# menu.setLocale(lang) - - if not do_submenu: - print header() - parseMenu(menu,wm,use_icons,theme) - if not do_submenu and use_bg and bg_Xpath: - get_bgimgs_and_parse(xPath) - print "[include] (~/.fluxbox/bgmenu)" - if not do_submenu and use_bg and not bg_Xpath: - print "[include] (~/.fluxbox/bgmenu)" - get_bgimgs_and_parse(None) - if not do_submenu: - print footer() - if not use_stdout: - sys.stdout = saveout - -# print menu -if __name__ == "__main__": - main(sys.argv[1:]) diff --git a/fluxbox.spec b/fluxbox.spec index 0910a0e..93bdeac 100644 --- a/fluxbox.spec +++ b/fluxbox.spec @@ -10,12 +10,18 @@ URL: http://fluxbox.sourceforge.net Source0: http://sourceforge.net/projects/fluxbox/files/fluxbox/1.3.1/fluxbox-1.3.1.tar.bz2 Source3: fluxbox.desktop -Source4: fluxbox-xdg-menu.py + +# svn checkout http://fluxbox-xdg-menu.googlecode.com/svn/trunk/ fluxbox-xdg-menu-read-only +Source4: fluxbox-xdg-menu-svn13.py + Patch0: fluxbox-startfluxbox-pulseaudio.patch -Patch1: fluxbox-gcc43.patch -Patch2: fluxbox-dso.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot +# gcc 46 build patch +# http://git.fluxbox.org/fluxbox.git/commit/?id=d28e105075e3ec46515c322ee5dca6967a4cc696 +# wget http://git.fluxbox.org/fluxbox.git/patch/?id=d28e105075e3ec46515c322ee5dca6967a4cc696 +Patch1: fluxbox-gcc46.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: imlib2-devel BuildRequires: zlib-devel BuildRequires: libICE-devel @@ -28,6 +34,7 @@ BuildRequires: libXpm-devel BuildRequires: libXrandr-devel BuildRequires: libXrender-devel BuildRequires: fontconfig-devel +BuildRequires: fribidi-devel BuildRequires: libtool BuildRequires: desktop-file-utils Requires: pyxdg @@ -38,8 +45,7 @@ Provides: fluxconf = 0.9.9-9 Obsoletes: fluxconf < 0.9.9-9 %description - -Fluxbox is yet another windowmanager for X. It's based on the Blackbox 0.61.1 +Fluxbox is yet another window-manager for X. It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar thing exactly like blackbox (100% theme/style compatibility). So what's the difference between fluxbox and blackbox then? The answer is: LOTS! @@ -59,11 +65,23 @@ BuildArch: noarch %description pulseaudio Enable pulseaudio support. +%package vim-syntax +Group: User Interface/Desktops +Summary: Fluxbox syntax scripts for vim +Requires: %{name} = %{version}-%{release} +Requires: vim-filesystem +%if 0%{?fedora} > 9 || 0%{?rhel} > 5 +BuildArch: noarch +%endif + +%description vim-syntax +Enable vim syntax highlighting support for fluxbox configuration files (menu, +keys, apps). + %prep %setup -q %patch0 -%patch1 -p1 -b .gcc43 -%patch2 -p1 -b .dso +%patch1 -p1 -b .gcc46 %build %configure --enable-xft \ @@ -77,23 +95,29 @@ Enable pulseaudio support. make %{?_smp_mflags} LIBTOOL=/usr/bin/libtool %install -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} -make install DESTDIR=$RPM_BUILD_ROOT +make install DESTDIR=%{buildroot} # this is for Fedora Core -mkdir -p $RPM_BUILD_ROOT%{_datadir}/xsessions/ -install -m 0644 -p %SOURCE3 $RPM_BUILD_ROOT%{_datadir}/xsessions/ -install -m 0755 -p %SOURCE4 $RPM_BUILD_ROOT%{_bindir}/fluxbox-xdg-menu +mkdir -p %{buildroot}%{_datadir}/xsessions/ +install -m 0644 -p %{SOURCE3} %{buildroot}%{_datadir}/xsessions/ +install -m 0755 -p %{SOURCE4} %{buildroot}%{_bindir}/fluxbox-xdg-menu -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/xsessions/fluxbox.desktop +desktop-file-validate %{buildroot}%{_datadir}/xsessions/fluxbox.desktop # fix 388971 -mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir} -touch -r ChangeLog $RPM_BUILD_ROOT/%{_sysconfdir}/fluxbox-pulseaudio +mkdir -p %{buildroot}%{_sysconfdir} +touch -r ChangeLog %{buildroot}%{_sysconfdir}/fluxbox-pulseaudio + +# vim syntax files +mkdir -p %{buildroot}%{_datadir}/vim/vimfiles/syntax/ +install -m 0644 -p %{S:3rd/vim/syntax/fluxapps.vim} %{buildroot}%{_datadir}/vim/vimfiles/syntax/fluxapps.vim +install -m 0644 -p %{S:3rd/vim/syntax/fluxkeys.vim} %{buildroot}%{_datadir}/vim/vimfiles/syntax/fluxkeys.vim +install -m 0644 -p %{S:3rd/vim/syntax/fluxmenu.vim} %{buildroot}%{_datadir}/vim/vimfiles/syntax/fluxmenu.vim %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %files %defattr(-,root,root,755) @@ -108,10 +132,20 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,755) %{_sysconfdir}/fluxbox-pulseaudio +%files vim-syntax +%defattr(-,root,root,644) +%{_datadir}/vim/vimfiles/syntax/%{S:fluxapps.vim} +%{_datadir}/vim/vimfiles/syntax/%{S:fluxkeys.vim} +%{_datadir}/vim/vimfiles/syntax/%{S:fluxmenu.vim} + %changelog * Mon Feb 28 2011 Andreas Bierfert - 1.3.1-1 -- version upgrade +- version upgrade (including suggestions from #681170) +- rework patches +- update menu gen script +- enabled new bidirectional support (now requires fribidi) +- vim-syntax subpackage with vim syntax files * Sat Feb 19 2011 Andreas Bierfert - 1.3.0-1