diff options
Diffstat (limited to 'grc/freedesktop')
-rw-r--r-- | grc/freedesktop/CMakeLists.txt | 47 | ||||
-rw-r--r-- | grc/freedesktop/README | 20 | ||||
-rw-r--r-- | grc/freedesktop/gnuradio-grc.desktop | 8 | ||||
-rw-r--r-- | grc/freedesktop/gnuradio-grc.xml | 8 | ||||
-rw-r--r-- | grc/freedesktop/grc-icon-128.png | bin | 0 -> 3570 bytes | |||
-rw-r--r-- | grc/freedesktop/grc-icon-256.png | bin | 0 -> 7843 bytes | |||
-rw-r--r-- | grc/freedesktop/grc-icon-256.svg | 216 | ||||
-rw-r--r-- | grc/freedesktop/grc-icon-32.png | bin | 0 -> 1060 bytes | |||
-rw-r--r-- | grc/freedesktop/grc-icon-48.png | bin | 0 -> 1691 bytes | |||
-rw-r--r-- | grc/freedesktop/grc-icon-64.png | bin | 0 -> 1893 bytes | |||
-rw-r--r-- | grc/freedesktop/grc_setup_freedesktop.in | 75 |
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 Binary files differnew file mode 100644 index 000000000..d94ef35dc --- /dev/null +++ b/grc/freedesktop/grc-icon-128.png diff --git a/grc/freedesktop/grc-icon-256.png b/grc/freedesktop/grc-icon-256.png Binary files differnew file mode 100644 index 000000000..e4e8e54ae --- /dev/null +++ b/grc/freedesktop/grc-icon-256.png 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 <patrick.strasser@tugraz.at></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 Binary files differnew file mode 100644 index 000000000..1e4f4f6c5 --- /dev/null +++ b/grc/freedesktop/grc-icon-32.png diff --git a/grc/freedesktop/grc-icon-48.png b/grc/freedesktop/grc-icon-48.png Binary files differnew file mode 100644 index 000000000..caddc92ad --- /dev/null +++ b/grc/freedesktop/grc-icon-48.png diff --git a/grc/freedesktop/grc-icon-64.png b/grc/freedesktop/grc-icon-64.png Binary files differnew file mode 100644 index 000000000..fa8e06e28 --- /dev/null +++ b/grc/freedesktop/grc-icon-64.png 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 |