GitLab Commit is coming up on August 3-4. Learn how to innovate together using GitLab, the DevOps platform. Register for free: gitlabcommitvirtual2021.com

Commit 215a745e authored by jlue's avatar jlue
Browse files

Initial commit, moving to GIT with version 0.4.

parent 3e43a42d
obsolete
build
cursors
tmp
*~
svg/*/*frame*.svg
.directory
Authors:
Jens Luetkens <j.luetkens@hamburg.de>
Ben Finney <ben+opendesktop@benfinney.id.au>
Thanks to uga and his RedDot cursors
http://www.kde-look.org/content/show.php?content=4805
for the HowTos and Makefile skeleton.
And thanks to "the socialist republic of null"
http://www.jmoiron.net/
for the hint to use XCURSOR_DISCOVER=1 .
FlatbedCursors, and all its file contents, comprise a work that is
copyright © 2006–2016 Jens Luetkens and others. For a full list of
authors and contributors, see the ‘AUTHORS’ file.
FlatbedCursors is licensed to all under the terms of the GNU GPL:
This work is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This work is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this work. If not, see <http://www.gnu.org/licenses/>.
The full text of the GPL version 3 is in the file ‘LICENSE.GPL’.
Name: FlatbedCursors
Version: 0.3
Release: 1%{?dist}
Summary: The original Flatbed Cursors
Group: System/X11/Icons
License: GPLv3
URL: https://github.com/limitland/flatbedcursors
Source: FlatbedCursors-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
Requires: XFree86
Packager: Jens Luetkens <j.luetkens@hamburg.de>
Distribution: generic
prefix: /usr/share
%description
X11 mouse theme, clean and simple, with a smooth shape
and appealing transparency. Package comes with 20 mouse themes:
5 colors (black, blue, green, orange and white)
4 sizes (small, regular, large and huge)
%prep
%setup -q -c %{name}-%{version} -n %{name}-%{version}
%build
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -d %{buildroot}%{prefix}/icons
for d in FlatbedCursors.*; do
sh link-cursors.sh $d/cursors
cp -R $d %{buildroot}%{prefix}/icons
done
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root,-)
#%doc AUTHORS COPYING README ChangeLog
%dir %{prefix}/icons/FlatbedCursors.*
%{prefix}/icons/FlatbedCursors.*/*
%changelog
* Wed Jun 16 2010 Jens Luetkens <j.luetkens@hamburg.de> - 0.3
- license changed back to GPLv3
* Fri Jun 19 2009 Jens Luetkens <j.luetkens@hamburg.de> - 0.2
- license changed to LGPLv3
- add mozilla css3 cursor hashes (thanx to thx)
* Wed Jan 17 2007 Jens Luetkens <j.luetkens@hamburg.de> - 0.1
- initial version white, 5 colors, 4 sizes
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#333333;stop-opacity:0.9"
UNDERLO="stop-color:#000000;stop-opacity:0.9"
OVERHI="stop-color:#111111;stop-opacity:0.7"
OVERLO="stop-color:#000000;stop-opacity:0.7"
PATTERNHI="stop-color:#222222;stop-opacity:0.4"
PATTERNLO="stop-color:#000000;stop-opacity:0.4"
HILITEUNDERHI="stop-color:#ffff00;stop-opacity:0.9"
HILITEUNDERLO="stop-color:#dddd00;stop-opacity:0.9"
HILITEOVERHI="stop-color:#ffff00;stop-opacity:0.7"
HILITEOVERLO="stop-color:#cccc00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#eeee00;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#bbbb00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#ffffff"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#c9dfff;stop-opacity:1"
UNDERLO="stop-color:#0000ff;stop-opacity:0.9"
OVERHI="stop-color:#90beff;stop-opacity:0.9"
OVERLO="stop-color:#0000ff;stop-opacity:0.9"
PATTERNHI="stop-color:#c9dfff;stop-opacity:0.4"
PATTERNLO="stop-color:#0078ff;stop-opacity:0.4"
HILITEUNDERHI="stop-color:#ffffa7;stop-opacity:1"
HILITEUNDERLO="stop-color:#ffff00;stop-opacity:1"
HILITEOVERHI="stop-color:#ffffc9;stop-opacity:0.7"
HILITEOVERLO="stop-color:#ffff00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#ffffc9;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#ffdc00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#000000"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#ffffff;stop-opacity:0.9"
UNDERLO="stop-color:#dddddd;stop-opacity:0.9"
OVERHI="stop-color:#ffffff;stop-opacity:0.7"
OVERLO="stop-color:#cccccc;stop-opacity:0.7"
PATTERNHI="stop-color:#eeeeee;stop-opacity:0.5"
PATTERNLO="stop-color:#bbbbbb;stop-opacity:0.5"
HILITEUNDERHI="stop-color:#ffff00;stop-opacity:0.9"
HILITEUNDERLO="stop-color:#dddd00;stop-opacity:0.9"
HILITEOVERHI="stop-color:#ffff00;stop-opacity:0.7"
HILITEOVERLO="stop-color:#cccc00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#eeee00;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#bbbb00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#000000"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 Xtrasmall=24 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
[Icon Theme]
Name = Flatbed Cursor ORIENTATION THEMENAMESIZENAMEVARIATION
Comment = A custom Flatbed Cursors theme.
Example = default
[Icon Theme]
Name = Flatbed Cursors originalORIENTATION THEMENAMESIZENAMEVARIATION
Comment = The originalORIENTATION Flatbed Cursors - THEMENAMESIZENAMEVARIATION
Example = default
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#c9ffc9;stop-opacity:0.9"
UNDERLO="stop-color:#00c900;stop-opacity:0.9"
OVERHI="stop-color:#90ff90;stop-opacity:0.7"
OVERLO="stop-color:#00c900;stop-opacity:0.7"
PATTERNHI="stop-color:#c9ffc9;stop-opacity:0.4"
PATTERNLO="stop-color:#009b00;stop-opacity:0.4"
HILITEUNDERHI="stop-color:#ffff00;stop-opacity:0.9"
HILITEUNDERLO="stop-color:#dddd00;stop-opacity:0.9"
HILITEOVERHI="stop-color:#ffff00;stop-opacity:0.7"
HILITEOVERLO="stop-color:#cccc00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#eeee00;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#bbbb00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#000000"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#ffffa7;stop-opacity:0.9"
UNDERLO="stop-color:#ff8e00;stop-opacity:0.9"
OVERHI="stop-color:#ffff00;stop-opacity:0.7"
OVERLO="stop-color:#ff8e00;stop-opacity:0.7"
PATTERNHI="stop-color:#ffffa7;stop-opacity:0.4"
PATTERNLO="stop-color:#c97000;stop-opacity:0.4"
HILITEUNDERHI="stop-color:#ffff00;stop-opacity:0.9"
HILITEUNDERLO="stop-color:#dddd00;stop-opacity:0.9"
HILITEOVERHI="stop-color:#ffff00;stop-opacity:0.7"
HILITEOVERLO="stop-color:#cccc00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#eeee00;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#bbbb00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#000000"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
# sh syntax please
#
# colors, gradients from HI to LO
#
# gradient colors #RGBA
UNDERHI="stop-color:#ffffff;stop-opacity:0.9"
UNDERLO="stop-color:#dddddd;stop-opacity:0.9"
OVERHI="stop-color:#ffffff;stop-opacity:0.7"
OVERLO="stop-color:#cccccc;stop-opacity:0.7"
PATTERNHI="stop-color:#eeeeee;stop-opacity:0.5"
PATTERNLO="stop-color:#bbbbbb;stop-opacity:0.5"
HILITEUNDERHI="stop-color:#ffff00;stop-opacity:0.9"
HILITEUNDERLO="stop-color:#dddd00;stop-opacity:0.9"
HILITEOVERHI="stop-color:#ffff00;stop-opacity:0.7"
HILITEOVERLO="stop-color:#cccc00;stop-opacity:0.7"
HILITEPATTERNHI="stop-color:#eeee00;stop-opacity:0.8"
HILITEPATTERNLO="stop-color:#bbbb00;stop-opacity:0.8"
# the outline #RGBA, #000000 in source image
OUTLINECOLOR="stroke:#000000"
# the outline width in pixel in 500x500 source image
OUTLINE="stroke-width:10"
#
# sizes to render (height=width)
#
# Use the SIZES array to render on size only, or multiple
# sizes to be rendered to individual cursors or multiple
# sizes into one cursor. See the MULTISIZE build flag
# in README, INSTALL and install_all.
#
# SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
# SIZES=( Large=48 )
#
export SIZES=( Huge=64 Large=48 Regular=40 Small=32 )
#
# variants to additionally render
#
# INCLUDE=( Opaque Slim Opaque-Slim )
Flatbed Cursors installation instructions
#######################################
Basic Installation
==================
Requirements:
- ImageMagick <http://www.imagemagick.org/>
- librsvg <http://librsvg.sourceforge.net/>
Download the FlatbedCursors sources from:
<http://opendesktop.org/content/show.php/FlatbedCursors?content=32627>
Change into the download directory and unpack the sources::
$ tar -xjvf FlatbedCursors-<version>.tar.bz2
$ cd FlatbedCursors-<version>
where “<version>” is the version you downloaded.
When you have the required programs, issue::
$ export MULTISIZE=true
$ ./bin/build-cursors
This will read the basic cursors from the SVG files, add a blurred and
scaled shadow, tint the icons and compose them into a single PNG
image.
After all the images have been processed, you should invoke::
$ make
$ make install
to create the xcursor files and install them into you personal cursors
folder (‘$HOME/.icons/’).
Not that some files (e.g. the shadow images) will be cached to reduce
building overhead. So if you make changes in sources (e.g. edit the svg
files) you might have to clean the working tree::
$ make clean
Making changes in the sources is not recommended, but if you need to,
make sure to match colors and transformations as processed by the
'build-cursors' script. Read 'Customizing Cursors' below if you want to
build a custom Cursor theme.
If you want to remove the custom cursor theme from its installed location,
invoke::
$ make uninstall
Customizing Cursors
===================
Apart from the actual SVG files, a lot of customization can be done
while composing the images.
All configuration options are in the ‘.CONFIG’ file for each theme.
Each theme has one, and there is a ‘custom.CONFIG’ which is a template
for you to copy and customise to build a custom theme.
To start making a custom theme, choose a name and invoke::
$ export THEMENAME="Purple-and-Green"
$ make custom-theme
The environment variable ‘THEMENAME’ will be used by each of the
programs to know which theme you have specified. (This is why the
‘export’ command is necessary.) The above step will make the files
‘Purple-and-Green.CONFIG’ and ‘Purple-and-Green.theme’ in the
‘FlatbedCursorsConfigs/’ directory, if they did not already exist. Edit
each of these files to customise your new theme.
The ‘$THEMENAME.CONFIG’ file configures the theme-specific behaviour of the
‘bin/render-cursor-image’ program. Run the program with no parameters for a
list of options that can be specified.
With version 0.8 teh cursors can be rendered as multisize xcursors. That's
why the build process requires either the "MULTISIZE" environment variable
or the "CURSORSIZE" environment variable::
For single-size cursors use::
$ unset MULTISIZE
$ export CURSORSIZE=40
For the multisize version use::
$ export MULTISIZE=true
The ‘bin/render-cursor-image’ program is used by the ‘bin/build-cursors’
program, so when you want to batch-process the SVG source images you can
either add as many options to the command line as you want, or edit the
default values in the ‘$THEMENAME.CONFIG’ file.
Edit the custom files ‘FlatbedCursorsConfigs/$THEMENAME.CONFIG’ and
‘FlatbedCursorsConfigs/$THEMENAME.theme’ files to your liking. Then build and
install your custom cursor theme invoking::
$ ./bin/build-cursors
$ make
$ make install
If you want to remove your custom cursor theme from its installed location,
invoke::
$ make uninstall
Complete Installation
=====================
To install all the original FlatbedCursors issue::
$ ./install-all
which will process all the configurations in the
FlatbedCursorsConfigs directory and install all cursor
sets provided into your ~/.icons directory.
If you want to remove all the original FlatbedCursors from its installed
location, invoke::
$ ./install-all -u
System Installation
===================
For system-wide installation you need to copy the cursor-
directories to you X11 lib directory. Issue these commands::
$ whereis X11
$ man 3 xcursor
$ cd /usr/share/icons
$ sudo cp -r ~/.icons/FlatbedCursors* .
Now this will interfere with the cursor theme in your ~/.icons
directory, which will have precedence. You will want to rename
the cursors directory and edit the index.theme file inside.
If you want to make this theme the system-wide default, edit
the file /etc/sysconfig/windowmanager to read::
X_MOUSE_CURSOR="FlatbedCursors-White-Regular-Slim"
or whatever your (custom) cursors directory is named.
You can also download pre-built RPMs from the opendesktop.org site
above and install them with::
$ sudo rpm -Uv FlatbedCursors-<version>.noarch.rpm
..
Local variables:
coding: utf-8
mode: text
mode: rst
End:
vim: fileencoding=utf-8 filetype=rst :
#! /usr/bin/make -f
#
# Makefile
# Part of FlatbedCursors, a desktop cursor theme.
#
# Copyright © 2010–2013 Ben Finney <ben+opendesktop@benfinney.id.au>
# Copyright © 2006–2013 Jens Luetkens <j.luetkens@hamburg.de>
# Copyright © 2003 Unai G
#
# This work is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This work is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this work. If not, see <http://www.gnu.org/licenses/>.
# Makefile for FlatbedCursors project.
SHELL = /bin/bash
CURSORSNAME = FlatbedCursors
PACKAGENAME ?= ${CURSORSNAME}
SUMMARY ?= The original Flatbed Cursors
ICONSDIR ?= ${HOME}/.icons
THEMENAME ?= Custom
GENERATED_FILES :=
ifeq (@LH-,$(findstring @LH-,@${THEMEOPTIONS}))
orientation = LeftHanded
else
orientation = RightHanded
endif
bindir = bin
svgdir = svg
indir = ${svgdir}/${orientation}
workdir = tmp
builddir = build
xcursor_builddir = cursors
distdir = dist
configdir = FlatbedCursorsConfigs
configfile = ${configdir}/${THEMENAME}.CONFIG
themefile = ${builddir}/${THEMENAME}.theme
destdir = ${ICONSDIR}/${CURSORSNAME}${THEMEOPTIONS}${THEMEINCLUDE}${SIZENAME}-${THEMENAME}
xcursor_destdir = ${destdir}/cursors
template_configfile = ${configdir}/Custom.CONFIG
template_themefile = ${configdir}/Custom.theme
# Derive cursor file names.
conffiles = $(wildcard ${builddir}/*.conf)
cursornames = $(foreach conffile,${conffiles},$(basename $(notdir ${conffile})))
cursorfiles = $(foreach cursor,${cursornames},${xcursor_builddir}/${cursor})
GENERATED_FILES += ${svgdir}/*/*.frame*.svg
GENERATED_FILES += ${workdir}
GENERATED_FILES += ${builddir}