Added icon and XDG desktop file for use installing onto X desktops
authorPat Thoyts <patthoyts@users.sourceforge.net>
Sun, 24 Jan 2010 01:05:56 +0000 (01:05 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Sun, 24 Jan 2010 01:05:56 +0000 (01:05 +0000)
ChangeLog
icons/tkcon-small.svg [new file with mode: 0644]
icons/tkcon-small48.png [new file with mode: 0644]
install-desktop-menu.sh [new file with mode: 0755]
tkcon-console.desktop [new file with mode: 0644]
tkcon.tcl

index cd69beb02b99514162257fb980545251aea27437..8a35add27bd5eb4dc37de53e6cc5b2d3776a8393 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-24  Pat Thoyts  <patthoyts@users.sourceforge.net>
+
+       * icons/*:                Added an SVG icon and .desktop file suitable
+       * tkcon-console.desktop:  for use installing tkcon into the desktop
+       * install-desktop-menu.sh: menus on a unix desktop. Also an install
+       * tkcon.tcl:              script to show how it is done. And for
+       use with 8.6 on X11 - if we can locate the icon, use it as the
+       tkcon iconphoto so it shows up associated with the running app.
+
 2010-01-23  Pat Thoyts  <patthoyts@users.sourceforge.net>
 
        * tkcon.tcl: Make use of the extended window manager hints from
diff --git a/icons/tkcon-small.svg b/icons/tkcon-small.svg
new file mode 100644 (file)
index 0000000..8d6287b
--- /dev/null
@@ -0,0 +1,534 @@
+<?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://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"
+   width="48px"
+   height="48px"
+   id="svg3819"
+   version="1.1"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="tkcon_small.svg"
+   inkscape:export-filename="/home/pat/Documents/tkcon/tkcon_small.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <title
+     id="title2892">tkcon</title>
+  <defs
+     id="defs3821">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective3827" />
+    <inkscape:perspective
+       id="perspective4799"
+       inkscape:persp3d-origin="62.49263 : 88.229167 : 1"
+       inkscape:vp_z="124.98526 : 132.34375 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 132.34375 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.73779,0,9.844321)"
+       r="2.5100370"
+       fy="39.510023"
+       fx="37.495606"
+       cy="39.510023"
+       cx="37.495606"
+       id="radialGradient6453"
+       xlink:href="#linearGradient6447"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(1,0,0,0.744756,0,9.569132)"
+       gradientUnits="userSpaceOnUse"
+       y2="37.999615"
+       x2="36.451904"
+       y1="42.318577"
+       x1="40.253334"
+       id="linearGradient5719"
+       xlink:href="#linearGradient2214"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.997583,0,0,0.989941,0.104141,0.07028871)"
+       gradientUnits="userSpaceOnUse"
+       y2="30.343304"
+       x2="26.178129"
+       y1="9.1463490"
+       x1="11.048059"
+       id="linearGradient4260"
+       xlink:href="#linearGradient4254"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.953506,0,0,0.947873,1.141528,1.205591)"
+       gradientUnits="userSpaceOnUse"
+       y2="49.730762"
+       x2="48.845253"
+       y1="19.636894"
+       x1="20.338758"
+       id="linearGradient2244"
+       xlink:href="#linearGradient2238"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.304598,-1.841788e-16,29.37527)"
+       r="17.576654"
+       fy="42.242130"
+       fx="24.041630"
+       cy="42.242130"
+       cx="24.041630"
+       id="radialGradient2230"
+       xlink:href="#linearGradient2224"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.957412,0,0,0.952331,1.022766,0.133307)"
+       gradientUnits="userSpaceOnUse"
+       y2="32.497993"
+       x2="21.305075"
+       y1="9.5865316"
+       x1="8.6529236"
+       id="linearGradient2220"
+       xlink:href="#linearGradient5176"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.957412,0,0,0.952331,1.022766,0.133307)"
+       gradientUnits="userSpaceOnUse"
+       y2="14.157946"
+       x2="24.841814"
+       y1="32.285740"
+       x1="29.870447"
+       id="linearGradient2212"
+       xlink:href="#linearGradient2206"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.950085,0,0,0.965659,1.243978,0.255342)"
+       gradientUnits="userSpaceOnUse"
+       y2="34.225887"
+       x2="22.440805"
+       y1="9.5830288"
+       x1="23.118565"
+       id="linearGradient2204"
+       xlink:href="#linearGradient2198"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2198">
+      <stop
+         id="stop2200"
+         offset="0.0000000"
+         style="stop-color:#748f48;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2202"
+         offset="1.0000000"
+         style="stop-color:#1f2816;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2206">
+      <stop
+         id="stop2208"
+         offset="0.0000000"
+         style="stop-color:#777973;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2210"
+         offset="1.0000000"
+         style="stop-color:#cbccca;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2214">
+      <stop
+         id="stop2216"
+         offset="0.0000000"
+         style="stop-color:#a9aaa7;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2218"
+         offset="1.0000000"
+         style="stop-color:#676964;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2224">
+      <stop
+         id="stop2226"
+         offset="0.0000000"
+         style="stop-color:#32342f;stop-opacity:0.54639173;" />
+      <stop
+         id="stop2228"
+         offset="1"
+         style="stop-color:#32342f;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2238"
+       inkscape:collect="always">
+      <stop
+         id="stop2240"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2242"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2667"
+       id="linearGradient2673"
+       gradientTransform="matrix(1.236157,0,0,0.896051,-1.08182,2.830699)"
+       x1="11.492236"
+       y1="1.6537577"
+       x2="17.199417"
+       y2="26.729263"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2667">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop2669" />
+      <stop
+         style="stop-color:#fcfcff;stop-opacity:0.0000000;"
+         offset="1.0000000"
+         id="stop2671" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5176">
+      <stop
+         style="stop-color:#a2a59c;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop5178" />
+      <stop
+         style="stop-color:#535750;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop5180" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4254">
+      <stop
+         id="stop4256"
+         offset="0.0000000"
+         style="stop-color:#616161;stop-opacity:1.0000000;" />
+      <stop
+         id="stop4258"
+         offset="1.0000000"
+         style="stop-color:#a0a0a0;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6447"
+       inkscape:collect="always">
+      <stop
+         id="stop6449"
+         offset="0"
+         style="stop-color:#777973;stop-opacity:1;" />
+      <stop
+         id="stop6451"
+         offset="1"
+         style="stop-color:#777973;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="609.50507"
+       x2="302.85715"
+       y1="366.64789"
+       x1="302.85715"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5027"
+       xlink:href="#linearGradient5048"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5048">
+      <stop
+         id="stop5050"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop5056" />
+      <stop
+         id="stop5052"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="117.14286"
+       fy="486.64789"
+       fx="605.71429"
+       cy="486.64789"
+       cx="605.71429"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient5029"
+       xlink:href="#linearGradient5060"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5060"
+       inkscape:collect="always">
+      <stop
+         id="stop5062"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop5064"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="117.14286"
+       fy="486.64789"
+       fx="605.71429"
+       cy="486.64789"
+       cx="605.71429"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient5031"
+       xlink:href="#linearGradient5060"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective79"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 24 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="12.4375"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1440"
+     inkscape:window-height="850"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3824">
+    <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>tkcon</dc:title>
+        <dc:date>23 Jan 2010</dc:date>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Pat Thoyts</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description>Tcl feather icon blended with the console icon fron the tango theme icon package.</dc:description>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Pat Thoyts, The Tango Project</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       inkscape:label="Layer 1"
+       id="layer1-1"
+       transform="matrix(0.96714517,0,0,0.96714517,0.5782736,3.6615871)">
+      <g
+         transform="matrix(0.02454499,0,0,0.02086758,46.14369,39.34109)"
+         id="g5022">
+        <rect
+           style="opacity:0.40206185;color:#000000;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           id="rect4173"
+           width="1339.6335"
+           height="478.35718"
+           x="-1559.2523"
+           y="-150.69685" />
+        <path
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+           d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+           id="path5058"
+           sodipodi:nodetypes="cccc" />
+        <path
+           sodipodi:nodetypes="cccc"
+           id="path5018"
+           d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+           style="opacity:0.40206185;color:#000000;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+      </g>
+      <rect
+         ry="4.8517079"
+         rx="4.8517075"
+         y="3.5015533"
+         x="1.5026338"
+         height="38.998734"
+         width="44.996037"
+         id="rect1316"
+         style="fill:url(#linearGradient2212);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2220);stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         ry="1.6452144"
+         rx="1.645215"
+         y="7.4827089"
+         x="5.4962788"
+         height="29.022322"
+         width="37.088005"
+         id="rect1314"
+         style="fill:url(#linearGradient2204);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:0.99495775;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <g
+         style="opacity:0.25568183"
+         id="g2286">
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,11.500361 31.9789417,0"
+           id="path1345" />
+        <path
+           id="path2264"
+           d="m 8.0152033,13.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,15.500361 31.9789417,0"
+           id="path2266" />
+        <path
+           id="path2268"
+           d="m 8.0152033,17.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,19.500361 31.9789417,0"
+           id="path2270" />
+        <path
+           id="path2272"
+           d="m 8.0152033,21.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,23.500361 31.9789417,0"
+           id="path2274" />
+        <path
+           id="path2276"
+           d="m 8.0152033,25.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,27.500361 31.9789417,0"
+           id="path2278" />
+        <path
+           id="path2280"
+           d="m 8.0152033,29.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+        <path
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 8.0152033,31.500361 31.9789417,0"
+           id="path2282" />
+        <path
+           id="path2284"
+           d="m 8.0152033,33.500361 31.9789417,0"
+           style="fill:none;stroke:#181f10;stroke-width:1.00072134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      </g>
+      <rect
+         ry="3.7910469"
+         rx="3.7910469"
+         y="4.5007114"
+         x="2.5542557"
+         height="37.000587"
+         width="42.945141"
+         id="rect2232"
+         style="opacity:0.76373626;fill:none;stroke:url(#linearGradient2244);stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <path
+         sodipodi:nodetypes="ccccccccccccc"
+         id="text1340"
+         d="m 11.625,20.679392 0,-3.054392 8.984828,4.060794 0,1.855919 -8.984828,4.087434 0,-3.045318 6.964396,-1.853858 L 11.625,20.679392 z m 18.892635,10.02636 0,1.974196 -10.903406,0 0,-1.974196 10.903406,0"
+         style="font-size:18.58501053px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#6ed66e;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.2786885;font-family:Bitstream Vera Sans Mono" />
+      <path
+         id="path2443"
+         d="M 7.625388,8 C 7.102102,8 6.05153,8.190188 6.05153,9.0259761 L 6.16958,25.542519 C 23.841567,24.579133 20.294433,17.286426 42,13.633318 L 41.937264,9.2913791 C 41.859002,8.1662868 41.397947,8.0594548 40.327115,8.066071 L 7.625388,8 z"
+         style="opacity:0.53142856;fill:url(#linearGradient2673);fill-opacity:1;fill-rule:evenodd;stroke:none"
+         sodipodi:nodetypes="ccccccc" />
+      <rect
+         ry="0.11773217"
+         rx="0.11773217"
+         y="8.9805145"
+         x="6.9894562"
+         height="26.057468"
+         width="34.026031"
+         id="rect1340"
+         style="opacity:0.71428576;fill:none;stroke:#000000;stroke-width:1.99999917;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         ry="0.56022596"
+         rx="0.35819405"
+         y="37.514935"
+         x="35.485569"
+         height="2.9590063"
+         width="4.0200734"
+         id="rect5025"
+         style="fill:url(#radialGradient6453);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5719);stroke-width:1.00000119;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         ry="0.56022543"
+         rx="0.56022543"
+         y="38"
+         x="32"
+         height="2"
+         width="2"
+         id="rect6458"
+         style="fill:#93d94c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      <path
+         transform="translate(4.375,-0.0625)"
+         d="m 28.875,38.75 c 0,0.31066 -0.25184,0.5625 -0.5625,0.5625 -0.31066,0 -0.5625,-0.25184 -0.5625,-0.5625 0,-0.31066 0.25184,-0.5625 0.5625,-0.5625 0.31066,0 0.5625,0.25184 0.5625,0.5625 z"
+         sodipodi:ry="0.5625"
+         sodipodi:rx="0.5625"
+         sodipodi:cy="38.75"
+         sodipodi:cx="28.3125"
+         id="path2300"
+         style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       transform="matrix(0.20483461,0.08623714,-0.08976737,0.19677918,-24.266321,-112.46608)"
+       id="layer1-8"
+       inkscape:label="Layer 1"
+       style="opacity:0.78632479">
+      <g
+         transform="matrix(0.9671783,0,0,0.9671783,10.08245,12.003966)"
+         id="g2392">
+        <path
+           style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
+           d="m 499.58925,374.01397 c 0.3816,23.33209 -0.31077,46.41243 -20.5,68.34375 l -0.75,0.84375 1.125,0 8.25,0.125 c -13.4055,27.88641 -22.12748,55.6937 -41.40625,83.46875 l -0.6875,1 1.1875,-0.21875 10.1875,-1.9375 c -7.2169,18.31031 -19.55758,30.43279 -32.9375,34.5 -3.6826,-51.56863 22.05226,-97.08706 43.90625,-142.46875 0.0201,-0.0417 0.0424,-0.0833 0.0625,-0.125 l -0.8125,-0.5625 c -35.78567,40.01351 -51.9112,96.44881 -58,143 -12.12846,-6.84723 -16.17079,-15.9131 -20.28125,-28.25 l 8.46875,3.5625 0.875,0.375 -0.1875,-0.9375 c -6.43634,-28.61973 3.55648,-49.16246 13.25,-76.15625 l 6.96875,4.65625 0.8125,0.5625 -0.0312,-0.96875 c -0.546,-21.93119 14.22103,-43.94781 33.8125,-63.59375 l 2.71875,7.28125 0.375,0.96875 0.53125,-0.90625 5.96875,-9.9375 0.0312,-0.0625 c 9.85187,-13.56952 20.26746,-17.98682 37.0625,-22.5625 z"
+           id="path4426" />
+        <path
+           style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#eff1cb;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+           d="m 499.59927,374.00103 c -16.73773,4.56621 -27.27964,9.03227 -37.11238,22.57544 l -0.0312,0.0625 -5.96875,9.9375 -0.53125,0.90625 -0.375,-0.96875 -2.71875,-7.28125 c -19.59147,19.64594 -34.3585,41.66256 -33.8125,63.59375 l 0.0312,0.96875 -0.8125,-0.5625 -6.96875,-4.65625 c -9.69352,26.99379 -19.68634,47.53652 -13.25,76.15625 l 0.1875,0.9375 -0.875,-0.375 -8.375,-3.53125 c 0.027,0.17148 0.0656,0.33046 0.0937,0.5 4.0491,12.05775 8.1457,20.97338 20.09375,27.71875 0.47162,-3.60569 0.99723,-7.28794 1.59375,-11 -14.59059,-34.16414 -1.92582,-59.2811 3.84375,-81.875 l 8.875,5.125 c -1.22592,-21.15548 11.19424,-43.97039 27.34375,-63.875 l 4.6875,8.25 c 12.00875,-24.70084 21.50637,-34.61575 44.08113,-42.60669 z"
+           id="path7600"
+           sodipodi:nodetypes="ccccccccccccccccccccccc" />
+        <path
+           id="path2177"
+           d="m 505.90485,365.73272 -0.53125,0.0937 c -19.6846,3.43351 -38.95545,10.66619 -47.40625,27.96875 l -3.5625,-6.21875 -0.3125,-0.5625 -0.46875,0.46875 c -9.69371,9.27588 -20.10051,21.29056 -27.78125,33.09375 -7.20972,11.07937 -11.99173,21.92309 -11.46875,30.21875 l -5.03125,-6.28125 -0.5,-0.625 -0.34375,0.71875 c -6.12393,13.22899 -12.30431,29.50407 -16,44.4375 -3.504,14.15885 -4.75881,27.04706 -1.5,35.15625 l -8.28125,-4.8125 -0.6875,-0.40625 -0.0625,0.8125 c -1.55911,23.61702 8.0382,34.89333 19.0625,45.78125 l -9.1875,2.28125 -1.84375,0.46875 1.84375,0.5 c 5.27453,1.42933 10.27523,3.0386 13.75,5.71875 3.47477,2.68015 5.47098,6.36582 4.875,12.25 l 0,0.0312 0,25.5 0,0.15625 0.0937,0.125 11.5,16.5 0.90625,1.3125 0,-1.59375 0,-38.875 c 1.52181,-6.5439 3.30807,-11.04795 5.875,-14.03125 2.56693,-2.9833 5.90711,-4.51517 10.6875,-5.09375 l 1.71875,-0.21875 -1.5625,-0.71875 -6.0625,-2.875 c 14.45549,-8.70374 30.64505,-30.0393 34.90625,-50.3125 l 0.1875,-0.8125 -0.78125,0.21875 -7.5,2.03125 c 6.66299,-6.25626 13.37517,-18.65154 19.75,-33.09375 6.76105,-15.3172 13.07372,-32.66468 18.25,-46.53125 l 0.28125,-0.75 -0.78125,0.0625 -5.78125,0.40625 c 7.1471,-7.58581 11.11953,-20.1129 13.0625,-33.34375 2.02227,-13.77082 1.88035,-28.27105 0.75,-38.625 l -0.0625,-0.53125 z m -5.4375,8.28125 c 0.3816,23.33209 -0.31077,46.41243 -20.5,68.34375 l -0.75,0.84375 1.125,0 8.25,0.125 c -13.4055,27.88641 -22.12748,55.6937 -41.40625,83.46875 l -0.6875,1 1.1875,-0.21875 10.1875,-1.9375 c -7.2169,18.31031 -19.55758,30.43279 -32.9375,34.5 -3.6826,-51.56863 22.05226,-97.08706 43.90625,-142.46875 0.0201,-0.0417 0.0424,-0.0833 0.0625,-0.125 l -0.8125,-0.5625 c -35.78567,40.01351 -51.9112,96.44881 -58,143 -12.12846,-6.84723 -16.17079,-15.9131 -20.28125,-28.25 l 8.46875,3.5625 0.875,0.375 -0.1875,-0.9375 c -6.43634,-28.61973 3.55648,-49.16246 13.25,-76.15625 l 6.96875,4.65625 0.8125,0.5625 -0.0312,-0.96875 c -0.546,-21.93119 14.22103,-43.94781 33.8125,-63.59375 l 2.71875,7.28125 0.375,0.96875 0.53125,-0.90625 5.96875,-9.9375 0.0312,-0.0625 c 9.85187,-13.56952 20.26746,-17.98682 37.0625,-22.5625 z"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/tkcon-small48.png b/icons/tkcon-small48.png
new file mode 100644 (file)
index 0000000..8797a76
Binary files /dev/null and b/icons/tkcon-small48.png differ
diff --git a/install-desktop-menu.sh b/install-desktop-menu.sh
new file mode 100755 (executable)
index 0000000..1e4c4eb
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# To install a tkcon entry into a FreeDesktop.org compatible menu system such
+# as used by GNOME, KDE or most modern X11 desktop environments the tkcon.desktop
+# and icons/* files are installed. This should be done using the xdg-desktop-menu
+# utility and xdg-icon-resource utility from the xdg-utils package. See
+# http://portland.freedesktop.org/xdg-utils-1.0/ for further details.
+# 
+
+PROG_XDG_DESKTOP_MENU=`which xdg-desktop-menu`
+PROG_XDG_ICON_RESOURCE=`which xdg-icon-resource`
+
+ICONFILE=icons/tkcon-small48.png
+
+if [ -x $PROG_XDG_DESKTOP_MENU -a -x PROG_XDG_ICON_RESOURCE ]
+then
+    $PROG_XDG_DESKTOP_MENU install tkcon-console.desktop
+    $PROG_XDG_ICON_RESOURCE install --size 48 $ICONFILE tkcon-icon
+else
+    [ -d $HOME/.local/share/applications ] || mkdirhier $HOME/.local/share/applications
+    [ -d $HOME/.local/share/icons ] || mkdirhier $HOME/.local/share/icons
+    install tkcon-console.desktop $HOME/.local/share/applications/tkcon-console.desktop
+    install $ICONFILE $HOME/.local/share/icons/tkcon-icon.png
+fi
+
+
diff --git a/tkcon-console.desktop b/tkcon-console.desktop
new file mode 100644 (file)
index 0000000..0be3094
--- /dev/null
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=tkcon
+GenericName=Tk console
+Comment=Tk console
+Exec=tkcon
+Icon=tkcon-icon
+Terminal=false
+Type=Application
+Categories=Development;Utility;
index 11ffc733bb53d26c940ef9ba3c06fc426049468b..725007b19b193aee0a0afa7a064f58b036b48c72 100755 (executable)
--- a/tkcon.tcl
+++ b/tkcon.tcl
@@ -683,6 +683,16 @@ proc ::tkcon::InitUI {title} {
        grid remove $sbar
     }
 
+    # If we can locate the XDG icon file then make use of it.
+    if {[package vsatisfies [package provide Tk] 8.6]} {
+        if {[tk windowingsystem] eq "x11"} {
+            if {[set icon [locate_xdg_icon tkcon-icon.png]] ne ""} {
+                image create photo tkcon_icon -file $icon
+                wm iconphoto $root tkcon_icon
+            }
+        }
+    }
+
     if {!$PRIV(WWW)} {
        wm title $root "tkcon $PRIV(version) $title"
        if {$PRIV(showOnStartup)} { wm deiconify $root }
@@ -693,6 +703,29 @@ proc ::tkcon::InitUI {title} {
     }
 }
 
+# Hunt around the XDG defined directories for the icon.
+# Note: hicolor is the standard theme used by xdg-icon-resource.
+proc ::tkcon::locate_xdg_icon {name} {
+    global env
+    set dirs [list /usr/local/share /usr/share]
+    if {[info exists env(XDG_DATA_DIRS)]} {
+        set dirs [split $env(XDG_DATA_DIRS) :]
+    }
+    if {[file isdirectory ~/.local/share]} {
+        set dirs [linsert $dirs 0 ~/.local/share]
+    }
+    foreach dir $dirs {
+        foreach path [list icons icons/hicolor/48x48/apps] {
+            set path [file join $dir $path $name]
+            puts "$path [file exists $path]"
+            if {[file exists $path]} {
+                return $path
+            }
+        }
+    }
+    return ""
+}
+
 proc ::tkcon::InitTab {w} {
     variable OPT
     variable PRIV
@@ -6321,7 +6354,7 @@ proc ::send::Pop {varname {nth 0}} {
     return $r
 }
 ##
-## end 'send' pacakge
+## end 'send' package
 
 ## special case 'tk appname' in Tcl plugin
 if {$::tkcon::PRIV(WWW)} {