Initial import
This commit is contained in:
2
app-eselect/eselect-awesome/Manifest
Normal file
2
app-eselect/eselect-awesome/Manifest
Normal file
@@ -0,0 +1,2 @@
|
||||
AUX awesome-theme.eselect 2642 SHA256 8cc79040512a36e44f521e1525c145a9b8028b0c79234fce306b1d494b06d145 SHA512 446f0c26536ae50c94b5f830b83394e8d967fc90a639dd8563f6eae881a02235252390a00ad709e4d0165dd495b29558ad2d1f27f89446602cdde8cb1bf816c3 WHIRLPOOL 3dde77bbf0dc43f6db5353e3e463fb6df2d67ef03918c7b5efc8311708ba06d5c76fb7a9eb9f9e7c112c4ab356d6b9ccceee39858157ed9fc954bbf62543ce11
|
||||
EBUILD eselect-awesome-0.1.ebuild 387 SHA256 162a1917175ae008496a0e03ae465f72d3d5d55f9173fc8a1205803e666abfa9 SHA512 a2f7d384e0a7689a0ec9b67496ed5ec2d1234613c68ff183fcc85e396b90f36bb280b8c604273ee31dc63ea8454c8359781218195a9b45e1cf09e22f57fccdeb WHIRLPOOL 78551e0555f53913217262574f34126271815057ca3b77921593f977f59ca63ed451b1278010c633510b851d3655f4c3deff9d0a854f96561c757594fe203469
|
||||
23
app-eselect/eselect-awesome/eselect-awesome-0.1.ebuild
Normal file
23
app-eselect/eselect-awesome/eselect-awesome-0.1.ebuild
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Manage a user's AwesomeWM theme symlink"
|
||||
HOMEPAGE=""
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86 arm"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-admin/eselect"
|
||||
|
||||
S=${FILESDIR}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/eselect/modules
|
||||
doins awesome-theme.eselect
|
||||
}
|
||||
|
||||
101
app-eselect/eselect-awesome/files/awesome-theme.eselect
Normal file
101
app-eselect/eselect-awesome/files/awesome-theme.eselect
Normal file
@@ -0,0 +1,101 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id: $
|
||||
|
||||
DESCRIPTION="Select AwesomeWM theme"
|
||||
MAINTAINER="James Campbell"
|
||||
VERSION="20180116"
|
||||
|
||||
find_targets() {
|
||||
local f
|
||||
for f in "${HOME}"/.config${EPREFIX}/awesome/themes/*
|
||||
do
|
||||
[[ -d ${f} ]] && basename "${f}"
|
||||
done
|
||||
}
|
||||
|
||||
remove_symlink() {
|
||||
rm "${HOME}/.config${EPREFIX}/awesome/themes/selected"
|
||||
}
|
||||
|
||||
set_symlink() {
|
||||
local target=$1
|
||||
|
||||
if is_number "${target}"
|
||||
then
|
||||
local targets=( $(find_targets) )
|
||||
target=${targets[target-1]}
|
||||
fi
|
||||
|
||||
[[ -z ${target} || ! -d ${HOME}/.config${EPREFIX}/awesome/themes/${target} ]] \
|
||||
&& die -q "Target \"$1\" does not appear to be valid!"
|
||||
|
||||
ln -s "${target}" "${HOME}/.config${EPREFIX}/awesome/themes/selected"
|
||||
}
|
||||
|
||||
### show action
|
||||
|
||||
describe_show() {
|
||||
echo "Show the current theme"
|
||||
}
|
||||
|
||||
do_show() {
|
||||
write_list_start "Current theme:"
|
||||
if [[ -L "${HOME}/.config${EPREFIX}/awesome/themes/selected" ]]; then
|
||||
local theme=$(canonicalise "${HOME}/.config${EPREFIX}/awesome/themes/selected")
|
||||
write_kv_list_entry "${theme%/}" ""
|
||||
else
|
||||
write_kv_list_entry "(unset)" ""
|
||||
fi
|
||||
}
|
||||
|
||||
### list action ###
|
||||
|
||||
describe_list() {
|
||||
echo "List available themes"
|
||||
}
|
||||
|
||||
do_list() {
|
||||
local i targets=( $(find_targets) )
|
||||
|
||||
write_list_start "Available themes:"
|
||||
for (( i = 0; i < ${#targets[@]}; i++ )); do
|
||||
# highlight the target where the symlink is pointing to
|
||||
[[ ${targets[i]} = \
|
||||
$(basename "$(canonicalise "${HOME}/.config${EPREFIX}/awesome/themes/selected")") ]] \
|
||||
&& targets[i]=$(highlight_marker "${targets[i]}")
|
||||
done
|
||||
write_numbered_list -m "(none found)" "${targets[@]}"
|
||||
}
|
||||
|
||||
### set action ###
|
||||
|
||||
describe_set() {
|
||||
echo "Set the theme"
|
||||
}
|
||||
|
||||
describe_set_parameters() {
|
||||
echo "<target>"
|
||||
}
|
||||
|
||||
describe_set_options() {
|
||||
echo "target : Target name or number (from 'list' action)"
|
||||
}
|
||||
|
||||
do_set() {
|
||||
[[ -z $1 ]] && die -q "You didn't tell me what to set the symlink to"
|
||||
[[ $# -gt 1 ]] && die -q "Too many parameters"
|
||||
|
||||
if [[ -L ${HOME}/.config${EPREFIX}/awesome/themes/selected ]]; then
|
||||
# existing symlink
|
||||
remove_symlink || die -q "Couldn't remove existing symlink"
|
||||
set_symlink "$1" || die -q "Couldn't set a new symlink"
|
||||
elif [[ -e ${HOME}/.config${EPREFIX}/awesome/themes/selected ]]; then
|
||||
# we have something strange
|
||||
die -q "${HOME}/.config${EPREFIX}/awesome/themes/selected exists but is not a symlink"
|
||||
else
|
||||
set_symlink "$1" || die -q "Couldn't set a new symlink"
|
||||
fi
|
||||
}
|
||||
|
||||
# vim: ts=4 sw=4 noet fdm=marker
|
||||
Reference in New Issue
Block a user