Initial submit of the project. Not yet tested
authordanix <danix@danix.xyz>
Sat, 25 Apr 2020 17:28:01 +0000 (19:28 +0200)
committerdanix <danix@danix.xyz>
Sat, 25 Apr 2020 17:28:01 +0000 (19:28 +0200)
78 files changed:
CHECK_PREREQ.sh [new file with mode: 0644]
DOWNLOAD.sh [new file with mode: 0755]
GRAB_VERSION.sh [new file with mode: 0644]
README.Slackware [new file with mode: 0644]
autotools/libfm [new file with mode: 0644]
autotools/libfm-extras [new file with mode: 0644]
autotools/lxmenu-data [new file with mode: 0644]
autotools/menu-cache [new file with mode: 0644]
build_all.sh [new file with mode: 0755]
build_order [new file with mode: 0644]
cmake/cmake [new file with mode: 0644]
cmake/lxqt-policykit [new file with mode: 0644]
cmake/qterminal [new file with mode: 0644]
doinst.sh/compton-conf [new file with mode: 0644]
doinst.sh/lximage-qt [new file with mode: 0644]
doinst.sh/lxqt-about [new file with mode: 0644]
doinst.sh/lxqt-archiver [new file with mode: 0644]
doinst.sh/lxqt-config [new file with mode: 0644]
doinst.sh/lxqt-panel [new file with mode: 0644]
doinst.sh/lxqt-session [new file with mode: 0644]
doinst.sh/lxqt-sudo [new file with mode: 0644]
doinst.sh/pcmanfm-qt [new file with mode: 0644]
doinst.sh/qterminal [new file with mode: 0644]
doinst.sh/screengrab [new file with mode: 0644]
lxqt.SlackBuild [new file with mode: 0755]
lxqt.options [new file with mode: 0644]
modules.txt [new file with mode: 0644]
noarch [new file with mode: 0644]
post-install/lxqt-session.post-install [new file with mode: 0644]
post-install/lxqt-session/xinit/xinitrc.lxqt [new file with mode: 0644]
post-install/lxqt-sudo.post-install [new file with mode: 0644]
prereq [new file with mode: 0644]
sddm/themes/lxqt/Main.qml [new file with mode: 0644]
sddm/themes/lxqt/angle-down.png [new file with mode: 0644]
sddm/themes/lxqt/angle-left.png [new file with mode: 0644]
sddm/themes/lxqt/angle-right.png [new file with mode: 0644]
sddm/themes/lxqt/metadata.desktop [new file with mode: 0644]
sddm/themes/lxqt/reboot.png [new file with mode: 0644]
sddm/themes/lxqt/shutdown.png [new file with mode: 0644]
sddm/themes/lxqt/theme.conf [new file with mode: 0644]
sddm/themes/lxqt/user.png [new file with mode: 0644]
sddm/themes/lxqt/user.svg [new file with mode: 0644]
sddm/themes/lxqt/wall.png [new file with mode: 0644]
slack-desc/CHECK_SLACKDESC.sh [new file with mode: 0644]
slack-desc/compton-conf [new file with mode: 0644]
slack-desc/libfm [new file with mode: 0644]
slack-desc/libfm-qt [new file with mode: 0644]
slack-desc/liblxqt [new file with mode: 0644]
slack-desc/libqtxdg [new file with mode: 0644]
slack-desc/libsysstat [new file with mode: 0644]
slack-desc/lximage-qt [new file with mode: 0644]
slack-desc/lxmenu-data [new file with mode: 0644]
slack-desc/lxqt-about [new file with mode: 0644]
slack-desc/lxqt-admin [new file with mode: 0644]
slack-desc/lxqt-archiver [new file with mode: 0644]
slack-desc/lxqt-build-tools [new file with mode: 0644]
slack-desc/lxqt-config [new file with mode: 0644]
slack-desc/lxqt-globalkeys [new file with mode: 0644]
slack-desc/lxqt-notificationd [new file with mode: 0644]
slack-desc/lxqt-openssh-askpass [new file with mode: 0644]
slack-desc/lxqt-panel [new file with mode: 0644]
slack-desc/lxqt-policykit [new file with mode: 0644]
slack-desc/lxqt-power [new file with mode: 0644]
slack-desc/lxqt-powermanagement [new file with mode: 0644]
slack-desc/lxqt-qtplugin [new file with mode: 0644]
slack-desc/lxqt-runner [new file with mode: 0644]
slack-desc/lxqt-session [new file with mode: 0644]
slack-desc/lxqt-sudo [new file with mode: 0644]
slack-desc/lxqt-themes [new file with mode: 0644]
slack-desc/make_slack-desc.sh [new file with mode: 0755]
slack-desc/menu-cache [new file with mode: 0644]
slack-desc/obconf-qt [new file with mode: 0644]
slack-desc/pavucontrol-qt [new file with mode: 0644]
slack-desc/pcmanfm-qt [new file with mode: 0644]
slack-desc/qps [new file with mode: 0644]
slack-desc/qterminal [new file with mode: 0644]
slack-desc/qtermwidget [new file with mode: 0644]
slack-desc/screengrab [new file with mode: 0644]

diff --git a/CHECK_PREREQ.sh b/CHECK_PREREQ.sh
new file mode 100644 (file)
index 0000000..1464ba3
--- /dev/null
@@ -0,0 +1,52 @@
+#! /bin/bash
+
+# Check prerequisite packages before compile time :-)
+
+CWD=$(pwd)
+PREREQ=${PREREQ:-${CWD}/prereq}
+PKGS="/var/log/packages"
+RESULT="test_prereq.log"
+MISSING=0
+
+if [ ! -f $PREREQ ];then
+       echo -e "NO LIST OF PREREQUISITE PACKAGES FOUND! EXITING"
+       echo "NO PREREQ LIST FOUND!" > $RESULT
+       exit 117
+else
+       # let's source the prereq list
+       . $PREREQ
+fi
+
+if [ ! -f $RESULT ];then
+       touch $RESULT
+fi
+
+# let's test them
+for KEY in ${!deps[@]}; do
+       # echo "KEY is $KEY and VALUE is ${deps[${KEY}]}"
+       findings=$(ls $PKGS |egrep -i "^$KEY")
+       echo -e "$KEY:" >> $RESULT
+       if [[ $findings != "" ]]; then
+               for l in $findings; do
+                       echo -e "Installed\t$l" >> $RESULT
+               done
+               echo >> $RESULT
+       else
+               let MISSING=MISSING+1
+               echo -e "Missing\t'$KEY'" >> $RESULT
+               echo -e "Expected\t'${deps[${KEY}]}'." >> $RESULT
+               echo >> $RESULT
+       fi
+done
+
+if [[ $MISSING -gt 1 ]]; then
+       # We have missing packages, issue a warning!!
+       echo -e "looks like $MISSING packages are missing. Go check the log."
+       echo -e "grep \"Missing\" $RESULT"
+       echo
+else
+       # No missing packages. We can procede!!
+       echo -e "GREAT!! All dependancies are satisfied."
+       echo -e "Let's start building."
+       echo
+fi
diff --git a/DOWNLOAD.sh b/DOWNLOAD.sh
new file mode 100755 (executable)
index 0000000..767f7fa
--- /dev/null
@@ -0,0 +1,31 @@
+#! /bin/bash
+
+# Download the superproject and all submodules for LXQT
+# LXQT VERSION 0.15.0
+
+set -e
+
+CWD=$(pwd)
+LXQT="https://github.com/lxqt/lxqt.git"
+SRCDIR=${SRCDIR:-$CWD/src}
+ERROR_LOG=${CWD}/build_error.log
+GIT=${GIT:-/usr/bin/git}
+
+if [ ! -f $ERROR_LOG ];then
+       touch $ERROR_LOG
+fi
+
+# clone the superproject in the source directory
+$GIT clone $LXQT $SRCDIR || echo "error cloning superproject" >> $ERROR_LOG
+cd $SRCDIR
+
+# initialize every submodule
+$GIT submodule init || echo "error initializing submodules" >> $ERROR_LOG
+
+# checkout every submodule
+$GIT submodule update --remote --rebase || echo "error during checkout of submodules" >> $ERROR_LOG
+
+# we are done with git, so let's cleanup from all the unwanted git folders and files
+find . -name '.git*' -mindepth 1 -exec rm -rfv '{}' \; || echo "error during removal of git files from source" >> $ERROR_LOG
+
+# ALL DONE
diff --git a/GRAB_VERSION.sh b/GRAB_VERSION.sh
new file mode 100644 (file)
index 0000000..b303a7b
--- /dev/null
@@ -0,0 +1,39 @@
+#! /bin/bash
+
+# grab the current tag for each git submodule and store it for later use.
+
+set -e
+
+CWD=$(pwd)
+OUTPUT=${CWD}/versioning
+WORKDIR=$1
+
+# the versioning file will contain an array that will be pulled by the SlackBuild
+cat > $OUTPUT <<ASDFA
+#! /bin/bash
+#
+# Array of LXQT modules and relative version
+# This file is sourced during the build process to determine the
+# version of every module that is being built.
+
+declare -A versions
+
+versions+=(
+ASDFA
+
+cd $WORKDIR
+SUBDIRS=$(find . \( ! -regex '.*/\..*' \) -type d -mindepth 1 -maxdepth 1 -print)
+
+for mod in $SUBDIRS; do
+       cd $mod
+       VERSION=$(git describe --tags)
+       MODNAME=$(basename $mod)
+       echo -e "\t[\"$MODNAME\"]=\"$VERSION\"" >> $OUTPUT
+       # forcing libfm-extra version number because of shared source directory with libfm
+       if [[ $MODNAME == "libfm" ]]; then
+               echo -e "\t[\"libfm-extra\"]=\"$VERSION\"" >> $OUTPUT
+       fi
+       cd $WORKDIR
+done
+echo ")" >> $OUTPUT
+echo "" >> $OUTPUT
diff --git a/README.Slackware b/README.Slackware
new file mode 100644 (file)
index 0000000..19a212a
--- /dev/null
@@ -0,0 +1,126 @@
+LXQT On Slackware
+=================
+
+If you want to install and use LXQT on Slackware, you need more than just
+the packages in the lxqt package directory for Slackware 14.2 or -current.
+All of the below are also required if you want to compile LXQT yourself.
+
+Openbox
+-------
+
+LXQT needs a Window Manager, it does not have one itself.  LXQT will offer
+you a choice of fvwm2, xfwm4, fluxbox on its first start but you can also
+install openbox. If you do prefer openbox, get these two packages from my
+'slackbuilds' repository,
+http://bear.alienbase.nl/mirrors/people/alien/slackbuilds/ :
+
+obconf
+openbox
+
+Dependencies
+------------
+
+Openbox is a dependency for compiling obconf-qt but if you are not interested
+in using openbox you can skip installing openbox and compiling obconf-qt.
+
+The real mandatory dependencies are related to Qt5 and the KDE Frameworks,
+upon which LXQT was built.
+Therefore the following packages should be obtained from my 'ktown'repository,
+http://bear.alienbase.nl/mirrors/alien-kde/ below the directory specific to
+your Slackware release and architecture.
+More specifically from its subdirectories 'deps', 'kde/frameworks',
+'kde/plasma' and 'kde/plasma-extra':
+
+# deps:
+libdbusmenu-qt5
+libinput
+libxkbcommon
+polkit-qt5-1
+qt5
+qt5-webkit
+wayland
+
+# kde/frameworks:
+attica-framework
+baloo5
+bluez-qt
+breeze-icons
+extra-cmake-modules
+frameworkintegration
+kactivities-framework
+kactivities-stats
+kapidox
+karchive
+kauth
+kbookmarks
+kcmutils
+kcodecs
+kcompletion
+kconfig
+kconfigwidgets
+kcoreaddons
+kcrash
+kdbusaddons
+kdeclarative
+kded
+kdelibs4support
+kdesignerplugin
+kdesu
+kdewebkit
+kdnssd
+kdoctools
+kemoticons
+kfilemetadata5
+kglobalaccel
+kguiaddons
+khtml
+ki18n
+kiconthemes
+kidletime
+kimageformats
+kinit
+kio
+kitemmodels
+kitemviews
+kjobwidgets
+kjs
+kjsembed
+kmediaplayer
+knewstuff
+knotifications
+knotifyconfig
+kpackage
+kparts
+kpeople
+kplotting
+kpty
+kross
+krunner
+kservice
+ktexteditor
+ktextwidgets
+kunitconversion
+kwallet
+kwidgetsaddons
+kwindowsystem
+kxmlgui
+kxmlrpcclient
+modemmanager-qt
+networkmanager-qt
+oxygen-icons5
+plasma-framework
+solid
+sonnet
+threadweaver
+
+# plasma:
+libkscreen2
+
+# plasma-extra:
+sddm-qt5
+
+Finally, you need the following packages from my main slackbuilds repository
+at http://bear.alienbase.nl/mirrors/people/alien/slackbuilds/ :
+
+libstatgrab
+muparser
diff --git a/autotools/libfm b/autotools/libfm
new file mode 100644 (file)
index 0000000..d02ee36
--- /dev/null
@@ -0,0 +1,18 @@
+./autogen.sh \
+  --enable-debug \
+  --without-gtk \
+  --disable-demo
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+  --prefix=/usr \
+  --libdir=/usr/lib${LIBDIRSUFFIX} \
+  --sysconfdir=/etc \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --enable-static=no \
+  --enable-udisks \
+  --without-gtk \
+  --build=$ARCH
+  
\ No newline at end of file
diff --git a/autotools/libfm-extras b/autotools/libfm-extras
new file mode 100644 (file)
index 0000000..4f5a095
--- /dev/null
@@ -0,0 +1,17 @@
+./autogen.sh \
+  --enable-debug \
+  --without-gtk \
+  --disable-demo
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+  --prefix=/usr \
+  --libdir=/usr/lib${LIBDIRSUFFIX} \
+  --sysconfdir=/etc \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --enable-static=no \
+  --with-extra-only \
+  --with-gtk=no \
+  --build=$ARCH
diff --git a/autotools/lxmenu-data b/autotools/lxmenu-data
new file mode 100644 (file)
index 0000000..b0a8932
--- /dev/null
@@ -0,0 +1,11 @@
+./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+  --prefix=/usr \
+  --libdir=/usr/lib${LIBDIRSUFFIX} \
+  --sysconfdir=/etc \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --build=$ARCH
diff --git a/autotools/menu-cache b/autotools/menu-cache
new file mode 100644 (file)
index 0000000..81ceb5e
--- /dev/null
@@ -0,0 +1,12 @@
+./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+  --prefix=/usr \
+  --libdir=/usr/lib${LIBDIRSUFFIX} \
+  --sysconfdir=/etc \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --enable-static=no \
+  --build=$ARCH
diff --git a/build_all.sh b/build_all.sh
new file mode 100755 (executable)
index 0000000..09c9aa5
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# Main script, build all packages in the tree.
+
+set -e
+
+CWD=$(pwd)
+ERROR_LOG=${CWD}/build_error.log
+VERSIONING=${CWD}/versioning
+
+if [ ! -f $VERSIONING ];then
+       echo "NO $VERSIONING FOUND! ABORTING NOW." >> $ERROR_LOG
+       echo -e "file: $VERSIONING NOT found!! Aborting"
+       echo -e "run ${CWD}/GRAB_VERSION.SH to generate the file again."
+       exit 118
+else
+       # We source the versioning file here and use it later
+       . $VERSIONING
+fi
+
+if [ ! -f $ERROR_LOG ];then
+       touch $ERROR_LOG
+fi
+
+SLACKBUILD="$CWD/LXQt.SlackBuild"
+TMP=${TMP:-/tmp}
+BUILD_DIR=${BUILD_DIR:-$TMP/lxqt-build}
+
+check_already_built() {
+       local PKG=$1
+       RESULT=""
+       if [[ -z $(/bin/ls -A ${CWD}/packages) ]];then
+               # packages is empty
+               RESULT=""
+       elif [[ ! $(find ${CWD}/packages/${PKG} -name $PKG* -print > /dev/null 2>&1) ]]; then
+               # packages is not empty but we can't find $1
+               RESULT=""
+       else
+               # we found it
+               RESULT="found"
+       fi
+       return $RESULT
+}
+
+LIST=$(cat ${CWD}/build_order)
+COUNTER=0
+TOTAL=$(wc -l ${CWD}/build_order |cut -d " " -f1)
+for p in $LIST; do
+       let COUNTER=COUNTER+1
+       if [[ $p == 'libfm-extra' ]]; then
+               # libfm-extra doesn't have a source directory but uses libfm as well
+               PKGS=$(find ${CWD}/src -mindepth 1 -maxdepth 1 -type d -name 'libfm' -print)
+       else
+               PKGS=$(find ${CWD}/src -mindepth 1 -maxdepth 1 -type d -name $p -print)
+       fi
+       ALREADY_BUILT=$(check_already_built $p)
+       VNUM=${versions[${p}]}
+       if [[ -e $PKGS && $ALREADY_BUILT != "found" ]];then
+               echo -e "########################################################"
+               echo -e "#\t[$COUNTER / $TOTAL] building $p"
+               echo -e "########################################################"
+               export VERSION=$VNUM
+               ${CWD}/lxqt.SlackBuild $p
+               unset VERSION
+               echo -e "########################################################"
+               echo -e "# done building $p!"
+               echo -e "########################################################"
+               mkdir -p ${CWD}/packages/${p}
+               mv ${BUILD_DIR}/${p}*.txz ${CWD}/packages/${p}/
+               upgradepkg --reinstall --install-new ${CWD}/packages/${p}/${p}*.txz
+       else
+               echo $PKGS not found >> ${ERROR_LOG}
+       fi
+done
+
diff --git a/build_order b/build_order
new file mode 100644 (file)
index 0000000..b74d89b
--- /dev/null
@@ -0,0 +1,33 @@
+libfm-extra
+menu-cache
+lxmenu-data
+libfm
+lxqt-build-tools
+libqtxdg
+liblxqt
+compton-conf
+libfm-qt
+pcmanfm-qt
+lxqt-qtplugin
+lximage-qt
+lxqt-archiver
+libsysstat
+lxqt-about
+lxqt-config
+lxqt-globalkeys
+lxqt-notificationd
+lxqt-policykit
+lxqt-powermanagement
+lxqt-session
+lxqt-sudo
+lxqt-panel
+lxqt-runner
+lxqt-themes
+qtermwidget
+qterminal
+lxqt-openssh-askpass
+lxqt-admin
+pavucontrol-qt
+screengrab
+qps
+obconf-qt
diff --git a/cmake/cmake b/cmake/cmake
new file mode 100644 (file)
index 0000000..2b0c90b
--- /dev/null
@@ -0,0 +1,15 @@
+mkdir build
+cd build
+  cmake \
+    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_MANDIR=/usr/man \
+    -DMAN_INSTALL_DIR=/usr/man \
+    -DSYSCONF_INSTALL_DIR=/etc \
+    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+    ..
+
diff --git a/cmake/lxqt-policykit b/cmake/lxqt-policykit
new file mode 100644 (file)
index 0000000..bbfd5ea
--- /dev/null
@@ -0,0 +1,16 @@
+mkdir build
+cd build
+  cmake \
+    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_MANDIR=/usr/man \
+    -DMAN_INSTALL_DIR=/usr/man \
+    -DSYSCONF_INSTALL_DIR=/etc \
+    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+    -DPolkitQt-1_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/PolkitQt-1 \
+    ..
+
diff --git a/cmake/qterminal b/cmake/qterminal
new file mode 100644 (file)
index 0000000..301453b
--- /dev/null
@@ -0,0 +1,16 @@
+mkdir build
+cd build
+  cmake \
+    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+    -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_MANDIR=/usr/man \
+    -DMAN_INSTALL_DIR=/usr/man \
+    -DSYSCONF_INSTALL_DIR=/etc \
+    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+    -DUSE_SYSTEM_QXT=0 \
+    ..
+
diff --git a/doinst.sh/compton-conf b/doinst.sh/compton-conf
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lximage-qt b/doinst.sh/lximage-qt
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-about b/doinst.sh/lxqt-about
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-archiver b/doinst.sh/lxqt-archiver
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-config b/doinst.sh/lxqt-config
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-panel b/doinst.sh/lxqt-panel
new file mode 100644 (file)
index 0000000..720d6c2
--- /dev/null
@@ -0,0 +1,23 @@
+config() {
+  NEW="$1"
+  OLD="$(dirname $NEW)/$(basename $NEW .new)"
+  # If there's no config file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/xdg/lxqt/panel.conf.new
+
+if [ -x usr/bin/update-desktop-database ]; then
+  usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+  usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-session b/doinst.sh/lxqt-session
new file mode 100644 (file)
index 0000000..6fa7610
--- /dev/null
@@ -0,0 +1,21 @@
+config() {
+  NEW="$1"
+  OLD="$(dirname $NEW)/$(basename $NEW .new)"
+  # If there's no config file by that name, mv it over:
+  if [ ! -r $OLD ]; then
+    mv $NEW $OLD
+  elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm $NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+if [ -x usr/bin/update-desktop-database ]; then
+  usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+  usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/lxqt-sudo b/doinst.sh/lxqt-sudo
new file mode 100644 (file)
index 0000000..9b940cc
--- /dev/null
@@ -0,0 +1,5 @@
+( cd usr/man/man1 ; rm -rf lxsu.1.gz )
+( cd usr/man/man1 ; rm -rf lxsudo.1.gz )
+( cd usr/man/man1 ; ln -sf lxqt-sudo.1.gz lxsu.1.gz )
+( cd usr/man/man1 ; ln -sf lxqt-sudo.1.gz lxsudo.1.gz )
+
diff --git a/doinst.sh/pcmanfm-qt b/doinst.sh/pcmanfm-qt
new file mode 100644 (file)
index 0000000..d7006c7
--- /dev/null
@@ -0,0 +1,9 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x usr/bin/update-mime-database ]; then
+  /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/qterminal b/doinst.sh/qterminal
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/doinst.sh/screengrab b/doinst.sh/screengrab
new file mode 100644 (file)
index 0000000..e376b59
--- /dev/null
@@ -0,0 +1,5 @@
+
+if [ -x /usr/bin/update-desktop-database ]; then
+  /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/lxqt.SlackBuild b/lxqt.SlackBuild
new file mode 100755 (executable)
index 0000000..e4fc66a
--- /dev/null
@@ -0,0 +1,167 @@
+#!/bin/sh
+# Copyright 2020  Danilo 'danix' Macrì < danix@danix.xyz >
+# 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.
+
+# Adapted from the lxqt modular build from Eric Hameleers <alien@slackware.com>
+
+### Run this script as lxqt.SlackBuild <program> to build the pkg "program"
+
+set -e
+
+# Set initial variables:
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+BUILD_DIR=${BUILD_DIR:-$TMP/lxqt-build}
+
+# some useful functions
+fix_perms() {
+  target_dir=$1
+  [ -z "$target_dir" ] && target_dir='.'
+
+  chown -R root:root $target_dir
+  find $target_dir \
+   \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+   -exec chmod 755 {} \; -o \
+   \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+   -exec chmod 644 {} \;
+}
+
+strip_binaries() {
+  target_dir=$1
+  [ -z "$target_dir" ] && target_dir='.'
+
+  find $target_dir | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+  find $target_dir | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+  find $target_dir | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
+}
+
+process_man_pages() {
+  # Compress and if needed symlink the man pages:
+  if [ -d usr/man ]; then
+    ( cd usr/man
+      for manpagedir in $(find . -type d -name "man*") ; do
+      ( cd $manpagedir
+        for eachpage in $( find . -type l -maxdepth 1) ; do
+          ln -s $( readlink $eachpage ).gz $eachpage.gz
+          rm $eachpage
+        done
+        gzip -9 *.* || { touch ${BUILD_DIR}/${PROGRAM}.failed ; continue ; }
+      )
+      done
+    )
+  fi
+}
+
+process_info_pages() {
+  # Compress info pages and purge "dir" file from the package:
+  if [ -d usr/info ]; then
+    ( cd usr/info
+      rm -f dir
+      gzip -9 *
+    )
+  fi
+}
+
+no_usr_share_doc() {
+  # If there are docs, move them:
+  if [ -d usr/share/doc ]; then
+    mkdir -p usr/doc
+    mv usr/share/doc/* usr/doc
+    rmdir usr/share/doc
+  fi
+}
+
+PROGRAM=$1
+VERSION=${VERSION:-0.15.0}
+PKG="$BUILD_DIR/package-${PROGRAM}"
+
+# Import the build configuration options for as far as they are not already set:
+[ -r ./lxqt.options ] && . ./lxqt.options
+
+# This avoids compiling a version number into LXQT's .la files:
+QTDIR=/usr/lib${LIBDIRSUFFIX}/qt ; export QTDIR
+
+# Reset $PKGARCH to its initial value:
+PKGARCH=$ARCH
+# Perhaps $PKGARCH should be something different:
+if grep -wq "^${PROGRAM}$" ${CWD}/noarch ; then
+  PKGARCH=noarch
+fi 
+
+rm -rf "$PKG" "$TMP/${PROGRAM}-$VERSION"
+
+cd "$TMP"
+cp -R ${CWD}/src/${PROGRAM} $TMP/${PROGRAM}-$VERSION
+cd "${PROGRAM}"-$VERSION
+
+fix_perms
+
+# If any patches are needed, call this script to apply them:
+if [ -r $CWD/patch/${PROGRAM}.patch ]; then
+  . $CWD/patch/${PROGRAM}.patch || exit 1
+fi
+
+# Check autotools builds before continuing with cmake programs
+if [ -r $CWD/autotools/${PROGRAM} ]; then
+  . $CWD/autotools/${PROGRAM}
+else
+  if [ -r $CWD/cmake/${PROGRAM} ]; then
+    . $CWD/cmake/${PROGRAM}
+  else
+    # This is the default configure script:
+    . $CWD/cmake/cmake
+  fi
+fi
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Get rid of zero-length junk files:
+find $PKG/usr/doc/${PROGRAM}-$VERSION -type f -size 0 -exec rm --verbose "{}" \; || { touch ${BUILD_DIR}/${PROGRAM}.failed ; continue ; }
+rmdir --verbose $PKG/usr/doc/${PROGRAM}-$VERSION 2> /dev/null || { touch ${BUILD_DIR}/${PROGRAM}.failed ; continue ; }
+
+# Strip binaries:
+strip_binaries || { touch ${BUILD_DIR}/${PROGRAM}.failed ; continue ; }
+
+# If there's any special post-install things to do, do them:
+if [ -r $CWD/post-install/${PROGRAM}.post-install ]; then
+. $CWD/post-install/${PROGRAM}.post-install
+fi
+
+# If this package requires some doinst.sh material, add it here:
+if [ -r $CWD/doinst.sh/${PROGRAM} ]; then
+mkdir -p $PKG/install
+cat $CWD/doinst.sh/${PROGRAM} \
+  | sed -e "s#usr/lib#usr/lib${LIBDIRSUFFIX}#g" \
+  >> $PKG/install/doinst.sh
+fi
+
+cd $PKG
+process_man_pages
+process_info_pages
+no_usr_share_doc          
+mkdir -p $PKG/install
+if [ -r $CWD/slack-desc/${PROGRAM} ]; then
+  cat $CWD/slack-desc/${PROGRAM} > $PKG/install/slack-desc
+else
+  touch $PKG/install/slack-desc-missing
+fi
+
+/sbin/makepkg -l y -c n "$BUILD_DIR/${PROGRAM}-$VERSION-$PKGARCH-$BUILD$TAG.txz"
diff --git a/lxqt.options b/lxqt.options
new file mode 100644 (file)
index 0000000..e54bcdd
--- /dev/null
@@ -0,0 +1,60 @@
+# Set default version/arch/build.  Source tarballs with a different
+# version will override the default VERSION.  You can override BUILD
+# by creating a file 'packagename' in the build/ directory, containing
+# the desired build number.
+
+# [ -z $VERSION ] && export VERSION=0.15.0
+[ -z $BUILD ] && export BUILD=1
+
+[ -z $TAG ] && export TAG=lxqt
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+  case "$MARCH" in
+    i?86)    export ARCH=i486 ;;
+    armv7hl) export ARCH=$MARCH ;;
+    arm*)    export ARCH=arm ;;
+    # Unless $ARCH is already set, use uname -m for all other archs:
+    *)       export ARCH=$MARCH ;;
+  esac
+fi
+
+[ -z $PKGARCH ] && export PKGARCH=$ARCH
+
+# Use this as CFLAGS and CXXFLAGS:
+if [ -z "$SLKCFLAGS" ]; then
+  if [ "$ARCH" = "i486" ]; then
+    export SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+    export LIBDIRSUFFIX=""
+  elif [ "$ARCH" = "s390" ]; then
+    export SLKCFLAGS="-O2"
+    export LIBDIRSUFFIX=""
+  elif [ "$ARCH" = "x86_64" ]; then
+    export SLKCFLAGS="-O2 -fPIC"
+    export LIBDIRSUFFIX="64"
+  elif [ "$ARCH" = "arm" ]; then
+    export SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+    export LIBDIRSUFFIX=""
+  elif [ "$ARCH" = "armel" ]; then
+    export SLKCFLAGS="-O2 -march=armv4t"
+    export LIBDIRSUFFIX=""
+  elif [ "$ARCH" = "armv7hl" ]; then
+    export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+    export LIBDIRSUFFIX=""
+  else
+    export SLKCFLAGS="-O2"
+    export LIBDIRSUFFIX=""
+  fi
+fi
+
+# Use this to set the number of parallel make jobs:
+if [ -z "$NUMJOBS" ]; then
+  export NUMJOBS="-j5"
+fi
+
+case "$ARCH" in
+    arm*)    export TARGET=$ARCH-slackware-linux-gnueabi ;;
+    *)       export TARGET=$ARCH-slackware-linux ;;
+esac
+
diff --git a/modules.txt b/modules.txt
new file mode 100644 (file)
index 0000000..c3bf3f5
--- /dev/null
@@ -0,0 +1,32 @@
+lxqt-themes
+screengrab
+lxqt-archiver
+lxqt-globalkeys
+libfm
+obconf-qt
+pavucontrol-qt
+lxqt-runner
+qps
+lxmenu-data
+menu-cache
+lxqt-qtplugin
+compton-conf
+libsysstat
+lximage-qt
+libqtxdg
+lxqt-config
+lxqt-panel
+lxqt-notificationd
+lxqt-powermanagement
+lxqt-sudo
+lxqt-about
+pcmanfm-qt
+qtermwidget
+lxqt-openssh-askpass
+qterminal
+lxqt-admin
+lxqt-policykit
+lxqt-session
+lxqt-build-tools
+libfm-qt
+liblxqt
diff --git a/noarch b/noarch
new file mode 100644 (file)
index 0000000..302f8eb
--- /dev/null
+++ b/noarch
@@ -0,0 +1,5 @@
+# List packages with an $ARCH of "noarch" (i.e. packages
+# that contain no binaries) here:
+
+lxqt-build-tools
+lxqt-themes
diff --git a/post-install/lxqt-session.post-install b/post-install/lxqt-session.post-install
new file mode 100644 (file)
index 0000000..00e349b
--- /dev/null
@@ -0,0 +1,6 @@
+# Use ck-launch-session in runlevel 3,
+# to start and attach a ConsoleKit session to the X session:
+mkdir -p $PKG/etc/X11/xinit
+cat $CWD/post-install/lxqt-session/xinit/xinitrc.lxqt > $PKG/etc/X11/xinit/xinitrc.lxqt
+chmod 0755 $PKG/etc/X11/xinit/xinitrc.lxqt
+
diff --git a/post-install/lxqt-session/xinit/xinitrc.lxqt b/post-install/lxqt-session/xinit/xinitrc.lxqt
new file mode 100644 (file)
index 0000000..d83c2db
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/etc/X11/xinit/.Xresources
+sysmodmap=/etc/X11/xinit/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+    xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+    xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+    xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+    xmodmap $usermodmap
+fi
+
+# Start the window manager:
+if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
+    exec ck-launch-session dbus-launch --exit-with-session startlxqt
+else
+    exec startlxqt
+fi
diff --git a/post-install/lxqt-sudo.post-install b/post-install/lxqt-sudo.post-install
new file mode 100644 (file)
index 0000000..2610806
--- /dev/null
@@ -0,0 +1,5 @@
+echo "REMOVING MAN PAGES LINKS"
+rm -rf $PKG/usr/man/man1/lxsu.1.gz
+rm -rf $PKG/usr/man/man1/lxsudo.1.gz
+echo "REMOVED MAN PAGES LINKS"
+
diff --git a/prereq b/prereq
new file mode 100644 (file)
index 0000000..7dca14d
--- /dev/null
+++ b/prereq
@@ -0,0 +1,52 @@
+#! /bin/bash
+# This is a list of dependency packages as listed on the lxqt wiki
+# and adapted to Slackware package naming.
+# This file is sourced by the CHECK_PREREQ.sh script in order to give suggestions
+# in case some packages are not found.
+#
+# The list of suggestions is based on slackware64-current as of 25/04/2020 for
+# official packages, alienbob's ktown repository for KDE5 specific packages and
+# sbopkg for all the rest.
+
+### NOTICE: gtk+2 and gtk+3 won't be recognized by CHECK_PREREQ.sh as installed
+###            even if they are, but this isn't a problem. I'll fix it later.
+
+declare -A deps
+
+deps+=(
+       # buildenv
+       ["cmake"]="cmake-3.17.1-x86_64-1"
+       ["git"]="git-2.26.2-x86_64-1"
+       # Qt5
+       ["qt5"]="qt5-5.13.2-x86_64-3"
+       # KDE5
+       ["kguiaddons"]="kguiaddons-5.68.0-x86_64-1alien"
+       ["libkscreen"]="libkscreen2-5.18.3-x86_64-1alien"
+       ["kidletime"]="kidletime-5.68.0-x86_64-1alien"
+       ["kwindowsystem"]="kwindowsystem-5.68.0-x86_64-1alien"
+       ["solid"]="solid-5.68.0-x86_64-1alien"
+       # Misc
+       ["libstatgrab"]="libstatgrab-0.92-x86_64-1danix"
+       ["alsa-lib"]="alsa-lib-1.2.2-x86_64-1"
+       ["pulseaudio"]="pulseaudio-13.0-x86_64-2"
+       ["lm_sensors"]="lm_sensors-3.6.0-x86_64-1"
+       ["libconfig"]="libconfig-1.7.2-x86_64-1danix"
+       ["muparser"]="muParser-2.2.5-x86_64-1danix"
+       ["upower"]="upower-0.9.23-x86_64-4"
+       ["polkit-qt5"]="polkit-qt5-1-0.113.0-x86_64-1alien"
+       ["sudo"]="sudo-1.8.31p1-x86_64-1_pam"
+       ["xmessage"]="xmessage-1.0.5-x86_64-2"
+       ["libXv"]="libXv-1.0.11-x86_64-2"
+       ["libxcursor"]="libXcursor-1.2.0-x86_64-1"
+       ["libxcomposite"]="libXcomposite-0.4.5-x86_64-1"
+       ["libxcb"]="libxcb-1.14-x86_64-1"
+       ["libxkbcommon"]="libxkbcommon-0.10.0-x86_64-2"
+       ["libdbusmenu-qt5"]="libdbusmenu-qt5-0.9.3+16.04.20160218-x86_64-1alien"
+       ["gtk+2"]="gtk+2-2.24.32-x86_64-3"
+       ["gtk+3"]="gtk+3-3.24.18-x86_64-2"
+       ["hicolor-icon-theme"]="hicolor-icon-theme-0.17-noarch-2"
+       ["xdg-utils"]="xdg-utils-1.1.3-noarch-2"
+       ["xdg-user-dirs"]="xdg-user-dirs-0.17-x86_64-1"
+       ["oxygen-icons"]="oxygen-icons5-5.68.0-noarch-1alien"
+       ["openbox"]="openbox-3.6.1-x86_64-1danix"
+)
diff --git a/sddm/themes/lxqt/Main.qml b/sddm/themes/lxqt/Main.qml
new file mode 100644 (file)
index 0000000..53e8fe8
--- /dev/null
@@ -0,0 +1,244 @@
+/*
+ * Copyright 2016  Eric Hameleers, Eindhoven, NL <alien@slackware.com>
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose with or without fee is hereby granted, provided that
+ * the above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ * CONTRIBUTORS 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.
+ */
+
+import QtQuick 2.2
+import SddmComponents 2.0
+
+Rectangle {
+    id: container
+    width: 1024
+    height: 768
+
+    property int sessionIndex: session.index
+
+    TextConstants { id: textConstants }
+
+    Connections {
+        target: sddm
+        onLoginSucceeded: {
+        }
+
+        onLoginFailed: {
+            txtMessage.text = textConstants.loginFailed
+            listView.currentItem.password.text = ""
+        }
+    }
+
+    Repeater {
+        model: screenModel
+        Background {
+            x: geometry.x; y: geometry.y; width: geometry.width; height:geometry.height
+            source: config.background
+            fillMode: Image.PreserveAspectCrop
+            onStatusChanged: {
+                if (status == Image.Error && source != config.defaultBackground) {
+                    source = config.defaultBackground
+                }
+            }
+        }
+    }
+
+    Rectangle {
+        property variant geometry: screenModel.geometry(screenModel.primary)
+        x: geometry.x; y: geometry.y; width: geometry.width; height: geometry.height
+        color: "transparent"
+
+        Component {
+            id: userDelegate
+
+            PictureBox {
+                anchors.verticalCenter: parent.verticalCenter
+                name: (model.realName === "") ? model.name : model.realName
+                icon: model.icon
+
+                focus: (listView.currentIndex === index) ? true : false
+                state: (listView.currentIndex === index) ? "active" : ""
+
+                onLogin: sddm.login(model.name, password, sessionIndex);
+
+                MouseArea {
+                    anchors.fill: parent
+                    hoverEnabled: true
+                    onEntered: listView.currentIndex = index
+                    onClicked: listView.focus = true
+                }
+            }
+        }
+
+        Row {
+            anchors.fill: parent
+
+                Text {
+                    id: txtMessage
+                    anchors.top: usersContainer.bottom;
+                    anchors.margins: 20
+                    anchors.horizontalCenter: parent.horizontalCenter
+                    color: "white"
+                    text: textConstants.promptSelectUser
+                    font.pixelSize: 16
+                    font.family: "sans"
+                }
+
+               Item {
+                       id: usersContainer
+                       width: parent.width; height: 300
+                       anchors.verticalCenter: parent.verticalCenter
+
+                    ImageButton {
+                        id: prevUser
+                        anchors.left: parent.left
+                        anchors.verticalCenter: parent.verticalCenter
+                        anchors.margins: 10
+                        source: "angle-left.png"
+                        onClicked: listView.decrementCurrentIndex()
+
+                        KeyNavigation.backtab: btnShutdown; KeyNavigation.tab: listView
+                    }
+
+
+
+                    ListView {
+                        id: listView
+                        height: parent.height
+                        anchors.left: prevUser.right; anchors.right: nextUser.left
+                        anchors.verticalCenter: parent.verticalCenter
+                        anchors.margins: 10
+
+                        clip: true
+                        focus: true
+
+                        spacing: 5
+
+                        model: userModel
+                        delegate: userDelegate
+                        orientation: ListView.Horizontal
+                        currentIndex: userModel.lastIndex
+
+                        KeyNavigation.backtab: prevUser; KeyNavigation.tab: nextUser
+                    }
+
+                    ImageButton {
+                        id: nextUser
+                        anchors.right: parent.right
+                        anchors.verticalCenter: parent.verticalCenter
+                        anchors.margins: 10
+                        source: "angle-right.png"
+                        onClicked: listView.incrementCurrentIndex()
+                        KeyNavigation.backtab: listView; KeyNavigation.tab: session
+                    }
+                }
+
+            }
+        }
+
+        Rectangle {
+            id: actionBar
+            anchors.top: parent.top;
+            anchors.horizontalCenter: parent.horizontalCenter
+            width: parent.width; height: 64
+            color: "#44ffffff"
+
+            Row {
+                anchors.left: parent.left
+                anchors.margins: 5
+                height: parent.height
+                spacing: 5
+
+                Text {
+                       height: parent.height
+                       anchors.verticalCenter: parent.verticalCenter
+                       text: textConstants.session
+                       font.pixelSize: 14
+                       color: "white"
+                       verticalAlignment: Text.AlignVCenter
+                }
+
+                ComboBox {
+                       id: session
+                       width: 245
+                       anchors.verticalCenter: parent.verticalCenter
+                       arrowIcon: "angle-down.png"
+                       model: sessionModel
+                       index: sessionModel.lastIndex
+                       font.pixelSize: 14
+                       color: "#44ffffff"
+                       KeyNavigation.backtab: nextUser; KeyNavigation.tab: layoutBox
+                }
+
+                Text {
+                    height: parent.height
+                    anchors.verticalCenter: parent.verticalCenter
+                    text: textConstants.layout
+                    font.pixelSize: 14
+                    color: "white"
+                    verticalAlignment: Text.AlignVCenter
+                }
+
+                LayoutBox {
+                    id: layoutBox
+                    width: 90
+                    anchors.verticalCenter: parent.verticalCenter
+                    font.pixelSize: 14
+                    arrowIcon: "angle-down.png"
+                    KeyNavigation.backtab: session; KeyNavigation.tab: btnShutdown
+                }
+            }
+
+            Row {
+                height: parent.height
+                anchors.right: parent.right
+                anchors.margins: 5
+                spacing: 5
+
+                       ImageButton {
+                       id: btnReboot
+                       height: parent.height
+                       source: "reboot.png"
+                       visible: sddm.canReboot
+                       onClicked: sddm.reboot()
+                       KeyNavigation.backtab: layoutBox; KeyNavigation.tab: btnShutdown
+                       }
+
+                       ImageButton {
+                       id: btnShutdown
+                       height: parent.height
+                       source: "shutdown.png"
+                       visible: sddm.canPowerOff
+                       onClicked: sddm.powerOff()
+                       KeyNavigation.backtab: btnReboot; KeyNavigation.tab: prevUser
+                       }
+       Clock {
+               id: clock
+               anchors.margins: 5
+               anchors.top: parent.top; anchors.right: parent.right
+               color: "white"
+               timeFont.family: "sans"
+               timeFont.bold: true
+               timeFont.pixelSize: 28
+               dateFont.pixelSize: 12            
+               }
+       }
+
+
+    }
+}
diff --git a/sddm/themes/lxqt/angle-down.png b/sddm/themes/lxqt/angle-down.png
new file mode 100644 (file)
index 0000000..548ebc6
Binary files /dev/null and b/sddm/themes/lxqt/angle-down.png differ
diff --git a/sddm/themes/lxqt/angle-left.png b/sddm/themes/lxqt/angle-left.png
new file mode 100644 (file)
index 0000000..f57eadd
Binary files /dev/null and b/sddm/themes/lxqt/angle-left.png differ
diff --git a/sddm/themes/lxqt/angle-right.png b/sddm/themes/lxqt/angle-right.png
new file mode 100644 (file)
index 0000000..675702b
Binary files /dev/null and b/sddm/themes/lxqt/angle-right.png differ
diff --git a/sddm/themes/lxqt/metadata.desktop b/sddm/themes/lxqt/metadata.desktop
new file mode 100644 (file)
index 0000000..f6376e5
--- /dev/null
@@ -0,0 +1,15 @@
+[SddmGreeterTheme]
+Name=slackware-chooser
+Description=Slackware Chooser Theme
+Author=Lubuntu Artwork Team
+Copyright=(c) 2015, Lubuntu Artwork Theme
+License=CC-BY-SA
+Type=sddm-theme
+Version=0.1
+Website=https://github.com/sddm/sddm
+Screenshot=background.jpg
+MainScript=Main.qml
+ConfigFile=theme.conf
+TranslationsDirectory=translations
+Theme-Id=slackware-chooser
+Theme-API=2.0
diff --git a/sddm/themes/lxqt/reboot.png b/sddm/themes/lxqt/reboot.png
new file mode 100644 (file)
index 0000000..e05261b
Binary files /dev/null and b/sddm/themes/lxqt/reboot.png differ
diff --git a/sddm/themes/lxqt/shutdown.png b/sddm/themes/lxqt/shutdown.png
new file mode 100644 (file)
index 0000000..ce1ed81
Binary files /dev/null and b/sddm/themes/lxqt/shutdown.png differ
diff --git a/sddm/themes/lxqt/theme.conf b/sddm/themes/lxqt/theme.conf
new file mode 100644 (file)
index 0000000..e3576a9
--- /dev/null
@@ -0,0 +1,2 @@
+[General]
+background=wall.png
diff --git a/sddm/themes/lxqt/user.png b/sddm/themes/lxqt/user.png
new file mode 100644 (file)
index 0000000..ed788ea
Binary files /dev/null and b/sddm/themes/lxqt/user.png differ
diff --git a/sddm/themes/lxqt/user.svg b/sddm/themes/lxqt/user.svg
new file mode 100644 (file)
index 0000000..47772c3
--- /dev/null
@@ -0,0 +1,505 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   viewBox="0 0 48 48"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   width="100%"
+   height="100%"
+   sodipodi:docname="system-users.svg"
+   inkscape:export-filename="/home/raedwulf/lubuntu-chooser/system-users.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata51">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1301"
+     inkscape:window-height="744"
+     id="namedview49"
+     showgrid="true"
+     inkscape:zoom="13.369556"
+     inkscape:cx="31.211966"
+     inkscape:cy="24.419007"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2"
+     inkscape:snap-bbox="true"
+     inkscape:snap-to-guides="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3259" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient4161">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop4163" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop4165" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4150">
+      <stop
+         id="stop4152"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop4154"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4041">
+      <stop
+         style="stop-color:white;stop-opacity:0.50196081;"
+         offset="0"
+         id="stop4043" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop4045" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4031">
+      <stop
+         style="stop-color:#003b52;stop-opacity:1;"
+         offset="0"
+         id="stop4033" />
+      <stop
+         style="stop-color:#57b2d9;stop-opacity:1"
+         offset="1"
+         id="stop4035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4023">
+      <stop
+         id="stop4025"
+         offset="0"
+         style="stop-color:#d06200;stop-opacity:1" />
+      <stop
+         id="stop4027"
+         offset="1"
+         style="stop-color:#ffd201;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3959">
+      <stop
+         id="stop3961"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop3963"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3939">
+      <stop
+         style="stop-color:white;stop-opacity:1;"
+         offset="0"
+         id="stop3941" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop3943" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4141">
+      <stop
+         style="stop-color:#ffc591;stop-opacity:1;"
+         offset="0"
+         id="stop4143" />
+      <stop
+         id="stop4029"
+         offset="0.5"
+         style="stop-color:#ffecdc;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffc591;stop-opacity:1;"
+         offset="1"
+         id="stop4145" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5048-8">
+      <stop
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0"
+         id="stop5050-4" />
+      <stop
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:1"
+         id="stop5056-7" />
+      <stop
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0"
+         id="stop5052-0-1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5060-29">
+      <stop
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1"
+         id="stop5062-9" />
+      <stop
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0"
+         id="stop5064-08" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060-29"
+       id="radialGradient3579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.05931759,0,0,0.02900085,2.6568537,28.953157)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048-8"
+       id="linearGradient3581"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.05931759,0,0,0.02900085,2.64518,28.953157)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060-29"
+       id="radialGradient3583"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.05931759,0,0,0.02900085,45.511657,28.953157)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4141"
+       id="linearGradient4147"
+       x1="-25.839998"
+       y1="5.2173915"
+       x2="-25.839998"
+       y2="24.782608"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0869564,0,0,1.0000001,11.086952,9.0000007)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3939"
+       id="linearGradient3945"
+       x1="20"
+       y1="4"
+       x2="21"
+       y2="9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1096041,0,0,1,-2.5344579,0)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3939"
+       id="linearGradient3949"
+       gradientUnits="userSpaceOnUse"
+       x1="15.90258"
+       y1="4.7408171"
+       x2="16.85387"
+       y2="7.7040825"
+       gradientTransform="matrix(1.2581432,0,0,1.3498621,-12.614004,19.600551)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3939"
+       id="linearGradient3953"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.2581432,0,0,1.3498621,60.614004,19.600551)"
+       x1="15.90258"
+       y1="4.7408171"
+       x2="16.85387"
+       y2="7.7040825" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3959"
+       id="linearGradient3957"
+       gradientUnits="userSpaceOnUse"
+       x1="17"
+       y1="5"
+       x2="21"
+       y2="10"
+       gradientTransform="matrix(-1.0024557,0,0,-0.93977642,48.841465,29.759106)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060-29"
+       id="radialGradient3975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.06214224,0,0,0.02900085,1.6365015,28.953157)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048-8"
+       id="linearGradient3977"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.06214224,0,0,0.02900085,1.6242719,28.953157)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060-29"
+       id="radialGradient3979"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.06214224,0,0,0.02900085,46.53201,28.953157)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4023"
+       id="linearGradient4021"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.090909,0,0,1,-2.1818182,2e-6)"
+       x1="23"
+       y1="11.999998"
+       x2="23"
+       y2="5.9999981" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4031"
+       id="linearGradient4037"
+       x1="21"
+       y1="44"
+       x2="21"
+       y2="30"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4041"
+       id="linearGradient4047"
+       x1="22"
+       y1="33"
+       x2="25"
+       y2="33"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4053-8">
+      <stop
+         id="stop4055-5"
+         offset="0"
+         style="stop-color:#0cbaff;stop-opacity:0.59230769;" />
+      <stop
+         id="stop4057-4"
+         offset="1"
+         style="stop-color:#14bbff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4161"
+       id="radialGradient4169"
+       cx="10"
+       cy="37.333332"
+       fx="10"
+       fy="37.333332"
+       r="2.5"
+       gradientTransform="matrix(1.6,0,0,3.2,-6,-80.8)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4150"
+       id="radialGradient4186"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.4,0,0,3.2,13.8,-80.8)"
+       cx="-37"
+       cy="37.666668"
+       fx="-37"
+       fy="37.666668"
+       r="2.5" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4053-8"
+       id="linearGradient4188"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.68417419,0,0,0.97619038,7.6053905,-1.440474)"
+       x1="21"
+       y1="44"
+       x2="21"
+       y2="32.207317" />
+  </defs>
+  <g
+     id="g1017-7"
+     transform="matrix(0.96748515,0,0,0.85190206,0.6988449,8.2763918)"
+     style="stroke:none">
+    <path
+       inkscape:connector-curvature="0"
+       style="opacity:0.66000001;fill:url(#radialGradient3579);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible"
+       id="path5058-0"
+       d="m 38.405212,39.586499 c 0,0 0,7.042675 0,7.042675 3.054709,0.01326 7.3848,-1.577906 7.384798,-3.52179 0,-1.943885 -3.408825,-3.520884 -7.384798,-3.520885 z" />
+    <rect
+       style="opacity:0.66000001;fill:url(#linearGradient3581);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible"
+       id="rect4173-6"
+       y="39.58625"
+       x="9.7632904"
+       height="7.0430632"
+       width="28.64192" />
+    <path
+       inkscape:connector-curvature="0"
+       style="opacity:0.66000001;fill:url(#radialGradient3583);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible"
+       id="path5018-7"
+       d="m 9.7632911,39.586499 c 0,0 0,7.042675 0,7.042675 -3.0547098,0.01326 -7.3847997,-1.577906 -7.3847997,-3.52179 0,-1.943885 3.408825,-3.520884 7.3847997,-3.520885 z" />
+  </g>
+  <g
+     style="font-size:24.41373444px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;font-family:Century Gothic;-inkscape-font-specification:Century Gothic Bold"
+     id="text3835"
+     transform="translate(-382.29915,-954.63472)" />
+  <path
+     style="color:black;fill:url(#linearGradient4037);fill-opacity:1;fill-rule:nonzero;stroke:#224354;stroke-width:1;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 11.485393,23.5 c -4.4239077,0 -7.9853927,3.568 -7.9853927,8 l 0.074863,9.999998 c 2e-7,1.662004 1.3355571,3.000004 2.9945224,3.000004 l 34.9360913,0 c 1.658966,0 2.994523,-1.338 2.994523,-2.999999 L 44.42514,31.500004 C 44.42514,27.068 40.863656,23.5 36.439749,23.5 z"
+     id="rect3816"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="sccssccss" />
+  <rect
+     style="color:black;fill:url(#linearGradient4188);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     id="rect4104"
+     width="28"
+     height="15"
+     x="10"
+     y="29" />
+  <path
+     style="color:black;fill:url(#linearGradient3949);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="M 12.205729,25 C 7.4019098,25 5,27.454295 5,32.362885 11.407326,32.362885 16.983228,25 12.205729,25 z"
+     id="path3947"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccc" />
+  <path
+     sodipodi:nodetypes="cccc"
+     inkscape:connector-curvature="0"
+     id="path4137"
+     d="m 17.5,27.5 13,0 -6.5,12 z"
+     style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#224354;stroke-width:1;stroke-linejoin:miter;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <path
+     sodipodi:nodetypes="ccc"
+     inkscape:connector-curvature="0"
+     id="path3951"
+     d="M 35.794271,25 C 40.59809,25 43,27.454295 43,32.362885 36.592674,32.362885 31.016772,25 35.794271,25 z"
+     style="color:black;fill:url(#linearGradient3953);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <g
+     style="stroke:none"
+     transform="matrix(0.43976594,0,0,0.85190209,13.408568,-8.7236096)"
+     id="g3967">
+    <path
+       d="m 39.087163,39.586499 c 0,0 0,7.042675 0,7.042675 3.200171,0.01326 7.736457,-1.577906 7.736455,-3.52179 0,-1.943885 -3.57115,-3.520884 -7.736455,-3.520885 z"
+       id="path3969"
+       style="opacity:0.66000001;fill:url(#radialGradient3975);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible"
+       inkscape:connector-curvature="0" />
+    <rect
+       width="30.005821"
+       height="7.0430632"
+       x="9.0813398"
+       y="39.58625"
+       id="rect3971"
+       style="opacity:0.66000001;fill:url(#linearGradient3977);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible" />
+    <path
+       d="m 9.0813406,39.586499 c 0,0 0,7.042675 0,7.042675 -3.2001721,0.01326 -7.7364568,-1.577906 -7.7364568,-3.52179 0,-1.943885 3.57115,-3.520884 7.7364568,-3.520885 z"
+       id="path3973"
+       style="opacity:0.66000001;fill:url(#radialGradient3979);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:104.96237946;marker:none;visibility:visible;display:inline;overflow:visible"
+       inkscape:connector-curvature="0" />
+  </g>
+  <rect
+     ry="6.52174"
+     y="11.5"
+     x="-27.5"
+     height="25"
+     width="24.999998"
+     id="rect3805"
+     style="color:black;fill:url(#linearGradient4147);fill-opacity:1;fill-rule:nonzero;stroke:#804e00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     transform="matrix(0,-1,1,0,0,0)" />
+  <path
+     style="color:black;fill:url(#linearGradient4021);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 19,3 c -4,0 -7,2.000002 -7,6.000002 0,5 20.727272,5 20.727272,-2 0,4 3.272728,6 3.272728,2 C 36,5.000002 33,3 29,3 z"
+     id="rect3850"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="scccss" />
+  <path
+     style="color:black;fill:white;fill-opacity:1;fill-rule:nonzero;stroke:#224354;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 24,44.5 0,-6"
+     id="path3868"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cc" />
+  <path
+     sodipodi:nodetypes="sccs"
+     inkscape:connector-curvature="0"
+     id="path3935"
+     d="M 19.355005,4 C 15.118335,4 13,5.818182 13,9.454546 27.424854,16 36.559373,4 29.644062,4 z"
+     style="color:black;fill:url(#linearGradient3945);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <path
+     style="color:black;fill:url(#linearGradient3957);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 29.065748,26 c 3.827558,0 5.741336,-1.708686 5.741336,-5.126055 0,-3.939573 1.112327,-8.713619 -2.00491,-6.151262 C 29.684936,17.28504 17.894864,26 21.775161,26 z"
+     id="path3955"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="scscs" />
+  <path
+     style="color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     d="m 22,28 1,2 -1.513864,4 L 24,39 26.486136,34 25,30 26,28 z"
+     id="path3863"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cccccccc" />
+  <path
+     sodipodi:nodetypes="cccccccc"
+     inkscape:connector-curvature="0"
+     id="path4039"
+     d="m 23.107614,28 1,2 L 22,35 24,39 25.6875,34 25,30 25.357614,28 z"
+     style="color:black;fill:url(#linearGradient4047);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <rect
+     style="color:black;fill:url(#radialGradient4186);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     id="rect4100"
+     width="7"
+     height="16"
+     x="-38"
+     y="28"
+     transform="scale(-1,1)" />
+  <rect
+     y="28"
+     x="10"
+     height="16"
+     width="8"
+     id="rect4156"
+     style="color:black;fill:url(#radialGradient4169);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+</svg>
diff --git a/sddm/themes/lxqt/wall.png b/sddm/themes/lxqt/wall.png
new file mode 100644 (file)
index 0000000..5f14454
Binary files /dev/null and b/sddm/themes/lxqt/wall.png differ
diff --git a/slack-desc/CHECK_SLACKDESC.sh b/slack-desc/CHECK_SLACKDESC.sh
new file mode 100644 (file)
index 0000000..ec8d7df
--- /dev/null
@@ -0,0 +1,24 @@
+#! /bin/bash
+
+CWD=$(pwd)
+
+for line in $(cat ../modules.txt); do
+       if [[ ! -f ${CWD}/$line ]]; then
+               # we don't have a slack-desc.
+               echo "Short description for $line:"
+               read desc
+               export DESCR="$desc"
+               ${CWD}/make_slack-desc.sh $line
+               unset DESCR
+       fi
+done
+
+# let's delete all older modules
+FILES=$(/bin/ls $CWD)
+for f in $FILES; do
+       if [ "$(grep -Poc $f ../modules.txt)" -lt 1 ]; then
+               if [[ $f != "CHECK_SLACKDESC.sh" && $f != "make_slack-desc.sh" ]]; then
+                       rm $f
+               fi
+       fi      
+done
diff --git a/slack-desc/compton-conf b/slack-desc/compton-conf
new file mode 100644 (file)
index 0000000..b2ba8b9
--- /dev/null
@@ -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 ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+compton-conf: compton-conf (configurator for Compton X composite manager)
+compton-conf:
+compton-conf: GUI configuration tool for compton X composite manager.
+compton-conf:
+compton-conf:
+compton-conf:
+compton-conf:
+compton-conf:
+compton-conf:
+compton-conf: Home page: http://lxqt.org
+compton-conf:
diff --git a/slack-desc/libfm b/slack-desc/libfm
new file mode 100644 (file)
index 0000000..baf200c
--- /dev/null
@@ -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 ':'.
+
+     |-----handy-ruler------------------------------------------------------|
+libfm: libfm (pcmanfm core libraries)
+libfm:
+libfm: A glib/gio based library to develop file managers.
+libfm: Does not include GTK components.
+libfm:
+libfm:
+libfm:
+libfm:
+libfm:
+libfm: Home page: http://lxqt.org
+libfm:
diff --git a/slack-desc/libfm-qt b/slack-desc/libfm-qt
new file mode 100644 (file)
index 0000000..45aa920
--- /dev/null
@@ -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 ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+libfm-qt: libfm-qt (pcmanfm core libraries)
+libfm-qt:
+libfm-qt: A qt5 based library to develop file managers.
+libfm-qt:
+libfm-qt:
+libfm-qt:
+libfm-qt:
+libfm-qt:
+libfm-qt:
+libfm-qt: Home page: http://lxqt.org
+libfm-qt:
diff --git a/slack-desc/liblxqt b/slack-desc/liblxqt
new file mode 100644 (file)
index 0000000..9fd2bb7
--- /dev/null
@@ -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 ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+liblxqt: liblxqt (core utility library for LXQt)
+liblxqt:
+liblxqt: Core utility library for all LXQt components.
+liblxqt:
+liblxqt:
+liblxqt:
+liblxqt:
+liblxqt:
+liblxqt:
+liblxqt: Home page: http://lxqt.org
+liblxqt:
diff --git a/slack-desc/libqtxdg b/slack-desc/libqtxdg
new file mode 100644 (file)
index 0000000..576101b
--- /dev/null
@@ -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 ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+libqtxdg: libqtxdg (Qt implementation of freedesktop.org xdg specs)
+libqtxdg:
+libqtxdg: Qt implementation of freedesktop.org xdg specs.
+libqtxdg:
+libqtxdg:
+libqtxdg:
+libqtxdg:
+libqtxdg:
+libqtxdg:
+libqtxdg: Home page: http://lxqt.org
+libqtxdg:
diff --git a/slack-desc/libsysstat b/slack-desc/libsysstat
new file mode 100644 (file)
index 0000000..e7486ce
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+libsysstat: libsysstat (query system info and statistics)
+libsysstat:
+libsysstat: Library used to query system info and statistics.
+libsysstat:
+libsysstat:
+libsysstat:
+libsysstat:
+libsysstat:
+libsysstat:
+libsysstat: Home page: http://lxqt.org
+libsysstat:
diff --git a/slack-desc/lximage-qt b/slack-desc/lximage-qt
new file mode 100644 (file)
index 0000000..020ade7
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+lximage-qt: lximage-qt (Qt based image viewer)
+lximage-qt:
+lximage-qt: A simple, fast, and lightweight image viewer with Qt GUI.
+lximage-qt:
+lximage-qt:
+lximage-qt:
+lximage-qt:
+lximage-qt:
+lximage-qt:
+lximage-qt: Home page: http://lxqt.org
+lximage-qt:
diff --git a/slack-desc/lxmenu-data b/slack-desc/lxmenu-data
new file mode 100644 (file)
index 0000000..4fb5c29
--- /dev/null
@@ -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 ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+lxmenu-data: lxmenu-data (desktop menus for LXQt)
+lxmenu-data:
+lxmenu-data: Desktop menus for LXQt.
+lxmenu-data:
+lxmenu-data:
+lxmenu-data:
+lxmenu-data:
+lxmenu-data:
+lxmenu-data:
+lxmenu-data: Home page: http://lxqt.org
+lxmenu-data:
diff --git a/slack-desc/lxqt-about b/slack-desc/lxqt-about
new file mode 100644 (file)
index 0000000..1bf9d93
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+lxqt-about: lxqt-about (About dialog of LXQt)
+lxqt-about:
+lxqt-about: About dialog of LXDE-Qt.
+lxqt-about:
+lxqt-about:
+lxqt-about:
+lxqt-about:
+lxqt-about:
+lxqt-about:
+lxqt-about: Home page: http://lxqt.org
+lxqt-about:
diff --git a/slack-desc/lxqt-admin b/slack-desc/lxqt-admin
new file mode 100644 (file)
index 0000000..b0e6271
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+lxqt-admin: lxqt-admin (LXQt system administration)
+lxqt-admin:
+lxqt-admin: LXQt system administration
+lxqt-admin:
+lxqt-admin:
+lxqt-admin:
+lxqt-admin:
+lxqt-admin:
+lxqt-admin:
+lxqt-admin: Home page: http://lxqt.org
+lxqt-admin:
diff --git a/slack-desc/lxqt-archiver b/slack-desc/lxqt-archiver
new file mode 100644 (file)
index 0000000..98fea6f
--- /dev/null
@@ -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 ':'.
+
+             |-----handy-ruler------------------------------------------------------|
+lxqt-archiver: lxqt-archiver
+lxqt-archiver: Archive utility for LXQT
+lxqt-archiver:
+lxqt-archiver:
+lxqt-archiver:
+lxqt-archiver:
+lxqt-archiver: This package is part of LXQT 0.15.0
+lxqt-archiver: Mantainer: danix < danix@danix.xyz >
+lxqt-archiver:
+lxqt-archiver: Home page: https://github.com/lxqt/lxqt
+lxqt-archiver:
diff --git a/slack-desc/lxqt-build-tools b/slack-desc/lxqt-build-tools
new file mode 100644 (file)
index 0000000..c75ad01
--- /dev/null
@@ -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 ':'.
+
+                |-----handy-ruler------------------------------------------------------|
+lxqt-build-tools: lxqt-build-tools
+lxqt-build-tools: Build tools for LXQT
+lxqt-build-tools:
+lxqt-build-tools:
+lxqt-build-tools:
+lxqt-build-tools:
+lxqt-build-tools: This package is part of LXQT 0.15.0
+lxqt-build-tools: Mantainer: danix < danix@danix.xyz >
+lxqt-build-tools:
+lxqt-build-tools: Home page: https://github.com/lxqt/lxqt
+lxqt-build-tools:
diff --git a/slack-desc/lxqt-config b/slack-desc/lxqt-config
new file mode 100644 (file)
index 0000000..f0d600a
--- /dev/null
@@ -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 ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+lxqt-config: lxqt-config (LXQt system settings center)
+lxqt-config:
+lxqt-config: LXQt system settings center.
+lxqt-config:
+lxqt-config:
+lxqt-config:
+lxqt-config:
+lxqt-config:
+lxqt-config:
+lxqt-config: Home page: http://lxqt.org
+lxqt-config:
diff --git a/slack-desc/lxqt-globalkeys b/slack-desc/lxqt-globalkeys
new file mode 100644 (file)
index 0000000..9d852d9
--- /dev/null
@@ -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 ':'.
+
+               |-----handy-ruler------------------------------------------------------|
+lxqt-globalkeys: lxqt-globalkeys (register global keyboard shortcuts)
+lxqt-globalkeys:
+lxqt-globalkeys: Daemon used to register global keyboard shortcuts.
+lxqt-globalkeys:
+lxqt-globalkeys:
+lxqt-globalkeys:
+lxqt-globalkeys:
+lxqt-globalkeys:
+lxqt-globalkeys:
+lxqt-globalkeys: Home page: http://lxqt.org
+lxqt-globalkeys:
diff --git a/slack-desc/lxqt-notificationd b/slack-desc/lxqt-notificationd
new file mode 100644 (file)
index 0000000..a11bd0d
--- /dev/null
@@ -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 ':'.
+
+                  |-----handy-ruler------------------------------------------------------|
+lxqt-notificationd: lxqt-notificationd (notification daemon)
+lxqt-notificationd:
+lxqt-notificationd: Notification daemon for LXQt.
+lxqt-notificationd:
+lxqt-notificationd:
+lxqt-notificationd:
+lxqt-notificationd:
+lxqt-notificationd:
+lxqt-notificationd:
+lxqt-notificationd: Home page: http://lxqt.org
+lxqt-notificationd:
diff --git a/slack-desc/lxqt-openssh-askpass b/slack-desc/lxqt-openssh-askpass
new file mode 100644 (file)
index 0000000..24c675d
--- /dev/null
@@ -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 ':'.
+
+                    |-----handy-ruler------------------------------------------------------|
+lxqt-openssh-askpass: lxqt-openssh-askpass (LXQt password entry dialog)
+lxqt-openssh-askpass:
+lxqt-openssh-askpass: Used to ask for user/password with GUI for OpenSSH.
+lxqt-openssh-askpass:
+lxqt-openssh-askpass:
+lxqt-openssh-askpass:
+lxqt-openssh-askpass:
+lxqt-openssh-askpass:
+lxqt-openssh-askpass:
+lxqt-openssh-askpass: Home page: http://lxqt.org
+lxqt-openssh-askpass:
diff --git a/slack-desc/lxqt-panel b/slack-desc/lxqt-panel
new file mode 100644 (file)
index 0000000..341cf07
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+lxqt-panel: lxqt-panel (desktop panel)
+lxqt-panel:
+lxqt-panel: LXQt desktop panel.
+lxqt-panel:
+lxqt-panel:
+lxqt-panel:
+lxqt-panel:
+lxqt-panel:
+lxqt-panel:
+lxqt-panel: Home page: http://lxqt.org
+lxqt-panel:
diff --git a/slack-desc/lxqt-policykit b/slack-desc/lxqt-policykit
new file mode 100644 (file)
index 0000000..04b0a49
--- /dev/null
@@ -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 ':'.
+
+              |-----handy-ruler------------------------------------------------------|
+lxqt-policykit: lxqt-policykit (Policykit agent)
+lxqt-policykit:
+lxqt-policykit: LXQt Policykit agent.
+lxqt-policykit:
+lxqt-policykit:
+lxqt-policykit:
+lxqt-policykit:
+lxqt-policykit:
+lxqt-policykit:
+lxqt-policykit: Home page: http://lxqt.org
+lxqt-policykit:
diff --git a/slack-desc/lxqt-power b/slack-desc/lxqt-power
new file mode 100644 (file)
index 0000000..61242d6
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+lxqt-power: lxqt-power (logout/poweroff utility)
+lxqt-power:
+lxqt-power: Logout the desktop session or poweroff the computer.
+lxqt-power:
+lxqt-power:
+lxqt-power:
+lxqt-power:
+lxqt-power:
+lxqt-power:
+lxqt-power: Home page: http://lxqt.org
+lxqt-power:
diff --git a/slack-desc/lxqt-powermanagement b/slack-desc/lxqt-powermanagement
new file mode 100644 (file)
index 0000000..aaae52d
--- /dev/null
@@ -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 ':'.
+
+                    |-----handy-ruler------------------------------------------------------|
+lxqt-powermanagement: lxqt-powermanagement (Power management module for LXQt)
+lxqt-powermanagement:
+lxqt-powermanagement: Power management module for LXQt.
+lxqt-powermanagement:
+lxqt-powermanagement:
+lxqt-powermanagement:
+lxqt-powermanagement:
+lxqt-powermanagement:
+lxqt-powermanagement:
+lxqt-powermanagement: Home page: http://lxqt.org
+lxqt-powermanagement:
diff --git a/slack-desc/lxqt-qtplugin b/slack-desc/lxqt-qtplugin
new file mode 100644 (file)
index 0000000..01bacd9
--- /dev/null
@@ -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 ':'.
+
+             |-----handy-ruler------------------------------------------------------|
+lxqt-qtplugin: lxqt-qtplugin (LXQt platform integration plugin for Qt)
+lxqt-qtplugin:
+lxqt-qtplugin: LXQt platform integration plugin for Qt.
+lxqt-qtplugin:
+lxqt-qtplugin:
+lxqt-qtplugin:
+lxqt-qtplugin:
+lxqt-qtplugin:
+lxqt-qtplugin:
+lxqt-qtplugin: Home page: http://lxqt.org
+lxqt-qtplugin:
diff --git a/slack-desc/lxqt-runner b/slack-desc/lxqt-runner
new file mode 100644 (file)
index 0000000..8797ee9
--- /dev/null
@@ -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 ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+lxqt-runner: lxqt-runner (application starter)
+lxqt-runner:
+lxqt-runner: Tool used to launch programs quickly by typing their names.
+lxqt-runner:
+lxqt-runner:
+lxqt-runner:
+lxqt-runner:
+lxqt-runner:
+lxqt-runner:
+lxqt-runner: Home page: http://lxqt.org
+lxqt-runner:
diff --git a/slack-desc/lxqt-session b/slack-desc/lxqt-session
new file mode 100644 (file)
index 0000000..fd19096
--- /dev/null
@@ -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 ':'.
+
+            |-----handy-ruler------------------------------------------------------|
+lxqt-session: lxqt-session (session manager for LXQt)
+lxqt-session:
+lxqt-session: An alternative session manager ported from the original razor-session.
+lxqt-session:
+lxqt-session:
+lxqt-session:
+lxqt-session:
+lxqt-session:
+lxqt-session:
+lxqt-session: Home page: http://lxqt.org
+lxqt-session:
diff --git a/slack-desc/lxqt-sudo b/slack-desc/lxqt-sudo
new file mode 100644 (file)
index 0000000..b365e25
--- /dev/null
@@ -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 ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+lxqt-sudo: lxqt-sudo (Sudo front-end for LXQt)
+lxqt-sudo:
+lxqt-sudo: Sudo front-end for LXQt (but not restricted to LXQt).
+lxqt-sudo:
+lxqt-sudo:
+lxqt-sudo:
+lxqt-sudo:
+lxqt-sudo:
+lxqt-sudo:
+lxqt-sudo: Home page: http://lxqt.org
+lxqt-sudo:
diff --git a/slack-desc/lxqt-themes b/slack-desc/lxqt-themes
new file mode 100644 (file)
index 0000000..7cfbc68
--- /dev/null
@@ -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 ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+lxqt-themes: lxqt-themes
+lxqt-themes: A collection of themes for LXQT
+lxqt-themes:
+lxqt-themes:
+lxqt-themes:
+lxqt-themes:
+lxqt-themes: This package is part of LXQT 0.15.0
+lxqt-themes: Mantainer: danix < danix@danix.xyz >
+lxqt-themes:
+lxqt-themes: Home page: https://github.com/lxqt/lxqt
+lxqt-themes:
diff --git a/slack-desc/make_slack-desc.sh b/slack-desc/make_slack-desc.sh
new file mode 100755 (executable)
index 0000000..111cac1
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Parameter #1: packagename
+#
+if [ -z "$1" ]; then
+  echo "Need package name as 1st parameter!"
+  exit 1
+fi
+PRGNAM="$1"
+
+if [ -f "$PRGNAM" ]; then
+  echo "A slack-desc file with name '$PRGNAM' already exists, will not overwrite!"
+  exit 1
+fi
+
+HOMEPAGE=${HOMEPAGE:-"https://github.com/lxqt/lxqt"}
+DESCR=${DESCR:-"short description here"}
+MAXDESCR=$(( 70-3-${#PRGNAM} ))
+if [ ${#DESCR} -gt $MAXDESCR ]; then
+  DESCR=${DESCR:0:$MAXDESCR}
+fi
+
+SPCS=""; while [ ${#SPCS} -lt ${#PRGNAM} ]; do SPCS=" $SPCS";done
+
+cat <<EOT > "$PRGNAM"
+# 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 ':'.
+
+${SPCS}|-----handy-ruler------------------------------------------------------|
+${PRGNAM}: ${PRGNAM}
+${PRGNAM}: ${DESCR}
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}:
+${PRGNAM}: This package is part of LXQT 0.15.0
+${PRGNAM}: Mantainer: danix < danix@danix.xyz >
+${PRGNAM}:
+${PRGNAM}: Home page: ${HOMEPAGE}
+${PRGNAM}:
+EOT
diff --git a/slack-desc/menu-cache b/slack-desc/menu-cache
new file mode 100644 (file)
index 0000000..ddfed71
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+menu-cache: menu-cache (lightweight replacement of libgnome-menu)
+menu-cache:
+menu-cache: Libmenu-cache is a library creating and utilizing caches to speed
+menu-cache: up the manipulation for freedesktop.org defined application menus.
+menu-cache:  It can be used as a replacement of libgnome-menu of gnome-menus.
+menu-cache:
+menu-cache:
+menu-cache:
+menu-cache:
+menu-cache: menu-cache home: http://lxde.sourceforge.net/
+menu-cache:
diff --git a/slack-desc/obconf-qt b/slack-desc/obconf-qt
new file mode 100644 (file)
index 0000000..2734eb9
--- /dev/null
@@ -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 ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+obconf-qt: obconf-qt (Qt port of obconf)
+obconf-qt:
+obconf-qt: The Qt port of obconf, the Openbox configuration tool.
+obconf-qt:
+obconf-qt:
+obconf-qt:
+obconf-qt:
+obconf-qt:
+obconf-qt:
+obconf-qt: Home page: http://lxqt.org
+obconf-qt:
diff --git a/slack-desc/pavucontrol-qt b/slack-desc/pavucontrol-qt
new file mode 100644 (file)
index 0000000..b5fcfe7
--- /dev/null
@@ -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 ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+pavucontrol-qt: pavucontrol-qt (Qt port of pavucontrol)
+pavucontrol-qt:
+pavucontrol-qt: The Qt port of pavucontrol, the PulseAudio control panel.
+pavucontrol-qt:
+pavucontrol-qt:
+pavucontrol-qt:
+pavucontrol-qt:
+pavucontrol-qt:
+pavucontrol-qt:
+pavucontrol-qt: Home page: http://lxqt.org
+pavucontrol-qt:
diff --git a/slack-desc/pcmanfm-qt b/slack-desc/pcmanfm-qt
new file mode 100644 (file)
index 0000000..bb33e46
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+pcmanfm-qt: pcmanfm-qt (File- and desktop icon manager)
+pcmanfm-qt:
+pcmanfm-qt: File manager and desktop icon manager (Qt port of PCManFM and libfm).
+pcmanfm-qt:
+pcmanfm-qt:
+pcmanfm-qt:
+pcmanfm-qt:
+pcmanfm-qt:
+pcmanfm-qt:
+pcmanfm-qt: Home page: http://lxqt.org
+pcmanfm-qt:
diff --git a/slack-desc/qps b/slack-desc/qps
new file mode 100644 (file)
index 0000000..f74966f
--- /dev/null
@@ -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 ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+qps: qps
+qps: Process manager written in QT5
+qps:
+qps:
+qps:
+qps:
+qps: This package is part of LXQT 0.15.0
+qps: Mantainer: danix < danix@danix.xyz >
+qps:
+qps: Home page: https://github.com/lxqt/lxqt
+qps:
diff --git a/slack-desc/qterminal b/slack-desc/qterminal
new file mode 100644 (file)
index 0000000..e7df1c8
--- /dev/null
@@ -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 ':'.
+
+         |-----handy-ruler------------------------------------------------------|
+qterminal: qterminal (lightweight Qt-based terminal emulator)
+qterminal:
+qterminal: Qterminal is a lightweight Qt-based terminal emulator.
+qterminal:
+qterminal:
+qterminal:
+qterminal:
+qterminal:
+qterminal:
+qterminal: Home page: https://github.com/qterminal/qterminal
+qterminal:
diff --git a/slack-desc/qtermwidget b/slack-desc/qtermwidget
new file mode 100644 (file)
index 0000000..f2af722
--- /dev/null
@@ -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 ':'.
+
+           |-----handy-ruler------------------------------------------------------|
+qtermwidget: qtermwidget (Qt widget for using as a built-in console)
+qtermwidget:
+qtermwidget: Qtermwidget originally based on the KDE4 konsole application.
+qtermwidget: The main goal of this project is to provide a unicode-enabled,
+qtermwidget: embeddable Qt widget for using as a built-in console (or terminal
+qtermwidget: emulation widget).
+qtermwidget:
+qtermwidget:
+qtermwidget:
+qtermwidget: Home page: https://github.com/qterminal/qtermwidget
+qtermwidget:
diff --git a/slack-desc/screengrab b/slack-desc/screengrab
new file mode 100644 (file)
index 0000000..0da394c
--- /dev/null
@@ -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 ':'.
+
+          |-----handy-ruler------------------------------------------------------|
+screengrab: screengrab
+screengrab: A screen capture utility
+screengrab:
+screengrab:
+screengrab:
+screengrab:
+screengrab: This package is part of LXQT 0.15.0
+screengrab: Mantainer: danix < danix@danix.xyz >
+screengrab:
+screengrab: Home page: https://github.com/lxqt/lxqt
+screengrab: