summaryrefslogtreecommitdiff
path: root/grc/freedesktop
diff options
context:
space:
mode:
Diffstat (limited to 'grc/freedesktop')
-rw-r--r--grc/freedesktop/CMakeLists.txt47
-rw-r--r--grc/freedesktop/README20
-rw-r--r--grc/freedesktop/gnuradio-grc.desktop8
-rw-r--r--grc/freedesktop/gnuradio-grc.xml8
-rw-r--r--grc/freedesktop/grc-icon-128.pngbin0 -> 3570 bytes
-rw-r--r--grc/freedesktop/grc-icon-256.pngbin0 -> 7843 bytes
-rw-r--r--grc/freedesktop/grc-icon-256.svg216
-rw-r--r--grc/freedesktop/grc-icon-32.pngbin0 -> 1060 bytes
-rw-r--r--grc/freedesktop/grc-icon-48.pngbin0 -> 1691 bytes
-rw-r--r--grc/freedesktop/grc-icon-64.pngbin0 -> 1893 bytes
-rw-r--r--grc/freedesktop/grc_setup_freedesktop.in75
11 files changed, 374 insertions, 0 deletions
diff --git a/grc/freedesktop/CMakeLists.txt b/grc/freedesktop/CMakeLists.txt
new file mode 100644
index 000000000..d95fe04ac
--- /dev/null
+++ b/grc/freedesktop/CMakeLists.txt
@@ -0,0 +1,47 @@
+# Copyright 2011-2012 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio 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, or (at your option)
+# any later version.
+#
+# GNU Radio 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 GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+########################################################################
+set(grc_freedesktop_path ${GR_PKG_DATA_DIR}/grc/freedesktop)
+
+install(FILES
+ grc-icon-256.png
+ grc-icon-128.png
+ grc-icon-64.png
+ grc-icon-48.png
+ grc-icon-32.png
+ gnuradio-grc.xml
+ gnuradio-grc.desktop
+ DESTINATION ${grc_freedesktop_path}
+ COMPONENT "grc"
+)
+
+find_program(HAVE_XDG_UTILS xdg-desktop-menu)
+
+if(UNIX AND HAVE_XDG_UTILS)
+ set(SRCDIR ${CMAKE_INSTALL_PREFIX}/${grc_freedesktop_path})
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/grc_setup_freedesktop.in
+ ${CMAKE_CURRENT_BINARY_DIR}/grc_setup_freedesktop
+ @ONLY)
+ install(
+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/grc_setup_freedesktop
+ DESTINATION ${GR_PKG_LIBEXEC_DIR} COMPONENT "grc"
+ )
+endif(UNIX AND HAVE_XDG_UTILS)
diff --git a/grc/freedesktop/README b/grc/freedesktop/README
new file mode 100644
index 000000000..0857ecc22
--- /dev/null
+++ b/grc/freedesktop/README
@@ -0,0 +1,20 @@
+##################################################
+# Freedesktop Notes
+##################################################
+
+This directory contains icons, a mime type, and menu files for grc.
+Installation of these files requires a set of tools called xdg-utils.
+xdg-utils will install files in a standard way according to the freedesktop.org standards.
+
+Desktop enviroments that implement these standards are gnome, kde, xfce, and others.
+If you have one of these desktop enviroments, xdg-utils should come installed.
+If xdg-utils is not installed, then this directory will be ignored by the build.
+
+The gtk IconTheme module locates the installed icons for use inside the grc app.
+On recent versions of gtk, IconTheme ignores the icons installed into the default theme.
+This presents a problem for the gnome file system browser, nautilus, and the grc app.
+As a solution, icons are also installed under the gnome theme.
+
+*.png files - these are the icons of various sizes
+*.desktop files - these are the menu items for grc executables
+*.xml file - this is the mime type for the saved flow graphs
diff --git a/grc/freedesktop/gnuradio-grc.desktop b/grc/freedesktop/gnuradio-grc.desktop
new file mode 100644
index 000000000..5fd049780
--- /dev/null
+++ b/grc/freedesktop/gnuradio-grc.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=GRC
+Exec=gnuradio-companion %F
+Categories=Development;
+MimeType=application/gnuradio-grc;
+Icon=gnuradio-grc
diff --git a/grc/freedesktop/gnuradio-grc.xml b/grc/freedesktop/gnuradio-grc.xml
new file mode 100644
index 000000000..a5cb95d9f
--- /dev/null
+++ b/grc/freedesktop/gnuradio-grc.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+ <mime-type type="application/gnuradio-grc">
+ <sub-class-of type="application/xml"/>
+ <glob pattern="*.grc"/>
+ <glob pattern="*.grc.xml"/>
+ </mime-type>
+</mime-info>
diff --git a/grc/freedesktop/grc-icon-128.png b/grc/freedesktop/grc-icon-128.png
new file mode 100644
index 000000000..d94ef35dc
--- /dev/null
+++ b/grc/freedesktop/grc-icon-128.png
Binary files differ
diff --git a/grc/freedesktop/grc-icon-256.png b/grc/freedesktop/grc-icon-256.png
new file mode 100644
index 000000000..e4e8e54ae
--- /dev/null
+++ b/grc/freedesktop/grc-icon-256.png
Binary files differ
diff --git a/grc/freedesktop/grc-icon-256.svg b/grc/freedesktop/grc-icon-256.svg
new file mode 100644
index 000000000..87526d46c
--- /dev/null
+++ b/grc/freedesktop/grc-icon-256.svg
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ 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"
+ width="256"
+ height="256"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44.1"
+ version="1.0"
+ sodipodi:docbase="/home/past/src"
+ sodipodi:docname="grc-icon-v3.svg"
+ inkscape:export-filename="/home/past/src/grc-icon-v3.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient3661">
+ <stop
+ style="stop-color:#0012dc;stop-opacity:1;"
+ offset="0"
+ id="stop3663" />
+ <stop
+ style="stop-color:#8b92ff;stop-opacity:0.55371898;"
+ offset="1"
+ id="stop3665" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3661"
+ id="linearGradient2801"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-162.6648,798.0997)"
+ x1="17.664845"
+ y1="132.0565"
+ x2="157.82524"
+ y2="132.0565" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.7382812"
+ inkscape:cx="126.48791"
+ inkscape:cy="128.00013"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ gridoriginx="1px"
+ gridoriginy="1px"
+ gridspacingx="2px"
+ gridspacingy="2px"
+ guidecolor="#00ff0a"
+ guideopacity="0.49803922"
+ inkscape:grid-points="true"
+ inkscape:window-width="1098"
+ inkscape:window-height="904"
+ inkscape:window-x="149"
+ inkscape:window-y="42"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:object-points="true"
+ inkscape:object-nodes="true"
+ inkscape:object-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="224"
+ id="guide10639" />
+ <sodipodi:guide
+ orientation="vertical"
+ position="227.64729"
+ id="guide10641" />
+ <sodipodi:guide
+ orientation="vertical"
+ position="220"
+ id="guide10643" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="268.4015"
+ id="guide10645" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Patrick Strasser &lt;patrick.strasser@tugraz.at&gt;</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:description>Icon/Symbol for the GNURadio Companion</dc:description>
+ <dc:title>grc-icon.svg</dc:title>
+ <dc:date>2007-02-23</dc:date>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.5/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-796.3622)">
+ <g
+ id="g7451"
+ transform="matrix(1.025628,0,0,1.030546,-0.101723,-32.00742)">
+ <path
+ id="rect2760"
+ d="M 4.1981031,916.37787 L 160.00074,916.37787 L 160.00074,1048.3467 L 4.1981031,1048.3467 L 4.1981031,916.37787 z "
+ style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.78145933;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <g
+ transform="matrix(0.995753,0,0,1.003897,164.8198,-8.972397)"
+ id="g2789"
+ style="stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none">
+ <rect
+ style="fill:url(#linearGradient2801);fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.78288651;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect9020"
+ width="140.1604"
+ height="16.796082"
+ x="-145"
+ y="921.75818" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:7.78288651;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M -161.50649,938.55428 L -4.8395996,938.55428"
+ id="path9005" />
+ </g>
+ </g>
+ <g
+ id="g5503"
+ transform="matrix(1.028571,0,0,1.172413,-5.14284,-137.9928)">
+ <rect
+ y="800.36212"
+ x="40"
+ height="116.00005"
+ width="140"
+ id="rect4562"
+ style="fill:#f3c690;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.28504848;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <g
+ transform="matrix(0.921053,0,0,1,26.93956,1.859948)"
+ id="g3694">
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:7.59084845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 44,820.3622 L 136.35974,820.3622"
+ id="path4564" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:7.59084749;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 80,811.74976 L 80,828.3622"
+ id="path5451" />
+ </g>
+ <g
+ id="g5499">
+ <rect
+ style="fill:white;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.28504944;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7223"
+ width="140"
+ height="68.000015"
+ x="40"
+ y="848.36218" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:7.28505039;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 57.001362,905.90132 C 88.923615,905.8552 86.182775,867.89142 95.399136,867.52563 C 104.60967,867.16008 113.73233,867.60291 124.38688,868.00066 C 137.23411,868.48027 130.39915,906.48027 162.99863,906.48027"
+ id="path7225"
+ sodipodi:nodetypes="czss" />
+ </g>
+ </g>
+ <rect
+ style="fill:#b890f3;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.99999952;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect14319"
+ width="79.999992"
+ height="64.000023"
+ x="27.999992"
+ y="960.36249" />
+ <rect
+ style="fill:#f3c690;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.99999905;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect15206"
+ width="24.000004"
+ height="24.000004"
+ x="108"
+ y="980.36218" />
+ <path
+ id="path13320"
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:7.99999666;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 220.97574,800.36203 L 220.97574,865.80513 C 236.42474,865.93437 248.49884,861.19996 248.96304,854.45866 C 249.42721,847.71737 237.26568,843.20829 221.81667,846.27676 C 206.36767,849.34522 193.45938,858.02071 192.98843,867.61976 C 192.53101,876.94268 204.68583,884.63729 220.13479,885.43882 C 235.58379,885.69443 248.49884,880.72833 248.96304,873.98703 C 249.42721,867.24575 237.26567,862.73666 221.81666,865.80513 C 206.36766,868.8736 193.45939,877.54909 192.98843,887.14813 C 192.53101,896.47106 204.68582,904.16566 220.13479,904.86701 C 235.5838,905.02246 248.49885,900.05636 248.96305,893.31506 C 249.42722,886.57378 237.26568,882.06469 221.81667,885.13316 C 206.36767,888.20162 193.45939,896.87711 192.98844,906.47616 C 192.53102,915.79909 204.68583,923.49369 220.13479,923.98015 C 235.58379,923.92069 248.49884,918.95459 248.96304,912.21329 C 249.42721,905.47201 237.26567,900.96293 221.81666,904.0314 C 206.36766,907.09986 193.45939,915.77535 192.98843,925.37439 C 192.53101,934.69732 207.20989,943.06708 221.81667,943.00644 L 221.81667,967.97713 C 221.63716,982.45754 209.62079,992.36197 195.88792,992.36199 L 132.42659,992.36199"
+ sodipodi:nodetypes="cccssscssscssscssccc" />
+ </g>
+</svg>
diff --git a/grc/freedesktop/grc-icon-32.png b/grc/freedesktop/grc-icon-32.png
new file mode 100644
index 000000000..1e4f4f6c5
--- /dev/null
+++ b/grc/freedesktop/grc-icon-32.png
Binary files differ
diff --git a/grc/freedesktop/grc-icon-48.png b/grc/freedesktop/grc-icon-48.png
new file mode 100644
index 000000000..caddc92ad
--- /dev/null
+++ b/grc/freedesktop/grc-icon-48.png
Binary files differ
diff --git a/grc/freedesktop/grc-icon-64.png b/grc/freedesktop/grc-icon-64.png
new file mode 100644
index 000000000..fa8e06e28
--- /dev/null
+++ b/grc/freedesktop/grc-icon-64.png
Binary files differ
diff --git a/grc/freedesktop/grc_setup_freedesktop.in b/grc/freedesktop/grc_setup_freedesktop.in
new file mode 100644
index 000000000..1e3546197
--- /dev/null
+++ b/grc/freedesktop/grc_setup_freedesktop.in
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# Copyright 2008-2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio 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, or (at your option)
+# any later version.
+#
+# GNU Radio 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 GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+##################################################
+# setup grc on a freedesktop platform
+# $1 should be install or uninstall
+# $2 is the optional path to the files
+# when $2 is unspecified, the path is:
+# @SRCDIR@
+##################################################
+
+ICON_SIZES="32 48 64 128 256"
+if [ -n "$2" ]; then
+ SRCDIR="$2"
+else
+ SRCDIR="@SRCDIR@"
+fi
+
+case "$1" in
+'install')
+ echo "Begin freedesktop install..."
+ for size in ${ICON_SIZES}; do \
+ echo "Install icon: ${size}x${size}"
+ xdg-icon-resource install --noupdate --context mimetypes --theme gnome --size ${size} ${SRCDIR}/grc-icon-${size}.png application-gnuradio-grc; \
+ xdg-icon-resource install --noupdate --context mimetypes --size ${size} ${SRCDIR}/grc-icon-${size}.png application-gnuradio-grc; \
+ xdg-icon-resource install --noupdate --context apps --theme gnome --size ${size} ${SRCDIR}/grc-icon-${size}.png gnuradio-grc; \
+ xdg-icon-resource install --noupdate --context apps --size ${size} ${SRCDIR}/grc-icon-${size}.png gnuradio-grc; \
+ done
+ xdg-icon-resource forceupdate
+ echo "Install mime type"
+ xdg-mime install ${SRCDIR}/gnuradio-grc.xml
+ echo "Install menu items"
+ xdg-desktop-menu install ${SRCDIR}/*.desktop
+ echo "Done!"
+ echo ""
+ ;;
+'uninstall')
+ echo "Begin freedesktop uninstall..."
+ for size in ${ICON_SIZES}; do \
+ echo "Uninstall icon: ${size}x${size}"
+ xdg-icon-resource uninstall --noupdate --context mimetypes --theme gnome --size ${size} application-gnuradio-grc; \
+ xdg-icon-resource uninstall --noupdate --context mimetypes --size ${size} application-gnuradio-grc; \
+ xdg-icon-resource uninstall --noupdate --context apps --theme gnome --size ${size} gnuradio-grc; \
+ xdg-icon-resource uninstall --noupdate --context apps --size ${size} gnuradio-grc; \
+ done
+ xdg-icon-resource forceupdate
+ echo "Uninstall mime type"
+ xdg-mime uninstall ${SRCDIR}/gnuradio-grc.xml
+ echo "Uninstall menu items"
+ xdg-desktop-menu uninstall `ls ${SRCDIR}/*.desktop | xargs -n1 basename`
+ echo "Done!"
+ echo ""
+ ;;
+*)
+ echo "Usage: $0 [install|uninstall]"
+ ;;
+esac