fluxbox First release
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
def setup():
|
||||
autotools.autoreconf("-fiv")
|
||||
autotools.configure("--enable-imlib2 \
|
||||
--enable-xinerama \
|
||||
--enable-xft \
|
||||
--enable-nls ")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README", "TODO")
|
||||
@@ -0,0 +1,14 @@
|
||||
--- fluxbox-1.3.5.orig/util/startfluxbox.in 2013-02-13 12:04:05.903812656 +0200
|
||||
+++ fluxbox-1.3.5/util/startfluxbox.in 2014-01-03 19:07:39.446722496 +0200
|
||||
@@ -49,6 +49,11 @@
|
||||
# wmnd &
|
||||
# wmsmixer -w &
|
||||
# idesk &
|
||||
+exec /usr/libexec/polkit-gnome-authentication-agent-1 &
|
||||
+exec /usr/bin/volumeicon &
|
||||
+exec /usr/bin/nm-applet &
|
||||
+exec /usr/bin/Esetroot -scale /usr/share/fluxbox/backgrounds/pisi-reflect.jpg &
|
||||
+exec /usr/bin/fbmenugen &
|
||||
|
||||
# And last but not least we start fluxbox.
|
||||
# Because it is the last app you have to run it with ''exec'' before it.
|
||||
@@ -0,0 +1,582 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# Copyright (C) 2011-2013 Daniel "Trizen" Șuteu <echo dHJpemVueEBnbWFpbC5jb20K | base64 -d>.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Fluxbox Menu Generator
|
||||
# A simple menu generator for the Fluxbox Window Manager
|
||||
# Should be installed in $PATH before the first execution!
|
||||
|
||||
# License: GPLv3
|
||||
# Created on: 01 August 2010
|
||||
# Latest edit on: 03 October 2013
|
||||
# Website: http://trizen.googlecode.com
|
||||
|
||||
use 5.014;
|
||||
use Linux::DesktopFiles 0.08;
|
||||
|
||||
my $pkgname = 'fbmenugen';
|
||||
my $version = '0.75';
|
||||
|
||||
my ($icons, $pipe, $reconfigure, $update_config, $stdout_config);
|
||||
|
||||
our ($CONFIG, $SCHEMA);
|
||||
|
||||
my $home_dir =
|
||||
$ENV{HOME}
|
||||
|| $ENV{LOGDIR}
|
||||
|| (getpwuid($<))[7]
|
||||
|| `echo -n ~`;
|
||||
|
||||
my $xdg_config_home = $ENV{XDG_CONFIG_HOME} || "$home_dir/.config";
|
||||
|
||||
my $config_dir = "$xdg_config_home/$pkgname";
|
||||
my $schema_file = "$config_dir/schema.pl";
|
||||
my $config_file = "$config_dir/config.pl";
|
||||
my $icons_db = "$config_dir/icons.db";
|
||||
my $fluxbox_dir = "$home_dir/.fluxbox";
|
||||
my $menufile = "$fluxbox_dir/menu";
|
||||
|
||||
sub usage {
|
||||
print <<"HELP";
|
||||
usage: $0 [options]
|
||||
|
||||
Options :
|
||||
-i : use icons in menus
|
||||
-d : regenerate icons.db (with -i)
|
||||
-p : pipe menu (prints to the STDOUT)
|
||||
-o : menu file (default: ~/.fluxbox/menu)
|
||||
-u : update the config file
|
||||
-r : regenerate the config files
|
||||
|
||||
Help:
|
||||
-h : print this message
|
||||
-v : print the version number
|
||||
-S : print the schema file to STDOUT
|
||||
-H : print help message for config files
|
||||
|
||||
Example:
|
||||
** Generate a simple menu
|
||||
$0
|
||||
|
||||
** Generate a menu with icons
|
||||
$0 -i
|
||||
|
||||
** Config file: $config_file
|
||||
** Schema file: $schema_file
|
||||
HELP
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $config_help = <<"HELP";
|
||||
|
||||
|| FILTERING
|
||||
| skip_filename_re : Skip a .desktop file if its name matches the regex.
|
||||
Name is from the last slash to the end. (filename.desktop)
|
||||
Example: qr/^(?:gimp|xterm)\\b/, # skips 'gimp' and 'xterm'
|
||||
|
||||
| skip_entry : Skip a destkop file if the value from a given key matches the regex.
|
||||
Example: [
|
||||
{key => 'Name', re => qr/(?:about|terminal)/i},
|
||||
{key => 'Exec', re => qr/^xterm/},
|
||||
],
|
||||
|
||||
| substitutions : Substitute, by using a regex, in the values of the desktop files.
|
||||
Example: [
|
||||
{key => 'Exec', re => qr/xterm/, value => 'sakura'},
|
||||
{key => 'Exec', re => qr/\\\\\\\\/, value => '\\\\', global => 1}, # for wine apps
|
||||
],
|
||||
|
||||
|
||||
|| ICON SETTINGS
|
||||
| icon_dirs_first : When looking for icons, look in this directories first,
|
||||
before looking in the directories of the current icon theme.
|
||||
Example: [
|
||||
"\$ENV{HOME}/My icons",
|
||||
],
|
||||
|
||||
| icon_dirs_second : Look in this directories after looked in the directories of the
|
||||
current icons theme. (Before /usr/share/pixmaps)
|
||||
Example: [
|
||||
"/usr/share/icons/gnome",
|
||||
],
|
||||
|
||||
| icon_dirs_last : Look in this directories at the very last, after looked in
|
||||
/usr/share/pixmaps, /usr/share/icons/hicolor and some other
|
||||
directories.
|
||||
Example: [
|
||||
"/usr/share/icons/Tango",
|
||||
],
|
||||
|
||||
| strict_icon_dirs : A true value will make the module to look only inside the directories
|
||||
specified by you in either one of the above tree options.
|
||||
|
||||
| gtk_rc_filename : Absolute path to the GTK configuration file.
|
||||
| missing_image : Use this icon for a missing icons (default: gtk-missing-image)
|
||||
|
||||
|
||||
|| KEYS
|
||||
| tooltip_keys : Valid keys for the tooltip text.
|
||||
Example: ['Comment[es]', 'Comment'],
|
||||
|
||||
| name_keys : Valid keys for the item names.
|
||||
Example: ['Name[fr]', 'GenericName[fr]', 'Name'], # french menu
|
||||
|
||||
|
||||
|| PATHS
|
||||
| desktop_files_paths : Absolute paths which contains .desktop files.
|
||||
Example: [
|
||||
'/usr/share/applications',
|
||||
"\$ENV{HOME}/.local/share/applications",
|
||||
glob("\$ENV{HOME}/.local/share/applications/wine/Programs/*"),
|
||||
],
|
||||
|
||||
|
||||
|| NOTES
|
||||
| Regular expressions:
|
||||
* use qr/RE/ instead of 'RE'
|
||||
* use qr/RE/i for case insenstive mode
|
||||
HELP
|
||||
|
||||
my $schema_help = <<"HELP";
|
||||
|
||||
item: add an item into the menu
|
||||
|
||||
{item => ["command", "label", "icon"]}
|
||||
|
||||
|
||||
cat: add a category into the menu
|
||||
|
||||
{cat => ["name", "label", "icon"]}
|
||||
|
||||
|
||||
begin_cat: begin of a category
|
||||
|
||||
{begin_cat => ["name", "icon"]}
|
||||
|
||||
|
||||
end_cat: end of a category
|
||||
|
||||
{end_cat => undef}
|
||||
|
||||
|
||||
sep: horizontal line separator
|
||||
|
||||
{sep => undef}
|
||||
|
||||
|
||||
exit: default "Exit" action
|
||||
|
||||
{exit => ["label", "icon"]}
|
||||
|
||||
|
||||
raw: any valid fluxbox menu entry
|
||||
|
||||
{raw => q(...)},
|
||||
{raw => q([exec] (Geeqie) {geeqie -r } </usr/share/pixmaps/geeqie.png>)},
|
||||
|
||||
|
||||
fbmenugen: category provided by $pkgname
|
||||
|
||||
{fbmenugen => ["label", "icon"]}
|
||||
|
||||
|
||||
fluxbox: the default fluxbox config menu
|
||||
|
||||
{fluxbox => ["label", "icon"]}
|
||||
HELP
|
||||
|
||||
sub full_help {
|
||||
print <<"HELP";
|
||||
=>> Schema file:
|
||||
$schema_help
|
||||
====================================================
|
||||
|
||||
=>> Config file:
|
||||
$config_help
|
||||
HELP
|
||||
|
||||
exit 0;
|
||||
}
|
||||
|
||||
if (@ARGV) {
|
||||
while (defined(my $arg = shift @ARGV)) {
|
||||
if ($arg eq '-i') {
|
||||
$icons = 1;
|
||||
}
|
||||
elsif ($arg eq '-S') {
|
||||
$stdout_config = 1;
|
||||
}
|
||||
elsif ($arg eq '-r') {
|
||||
$reconfigure = 1;
|
||||
}
|
||||
elsif ($arg eq '-p') {
|
||||
$pipe = 1;
|
||||
}
|
||||
elsif ($arg eq '-d') {
|
||||
unlink $icons_db;
|
||||
}
|
||||
elsif ($arg eq '-u') {
|
||||
$update_config = 1;
|
||||
}
|
||||
elsif ($arg eq '-v') {
|
||||
print "$pkgname $version\n";
|
||||
exit;
|
||||
}
|
||||
elsif ($arg eq '-o') {
|
||||
$menufile = shift(@ARGV) // die "$0: option '-o' requires an argument!\n";
|
||||
}
|
||||
elsif ($arg eq '-h') {
|
||||
usage();
|
||||
}
|
||||
elsif ($arg eq '-H') {
|
||||
full_help();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (not -d $config_dir) {
|
||||
require File::Path;
|
||||
File::Path::make_path($config_dir)
|
||||
or die "Can't create directory '${config_dir}': $!";
|
||||
}
|
||||
|
||||
my $config_documentation = <<"EOD";
|
||||
#!/usr/bin/perl
|
||||
|
||||
# $pkgname - configuration file
|
||||
# This file will be updated automatically every time when is needed.
|
||||
# Any additional comment and/or indentation will be lost.
|
||||
|
||||
=for comment
|
||||
$config_help
|
||||
=cut
|
||||
|
||||
EOD
|
||||
|
||||
my %CONFIG = (
|
||||
'Linux::DesktopFiles' => {
|
||||
|
||||
keep_unknown_categories => 1,
|
||||
unknown_category_key => 'other',
|
||||
gtk_rc_filename => "$home_dir/.gtkrc-2.0",
|
||||
|
||||
skip_entry => undef,
|
||||
substitutions => undef,
|
||||
skip_filename_re => undef,
|
||||
|
||||
terminalize => 1,
|
||||
terminalization_format => q{%s -e '%s'},
|
||||
|
||||
desktop_files_paths => ['/usr/share/applications'],
|
||||
|
||||
icon_dirs_first => undef,
|
||||
icon_dirs_second => undef,
|
||||
icon_dirs_last => undef,
|
||||
strict_icon_dirs => undef,
|
||||
|
||||
skip_svg_icons => 1,
|
||||
},
|
||||
|
||||
name_keys => ['Name'],
|
||||
menu_title => 'PisiLinux',
|
||||
terminal => 'lxterminal',
|
||||
editor => 'leafpad',
|
||||
missing_icon => 'gtk-missing-image',
|
||||
VERSION => $version,
|
||||
);
|
||||
|
||||
sub dump_configuration {
|
||||
require Data::Dump;
|
||||
open my $config_fh, '>', $config_file
|
||||
or die "Can't open file '${config_file}' for write: $!";
|
||||
my $dumped_config = q{our $CONFIG = } . Data::Dump::dump(\%CONFIG);
|
||||
print $config_fh $config_documentation, $dumped_config;
|
||||
close $config_fh;
|
||||
}
|
||||
|
||||
if (not -e $config_file or $reconfigure) {
|
||||
dump_configuration();
|
||||
}
|
||||
|
||||
if (not -e $schema_file or $reconfigure or $stdout_config) {
|
||||
|
||||
my $schema_fh = $stdout_config ? \*STDOUT : do {
|
||||
open my $fh, '>', $schema_file
|
||||
or die "Can't open file '${schema_file}' for write: $!";
|
||||
$fh;
|
||||
};
|
||||
|
||||
print $schema_fh <<"SCHEMA_FILE";
|
||||
#!/usr/bin/perl
|
||||
|
||||
# $pkgname - schema file
|
||||
|
||||
=for comment
|
||||
$schema_help
|
||||
=cut
|
||||
|
||||
# NOTE:
|
||||
# * Keys and values are case sensitive. Keep all keys lowercase.
|
||||
# * ICON can be a either a direct path to an icon or a valid icon name
|
||||
# * Category names are case insensitive. (X-XFCE and x_xfce are equivalent)
|
||||
|
||||
require '${config_file}';
|
||||
|
||||
our \$SCHEMA = [
|
||||
# COMMAND LABEL ICON
|
||||
{item => ['pcmanfm', 'File Manager', 'file-manager']},
|
||||
{item => ['lxterminal', 'Terminal', 'terminal']},
|
||||
{item => ['leafpad', 'Editor', 'leafpad']},
|
||||
{item => ['firefox', 'Web Browser', 'web-browser']},
|
||||
{item => ['fbrun', 'Run command', 'system-run']},
|
||||
|
||||
{sep => 'undef'},
|
||||
|
||||
# NAME LABEL ICON
|
||||
{cat => ['utility', 'Accessories', 'applications-utilities']},
|
||||
{cat => ['development', 'Development', 'applications-development']},
|
||||
{cat => ['education', 'Education', 'applications-science']},
|
||||
{cat => ['game', 'Games', 'applications-games']},
|
||||
{cat => ['graphics', 'Graphics', 'applications-graphics']},
|
||||
{cat => ['audiovideo', 'Multimedia', 'applications-multimedia']},
|
||||
{cat => ['network', 'Network', 'applications-internet']},
|
||||
{cat => ['office', 'Office', 'applications-office']},
|
||||
{cat => ['other', 'Other', 'applications-other']},
|
||||
{cat => ['settings', 'Settings', 'applications-accessories']},
|
||||
{cat => ['system', 'System', 'applications-system']},
|
||||
|
||||
#{cat => ['qt', 'QT Applications', 'qtlogo']},
|
||||
#{cat => ['gtk', 'GTK Applications', 'gnome-applications']},
|
||||
#{cat => ['x_xfce', 'XFCE Applications', 'applications-other']},
|
||||
#{cat => ['gnome', 'GNOME Applications', 'gnome-applications']},
|
||||
#{cat => ['consoleonly', 'CLI Applications', 'applications-utilities']},
|
||||
|
||||
# LABEL ICON
|
||||
#{begin_cat => ['My category', 'cat-icon']},
|
||||
# ... some items ...
|
||||
#{end_cat => undef},
|
||||
|
||||
# LABEL ICON
|
||||
{fbmenugen => ['FBMenuConf', 'preferences-desktop']},
|
||||
{fluxbox => ['Fluxbox menu', 'package_settings']},
|
||||
{sep => undef},
|
||||
{regenerate => ['Regenerate', 'gtk-refresh']},
|
||||
|
||||
# This options uses the default Fluxbox action "Exit"
|
||||
{exit => ['Logout', 'exit']},
|
||||
{item => ['oblogout', 'Exit', 'exit']},
|
||||
]
|
||||
SCHEMA_FILE
|
||||
|
||||
close $schema_fh;
|
||||
}
|
||||
|
||||
require $schema_file; # Load the configuration files
|
||||
|
||||
# Remove user's defined values
|
||||
my @valid_keys = grep exists $CONFIG{$_}, keys $CONFIG;
|
||||
@CONFIG{@valid_keys} = @{$CONFIG}{@valid_keys};
|
||||
|
||||
# Keep user's defined values
|
||||
#@CONFIG{keys %{$CONFIG}} = values %{$CONFIG};
|
||||
|
||||
if ($CONFIG{VERSION} != $version) {
|
||||
$update_config = 1;
|
||||
$CONFIG{VERSION} = $version;
|
||||
}
|
||||
|
||||
my $desk_obj = Linux::DesktopFiles->new(
|
||||
%{$CONFIG{'Linux::DesktopFiles'}},
|
||||
|
||||
home_dir => $home_dir,
|
||||
|
||||
categories => [map $_->{cat}[0], grep exists $_->{cat}, @$SCHEMA],
|
||||
keys_to_keep => [@{$CONFIG{name_keys}}, 'Exec', $icons ? 'Icon' : ()],
|
||||
|
||||
$icons
|
||||
? (
|
||||
abs_icon_paths => 1,
|
||||
icon_db_filename => $icons_db,
|
||||
)
|
||||
: (),
|
||||
|
||||
terminal => $CONFIG{terminal},
|
||||
keep_empty_categories => 0,
|
||||
case_insensitive_cats => 1,
|
||||
);
|
||||
|
||||
my $generated_menu = <<"HEADER";
|
||||
#
|
||||
## File generated by $pkgname v$version
|
||||
#
|
||||
|
||||
[begin] ($CONFIG{menu_title})
|
||||
[encoding] {UTF-8}
|
||||
HEADER
|
||||
|
||||
{
|
||||
my $menu_backup = $menufile . '.bak';
|
||||
if (not -e $menu_backup and -e $menufile) {
|
||||
require File::Copy;
|
||||
File::Copy::copy($menufile, $menu_backup);
|
||||
}
|
||||
}
|
||||
|
||||
sub check_icon {
|
||||
defined($_[0]) && (chr ord($_[0]) eq '/') ? $_[0] : $desk_obj->get_icon_path($_[0])
|
||||
|| $desk_obj->get_icon_path($CONFIG{missing_icon});
|
||||
}
|
||||
|
||||
sub prepare_item {
|
||||
my $command = shift() =~ s/\}/\\}/gr;
|
||||
my $name = shift() =~ s/\)/\\)/gr;
|
||||
my $icon = shift();
|
||||
|
||||
$icons
|
||||
? <<"ITEM_WITH_ICON"
|
||||
[exec] ($name) {$command} <${\check_icon($icon)}>
|
||||
ITEM_WITH_ICON
|
||||
: <<"ITEM";
|
||||
[exec] ($name) {$command}
|
||||
ITEM
|
||||
}
|
||||
|
||||
sub begin_category {
|
||||
$icons
|
||||
? <<"MENU_WITH_ICON"
|
||||
[submenu] ($_[0]) <${\check_icon($_[1])}>
|
||||
MENU_WITH_ICON
|
||||
: <<"MENU"
|
||||
[submenu] ($_[0])
|
||||
MENU
|
||||
}
|
||||
|
||||
my $categories = $desk_obj->parse_desktop_files();
|
||||
|
||||
foreach my $schema (@$SCHEMA) {
|
||||
if (exists $schema->{cat}) {
|
||||
exists($categories->{my $category = lc($schema->{cat}[0]) =~ tr/_a-z0-9/_/cr}) || next;
|
||||
$generated_menu .= begin_category($schema->{cat}[1], ($icons ? $schema->{cat}[2] : ())) . join(
|
||||
q{},
|
||||
(
|
||||
map $_->[1],
|
||||
sort { $a->[0] cmp $b->[0] }
|
||||
map [lc($_) => $_],
|
||||
map {
|
||||
my $name;
|
||||
my $exec = $_->{Exec};
|
||||
|
||||
foreach my $key (@{$CONFIG{name_keys}}) {
|
||||
if (defined $_->{$key}) {
|
||||
$name = $_->{$key};
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
prepare_item($exec, $name, $icons ? $_->{Icon} : ());
|
||||
} @{$categories->{$category}}
|
||||
)
|
||||
)
|
||||
. "[end]\n";
|
||||
}
|
||||
elsif (exists $schema->{item}) {
|
||||
$generated_menu .= prepare_item(@{$schema->{item}});
|
||||
}
|
||||
elsif (exists $schema->{sep}) {
|
||||
$generated_menu .= "[separator]\n";
|
||||
}
|
||||
elsif (exists $schema->{begin_cat}) {
|
||||
$generated_menu .= begin_category(@{$schema->{begin_cat}});
|
||||
}
|
||||
elsif (exists $schema->{end_cat}) {
|
||||
$generated_menu .= "[end]\n";
|
||||
}
|
||||
elsif (exists $schema->{raw}) {
|
||||
$generated_menu .= "$schema->{raw}\n";
|
||||
}
|
||||
elsif (exists $schema->{fbmenugen}) {
|
||||
$generated_menu .= begin_category(@{$schema->{fbmenugen}});
|
||||
foreach my $item (
|
||||
["$CONFIG{editor} $menufile", 'Open the menu file'],
|
||||
["$CONFIG{editor} $config_file", 'Open the config file'],
|
||||
["$CONFIG{editor} $schema_file", 'Open the schema file'],
|
||||
) {
|
||||
$generated_menu .= prepare_item(@$item, $schema->{fbmenugen}[1]);
|
||||
}
|
||||
$generated_menu .= "[end]\n";
|
||||
}
|
||||
elsif (exists $schema->{exit}) {
|
||||
my ($name, $icon) = @{$schema->{exit}};
|
||||
$generated_menu .= $icons
|
||||
? <<EXIT_WITH_ICON
|
||||
[exit] ($name) <${\check_icon($icon)}>
|
||||
EXIT_WITH_ICON
|
||||
: <<EXIT;
|
||||
[exit] ($name)
|
||||
EXIT
|
||||
}
|
||||
elsif (exists $schema->{regenerate}) {
|
||||
require Cwd;
|
||||
my $regenerate_exec = join(q{ }, $^X, quotemeta(Cwd::abs_path($0)), $icons ? '-i' : '');
|
||||
|
||||
my ($label, $icon) = @{$schema->{regenerate}};
|
||||
$generated_menu .= prepare_item($regenerate_exec, $label, $icon);
|
||||
}
|
||||
elsif (exists $schema->{fluxbox}) {
|
||||
my ($label, $icon) =
|
||||
ref $schema->{fluxbox} eq 'ARRAY'
|
||||
? @{$schema->{fluxbox}}
|
||||
: $schema->{fluxbox};
|
||||
|
||||
$generated_menu .= begin_category(@{$schema->{fluxbox}}) . <<"FOOTER";
|
||||
[config] (Configure)
|
||||
[submenu] (System Styles) {Choose a style...}
|
||||
[stylesdir] (/usr/share/fluxbox/styles)
|
||||
[end]
|
||||
[submenu] (User Styles) {Choose a style...}
|
||||
[stylesdir] (~/.fluxbox/styles)
|
||||
[end]
|
||||
[workspaces] (Workspace List)
|
||||
[submenu] (Tools)
|
||||
[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}
|
||||
[end]
|
||||
[submenu] (Window Managers)
|
||||
[restart] (openbox) {openbox}
|
||||
[end]
|
||||
[commanddialog] (Fluxbox Command)
|
||||
[reconfig] (Reload config)
|
||||
[restart] (Restart)
|
||||
[exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
|
||||
[separator]
|
||||
[exit] (Exit)
|
||||
[end]
|
||||
FOOTER
|
||||
}
|
||||
}
|
||||
|
||||
$generated_menu .= "\n[endencoding]\n[end]\n";
|
||||
|
||||
my $out_fh = $pipe ? \*STDOUT : do {
|
||||
open my $fh, '>', $menufile
|
||||
or die "Can't open '${menufile}' for write: $!";
|
||||
$fh;
|
||||
};
|
||||
|
||||
print $out_fh $generated_menu;
|
||||
dump_configuration() if $update_config;
|
||||
@@ -0,0 +1,15 @@
|
||||
--- startfluxbox.in.orig 2008-08-25 18:25:01.000000000 +0300
|
||||
+++ util/startfluxbox.in 2008-08-25 18:30:34.000000000 +0300
|
||||
@@ -23,6 +23,12 @@
|
||||
shift
|
||||
done
|
||||
|
||||
+# start pulseaudio
|
||||
+if [ -x /usr/bin/pulseaudio ]; then
|
||||
+ /usr/bin/pulseaudio -D
|
||||
+fi
|
||||
+
|
||||
+
|
||||
if [ -x "$startup" ]; then
|
||||
exec "$startup"
|
||||
elif [ -r "$startup" ]; then
|
||||
@@ -0,0 +1,8 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Fluxbox Window Manager
|
||||
Name[tr]=Fluxbox Pencere Yöneticisi
|
||||
Comment=fluxbox window manager
|
||||
Comment[tr]=fluxbox pencere yöneticisi
|
||||
Exec=/usr/bin/startfluxbox
|
||||
Type=Application
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>fluxbox</Name>
|
||||
<Homepage>http://www.fluxbox.org</Homepage>
|
||||
<Packager>
|
||||
<Name>Pisi Linux Admins</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>MIT</License>
|
||||
<IsA>app:gui</IsA>
|
||||
<Summary>An X11 window manager featuring tabs and an iconbar</Summary>
|
||||
<Description>Fluxbox is a windowmanager for X that was based on the Blackbox 0.61.1 code. It is very light on resources and easy to handle but yet full of features to make an easy, and extremely fast, desktop experience.</Description>
|
||||
<Archive sha1sum="47919f0345832de41ca7192ff168abd145af819f" type="targz">mirrors://sourceforge/fluxbox/fluxbox-1.3.7.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>imlib2-devel</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
<Dependency>libICE-devel</Dependency>
|
||||
<Dependency>libSM-devel</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>libXext-devel</Dependency>
|
||||
<Dependency>libXft-devel</Dependency>
|
||||
<Dependency>libXinerama-devel</Dependency>
|
||||
<Dependency>libXpm-devel</Dependency>
|
||||
<Dependency>libXrandr-devel</Dependency>
|
||||
<Dependency>libXrender-devel</Dependency>
|
||||
<Dependency>fontconfig-devel</Dependency>
|
||||
<Dependency>fribidi-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch>fluxbox-startfluxbox-pulseaudio.patch</Patch>
|
||||
<Patch level="1">autostart.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>fluxbox</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>imlib2</Dependency>
|
||||
<Dependency>fontconfig</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>libXft</Dependency>
|
||||
<Dependency>libXinerama</Dependency>
|
||||
<Dependency>libXpm</Dependency>
|
||||
<Dependency>libXrandr</Dependency>
|
||||
<Dependency>libXrender</Dependency>
|
||||
<Dependency>fribidi</Dependency>
|
||||
<Dependency>libgcc</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="data">/usr/share/fluxbox</Path>
|
||||
<Path fileType="data">/usr/share/xsessions</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/xsessions/fluxbox.desktop">fluxbox.desktop</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/bin/fbmenugen">fbmenugen</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/fluxbox/backgrounds/pisi-reflect.jpg">pisi-reflect.jpg</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2020-04-16</Date>
|
||||
<Version>1.3.7</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Ayhan Yalçınsoy</Name>
|
||||
<Email>ayhanyalcinsoy@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>fluxbox</Name>
|
||||
<Summary xml:lang="tr">Hafif bir X pencere yöneticisi</Summary>
|
||||
<Description xml:lang="tr">Fluxbox, Blackbox 0.61.1 kodu temel alınarak geliştirilmiş bir X pencere yöneticisidir. Çok az kaynak tükettiği ve kolayca idare edildiği için çok hızlı bir masaüstü tecribesi sunar.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
|
||||
+240803
-240721
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
6b81caa4c6b3780bdef849da65bb2608317d052e
|
||||
ddbc1ec0d72637d6b51e78f2eff31292b644a45b
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
6dd33b0d06e652154db4aac2a45ff815490b701f
|
||||
842510497508170978ea19f4068091916d110f0e
|
||||
Reference in New Issue
Block a user