From 921c332ae94884ef80c4ae5a32998bf8ae6e9d00 Mon Sep 17 00:00:00 2001 From: gryf Date: Sun, 12 Mar 2023 11:17:11 +0100 Subject: [PATCH] Windowmaker ebuild update. Added patch for respecting window fixed size content (like terminals) even in maximized state (basically rollback of 370adc94e commit). Aligned ebuild with upstream. --- x11-wm/windowmaker/Manifest | 2 +- .../wmaker-ignore-max-for-terminals.patch | 43 +++++++++++ x11-wm/windowmaker/windowmaker-8888.ebuild | 73 +++++++++++-------- 3 files changed, 88 insertions(+), 30 deletions(-) create mode 100644 x11-wm/windowmaker/files/wmaker-ignore-max-for-terminals.patch diff --git a/x11-wm/windowmaker/Manifest b/x11-wm/windowmaker/Manifest index e3dfb4e..e857b81 100644 --- a/x11-wm/windowmaker/Manifest +++ b/x11-wm/windowmaker/Manifest @@ -1,4 +1,4 @@ AUX wmaker-ignore-max-for-terminals.patch 1309 BLAKE2B 605136e83cbfa3acb05fcb7e2b0d82bd05007997e970d4ffe9bf302254193aa5806ba696a4fa226158194b7d0e69b0ba2e7eda6009c07d4015add016d878d4c5 SHA512 63a3ab78b688638562c3eb040e8df02254633d594a380b21777163fe8fa1a140d0f1ea6e419c53aa58c1624a3098d5a1873ebca57bda3b32954407acff1cd13f AUX wmaker.desktop 206 BLAKE2B 62fe60afde032c1f37c5c818bc37a97d70605e041e539e922f18d56a7582fffd1689762f600fa3c69c5b62dd399867c8c1208d393060e734b38a84540143bf79 SHA512 d1dc99aa29047434e1265c8f93ce366b7c026f27eec8a166904fda1ab4144e0d6142807ac09ba6cbcb86480257893e5553046a0ba1a8e1d6315f23dd8468482b DIST WindowMaker-extra-0.1.tar.gz 238018 BLAKE2B 865b12975d0cdefc1f05a76344b449fdcf8a2841d6a7adf1ab6435857d89cbc4fda22bb62432a1bbba921267380d00a0cded718bfbd344bbb5e6207e59b76096 SHA512 0fe9b3ffc093942db167d8a01e15c0f6741f3a40959d1434ea4f23e7b9d4a9c13935a61eabef9691e5fdfd4e407564caafce15c2d65d66499960a6764a874ab8 -EBUILD windowmaker-8888.ebuild 3075 BLAKE2B 736cf49623db59f388fda94a8d909adc5cfe6b8b50774441276d5d8319d248f961cd7931df9feba03b6f2c7d658c101d0c69b02fe5d433ff0784695294898b62 SHA512 7fbd8ccb7f20cf5ef9dd867fa710a02046966ebb050979b2d3bbe359f88dee26938eb47ca1bcb6872dd2aef0cffea347e0524b2004afed28a23cdb4776868845 +EBUILD windowmaker-8888.ebuild 3407 BLAKE2B 49e50ef98163675f53e01a553c28d4e71bc126e45e98b428267f4bb85b50db052b8e805951b8d6e919af10b515dfc38c3ece1d92b7714c22c3924c952a4f397d SHA512 2fc4cc41fa10349235be51f050e7f56fa50f83f18d0987f5c45a00cfe86a5cd0195c5c99935218c08898ec076dbb5dc214e3ed1c9ae0829c7d18d81399ad1707 diff --git a/x11-wm/windowmaker/files/wmaker-ignore-max-for-terminals.patch b/x11-wm/windowmaker/files/wmaker-ignore-max-for-terminals.patch new file mode 100644 index 0000000..8a74509 --- /dev/null +++ b/x11-wm/windowmaker/files/wmaker-ignore-max-for-terminals.patch @@ -0,0 +1,43 @@ +diff --git a/src/window.c b/src/window.c +index 70e1f962..2acc4e3c 100644 +--- a/src/window.c ++++ b/src/window.c +@@ -1911,10 +1911,9 @@ void wWindowConstrainSize(WWindow *wwin, unsigned int *nwidth, unsigned int *nhe + } + + if (wwin->normal_hints) { +- if (!wwin->flags.maximized) { +- winc = wwin->normal_hints->width_inc; +- hinc = wwin->normal_hints->height_inc; +- } ++ winc = wwin->normal_hints->width_inc; ++ hinc = wwin->normal_hints->height_inc; ++ + minW = wwin->normal_hints->min_width; + minH = wwin->normal_hints->min_height; + maxW = wwin->normal_hints->max_width; +@@ -1981,17 +1980,15 @@ void wWindowConstrainSize(WWindow *wwin, unsigned int *nwidth, unsigned int *nhe + } + } + +- if (!wwin->flags.maximized) { +- if (baseW != 0) +- width = (((width - baseW) / winc) * winc) + baseW; +- else +- width = (((width - minW) / winc) * winc) + minW; ++ if (baseW != 0) ++ width = (((width - baseW) / winc) * winc) + baseW; ++ else ++ width = (((width - minW) / winc) * winc) + minW; + +- if (baseH != 0) +- height = (((height - baseH) / hinc) * hinc) + baseH; +- else ++ if (baseH != 0) ++ height = (((height - baseH) / hinc) * hinc) + baseH; ++ else + height = (((height - minH) / hinc) * hinc) + minH; +- } + + /* broken stupid apps may cause preposterous values for these.. */ + if (width > 0) diff --git a/x11-wm/windowmaker/windowmaker-8888.ebuild b/x11-wm/windowmaker/windowmaker-8888.ebuild index 42abc93..f15a87a 100644 --- a/x11-wm/windowmaker/windowmaker-8888.ebuild +++ b/x11-wm/windowmaker/windowmaker-8888.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit autotools git-r3 +inherit autotools desktop git-r3 DESCRIPTION="The fast and light GNUstep window manager - gryf's personal ebuild" HOMEPAGE="http://www.windowmaker.org/" @@ -13,7 +13,7 @@ EGIT_COMMIT="${EGIT_COMMIT:-}" SLOT="0" LICENSE="GPL-2" -IUSE="gif imagemagick jpeg modelock nls png tiff webp xinerama +xpm xrandr" +IUSE="gif imagemagick jpeg modelock nls png tiff webp xinerama +xpm xrandr -term" KEYWORDS="~amd64 ~x86" DEPEND="media-libs/fontconfig @@ -24,14 +24,18 @@ DEPEND="media-libs/fontconfig x11-libs/libXv gif? ( >=media-libs/giflib-4.1.0-r3 ) imagemagick? ( >=media-gfx/imagemagick-7:0= ) - jpeg? ( virtual/jpeg:0= ) - nls? ( >=sys-devel/gettext-0.10.39 ) - png? ( media-libs/libpng:0= ) - tiff? ( media-libs/tiff:0 ) - webp? ( media-libs/libwebp ) + jpeg? ( media-libs/libjpeg-turbo:= ) + nls? ( virtual/libintl ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) + webp? ( media-libs/libwebp:= ) xinerama? ( x11-libs/libXinerama ) xrandr? ( x11-libs/libXrandr )" RDEPEND="${DEPEND}" +BDEPEND="nls? ( >=sys-devel/gettext-0.10.39 )" + +DOCS=( AUTHORS BUGFORM BUGS ChangeLog INSTALL-WMAKER FAQ + NEWS README README.definable-cursor README.i18n TODO ) src_unpack() { # wm-extras @@ -41,48 +45,62 @@ src_unpack() { } src_prepare() { + # Add info about commit in About window local git_revision=$(git log --pretty=format:'%h' -n 1) sed -i -e "s/\(AC_INIT(\[WindowMaker\],\[[^]]*\)\]/\1, rev.${git_revision}\]/" configure.ac || die # Fix some paths for file in WindowMaker/*menu* util/wmgenmenu.c; do if [[ -r $file ]] ; then - sed -i -e "s:/usr/local/GNUstep/Applications/WPrefs.app:${EPREFIX}/usr/bin/:g;" "$file" || die - sed -i -e "s:/usr/local/share/WindowMaker:${EPREFIX}/usr/share/WindowMaker:g;" "$file" || die - sed -i -e "s:/opt/share/WindowMaker:${EPREFIX}/usr/share/WindowMaker:g;" "$file" || die + sed -i -e "s|/usr/local/GNUstep/Applications/WPrefs.app|${EPREFIX}/usr/bin/|g;" "$file" || die + sed -i -e "s|/usr/local/share/WindowMaker|${EPREFIX}/usr/share/WindowMaker|g;" "$file" || die + sed -i -e "s|/opt/share/WindowMaker|${EPREFIX}/usr/share/WindowMaker|g;" "$file" || die fi done + if use term; then + epatch "${FILESDIR}"/wmaker-ignore-max-for-terminals.patch + fi + default eautoreconf } src_configure() { - local myconf + local -a myeconfargs=( + # image format types + $(use_enable gif) + $(use_enable imagemagick magick) + $(use_enable jpeg) + $(use_enable png) + $(use_enable tiff) + $(use_enable webp) + $(use_enable xpm) - # image format types - myconf="$(use_enable imagemagick magick) $(use_enable jpeg) $(use_enable gif) $(use_enable png) $(use_enable tiff) $(use_enable webp) $(use_enable xpm)" - - # non required X capabilities - myconf="${myconf} $(use_enable modelock) $(use_enable xrandr randr) $(use_enable xinerama)" + # optional X capabilities + $(use_enable modelock) + $(use_enable xinerama) + $(use_enable xrandr randr) + ) + # NLS depends on whether LINGUAS is empty if use nls; then - [[ -z $LINGUAS ]] && export LINGUAS="$(ls po/*.po | sed 's:po/\(.*\)\.po$:\1:' | xargs)" + myeconfargs+=( LINGUAS="${LINGUAS:-$(cd po; x=(*.po); echo ${x[*]%.po})}" ) else - myconf="${myconf} --disable-locale" + myeconfargs+=( LINGUAS= ) fi - # default settings with $myconf appended econf \ + --localedir="${EPREFIX}"/usr/share/locale \ --sysconfdir="${EPREFIX}"/etc/X11 \ - --with-x \ --enable-debug \ --enable-usermenu \ + --with-{incs,libs}-from= \ --with-pixmapdir="${EPREFIX}"/usr/share/pixmaps \ - --localedir="${EPREFIX}"/usr/share/locale \ - ${myconf} + --with-x \ + "${myeconfargs[@]}" - pushd ../WindowMaker-extra-0.1 || die + pushd ../WindowMaker-extra-0.1 &>/dev/null || die econf } @@ -90,18 +108,15 @@ src_compile() { emake # WindowMaker Extra Package (themes and icons) - pushd ../WindowMaker-extra-0.1 || die - emake + emake -C ../WindowMaker-extra-0.1 } src_install() { default # WindowMaker Extra - pushd ../WindowMaker-extra-0.1 || die - emake DESTDIR="${D}" install - - newdoc README README.extra + emake -C ../WindowMaker-extra-0.1 DESTDIR="${D}" install + newdoc ../WindowMaker-extra-0.1/README README.extra # create wmaker session shell script echo "#!/usr/bin/env bash" > wmaker