diff options
Diffstat (limited to 'desktop/qtile-extras')
-rw-r--r-- | desktop/qtile-extras/README | 1 | ||||
-rw-r--r-- | desktop/qtile-extras/python3.9_fixes.patch | 94 | ||||
-rw-r--r-- | desktop/qtile-extras/qtile-extras.SlackBuild | 89 | ||||
-rw-r--r-- | desktop/qtile-extras/qtile-extras.info | 10 | ||||
-rw-r--r-- | desktop/qtile-extras/slack-desc | 19 |
5 files changed, 213 insertions, 0 deletions
diff --git a/desktop/qtile-extras/README b/desktop/qtile-extras/README new file mode 100644 index 0000000000..2149d9c3ca --- /dev/null +++ b/desktop/qtile-extras/README @@ -0,0 +1 @@ +qtile-extras is a collection of mods made by elParaguayo for Qtile. diff --git a/desktop/qtile-extras/python3.9_fixes.patch b/desktop/qtile-extras/python3.9_fixes.patch new file mode 100644 index 0000000000..4c6bc34bd1 --- /dev/null +++ b/desktop/qtile-extras/python3.9_fixes.patch @@ -0,0 +1,94 @@ +--- a/qtile_extras/layout/decorations/borders.py ++++ b/qtile_extras/layout/decorations/borders.py +@@ -205,7 +205,7 @@ + _BorderStyle.__init__(self, **config) + self.add_defaults(GradientBorder.defaults) + +- if not isinstance(self.colours, list | tuple): ++ if not isinstance(self.colours, (list, tuple)): + raise ConfigError("colours must be a list or tuple.") + + if self.offsets is None: +@@ -261,7 +261,7 @@ + self.add_defaults(GradientFrame.defaults) + self.offsets = [x / (len(self.colours) - 1) for x in range(len(self.colours))] + +- if not isinstance(self.colours, list | tuple): ++ if not isinstance(self.colours, (list, tuple)): + raise ConfigError("colours must be a list or tuple.") + + self._check_colours() +@@ -408,7 +408,7 @@ + _BorderStyle.__init__(self, **config) + self.add_defaults(SolidEdge.defaults) + +- if not (isinstance(self.colours, list | tuple) and len(self.colours) == 4): ++ if not (isinstance(self.colours, (list, tuple)) and len(self.colours) == 4): + raise ConfigError("colours must have 4 values.") + + self._check_colours() +@@ -488,7 +488,7 @@ + return self.fallback + + for match, colour in self.matches: +- if isinstance(match, list | str): ++ if isinstance(match, (list, str)): + matched = any(m.compare(win) for m in match) + else: + matched = match.compare(win) +--- a/qtile_extras/widget/decorations.py ++++ b/qtile_extras/widget/decorations.py +@@ -72,9 +72,9 @@ + self.parent = parent + + def single_or_four(self, value, name: str): +- if isinstance(value, float | int): ++ if isinstance(value, (float, int)): + n = e = s = w = value +- elif isinstance(value, tuple | list): ++ elif isinstance(value, (tuple, list)): + if len(value) == 1: + n = e = s = w = value[0] + elif len(value) == 4: +--- a/qtile_extras/widget/groupbox2.py ++++ b/qtile_extras/widget/groupbox2.py +@@ -24,7 +24,7 @@ + from copy import deepcopy + from enum import Flag, auto + from pathlib import Path +-from typing import TYPE_CHECKING ++from typing import TYPE_CHECKING, Union + + from cairocffi.pixbuf import ImageLoadingError + from libqtile import bar, hook +@@ -39,8 +39,8 @@ + from typing import Any, Literal + + +-ColorType = str | tuple[int, int, int] | tuple[int, int, int, float] +-ColorsType = ColorType | list[ColorType] ++ColorType = Union[str, tuple[int, int, int], tuple[int, int, int, float]] ++ColorsType = Union[ColorType, list[ColorType]] + + + IMAGE_CACHE: dict[str, Img] = {} +--- a/qtile_extras/widget/statusnotifier.py ++++ b/qtile_extras/widget/statusnotifier.py +@@ -32,7 +32,7 @@ + from qtile_extras.widget.mixins import DbusMenuMixin + + if TYPE_CHECKING: +- from collections.abc import Callable ++ from typing import Callable, Optional + + NO_MENU = "/NO_DBUSMENU" + +@@ -55,7 +55,7 @@ + await self.menu.start() + + +-def get_menu(self, root: int = 0, callback: Callable | None = None): ++def get_menu(self, root: int = 0, callback: Optional[Callable] = None): + if self.menu: + self.menu.get_menu(root, callback=callback) + diff --git a/desktop/qtile-extras/qtile-extras.SlackBuild b/desktop/qtile-extras/qtile-extras.SlackBuild new file mode 100644 index 0000000000..d11aa1b1fb --- /dev/null +++ b/desktop/qtile-extras/qtile-extras.SlackBuild @@ -0,0 +1,89 @@ +#!/bin/bash + +# Slackware build script for qtile-extras + +# Copyright 2025 Isaac Yu <isaacyu@protonmail.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=qtile-extras +VERSION=${VERSION:-0.33.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +SRCNAM=qtile_extras + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +PYVER=$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])') +export PYTHONPATH=/opt/python$PYVER/site-packages/ + +# Fix TypeErrors (Slackware 15.0 has Python 3.9 installed) +# View the following commit for more details: +# https://github.com/elParaguayo/qtile-extras/commit/c65b282d81e6a9b23f91158c41603b2b4909a4e1 +[[ $PYVER == 3.9 ]] && patch -p1 < $CWD/python3.9_fixes.patch + +python3 -m build --no-isolation +python3 -m installer -d "$PKG" dist/*.whl + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGELOG README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/desktop/qtile-extras/qtile-extras.info b/desktop/qtile-extras/qtile-extras.info new file mode 100644 index 0000000000..b1e38b3aca --- /dev/null +++ b/desktop/qtile-extras/qtile-extras.info @@ -0,0 +1,10 @@ +PRGNAM="qtile-extras" +VERSION="0.33.0" +HOMEPAGE="https://github.com/elParaguayo/qtile-extras" +DOWNLOAD="https://files.pythonhosted.org/packages/source/q/qtile-extras/qtile_extras-0.33.0.tar.gz" +MD5SUM="52d30941fb741629f66d545640c879ac" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="qtile" +MAINTAINER="Isaac Yu" +EMAIL="isaacyu@protonmail.com" diff --git a/desktop/qtile-extras/slack-desc b/desktop/qtile-extras/slack-desc new file mode 100644 index 0000000000..afd86bc45a --- /dev/null +++ b/desktop/qtile-extras/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +qtile-extras: qtile-extras (extra mods for qtile) +qtile-extras: +qtile-extras: qtile-extras is a collection of mods made by elParaguayo for Qtile. +qtile-extras: +qtile-extras: +qtile-extras: +qtile-extras: +qtile-extras: +qtile-extras: +qtile-extras: +qtile-extras: |