Accepting request 183970 from home:WernerFink:branches:X11:windowmanagers

- Update to 2.6.5 + snpashot 2012/10/11
  - NEWS: Added FvwmForm Separators,
    fvwm-desktop-menu fixes.
  - libs/Bindings.c (AddBinding):
  - fvwm/builtins.c (FkeysymToKeycode):
  - fvwm/events.c (__handle_key):
    Add detection of XKeycodeToKeysym as deprecated, and provide a wrapper
    for it by way of fvwm_KeycodeToKeysym() to call the newer
    XkbKeycodeToKeysum() where needed.
  - libs/PictureImageLoader.c (PImageLoadSvg, PimageLoadXpm,
    PImageLoadPng):
    Fix compilation errors.
  - fvwm/menu.c ( __scan_for_pixmap):
  - libs/PictureImageLoader.c (PImageLoadSvg, PimageLoadXpm,
    PImageLoadPng):
    Add fvwm_msg() for hints about failed image load.
  - fvwm/events.c (HandlePropertyNotify):
    Fix XSizeHints problem with FVWM not correctly allowing resizing of
    windows when the hints are toggled with respect to FVWM processing
    XA_WM_NORMAL_HINTS.
  - fvwm/placement.c ( __pl_position_get_pos_simple):
    When using "UnderMouse" for PositionPlacement, ensure we honor the EWMH
    working area by default if it's in use.
  - fvwm/fvwm.c (InstallSignals):
    Unblock signals when installing them.
    When signals are registered, ensure they're unblocked so as not to queue
    them up.
  - fvwm/infostore.c (get_metainfo_length):
  + fvwm/infostore.c (new_metainfo):
  + fvwm/infostore.c (insert_metainfo):

OBS-URL: https://build.opensuse.org/request/show/183970
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/fvwm2?expand=0&rev=25
This commit is contained in:
Togan Muftuoglu 2013-07-22 14:43:54 +00:00 committed by Git OBS Bridge
parent 13d6f23479
commit be7e7f0893
8 changed files with 14856 additions and 20 deletions

View File

@ -9,14 +9,3 @@
int i;
Bool do_iconv = True;
const char *bidi_charset;
--- fvwm/infostore.c
+++ fvwm/infostore.c 2012-02-07 09:40:19.454433548 +0000
@@ -58,7 +58,7 @@ MetaInfo *new_metainfo(void)
{
/* Initialise the main store. */
mi_store = (MetaInfo *)safemalloc(sizeof(MetaInfo));
- memset(&mi_store, '\0', sizeof(MetaInfo));
+ memset(mi_store, '\0', sizeof(MetaInfo));
}
mi = (MetaInfo *)safemalloc(sizeof(MetaInfo));

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ebf217cfcd19559559b330d8e1e8e49422dbfc0bc5340c146de8e7355bdc6f11
size 2608895

3
fvwm-2.6.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21549995c53906be5533746a1cf61b1ecf8dd8ef6816a0b20615d45ff78b48cf
size 2582655

View File

@ -0,0 +1,286 @@
# Uage: Module FvwmPerl -l fvwm-menu-desktop-config.fpl
# This script generates an FvwmForm similar to the FvwmForm-Desktop by
# Dan Espen but inserts the found xdg menus dynamically into the Form
# before processed.
# Author: Thomas Funk <t.funk@web.de>
# Version: 1.3
package MenuConfig;
use File::Basename;
use strict;
use warnings;
#open(MSG ,">>/tmp/log.txt") || die "Error $!";
my $modname = 'FvwmForm-Desktop-Config';
my $all = `fvwm-menu-desktop --get-menus all`;
my $selected = `fvwm-menu-desktop --get-menus desktop`;
my @all_filelist = split(/ /,$all);
my @selected_filelist = split(/ /,$selected);
my %all_menus = ();
my %selected__menus = ();
my $max_length = 0;
foreach my $path (@selected_filelist) {
my ($filename, $directories, $suffix) = fileparse($path, qr/\.[^.]*/);
push (@{$selected__menus{$directories}}, $filename);
}
my $i = 1;
foreach my $path (@all_filelist) {
my $name = "MEN" . $i;
# qr matched against the end of the $filename.
# The matching portion is removed and becomes the $suffix.
my ($filename, $directories, $suffix) = fileparse($path, qr/\.[^.]*/);
push (@{$all_menus{$directories}{$i}}, ($filename, $name, "off"));
next if !defined $selected__menus{$directories};
foreach my $hit (@{$selected__menus{$directories}}) {
if ($filename eq $hit) {
pop (@{$all_menus{$directories}{$i}});
push (@{$all_menus{$directories}{$i}}, "on");
}
}
$max_length = length($filename) if ($max_length < length($filename));
$i++;
}
my $fvwmform_commands = "
DestroyModuleConfig ${modname}: *
*${modname}: Title \"\$[gt.Fvwm Menu Desktop Config]\"
*${modname}: WarpPointer
*${modname}: Line center
*${modname}: Text \"\$[gt.Fvwm Menu Desktop Config]\"
*${modname}: Line
*${modname}: Separator
*${modname}: Line center
*${modname}: Text \"\$[gt.Multiple Menu]\"
*${modname}: Line
";
if (scalar keys %all_menus != 0) {
foreach my $key (sort( keys %all_menus)) {
$fvwmform_commands .= "
*${modname}: Line left
*${modname}: Text \"\$[gt.Menus in]\"
*${modname}: Text \" $key\"
*${modname}: Line left
*${modname}: Selection meth multiple
";
my $m_count = 0;
foreach my $count (sort(keys %{$all_menus{$key}})) {
my @menu = @{$all_menus{$key}{$count}};
my $newstring = $menu[0] . ' ' x eval($max_length-length($menu[0]));
$fvwmform_commands .= "*${modname}: Choice $menu[1] $menu[1] $menu[2] \"$newstring\"
";
$m_count++;
if ($m_count == 3) {
$fvwmform_commands .= "
*${modname}: Line left
*${modname}: Selection meth multiple
";
$m_count = 0;
}
}
$fvwmform_commands .= "
*${modname}: Line left
*${modname}: Text \" \"
";
}
}
else {
$fvwmform_commands .= "
*${modname}: Line center
*${modname}: Text \"\$[gt.No menus found! Check why from within a terminal with]\"
*${modname}: Line center
*${modname}: Text \"'fvwm-menu-desktop -v'\"
*${modname}: Line left
*${modname}: Text \" \"
";
}
$fvwmform_commands .= "
*${modname}: Line
*${modname}: Separator
*${modname}: Line center
*${modname}: Text \"\$[gt.General Options]\"
*${modname}: Line
*${modname}: Line Left
*${modname}: Text \"\$[gt.Use Icons in Menus? ]\"
*${modname}: Selection SelItype single
*${modname}: Choice IconsOn IconsOn on \"\$[gt.Yes]\"
*${modname}: Choice IconsOff IconsOff off \"\$[gt.No]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Icon size: ]\"
*${modname}: Input Size 2 \"\"
*${modname}: Text \"\$[gt. (in pixels. Default is 24)]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Converted Icon directory: ]\"
*${modname}: Input IconDir 25 \"~/.fvwm/icons\"
*${modname}: Text \"\$[gt. (Directory for converted icons)]\"
*${modname}: Line Left
*${modname}: Text \"\$[gt.Use Titles in Menus? ]\"
*${modname}: Selection SelItype single
*${modname}: Choice TitlesOn TitlesOn on \"\$[gt.Yes]\"
*${modname}: Choice TitlesOff TitlesOff off \"\$[gt.No]\"
*${modname}: Line Left
*${modname}: Text \"\$[gt.Insert Menu(s) in a Menu? ]\"
*${modname}: Selection SelItype single
*${modname}: Choice InsertOn InsertOn off \"\$[gt.Yes]\"
*${modname}: Choice InsertOff InsertOff on \"\$[gt.No]\"
*${modname}: Text \"\$[gt.Top title name: ]\"
*${modname}: Input InMenu 20 \"\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Used Icon theme: ]\"
*${modname}: Input Theme 20 \"\"
*${modname}: Text \"\$[gt. (Theme name for icon selection)]\"
*${modname}: Line left
*${modname}: Line
*${modname}: Line
*${modname}: Separator
*${modname}: Line center
*${modname}: Text \"\$[gt.Single Menu]\"
*${modname}: Line
*${modname}: Line Left
*${modname}: Text \"\$[gt.If you want a single menu only deselect all menus above and fill out]\"
*${modname}: Line Left
*${modname}: Text \"\$[gt.the fields below. But remember, if the menu doesn't exist, nothing happens.]\"
*${modname}: Line
*${modname}: Line left
*${modname}: Text \"\$[gt.Menu Top Title:]\"
*${modname}: Input Title 20 \"\"
*${modname}: Text \"\$[gt. (Eg. FvwmTestMenu)]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Install-Prefix:]\"
*${modname}: Input Installprefix 20 \"\"
*${modname}: Text \"\$[gt. (Eg. /etc/xdg/menus/)]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Desktop: ]\"
*${modname}: Input Desktop 20 \"\"
*${modname}: Text \"\$[gt. (Eg. gnome, kde, xfce, lxde)]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Menutype: ]\"
*${modname}: Input Menutype 20 \"\"
*${modname}: Text \"\$[gt. (Eg. applications, settings)]\"
*${modname}: Line left
*${modname}: Text \"\$[gt.Output path: ]\"
*${modname}: Input Path 25 \"\$FVWM_USERDIR/.menu\"
*${modname}: Text \"\$[gt. (Full path to store output)]\"
*${modname}: Line left
*${modname}: Line
*${modname}: Line
*${modname}: Separator
*${modname}: Line center
*${modname}: Text \"\$[gt.Actions]\"
*${modname}: Line left
*${modname}: Line
*${modname}: Line center
*${modname}: Selection SelItype single
*${modname}: Choice MultiOn MultiOn on \"\$[gt.Multiple]\"
*${modname}: Choice MultiOff MultiOff off \"\$[gt.Single]\"
*${modname}: Line
*${modname}: Separator
*${modname}: Line expand
*${modname}: Button continue \"\$[gt.Generate Menu(s)]\"
*${modname}: Command PipeRead 'fvwm-menu-desktop \\
\$(IconsOn\?--enable-mini-icons )\\
\$(Size\?-s \$(Size) )\\
\$(TitlesOn\?--with-titles )\\
\$(InsertOn\?--insert-in-menu \$(InMenu) )\\
\$(IconDir\?--mini-icon-dir \$(IconDir) )\\
\$(Title\?--title \$(Title) )\\
\$(Installprefix\?--install-prefix \$(Installprefix) )\\
\$(Desktop\?--desktop \$(Desktop) )\\
\$(Menutype\?--menutype \$(Menutype) )\\
\$(Theme\?--theme \$(Theme) )\\
\$(MultiOn\?--set-menus \"\\
";
foreach my $key (keys %all_menus) {
foreach my $file (keys %{$all_menus{$key}}) {
my @menu = @{$all_menus{$key}{$file}};
$fvwmform_commands .= "\$($menu[1]\?$key$menu[0].menu )\\\n";
}
}
$fvwmform_commands .= "\") \$(Path\? > \$(Path)) 2> ~/.xsession-errors && echo \"Read \$(Path\? \$(Path))\"'
*${modname}: Button continue \"\$[gt.Save Settings]\"
# Before saving the data, remove any previously saved data:
*${modname}: Command DestroyModuleConfig ${modname}Default: *
*${modname}: Command !( /bin/echo \\
\"# This file last created by ${modname} on: `/bin/date`.\"; /bin/echo \\
";
foreach my $key (keys %all_menus) {
foreach my $count (keys %{$all_menus{$key}}) {
my @menu = @{$all_menus{$key}{$count}};
$fvwmform_commands .= " '*${modname}Default: $menu[1] \$($menu[1]\?on) ' ; /bin/echo \\
";
}
}
$fvwmform_commands .= ") > \$FVWM_USERDIR/.${modname}
*${modname}: Command !( /bin/echo \\
'*${modname}Default: IconsOn \$(IconsOn\?on) ' ; /bin/echo \\
'*${modname}Default: IconsOff \$(IconsOff\?on) ' ; /bin/echo \\
'*${modname}Default: Size \$(Size) ' ; /bin/echo \\
'*${modname}Default: TitlesOn \$(TitlesOn\?on) ' ; /bin/echo \\
'*${modname}Default: TitlesOff \$(TitlesOff\?on) ' ; /bin/echo \\
'*${modname}Default: InsertOn \$(InsertOn\?on) ' ; /bin/echo \\
'*${modname}Default: InsertOff \$(InsertOff\?on) ' ; /bin/echo \\
'*${modname}Default: InMenu \$(InMenu) ' ; /bin/echo \\
'*${modname}Default: Theme \$(Theme) ' \\
) >> \$FVWM_USERDIR/.${modname}
*${modname}: Command !( /bin/echo \\
'*${modname}Default: Title \$(Title) ' ; /bin/echo \\
'*${modname}Default: Installprefix \$(Installprefix) ' ; /bin/echo \\
'*${modname}Default: Desktop \$(Desktop) ' ; /bin/echo \\
'*${modname}Default: Menutype \$(Menutype) ' ; /bin/echo \\
'*${modname}Default: Path \$(Path) ' ; /bin/echo \\
'*${modname}Default: IconDir \$(IconDir) ' ; /bin/echo \\
'*${modname}Default: MultiOn \$(MultiOn\?on) ' ; /bin/echo \\
'*${modname}Default: MultiOff \$(MultiOff\?on) ' \\
) >> \$FVWM_USERDIR/.${modname}
*${modname}: Button restart \"\$[gt.Reset]\"
*${modname}: Command Nop
*${modname}: Button continue \"\$[gt.Help]\"
*${modname}: Command Exec exec xterm -g 100x50 -n \"Help fvwm-menu-desktop\" -T \"Help fvwm-menu-desktop\" -e \"man fvwm-menu-desktop\" &
*${modname}: Button quit \"\$[gt.Quit]\"
*${modname}: Command Nop
# Tell ${modname} to read vars from .${modname}Default file:
*${modname}: UseData .${modname} *${modname}Default
";
# We are just asked to open a window, give fvwm a chance to do it
::unlock();
$fvwmform_commands =~ s/^\s+//; # trim leading whitespace
::command(qq[
$fvwmform_commands
FvwmForm ${modname}
]);
#print MSG "$fvwmform_commands\n\n";
#close(MSG);
# Local Variables:
# mode: perl
# End:

30
fvwm-rsvg.patch Normal file
View File

@ -0,0 +1,30 @@
--- configure
+++ configure 2013-07-18 11:31:57.449439339 +0000
@@ -9461,7 +9461,6 @@ else
/* end confdefs.h. */
#include <librsvg/rsvg.h>
- #include <librsvg/rsvg-cairo.h>
int main() {
RsvgHandle *rsvg;
g_type_init();
--- configure.ac
+++ configure.ac 2013-07-18 11:32:12.985439431 +0000
@@ -941,7 +941,6 @@ if test x"$with_rsvg" = xyes ; then
LIBS="$LIBS $rsvg_LIBS"
AC_TRY_RUN([
#include <librsvg/rsvg.h>
- #include <librsvg/rsvg-cairo.h>
int main() {
RsvgHandle *rsvg;
g_type_init();
--- libs/Fsvg.h
+++ libs/Fsvg.h 2013-07-18 11:31:31.785438953 +0000
@@ -15,7 +15,6 @@
#if USE_SVG
# include <librsvg/rsvg.h>
-# include <librsvg/rsvg-cairo.h>
typedef RsvgDimensionData FRsvgDimensionData;
typedef RsvgHandle FRsvgHandle;

14476
fvwm-snapshot.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,43 @@
-------------------------------------------------------------------
Thu Jul 18 11:58:36 UTC 2013 - werner@suse.de
- Update to 2.6.5 + snpashot 2012/10/11
- NEWS: Added FvwmForm Separators,
fvwm-desktop-menu fixes.
- libs/Bindings.c (AddBinding):
- fvwm/builtins.c (FkeysymToKeycode):
- fvwm/events.c (__handle_key):
Add detection of XKeycodeToKeysym as deprecated, and provide a wrapper
for it by way of fvwm_KeycodeToKeysym() to call the newer
XkbKeycodeToKeysum() where needed.
- libs/PictureImageLoader.c (PImageLoadSvg, PimageLoadXpm,
PImageLoadPng):
Fix compilation errors.
- fvwm/menu.c ( __scan_for_pixmap):
- libs/PictureImageLoader.c (PImageLoadSvg, PimageLoadXpm,
PImageLoadPng):
Add fvwm_msg() for hints about failed image load.
- fvwm/events.c (HandlePropertyNotify):
Fix XSizeHints problem with FVWM not correctly allowing resizing of
windows when the hints are toggled with respect to FVWM processing
XA_WM_NORMAL_HINTS.
- fvwm/placement.c ( __pl_position_get_pos_simple):
When using "UnderMouse" for PositionPlacement, ensure we honor the EWMH
working area by default if it's in use.
- fvwm/fvwm.c (InstallSignals):
Unblock signals when installing them.
When signals are registered, ensure they're unblocked so as not to queue
them up.
- fvwm/infostore.c (get_metainfo_length):
+ fvwm/infostore.c (new_metainfo):
+ fvwm/infostore.c (insert_metainfo):
+ fvwm/style.c (style_parse_one_style_option):
Make C90 compliant.
- Add patch fvwm-snapshot.patch for snpashot 2012/10/11
- Add patch fvwm-rsvg.patch to avoid internal rsvg-cairo.h included twice
- Add source bin/fvwm-menu-desktop-config.fpl as missed in 2012/10/11
- Modify patch fvwm-2.5.26-gcc-warnings.patch as fixed upstream
-------------------------------------------------------------------
Sat Mar 30 18:05:26 CET 2013 - werner@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package fvwm2
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,7 +16,6 @@
#
Name: fvwm2
BuildRequires: automake
BuildRequires: freetype2-devel
@ -30,9 +29,13 @@ BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
Provides: fvwm fvwmicns windowmanager xpmroot
Obsoletes: fvwm xpmroot
Version: 2.6.4
Provides: fvwm
Provides: fvwmicns
Provides: windowmanager
Provides: xpmroot
Obsoletes: fvwm
Obsoletes: xpmroot
Version: 2.6.5
Release: 0
Summary: Improved Version of FVWM Window Manager
License: GPL-2.0+
@ -44,14 +47,23 @@ Source3: %name.desktop
Source4: system.fvwm2rc
Source5: _system.fvwm2rc
Source6: openSuSE.xpm
#SOURCE-FIX-OPENSUSE for snapshot 2012/10/11
Source7: fvwm-menu-desktop-config.fpl
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: xdg-menu, desktop-data, mktemp, xli
Requires: desktop-data
Requires: mktemp
Requires: xdg-menu
Requires: xli
Patch0: fvwm-configure.patch
Patch1: fvwm-2.5.26-gcc-warnings.patch
Patch2: fvwm-2.5.26-ia64.patch
Patch3: fvwm-2.5.26-sv_SE.patch
Patch5: fvwm-2.5.26-charset_in_title.patch
Patch7: fvwm-2.5.26-no-copy-dt-needed-entries.patch
#PATCH-FIX-OPENSUSE Avoid including internal rsvg-cairo.h
Patch8: fvwm-rsvg.patch
#PATCH-FIX-OPENSUSE Update to snapshot 2012/10/11
Patch42: fvwm-snapshot.patch
%description
FVWM is a virtual desktop window manager for the X Window System.
@ -69,16 +81,19 @@ compatible with the Motif MWM.
%prep
%setup -q -n fvwm-%{version}
%patch42
%patch0
%patch1
%patch2
%patch3
%patch5
%patch7 -p1
%patch8
find . -name *sv_SE* |xargs rename sv_SE sv
mkdir icons
tar -C icons -j -x -v -f $RPM_SOURCE_DIR/fvwm_icons.tar.bz2
cp %{S:6} icons
cp %{S:7} bin/
#
# build