[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 0.0.27.0

X2Go dev team git-admin at x2go.org
Tue Aug 27 13:21:09 CEST 2013


The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
  discards  7b59e71ebf7c36258d573ebd835afafc95ecc205 (commit)
       via  98b591c127312c76f50968d9f5604d3fe08733cc (commit)
       via  587da059b3260807e8d5dce7d5a2df5174ea1a51 (commit)
       via  cd88f30d73ebd72a155d1a7a92c47e815c176f61 (commit)
       via  71532648bfd552c3ac4981af73f84d8589156a02 (commit)
       via  77669b61d58820a40b01fd1754f4d6bfbe7b2c47 (commit)
       via  07062a05a1d32215a34fb7a3fef557780527a67a (commit)
       via  f5a726c7a10c17954a440ce7a3db18b01585e858 (commit)
       via  39269311347ec69c2b50839f2cb6e6500649aace (commit)
       via  3bb2f1b05a3e9a3cc3c20990ad0f032c1072be7b (commit)
       via  22ad0ab436ff4ca72d1627006c876c6c8cccde12 (commit)
       via  216cf89be93c0aea42c83605095c4a539d0da66d (commit)
       via  f6b9bd6381fa0eb8dc8bee164ce1b2b75c4a07b3 (commit)
       via  54c58fcbcd4fd11b83baee3a2ab3a054a96bc613 (commit)
       via  92383822d606f12751cc9a748144578481244ebc (commit)
       via  ddb7265f91230b032f9fec64ddb6a8b8854cd14c (commit)
       via  fc06569a08a14edd588667ed855945773fd57a22 (commit)
       via  e6a6b4910c26ddb60479f32e4ed0789312e970e5 (commit)
       via  5af17bdbc3dacf043c828a1a81b98d5fc906e16a (commit)
       via  2e694ee23e906e22b276abe01d52fb543e9d1d71 (commit)
       via  957fae569c2f0e23720904ac46e7bdf856001e21 (commit)
       via  b72a7c1dd502a10568dc12e6e56e283b283d0861 (commit)
       via  9c161fc815ef7abf2ecb17460623d9f71c9ab355 (commit)
       via  25c9495fbb917b647f06d9a9ff222efa8d3cbbd7 (commit)
       via  01e64856797d07eeca2cb2fe2e3995a28aac9be5 (commit)
       via  501747368416a35f0d49e4c2ab994fa682db4b58 (commit)
       via  6e920b395f10cb493365760613df0ece70779e0a (commit)
       via  1264677bb288cc33493d2e8ae3da14996881a801 (commit)
       via  69a6a3edb24ffd003c45c0eed1a56d0cc58c0cb8 (commit)
       via  b1463825568b37e6cffef74d6a64f6730604f6c0 (commit)
       via  2a744200eae15eb6fb3d5ffd64b05e4bfec7442a (commit)
       via  25fbdae6d78efd45b70894e673ecb95380731ef4 (commit)
       via  3a59422e7219a7b4bcc7c48b52b93fa9f134b842 (commit)
       via  2e788e1f5d16df5ee898dc4ec28422bfeefee4dd (commit)
       via  442ab24da050c8733d6177614a413b21dcb76046 (commit)
       via  680b47ea9696f72210798e7a0143f43c81880a7c (commit)
       via  2862512dd52f00914717874f22c413ab06550cd2 (commit)
       via  850e8c42efa8efc7b87639459fa1ed5c97b3f7e4 (commit)
       via  b06df313b1a98fb79d3ac89d995f872214caa1c1 (commit)
       via  9b92411cdd18e31b8f62f9a4497b4dada17ca046 (commit)
       via  ad269f346a3c24fd74d92d10acb7ff6c81e6eca5 (commit)
       via  69502248e299512637a0fbcc010581c173617655 (commit)
       via  546a4dc2e95008a75816001a679a045639a7b82e (commit)
       via  ad30bdd5733f02bb123db32343ecb00f747a2b38 (commit)
       via  626bb290e590bff46d6742e04a944e9b4efa6f99 (commit)
       via  ce2297f13fe33008c0b55cc40224f48c5271241d (commit)
       via  cc26a8dfa5267883c21da7c46c536fde5b86f6c9 (commit)
       via  d1c98b3c61b8f8ea9d110a8f6f2b226e55d5ab2d (commit)
       via  8ab4c956fac14dfcce14666e2298beeec5fe316e (commit)
       via  fc0ef55857b75d70d12faa3d65e48f40d4735e6e (commit)
       via  b02efa5de765be1bf6338e55fd26915552a651d0 (commit)
       via  9f350b77bae6f7f772d8a079a8191b3f031a75a5 (commit)
       via  5042ee298384f130a5cff89cfd8cef44c57f3850 (commit)
       via  6739e89cfb75acf54a115e5fc5ea52d8ba65b4c5 (commit)
       via  e99e8475eebfc13399fee974765ca76fe477f2fc (commit)
       via  bb77e381baa8f5aeaf56443b7c97c4860e71f1e0 (commit)
       via  976a6899da8e8038651b6f6dae3d7d5a064a60ba (commit)
       via  50d9824d2a3d458c8f1437ff189fc12b53df43a1 (commit)
       via  cc21b02553f196a6ec456f172cfab7219d4e4424 (commit)
       via  3d303c19df65cfd73ec6e21169456b0bbaddf661 (commit)
       via  7dd3213d8dcdd03ed49fe548a1d832ef5634b674 (commit)
       via  d2bc41b313bc8e53b8c42f0ae9cda1dcb67c3ec5 (commit)
       via  c45da221e1643309bd6d64772b30d7ff7761618a (commit)
       via  a5e7fc0e0d950b243c3ad4e82d492d230b114883 (commit)
       via  2c338686b7cce3c12f8cd805950d4a597e037218 (commit)
       via  8b82b4621ad74fd65d2031d83e6091069a216824 (commit)
       via  20d79a6c0bbbc05ea7de702cb5330ca20782a432 (commit)
       via  8f31b34ff60053e016e74dace7ff21e2f9a0bff1 (commit)
       via  ef9f0b56383e6bbee2de96294eca0c1e17c9a189 (commit)
       via  f8bf3631945ce3d1d675ff4434d77f7cfc6c5659 (commit)
       via  2e084470dedc09b2d165e46d6693d400b9ec795f (commit)
       via  c4497cad1e82697f62c8524bc5b3a855042ef45c (commit)
       via  7b0c22aaa9423277139aa51c0a5ef865bea522d1 (commit)
       via  26a6dae65464f73fdeb39f8e38e3951f3893a9be (commit)
       via  1cdaab54e43c66b9bc218ef5684f71af4915fa08 (commit)
       via  12ce7e2b05ed89da2871773335762d2f2257ba7d (commit)
       via  deccf81fc0840af73df45ac47cd49441651025a2 (commit)
       via  b05b4d50225300df7023eea907db9af643c0c2a7 (commit)
       via  852ff8bb25facaf1057b1a3fb92ab4d3083efc8d (commit)
       via  67dd94f2e9a5ebb8abca86d0da86656f6911e20b (commit)
       via  f905cc552072465b02c8f2299f7cc3bbeadabde3 (commit)
       via  66bcf0cd5872b3df0a13c53a5825aefcd17f47fd (commit)
       via  c8eb7fe97d34098e3ed188944d5f34676522c7a8 (commit)
       via  c9c0d31051ce335870cdb5119ae91896fb741d5d (commit)
       via  2ba7c2a657c8d62f3ee8975b46830dbc541d0eb9 (commit)
       via  a7cb4fcdec26ce27a4a526f75e70d2294b7854ab (commit)
       via  02aa1e0b7e8b5b32dcd0f0d3beab99a25dacaef5 (commit)
       via  2c5f363ad0e643ab7bcfc87cc04007a352097146 (commit)
       via  97d230cbdc173bf199f3bc9b31445ca85a42f87d (commit)
       via  660d3644c2cd99461bf489716edba8454a164b9b (commit)
       via  c2a806382421b8cee09423c91f2e5fba3c05caad (commit)
       via  0b51d0799b3b85ae4347d3b026c63e6153f2e997 (commit)
       via  b90e6f25f44ecb3c91f872bdd6a0bc5b02f12c82 (commit)
       via  ff6184fe39659d4cec5bce9c250904d3ae1c1787 (commit)
       via  c35f3400241b30fa7dfbaaac4c03475a0abbf128 (commit)
       via  4f7cc4f95c50baf016ed3147e37a2f0fefed63b9 (commit)
       via  ea8653b7fea90bb03b08c27e5082b3de58dc6392 (commit)
       via  429694f9d5f6013f03e82c46ea8bd9f9f817677a (commit)
       via  b062e1baa07133159171e788a2fbfd1b1336b9dd (commit)
       via  ddad2838615d2d634959184265d849b9dc09fd09 (commit)
       via  3d39160a4070a4fc380a88afef199f4b4992f024 (commit)
       via  64cad6f19a35e387e2f5a3b4600df90c6f03d1ea (commit)
       via  0acc412c8915ea3099a9b2499351f5dcb470f027 (commit)
       via  56c4c6129f854ad28a27ba14852577171e2ec51b (commit)
       via  b22882f4a7f3507b3dcba16ba1e5e607cf85390f (commit)
       via  e50f7c71e61d145866c83025eb5afa00fffd5f2d (commit)
       via  40195dceb565e2406c52758bdc2bf338e470025d (commit)
       via  e1417cb00d29a6e17d28fd47b2eda1e4bec478ec (commit)
       via  1277eedccf20cd1f1d7c490b00120394f00a169a (commit)
       via  709f65d7b1be2bc3d3bfd68aee87c36716b85350 (commit)
       via  7a8d5bc626020a7f4eb9109da0767871ecce2c31 (commit)
       via  b101b3f97b361cf7e336d35c660d85489e41d6ac (commit)
       via  41e42a29f5605d3759ba586f7cdf49ab910e5ff4 (commit)
       via  7f1f21bd59f573e18abab9b6edf7f078cc0bcfd3 (commit)
       via  201840467d17e2c0e6560754a34f06e284405433 (commit)
       via  01a93b762fa3bc7a7fd8ba96284663f79614e0d4 (commit)
       via  5691ba40755a1012db3ba44627c3519e5ea4f13f (commit)
       via  fbae321182ab345348ad090b202a86fbc9241bd3 (commit)
       via  5d01759d449b367c3ddafaf76d7863d37ca8ec87 (commit)
       via  baa6f17c8bba19f5d42d83c0509d2a3ed7539196 (commit)
       via  9d90de2d72881559cd529e8e7a0a8d1acd1aeb64 (commit)
       via  7b8e8bf0e78448a9e5e7734b9a85ab0fe78aa345 (commit)
       via  fac19c9aef385c17869356d6e792b9358447e887 (commit)
       via  3c1a3a4698d7e3eb1f8260289628808c6b8b65aa (commit)
       via  00eb8532ef893c3d853a4a0f787e108de2a4957c (commit)
       via  30a7ca8d427693cdb70677b520a9d851b804442f (commit)
       via  a3f279fd09fa37f5d56a0033d452f95737659d7b (commit)
       via  50f0d0c7d81cc3d449d25b696e65012c9524abad (commit)
       via  24e9b58ccaa771cc4408c9dcebb7d372f6de7ac2 (commit)
       via  fdb37826cf88130369e147080c51f6975e7b93cc (commit)
       via  e3fa250522b775ba2d60b702c5fc32d1f0e6624d (commit)
       via  81769111dd52813d3798fb9bae9bf20665a191a9 (commit)
       via  c68a51166f22786aae66cebdaaf0353da00b6da5 (commit)
       via  fa977ad2246a3e59f8a52e42f75271a87de79b0c (commit)
       via  406b4426ccc0c076852a9908d4646a3d7b45c7ed (commit)
       via  121965a2829425ee28e349500f60333da6b1cef4 (commit)
       via  1c12b154b890aed5bed11c04107e6c3cd3f2bce7 (commit)
       via  86d083d5f05ac00df9259f2162f910512baa4a31 (commit)
       via  bb2d7102be5842d5f4c5ebf41bffb0e46a442a98 (commit)
       via  b2e428432a626c9b5507108a79b23ba89d358e28 (commit)
       via  df6194f9346e3951692e5ec5e43bc9fe3f5716bc (commit)
       via  438ea566bd710f84c3adfb50b0977e417f9742e6 (commit)
       via  3dbab0e0600a6ffe489b231581a4ce513329e33d (commit)
       via  2440b2e8d84f3ead55cd534a21fcff91ad9e201f (commit)
       via  3841fd8bf0186038c2c4b207395d3edf3bcba013 (commit)
       via  8a9f6980d8f5c66c3bd154f6b74609be06fab08f (commit)
       via  5743b42f4604679044a978561218e2cd6685a30c (commit)
       via  0cd3661cadeb932c85f49fe94548dbec245734e8 (commit)
       via  129286cf5bac119aef7566d602b97108508bee25 (commit)
       via  a46789ca0b36cf4f41bb922ee82d35c4de1b4174 (commit)
       via  b5157ce5a1114d85e85505de0acff3d81086fd85 (commit)
       via  c42ac5d0104e9e9ddb4c0bd1a132bd0b2af99178 (commit)
       via  76cf7753f3182bcfe900f8277251c3fed4720548 (commit)
       via  7d97ffdd38be4168995fbf6ec7f6bf7daa728340 (commit)
       via  82f0f4663240c63df35459d122444b40d20c1d15 (commit)
       via  ef2eada1d0f9159b569473c1124dca0178ba6e8b (commit)
       via  462262d97120ce16afdc10c550d5bc4f64078187 (commit)
       via  4dfbdb8a54aad666747e2b5d3d33376da187a9ca (commit)
       via  971504207b394d7ea064427b89072f01b6bd4ffd (commit)
       via  64e0edf77904253dfeb00a188b6696e7a3f4d3ff (commit)
       via  3709ceac2e9a269cd6139031ddae5ea25420c367 (commit)
       via  ad90e137cd0d485e0cbd647140c825c95ce1cab7 (commit)
       via  9268d9b3f569cc7870c0def623ee562394126abc (commit)
       via  6ccfa2bba51f226738e667d1d4115427520ce1a5 (commit)
       via  e8e6d2f60de431980a3b9a2ac8153dfe7c12c5c7 (commit)
       via  8fd894f6a7c5c51e98750e01c1defd9c9f302822 (commit)
       via  e6edae596b6c397d196d0db973dc1966e7001e85 (commit)
       via  a48ac65b9f7e3d287c4924fc71098c685b09489c (commit)
       via  58a99cdf1803f08fc0a90370945779a20060cf24 (commit)
       via  f668b6cd2e3a7b54aa4528abeb99ba26c5e3db12 (commit)
       via  ee245123a1427218d89c9ef5e9cb30d3055e7c8d (commit)
       via  c091b5435ef4646248a29e10041ad74bd74545b8 (commit)
       via  7f861593a292d2eda0806eb75a6c6e92cb9365de (commit)
       via  408703a76374e30603280e0b6f1bda6aa6806c27 (commit)
       via  f2f9daa8e401245d35c635b6f0dba1bde8d89480 (commit)
       via  dfb1ca6eae8be633ec2bf5ea70ec334775a99ec4 (commit)
       via  db6f3fe2f6936b9383091fee127229abda506120 (commit)
       via  b07d1c9089f295c88773b3d5de529c593571fc97 (commit)
       via  fe5057f7428bdf512dd9cf658a72b2152507658a (commit)
       via  41b610b73df72568b87801dd54f6f0093f85ad67 (commit)
       via  6d971d91b8fa94badc67586966bdf22fa5895294 (commit)
       via  25876c55a9bfe58734164aca8eb3527eda3bebd6 (commit)
       via  502800b9d1f45fcc0af5b8f7ae82fe869f325f98 (commit)
       via  8281af675b4c5fbbb90898630c8d8e3a7b34735a (commit)
       via  02e727e80432084cda021b8099ec5db13d29051f (commit)
       via  7ecb6c5befc25ed1a1d22046ea63f37e89f5032f (commit)
       via  2ab7ddf42913b5abb4e8ed11401d4abe30bece3d (commit)
       via  4d5862b911b74d8897c068370f224fc2ee70df18 (commit)
       via  670fdf479ed7f837331eed42d1a01eae735cadd8 (commit)
       via  2689544a7184a8509b4c5ed4021b1f560f4894e6 (commit)
       via  a1c77b0af5b5f817b501d40574ca382d58922345 (commit)
       via  2a68b11349f8888ceaef7767c1ea7adc1fb08876 (commit)
       via  9e175015d04d7fd9beb55c02cab34fe8ffe27dad (commit)
       via  3f3bb85fe91a0b8d8e76bcfe2ea14b6fd87ddad0 (commit)
       via  21799755bf08ebc9e4f90efbdd8078e2bc0cf0c5 (commit)
       via  4c532547e3abab4faf318de5c53ac659346072b1 (commit)
       via  6bb0200e19ff5cd4368fa3231b5d804e1dcf902d (commit)
       via  6e2336541deb76be543af45cbc91acd4f1374cc7 (commit)
       via  9c08d05aea7d9746c272e303f514b2a3a3ddf2bc (commit)
       via  3b4c55e04cad2523ab3253df4fd79de5fd4a83a9 (commit)
       via  6ae951b5a06e840e740b548cbb97347fe42f148b (commit)
       via  f85bbf3e82a1cc1322154c059b6ce1868b195795 (commit)
       via  4e565a5ce2c87f19af6eb2402b1c8bed7f469700 (commit)
       via  32c541af677a17485c8c8f1b61152826ec03ed12 (commit)
       via  c619050a92ec3938227e9ff638857ecaea4dad89 (commit)
       via  cfe41758290b30cf1eb07ddb0fc23db2a708cd2e (commit)
       via  48069d455581d22d4e48283f5056cfa325ef53ff (commit)
       via  7a8808f258f6a417a9fe4d73b84a03e803841155 (commit)
       via  98924c78afc15ae5fd4a1fe449892c33e5055008 (commit)
       via  a2c003bb4a46c001b9e3c5881186a634585d4593 (commit)
       via  3318924e56c0f2cf9f12f48c61e0e8e4016884aa (commit)
       via  e90dfa515174ef9c9256843034ca57e784cafbd5 (commit)
       via  81eeb4e708475585014567bb826564641777364b (commit)
       via  ca778d094c8e95177f2ac87b06b522413d95c79a (commit)
       via  66a75dce88b6ea0d3a5e38d2beab3dcb3eddb46e (commit)
       via  04ed83455e600017764b185eeb5eda65220b9432 (commit)
       via  3dd98e320c222eec688126dbee6da2f28b2c4e93 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (7b59e71ebf7c36258d573ebd835afafc95ecc205)
            \
             N -- N -- N (98b591c127312c76f50968d9f5604d3fe08733cc)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 README                                             |   41 +
 README.i18n                                        |   11 +
 TODO                                               |   26 +
 build-for-reprepro.sh                              |   39 +
 build/mo/de/LC_MESSAGES/pyhoca-gui.mo              |  Bin 0 -> 13122 bytes
 build/mo/en/LC_MESSAGES/pyhoca-gui.mo              |  Bin 0 -> 12332 bytes
 build/mo/es/LC_MESSAGES/pyhoca-gui.mo              |  Bin 0 -> 11154 bytes
 build/mo/nl/LC_MESSAGES/pyhoca-gui.mo              |  Bin 0 -> 10669 bytes
 debian/changelog                                   |  247 ++++
 debian/compat                                      |    1 +
 debian/control                                     |   16 +
 debian/copyright                                   |   14 +
 debian/pyhoca-gui.dirs                             |    1 +
 debian/pyhoca-gui.docs                             |    2 +
 debian/pyhoca-gui.install                          |    5 +
 debian/pyhoca-gui.manpages                         |    1 +
 debian/rules                                       |   24 +
 debian/source/format                               |    1 +
 desktop/pyhoca-gui.desktop                         |   13 +
 examples/printing                                  |   17 +
 examples/settings                                  |   17 +
 examples/xconfig                                   |   24 +
 icons/PyHoca/128x128/pyhoca-session.png            |  Bin 0 -> 19982 bytes
 icons/PyHoca/128x128/pyhoca-trayicon.png           |  Bin 0 -> 19982 bytes
 icons/PyHoca/128x128/pyhoca-winicon.png            |  Bin 0 -> 19982 bytes
 icons/PyHoca/128x128/x2go-logo-rotated.png         |  Bin 0 -> 19360 bytes
 icons/PyHoca/128x128/x2go-logo-ubuntu.png          |  Bin 0 -> 11139 bytes
 icons/PyHoca/128x128/x2go-logo-white-bg.png        |  Bin 0 -> 3714 bytes
 icons/PyHoca/128x128/x2go.png                      |  Bin 0 -> 6095 bytes
 icons/PyHoca/16x16/pyhoca-session.png              |  Bin 0 -> 1099 bytes
 icons/PyHoca/16x16/pyhoca-trayicon.png             |  Bin 0 -> 1099 bytes
 icons/PyHoca/16x16/pyhoca-winicon.png              |  Bin 0 -> 1099 bytes
 icons/PyHoca/16x16/system-search.png               |  Bin 0 -> 885 bytes
 icons/PyHoca/16x16/x2go-logo-rotated.png           |  Bin 0 -> 1367 bytes
 icons/PyHoca/16x16/x2go-logo-ubuntu.png            |  Bin 0 -> 1118 bytes
 icons/PyHoca/16x16/x2go-logo-white-bg.png          |  Bin 0 -> 547 bytes
 icons/PyHoca/16x16/x2go.png                        |  Bin 0 -> 705 bytes
 icons/PyHoca/22x22/pyhoca-session.png              |  Bin 0 -> 1519 bytes
 icons/PyHoca/22x22/pyhoca-trayicon.png             |  Bin 0 -> 1519 bytes
 icons/PyHoca/22x22/pyhoca-winicon.png              |  Bin 0 -> 1519 bytes
 icons/PyHoca/22x22/x2go-logo-rotated.png           |  Bin 0 -> 1903 bytes
 icons/PyHoca/22x22/x2go-logo-ubuntu.png            |  Bin 0 -> 1486 bytes
 icons/PyHoca/22x22/x2go-logo-white-bg.png          |  Bin 0 -> 653 bytes
 icons/PyHoca/22x22/x2go.png                        |  Bin 0 -> 900 bytes
 icons/PyHoca/32x32/broom-cleanup.png               |  Bin 0 -> 2352 bytes
 icons/PyHoca/32x32/dialog-apply.png                |  Bin 0 -> 1572 bytes
 icons/PyHoca/32x32/dialog-error.png                |  Bin 0 -> 1674 bytes
 icons/PyHoca/32x32/dialog-question.png             |  Bin 0 -> 2102 bytes
 icons/PyHoca/32x32/dialog-warning.png              |  Bin 0 -> 1651 bytes
 icons/PyHoca/32x32/document-save.png               |  Bin 0 -> 1841 bytes
 icons/PyHoca/32x32/edit-delete.png                 |  Bin 0 -> 2415 bytes
 icons/PyHoca/32x32/gnome-dev-printer-network.png   |  Bin 0 -> 1497 bytes
 icons/PyHoca/32x32/gtk-edit.png                    |  Bin 0 -> 1527 bytes
 icons/PyHoca/32x32/list-add.png                    |  Bin 0 -> 829 bytes
 icons/PyHoca/32x32/locked.png                      |  Bin 0 -> 1759 bytes
 icons/PyHoca/32x32/media-eject.png                 |  Bin 0 -> 1107 bytes
 icons/PyHoca/32x32/media-playback-pause.png        |  Bin 0 -> 687 bytes
 icons/PyHoca/32x32/media-playback-start.png        |  Bin 0 -> 1223 bytes
 icons/PyHoca/32x32/media-playback-stop.png         |  Bin 0 -> 407 bytes
 icons/PyHoca/32x32/media-record.png                |  Bin 0 -> 1060 bytes
 icons/PyHoca/32x32/media-seek-backward.png         |  Bin 0 -> 1009 bytes
 icons/PyHoca/32x32/media-seek-forward.png          |  Bin 0 -> 1052 bytes
 icons/PyHoca/32x32/media-skip-backward.png         |  Bin 0 -> 1109 bytes
 icons/PyHoca/32x32/media-skip-forward.png          |  Bin 0 -> 1167 bytes
 icons/PyHoca/32x32/network-wired.png               |  Bin 0 -> 1754 bytes
 icons/PyHoca/32x32/pyhoca-session.png              |  Bin 0 -> 2621 bytes
 icons/PyHoca/32x32/pyhoca-trayicon.png             |  Bin 0 -> 2621 bytes
 icons/PyHoca/32x32/pyhoca-winicon.png              |  Bin 0 -> 2621 bytes
 icons/PyHoca/32x32/unlocked.png                    |  Bin 0 -> 1854 bytes
 icons/PyHoca/32x32/window-close.png                |  Bin 0 -> 1718 bytes
 icons/PyHoca/32x32/window-new.png                  |  Bin 0 -> 1240 bytes
 icons/PyHoca/32x32/x2go-logo-rotated.png           |  Bin 0 -> 3107 bytes
 icons/PyHoca/32x32/x2go-logo-ubuntu.png            |  Bin 0 -> 2545 bytes
 icons/PyHoca/32x32/x2go-logo-white-bg.png          |  Bin 0 -> 985 bytes
 icons/PyHoca/32x32/x2go.png                        |  Bin 0 -> 1483 bytes
 icons/PyHoca/48x48/pyhoca-session.png              |  Bin 0 -> 5073 bytes
 icons/PyHoca/48x48/pyhoca-trayicon.png             |  Bin 0 -> 5073 bytes
 icons/PyHoca/48x48/pyhoca-winicon.png              |  Bin 0 -> 5073 bytes
 icons/PyHoca/48x48/x2go-logo-rotated.png           |  Bin 0 -> 5421 bytes
 icons/PyHoca/48x48/x2go-logo-ubuntu.png            |  Bin 0 -> 4205 bytes
 icons/PyHoca/48x48/x2go-logo-white-bg.png          |  Bin 0 -> 3774 bytes
 icons/PyHoca/48x48/x2go.png                        |  Bin 0 -> 2357 bytes
 icons/PyHoca/64x64/pyhoca-session.png              |  Bin 0 -> 7923 bytes
 icons/PyHoca/64x64/pyhoca-trayicon.png             |  Bin 0 -> 7923 bytes
 icons/PyHoca/64x64/pyhoca-winicon.png              |  Bin 0 -> 7923 bytes
 icons/PyHoca/64x64/x2go-logo-rotated.png           |  Bin 0 -> 7840 bytes
 icons/PyHoca/64x64/x2go-logo-ubuntu.png            |  Bin 0 -> 5704 bytes
 icons/PyHoca/64x64/x2go-logo-white-bg.png          |  Bin 0 -> 1872 bytes
 icons/PyHoca/64x64/x2go.png                        |  Bin 0 -> 2960 bytes
 icons/PyHoca/scalable/broom-cleanup.svg            |  Bin 0 -> 75647 bytes
 icons/PyHoca/scalable/dialog-apply.svg             |  150 ++
 icons/PyHoca/scalable/dialog-error.svg             |  178 +++
 icons/PyHoca/scalable/dialog-question.svg          |  185 +++
 icons/PyHoca/scalable/dialog-warning.svg           |  221 +++
 icons/PyHoca/scalable/document-save.svg            |  920 ++++++++++++
 icons/PyHoca/scalable/edit-delete.svg              |  272 ++++
 .../PyHoca/scalable/gnome-dev-printer-network.svg  |  731 ++++++++++
 icons/PyHoca/scalable/gtk-edit.svg                 |  788 +++++++++++
 icons/PyHoca/scalable/list-add.svg                 |  256 ++++
 icons/PyHoca/scalable/locked.svg                   |  534 +++++++
 icons/PyHoca/scalable/media-eject.svg              |  270 ++++
 icons/PyHoca/scalable/media-playback-pause.svg     |  320 +++++
 icons/PyHoca/scalable/media-playback-start.svg     |  140 ++
 icons/PyHoca/scalable/media-playback-stop.svg      |  149 ++
 icons/PyHoca/scalable/media-record.svg             |  185 +++
 icons/PyHoca/scalable/media-seek-backward.svg      |  212 +++
 icons/PyHoca/scalable/media-seek-forward.svg       |  199 +++
 icons/PyHoca/scalable/media-skip-backward.svg      |  243 ++++
 icons/PyHoca/scalable/media-skip-forward.svg       |  244 ++++
 icons/PyHoca/scalable/network-wired.svg            |  661 +++++++++
 icons/PyHoca/scalable/pyhoca-session.svg           |  568 ++++++++
 icons/PyHoca/scalable/pyhoca-trayicon.svg          |  568 ++++++++
 icons/PyHoca/scalable/pyhoca-winicon.svg           |  568 ++++++++
 icons/PyHoca/scalable/system-search.svg            |  430 ++++++
 icons/PyHoca/scalable/unlocked.svg                 |  577 ++++++++
 icons/PyHoca/scalable/window-close.svg             |  170 +++
 icons/PyHoca/scalable/window-new.svg               |  322 +++++
 icons/PyHoca/scalable/x2go-logo-rotated.svg        | 1495 ++++++++++++++++++++
 icons/PyHoca/scalable/x2go-logo-ubuntu.svg         |  358 +++++
 icons/PyHoca/scalable/x2go-logo-white-bg.svg       |  361 +++++
 icons/PyHoca/scalable/x2go.svg                     |  361 +++++
 img/pyhoca-about-logo.png                          |  Bin 0 -> 75269 bytes
 img/pyhoca-splash.png                              |  Bin 0 -> 49098 bytes
 man/pyhoca-gui.1                                   |  159 +++
 pixmaps/pyhoca-gui.ico                             |  Bin 0 -> 27942 bytes
 pixmaps/pyhoca_x2go-logo-ubuntu.ico                |  Bin 0 -> 26150 bytes
 pixmaps/pyhoca_x2go-logo-ubuntu.svg                |  358 +++++
 po/POTFILES.in                                     |   11 +
 po/de.po                                           |  855 +++++++++++
 po/en.po                                           |  852 +++++++++++
 po/es.po                                           |  843 +++++++++++
 po/nl.po                                           |  840 +++++++++++
 po/pyhoca-gui.pot                                  |  807 +++++++++++
 pyhoca-gui                                         |  304 ++++
 pyhoca-gui_0.0.27.0.orig.tar.gz.delta              |  Bin 4465 -> 0 bytes
 pyhoca-gui_0.0.27.0.orig.tar.gz.id                 |    1 -
 pyhoca/__init__.py                                 |   20 +
 pyhoca/wxgui/__init__.py                           |   23 +
 pyhoca/wxgui/about.py                              |   76 +
 pyhoca/wxgui/basepath.py                           |   49 +
 pyhoca/wxgui/frontend.py                           |  588 ++++++++
 pyhoca/wxgui/logon.py                              |  323 +++++
 pyhoca/wxgui/menus_taskbar.py                      |  331 +++++
 pyhoca/wxgui/notify.py                             |  173 +++
 pyhoca/wxgui/profilemanager.py                     | 1352 ++++++++++++++++++
 pyhoca/wxgui/taskbar.py                            |  144 ++
 setup.py                                           |  118 ++
 147 files changed, 21362 insertions(+), 1 deletion(-)
 create mode 100644 README
 create mode 100644 README.i18n
 create mode 100644 TODO
 create mode 100755 build-for-reprepro.sh
 create mode 100644 build/mo/de/LC_MESSAGES/pyhoca-gui.mo
 create mode 100644 build/mo/en/LC_MESSAGES/pyhoca-gui.mo
 create mode 100644 build/mo/es/LC_MESSAGES/pyhoca-gui.mo
 create mode 100644 build/mo/nl/LC_MESSAGES/pyhoca-gui.mo
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 create mode 100644 debian/pyhoca-gui.dirs
 create mode 100644 debian/pyhoca-gui.docs
 create mode 100644 debian/pyhoca-gui.install
 create mode 100644 debian/pyhoca-gui.manpages
 create mode 100755 debian/rules
 create mode 100644 debian/source/format
 create mode 100644 desktop/pyhoca-gui.desktop
 create mode 100644 examples/printing
 create mode 100644 examples/settings
 create mode 100644 examples/xconfig
 create mode 100644 icons/PyHoca/128x128/pyhoca-session.png
 create mode 100644 icons/PyHoca/128x128/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/128x128/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/128x128/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/128x128/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/128x128/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/128x128/x2go.png
 create mode 100644 icons/PyHoca/16x16/pyhoca-session.png
 create mode 100644 icons/PyHoca/16x16/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/16x16/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/16x16/system-search.png
 create mode 100644 icons/PyHoca/16x16/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/16x16/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/16x16/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/16x16/x2go.png
 create mode 100644 icons/PyHoca/22x22/pyhoca-session.png
 create mode 100644 icons/PyHoca/22x22/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/22x22/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/22x22/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/22x22/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/22x22/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/22x22/x2go.png
 create mode 100644 icons/PyHoca/32x32/broom-cleanup.png
 create mode 100644 icons/PyHoca/32x32/dialog-apply.png
 create mode 100644 icons/PyHoca/32x32/dialog-error.png
 create mode 100644 icons/PyHoca/32x32/dialog-question.png
 create mode 100644 icons/PyHoca/32x32/dialog-warning.png
 create mode 100644 icons/PyHoca/32x32/document-save.png
 create mode 100644 icons/PyHoca/32x32/edit-delete.png
 create mode 100644 icons/PyHoca/32x32/gnome-dev-printer-network.png
 create mode 100644 icons/PyHoca/32x32/gtk-edit.png
 create mode 100644 icons/PyHoca/32x32/list-add.png
 create mode 100644 icons/PyHoca/32x32/locked.png
 create mode 100644 icons/PyHoca/32x32/media-eject.png
 create mode 100644 icons/PyHoca/32x32/media-playback-pause.png
 create mode 100644 icons/PyHoca/32x32/media-playback-start.png
 create mode 100644 icons/PyHoca/32x32/media-playback-stop.png
 create mode 100644 icons/PyHoca/32x32/media-record.png
 create mode 100644 icons/PyHoca/32x32/media-seek-backward.png
 create mode 100644 icons/PyHoca/32x32/media-seek-forward.png
 create mode 100644 icons/PyHoca/32x32/media-skip-backward.png
 create mode 100644 icons/PyHoca/32x32/media-skip-forward.png
 create mode 100644 icons/PyHoca/32x32/network-wired.png
 create mode 100644 icons/PyHoca/32x32/pyhoca-session.png
 create mode 100644 icons/PyHoca/32x32/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/32x32/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/32x32/unlocked.png
 create mode 100644 icons/PyHoca/32x32/window-close.png
 create mode 100644 icons/PyHoca/32x32/window-new.png
 create mode 100644 icons/PyHoca/32x32/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/32x32/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/32x32/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/32x32/x2go.png
 create mode 100644 icons/PyHoca/48x48/pyhoca-session.png
 create mode 100644 icons/PyHoca/48x48/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/48x48/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/48x48/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/48x48/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/48x48/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/48x48/x2go.png
 create mode 100644 icons/PyHoca/64x64/pyhoca-session.png
 create mode 100644 icons/PyHoca/64x64/pyhoca-trayicon.png
 create mode 100644 icons/PyHoca/64x64/pyhoca-winicon.png
 create mode 100644 icons/PyHoca/64x64/x2go-logo-rotated.png
 create mode 100644 icons/PyHoca/64x64/x2go-logo-ubuntu.png
 create mode 100644 icons/PyHoca/64x64/x2go-logo-white-bg.png
 create mode 100644 icons/PyHoca/64x64/x2go.png
 create mode 100644 icons/PyHoca/scalable/broom-cleanup.svg
 create mode 100644 icons/PyHoca/scalable/dialog-apply.svg
 create mode 100644 icons/PyHoca/scalable/dialog-error.svg
 create mode 100644 icons/PyHoca/scalable/dialog-question.svg
 create mode 100644 icons/PyHoca/scalable/dialog-warning.svg
 create mode 100644 icons/PyHoca/scalable/document-save.svg
 create mode 100644 icons/PyHoca/scalable/edit-delete.svg
 create mode 100644 icons/PyHoca/scalable/gnome-dev-printer-network.svg
 create mode 100644 icons/PyHoca/scalable/gtk-edit.svg
 create mode 100644 icons/PyHoca/scalable/list-add.svg
 create mode 100644 icons/PyHoca/scalable/locked.svg
 create mode 100644 icons/PyHoca/scalable/media-eject.svg
 create mode 100644 icons/PyHoca/scalable/media-playback-pause.svg
 create mode 100644 icons/PyHoca/scalable/media-playback-start.svg
 create mode 100644 icons/PyHoca/scalable/media-playback-stop.svg
 create mode 100644 icons/PyHoca/scalable/media-record.svg
 create mode 100644 icons/PyHoca/scalable/media-seek-backward.svg
 create mode 100644 icons/PyHoca/scalable/media-seek-forward.svg
 create mode 100644 icons/PyHoca/scalable/media-skip-backward.svg
 create mode 100644 icons/PyHoca/scalable/media-skip-forward.svg
 create mode 100644 icons/PyHoca/scalable/network-wired.svg
 create mode 100644 icons/PyHoca/scalable/pyhoca-session.svg
 create mode 100644 icons/PyHoca/scalable/pyhoca-trayicon.svg
 create mode 100644 icons/PyHoca/scalable/pyhoca-winicon.svg
 create mode 100644 icons/PyHoca/scalable/system-search.svg
 create mode 100644 icons/PyHoca/scalable/unlocked.svg
 create mode 100644 icons/PyHoca/scalable/window-close.svg
 create mode 100644 icons/PyHoca/scalable/window-new.svg
 create mode 100644 icons/PyHoca/scalable/x2go-logo-rotated.svg
 create mode 100644 icons/PyHoca/scalable/x2go-logo-ubuntu.svg
 create mode 100644 icons/PyHoca/scalable/x2go-logo-white-bg.svg
 create mode 100644 icons/PyHoca/scalable/x2go.svg
 create mode 100644 img/pyhoca-about-logo.png
 create mode 100644 img/pyhoca-splash.png
 create mode 100644 man/pyhoca-gui.1
 create mode 100644 pixmaps/pyhoca-gui.ico
 create mode 100644 pixmaps/pyhoca_x2go-logo-ubuntu.ico
 create mode 100644 pixmaps/pyhoca_x2go-logo-ubuntu.svg
 create mode 100644 po/POTFILES.in
 create mode 100644 po/de.po
 create mode 100644 po/en.po
 create mode 100644 po/es.po
 create mode 100644 po/nl.po
 create mode 100644 po/pyhoca-gui.pot
 create mode 100755 pyhoca-gui
 delete mode 100644 pyhoca-gui_0.0.27.0.orig.tar.gz.delta
 delete mode 100644 pyhoca-gui_0.0.27.0.orig.tar.gz.id
 create mode 100644 pyhoca/__init__.py
 create mode 100644 pyhoca/wxgui/__init__.py
 create mode 100644 pyhoca/wxgui/about.py
 create mode 100644 pyhoca/wxgui/basepath.py
 create mode 100644 pyhoca/wxgui/frontend.py
 create mode 100644 pyhoca/wxgui/logon.py
 create mode 100644 pyhoca/wxgui/menus_taskbar.py
 create mode 100644 pyhoca/wxgui/notify.py
 create mode 100644 pyhoca/wxgui/profilemanager.py
 create mode 100644 pyhoca/wxgui/taskbar.py
 create mode 100755 setup.py

The diff of changes is:
diff --git a/README b/README
new file mode 100644
index 0000000..d5a85ec
--- /dev/null
+++ b/README
@@ -0,0 +1,41 @@
+pyhoca-gui - Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+             Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+
+Published under the terms of the GNU General Public License.
+See http://www.gnu.org/licenses/gpl.html for a recent copy.
+
+
+=== What is pyhoca-gui? ===
+
+=== Requirements ===
+
+* the python-x2go module needs to be installed (of course)
+* the python-argparse module needs to be available
+* a working version of nxproxy/nxproxy.exe somewhere on your system (if you have 
+  installed x2goclient, everything should be fine)
+* wxPython (>= 2.8) is needed for the graphical beauty of pyhoca-gui...
+
+=== Current features ===
+
+* session management (start/resume/suspend/terminate)
+* profile management
+* audio, printing, local folder sharing
+* connect throug SSH proxy host (by forward tunneling)
+
+=== How to use it ===
+
+Please refer to the man page: 
+
+  man pyhoca-gui
+
+=== Known issues ===
+
+Please refer to the TODO file that has been shipped with pyhoca-gui.
+
+Thanks in advance for your feedback and contributions,
+
+Kiel (Germany) & LJ Almere Haven (Netherlands), 20101231
+
+  Dick Kniep <dick.kniep at lindix.nl>
+  Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+
diff --git a/README.i18n b/README.i18n
new file mode 100644
index 0000000..3fd3005
--- /dev/null
+++ b/README.i18n
@@ -0,0 +1,11 @@
+Activating i18n for development...
+----------------------------------
+
+If you test/use PyHoca-GUI from VCS (and not as a distribution package)
+then you have to activate i18n support with this command in PyHoca-GUI's 
+base directory:
+
+$ python setup.py build_i18n
+
+light+love,
+Mike Gabriel
\ No newline at end of file
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..fd85115
--- /dev/null
+++ b/TODO
@@ -0,0 +1,26 @@
+pyhoca-gui - Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+             Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+
+Published under the terms of the GNU General Public License.
+See http://www.gnu.org/licenses/gpl.html for a recent copy.
+
+=== pyhoca-gui TODOs ===
+
+* continue sessions that are running on another server (for now:
+  suspend the session and then resume it)
+* profile manager (Windows registry based)
+* options manager
+* print dialog on incoming spool jobs
+* a X2goMimeDropbox for exporting MIME type objects
+
+=== pyhoca-gui Wishlist ===
+
+* SOCKS client support
+
+
+If you find any issues with this programme please let me know.
+
+Kiel (Germany) & LJ Almere Haven (Netherlands), 20101231
+
+  Dick Kniep <dick.kniep at lindix.nl>
+  Mike Gabriel <m.gabriel at das-netzwerkteam.de>
diff --git a/build-for-reprepro.sh b/build-for-reprepro.sh
new file mode 100755
index 0000000..ea4b407
--- /dev/null
+++ b/build-for-reprepro.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# This programme 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 programme 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+PACKAGE=pyhoca-gui
+
+rm -f ../$PACKAGE_*.changes
+rm -f ../$PACKAGE_*.upload
+rm -f ../$PACKAGE_*.build
+rm -f ../$PACKAGE_*.dsc
+rm -f ../$PACKAGE_*.tar.gz
+rm -f ../$PACKAGE*.deb
+
+cp debian/changelog debian/changelog.new
+editor debian/changelog.new
+mv debian/changelog.new debian/changelog
+
+debuild
+
+cd ..
+rm -f $PACKAGE_*.upload
+dupload --to nwt-ubuntu $PACKAGE_*.changes
+rm -f $PACKAGE_*.upload
+dupload --to nwt-debian $PACKAGE_*.changes
diff --git a/build/mo/de/LC_MESSAGES/pyhoca-gui.mo b/build/mo/de/LC_MESSAGES/pyhoca-gui.mo
new file mode 100644
index 0000000..5b6266e
Binary files /dev/null and b/build/mo/de/LC_MESSAGES/pyhoca-gui.mo differ
diff --git a/build/mo/en/LC_MESSAGES/pyhoca-gui.mo b/build/mo/en/LC_MESSAGES/pyhoca-gui.mo
new file mode 100644
index 0000000..2780608
Binary files /dev/null and b/build/mo/en/LC_MESSAGES/pyhoca-gui.mo differ
diff --git a/build/mo/es/LC_MESSAGES/pyhoca-gui.mo b/build/mo/es/LC_MESSAGES/pyhoca-gui.mo
new file mode 100644
index 0000000..06e2edf
Binary files /dev/null and b/build/mo/es/LC_MESSAGES/pyhoca-gui.mo differ
diff --git a/build/mo/nl/LC_MESSAGES/pyhoca-gui.mo b/build/mo/nl/LC_MESSAGES/pyhoca-gui.mo
new file mode 100644
index 0000000..346f90e
Binary files /dev/null and b/build/mo/nl/LC_MESSAGES/pyhoca-gui.mo differ
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..007f951
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,247 @@
+pyhoca-gui (0.0.27-0~nwt2) natty lucid maverick stable testing unstable; urgency=low
+
+  * fixed missing i18n translations
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 22 Feb 2011 12:55:00 +0100
+
+pyhoca-gui (0.0.26-0~nwt2) lucid maverick testing unstable; urgency=low
+
+  * depending on python-x2go (>= 0.0.35)
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 19 Jan 2011 18:26:00 +0100
+
+pyhoca-gui (0.0.26-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * added PulseAudio support for Windows (still unstable)
+  * Unicode / i18n work (Umlaute in profile names, Umlaute in i18n tags)
+  * work on the Windows version stability
+  * work on audio setup in profile manager
+  * now new config files will be created on first application start
+  * NSIS installer for Windows
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 19 Jan 2011 18:25:00 +0100
+
+pyhoca-gui (0.0.25-0~nwt2) lucid maverick testing unstable; urgency=low
+
+  * changed maintainer email address
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Mon, 17 Jan 2011 00:26:00 +0100
+
+pyhoca-gui (0.0.25-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * fixed profile manager for Windows
+  * layout change on profile manager's session tab
+  * added i18n support to Windows version
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Mon, 17 Jan 2011 00:25:00 +0100
+
+pyhoca-gui (0.0.24-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * fixed profile manager window for Windows (and KDE4)
+  * reworked logon window
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 14 Jan 2011 03:54:00 +0100
+
+pyhoca-gui (0.0.23-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * uncommenting debug code
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Wed, 12 Jan 2011 00:36:00 +0100
+
+pyhoca-gui (0.0.22-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * bugfix for error reporting when a non-X2go user authenticates 
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Wed, 12 Jan 2011 00:35:00 +0100
+
+pyhoca-gui (0.0.21-0~nwt3) lucid maverick testing unstable; urgency=low
+
+  * simple rebuild
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 11 Jan 2011 21:40:00 +0100
+
+pyhoca-gui (0.0.21-0~nwt2) lucid maverick testing unstable; urgency=low
+
+  * uncommented build_icons, build_help
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 11 Jan 2011 21:30:00 +0100
+
+pyhoca-gui (0.0.21-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * added ,,Transfer session'' menu item for running sessions that are not
+    associated (i.e. running from within PyHoca-GUI)
+  * now X2goSessionRegistry.update_status() can differentiate between 
+    ,,already running'' sessions (directly after connect) and newly appearing
+    running sessions while having been connected for quite a while
+  * added i18n support
+  * added i18n English translation file en.po
+  * added i18n German translation file de.po
+  * added i18n Dutch translation file nl.po
+  * added i18n Spanish translation file es.po
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 11 Jan 2011 14:00:00 +0100
+
+pyhoca-gui (0.0.20-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * profile manager: added encoding support for local folder sharing
+  * profile manager: removed widgets for fstunnel and soundtunnel (PyHoca-GUI will
+    always tunnel through SSH)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 23:35:00 +0100
+
+pyhoca-gui (0.0.19-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * bugfix release (add_to_known_hosts / known_hosts issue when using X2goSSHProxy)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 13:35:00 +0100
+
+pyhoca-gui (0.0.18-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * bugfix release (enables profilemanager for release versions)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 02:10:00 +0100
+
+pyhoca-gui (0.0.17-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * updated documentation
+  * updated man page
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 02:00:00 +0100
+
+pyhoca-gui (0.0.16-0~nwt3) lucid maverick testing unstable; urgency=low
+
+  * updated Python X2go dependency
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 01:05:00 +0100
+
+pyhoca-gui (0.0.16-0~nwt2) lucid maverick testing unstable; urgency=low
+
+  * updated Python X2go dependency
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 31 Dec 2010 00:30:00 +0100
+
+pyhoca-gui (0.0.16-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * implemented profile manager
+  * using X2goClient HOOL_* methods for notifications
+  * menu changes
+  * implemented editing of connected sessions
+  * implemented local folder sharing for connected sessions
+  * added XMDCP support (still buggy)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 30 Dec 2010 23:00:00 +0100
+
+pyhoca-gui (0.0.15-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * using setproctitle module to change the process name during runtime
+  * much work for Windows compatibitity
+  * Windows: added necessary information for build environment (py2exe)
+  * Windows: Logon window now understands ENTER and ESC keys
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 17 Dec 2010 17:00:00 +0100
+
+pyhoca-gui (0.0.14-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * artwork fine-tuning
+  * work on Windows code
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 14 Dec 2010 18:36:00 +0100
+
+pyhoca-gui (0.0.13-0~nwt3) lucid maverick testing unstable; urgency=low
+
+  * fixing image path
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 14 Dec 2010 16:21:00 +0100
+
+pyhoca-gui (0.0.13-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * added splash screen
+  * added ,,About...'' window
+  * added new artwork from Heinz-M. Graesing
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Tue, 14 Dec 2010 16:15:00 +0100
+
+pyhoca-gui (0.0.12-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * added MS remote desktop (RDP) support
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 21:19:00 +0100
+
+pyhoca-gui (0.0.11-0~nwt2) lucid maverick testing unstable; urgency=low
+
+  * added dependencies: wx-common (>=2.8.10.0) and python-wxtools (>=2.8.10.0)
+    Thanks to Udo Lembke!!!
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 17:22:00 +0100
+
+pyhoca-gui (0.0.11-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * forgot to adapt version for Python egg (setup.py)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 13:45:00 +0100
+
+pyhoca-gui (0.0.10-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * depending on Python X2go 0.0.22
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 13:40:00 +0100
+
+pyhoca-gui (0.0.9-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * reducing CPU usage by factor 2-3 (allowing 25 nxproxy window refreshes 
+    per second, instead of 50)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 12:39:00 +0100
+
+pyhoca-gui (0.0.8-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * reverting back to pixmaps based desktop icon, but now as .svg...
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 12:12:00 +0100
+
+pyhoca-gui (0.0.7-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * still fiddling around with desktop icon... 
+    using hicolor folder in /usr/share/icons now
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 12:10:00 +0100
+
+pyhoca-gui (0.0.6-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * replacing desktop icon .xpm by .png image
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 11:52:00 +0100
+
+pyhoca-gui (0.0.5-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * fixing pixmap desktop icon
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 11:50:00 +0100
+
+pyhoca-gui (0.0.4-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * changed handling of icons
+  * added pixmap for PyHocaGUI app menu item
+  * changed systray icon
+  * removed images.py
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Fri, 10 Dec 2010 11:25:00 +0100
+
+pyhoca-gui (0.0.3-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * really disabled options and profilemanager menu (bugfix)
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 09 Dec 2010 23:55:00 +0100
+
+pyhoca-gui (0.0.2-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * bugfix in frontend.py
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 09 Dec 2010 23:50:00 +0100
+
+pyhoca-gui (0.0.1-0~nwt1) lucid maverick testing unstable; urgency=low
+
+  * initializing PyHoca-GUI .deb package
+
+ -- Mike Gabriel <m.gabriel at das-netzwerkteam.de>  Thu, 09 Dec 2010 23:30:00 +0100
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..1aff272
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,16 @@
+Source: pyhoca-gui
+Section: python
+Priority: optional
+Maintainer: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+Build-Depends: debhelper (>= 7), python, python-setuptools, python-support, python-distutils-extra
+Standards-Version: 3.9.1
+Homepage: http://das-netzwerkteam.de/site/?q=node/71
+XS-Python-Version: >= 2.6
+
+Package: pyhoca-gui
+Architecture: all
+Depends: ${misc:Depends}, python, python-x2go (>=0.0.36-0~nwt1),
+    python-argparse, python-notify, python-setproctitle (>=1.0.1-1),
+    wx-common(>=2.8.10.0), python-wxtools (>=2.8.10.0)
+Description: An graphical X2go client written in (wx)Python
+ A graphical X2go client implementation written in (wx)Python.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..f4fd8bb
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,14 @@
+pyhoca-gui - Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+             Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+
+Published under the terms of the GNU General Public License.
+See http://www.gnu.org/licenses/gpl.html for a recent copy.
+
+On Debian/Ubuntu systems a local copy of the GPL license can also be 
+found in /usr/share/common-licenses.
+
+The code has been packaged for Debian/Ubuntu by Mike Gabriel 
+<m.gabriel at das-netzwerkteam.de>
+
+light+love,
+Dick Kniep and Mike Gabriel
diff --git a/debian/pyhoca-gui.dirs b/debian/pyhoca-gui.dirs
new file mode 100644
index 0000000..22ccb76
--- /dev/null
+++ b/debian/pyhoca-gui.dirs
@@ -0,0 +1 @@
+usr/share/pyhoca/img
diff --git a/debian/pyhoca-gui.docs b/debian/pyhoca-gui.docs
new file mode 100644
index 0000000..1d23e9b
--- /dev/null
+++ b/debian/pyhoca-gui.docs
@@ -0,0 +1,2 @@
+README
+TODO
\ No newline at end of file
diff --git a/debian/pyhoca-gui.install b/debian/pyhoca-gui.install
new file mode 100644
index 0000000..88c8033
--- /dev/null
+++ b/debian/pyhoca-gui.install
@@ -0,0 +1,5 @@
+pyhoca-gui /usr/bin/
+icons/* /usr/share/icons/
+desktop/* /usr/share/applications/
+pixmaps/*.svg /usr/share/pixmaps/
+img/*.png /usr/share/pyhoca/img/
\ No newline at end of file
diff --git a/debian/pyhoca-gui.manpages b/debian/pyhoca-gui.manpages
new file mode 100644
index 0000000..b27fa76
--- /dev/null
+++ b/debian/pyhoca-gui.manpages
@@ -0,0 +1 @@
+man/pyhoca-gui.1
\ No newline at end of file
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..db6b2c7
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,24 @@
+#!/usr/bin/make -f
+# debian/rules file - for pyhoca-cli
+# Based on sample debian/rules file - for GNU Hello (1.3).
+# Copyright 2010-2011 by Mike Gabriel
+
+#PYVERS=$(shell pyversions -vr)
+
+%:
+	dh ${@}
+
+build:
+	dh ${@}
+
+install:
+	dh ${@}
+
+
+binary-indep:
+	dh ${@}
+
+clean:
+	rm -Rfv debian/pyhoca-gui debian/pyhoca-gui.*.debhelper debian/pyhoca-gui.substvars
+	rm -Rfv debian/tmp debian/patches
+	dh ${@}
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..d3827e7
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+1.0
diff --git a/desktop/pyhoca-gui.desktop b/desktop/pyhoca-gui.desktop
new file mode 100644
index 0000000..0fcee16
--- /dev/null
+++ b/desktop/pyhoca-gui.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Name=PyHoca-GUI
+GenericName=PyHoca-GUI
+Comment=Python X2go Client Applet
+Exec=pyhoca-gui
+Icon=pyhoca_x2go-logo-ubuntu
+X-Window-Icon=pyhoca_x2go-logo-ubuntu
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=GNOME;KDE;Network
diff --git a/examples/printing b/examples/printing
new file mode 100644
index 0000000..4ee8ba2
--- /dev/null
+++ b/examples/printing
@@ -0,0 +1,17 @@
+[print]
+command = lpr
+stdin = 0
+startcmd = 0
+ps = 0
+
+[view]
+command = xpdf
+open = 1
+
+[CUPS]
+defaultprinter = PDF
+
+[General]
+pdfview = 1
+showdialog = 0
+
diff --git a/examples/settings b/examples/settings
new file mode 100644
index 0000000..e29d305
--- /dev/null
+++ b/examples/settings
@@ -0,0 +1,17 @@
+[General]
+clientport = 22
+autoresume = 1
+
+[Authorization]
+suspend = 1
+editprofile = 1
+newprofile = 1
+resume = 1
+
+[LDAP]
+useldap = 0
+port1 = 0
+port2 = 0
+port = 389
+server = localhost
+
diff --git a/examples/xconfig b/examples/xconfig
new file mode 100644
index 0000000..fb014d4
--- /dev/null
+++ b/examples/xconfig
@@ -0,0 +1,24 @@
+[XServers]
+known_xservers = ['VcXsrv', 'Xming', 'Cygwin-X']
+
+[VcXsrv]
+test_installed = C:\Programme\VcXsrv\vcxsrv.exe
+process_name = vcxsrv.exe
+parameters = [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill']
+display = localhost:40
+run_command = C:\Programme\VcXsrv\vcxsrv.exe
+
+[Cygwin-X]
+test_installed = C:\cygwin\bin\XWin.exe
+process_name = XWin.exe
+parameters = [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill']
+display = localhost:40
+run_command = C:\cygwin\bin\XWin.exe
+
+[Xming]
+test_installed = C:\Programme\Xming\Xming.exe
+process_name = Xming.exe
+parameters = [':40', '-clipboard', '-multiwindow', '-notrayicon', '-nowinkill']
+display = localhost:40
+run_command = C:\Programme\Xming\Xming.exe
+
diff --git a/icons/PyHoca/128x128/pyhoca-session.png b/icons/PyHoca/128x128/pyhoca-session.png
new file mode 100644
index 0000000..3ab93b5
Binary files /dev/null and b/icons/PyHoca/128x128/pyhoca-session.png differ
diff --git a/icons/PyHoca/128x128/pyhoca-trayicon.png b/icons/PyHoca/128x128/pyhoca-trayicon.png
new file mode 100644
index 0000000..3ab93b5
Binary files /dev/null and b/icons/PyHoca/128x128/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/128x128/pyhoca-winicon.png b/icons/PyHoca/128x128/pyhoca-winicon.png
new file mode 100644
index 0000000..3ab93b5
Binary files /dev/null and b/icons/PyHoca/128x128/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/128x128/x2go-logo-rotated.png b/icons/PyHoca/128x128/x2go-logo-rotated.png
new file mode 100644
index 0000000..fa18078
Binary files /dev/null and b/icons/PyHoca/128x128/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/128x128/x2go-logo-ubuntu.png b/icons/PyHoca/128x128/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..7ff0fb7
Binary files /dev/null and b/icons/PyHoca/128x128/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/128x128/x2go-logo-white-bg.png b/icons/PyHoca/128x128/x2go-logo-white-bg.png
new file mode 100644
index 0000000..1542435
Binary files /dev/null and b/icons/PyHoca/128x128/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/128x128/x2go.png b/icons/PyHoca/128x128/x2go.png
new file mode 100644
index 0000000..0f96ecc
Binary files /dev/null and b/icons/PyHoca/128x128/x2go.png differ
diff --git a/icons/PyHoca/16x16/pyhoca-session.png b/icons/PyHoca/16x16/pyhoca-session.png
new file mode 100644
index 0000000..25bd64c
Binary files /dev/null and b/icons/PyHoca/16x16/pyhoca-session.png differ
diff --git a/icons/PyHoca/16x16/pyhoca-trayicon.png b/icons/PyHoca/16x16/pyhoca-trayicon.png
new file mode 100644
index 0000000..25bd64c
Binary files /dev/null and b/icons/PyHoca/16x16/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/16x16/pyhoca-winicon.png b/icons/PyHoca/16x16/pyhoca-winicon.png
new file mode 100644
index 0000000..25bd64c
Binary files /dev/null and b/icons/PyHoca/16x16/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/16x16/system-search.png b/icons/PyHoca/16x16/system-search.png
new file mode 100644
index 0000000..1400155
Binary files /dev/null and b/icons/PyHoca/16x16/system-search.png differ
diff --git a/icons/PyHoca/16x16/x2go-logo-rotated.png b/icons/PyHoca/16x16/x2go-logo-rotated.png
new file mode 100644
index 0000000..b5c3970
Binary files /dev/null and b/icons/PyHoca/16x16/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/16x16/x2go-logo-ubuntu.png b/icons/PyHoca/16x16/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..63b9ee4
Binary files /dev/null and b/icons/PyHoca/16x16/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/16x16/x2go-logo-white-bg.png b/icons/PyHoca/16x16/x2go-logo-white-bg.png
new file mode 100644
index 0000000..5a2df75
Binary files /dev/null and b/icons/PyHoca/16x16/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/16x16/x2go.png b/icons/PyHoca/16x16/x2go.png
new file mode 100644
index 0000000..e00b6d9
Binary files /dev/null and b/icons/PyHoca/16x16/x2go.png differ
diff --git a/icons/PyHoca/22x22/pyhoca-session.png b/icons/PyHoca/22x22/pyhoca-session.png
new file mode 100644
index 0000000..03679bf
Binary files /dev/null and b/icons/PyHoca/22x22/pyhoca-session.png differ
diff --git a/icons/PyHoca/22x22/pyhoca-trayicon.png b/icons/PyHoca/22x22/pyhoca-trayicon.png
new file mode 100644
index 0000000..03679bf
Binary files /dev/null and b/icons/PyHoca/22x22/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/22x22/pyhoca-winicon.png b/icons/PyHoca/22x22/pyhoca-winicon.png
new file mode 100644
index 0000000..03679bf
Binary files /dev/null and b/icons/PyHoca/22x22/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/22x22/x2go-logo-rotated.png b/icons/PyHoca/22x22/x2go-logo-rotated.png
new file mode 100644
index 0000000..a1f7db2
Binary files /dev/null and b/icons/PyHoca/22x22/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/22x22/x2go-logo-ubuntu.png b/icons/PyHoca/22x22/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..fb1ad70
Binary files /dev/null and b/icons/PyHoca/22x22/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/22x22/x2go-logo-white-bg.png b/icons/PyHoca/22x22/x2go-logo-white-bg.png
new file mode 100644
index 0000000..7cd46ec
Binary files /dev/null and b/icons/PyHoca/22x22/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/22x22/x2go.png b/icons/PyHoca/22x22/x2go.png
new file mode 100644
index 0000000..e1e06e2
Binary files /dev/null and b/icons/PyHoca/22x22/x2go.png differ
diff --git a/icons/PyHoca/32x32/broom-cleanup.png b/icons/PyHoca/32x32/broom-cleanup.png
new file mode 100644
index 0000000..7ad1eb0
Binary files /dev/null and b/icons/PyHoca/32x32/broom-cleanup.png differ
diff --git a/icons/PyHoca/32x32/dialog-apply.png b/icons/PyHoca/32x32/dialog-apply.png
new file mode 100644
index 0000000..4343b02
Binary files /dev/null and b/icons/PyHoca/32x32/dialog-apply.png differ
diff --git a/icons/PyHoca/32x32/dialog-error.png b/icons/PyHoca/32x32/dialog-error.png
new file mode 100644
index 0000000..030d8c5
Binary files /dev/null and b/icons/PyHoca/32x32/dialog-error.png differ
diff --git a/icons/PyHoca/32x32/dialog-question.png b/icons/PyHoca/32x32/dialog-question.png
new file mode 100644
index 0000000..e8a06f4
Binary files /dev/null and b/icons/PyHoca/32x32/dialog-question.png differ
diff --git a/icons/PyHoca/32x32/dialog-warning.png b/icons/PyHoca/32x32/dialog-warning.png
new file mode 100644
index 0000000..aad64d4
Binary files /dev/null and b/icons/PyHoca/32x32/dialog-warning.png differ
diff --git a/icons/PyHoca/32x32/document-save.png b/icons/PyHoca/32x32/document-save.png
new file mode 100644
index 0000000..8ed656a
Binary files /dev/null and b/icons/PyHoca/32x32/document-save.png differ
diff --git a/icons/PyHoca/32x32/edit-delete.png b/icons/PyHoca/32x32/edit-delete.png
new file mode 100644
index 0000000..56c6331
Binary files /dev/null and b/icons/PyHoca/32x32/edit-delete.png differ
diff --git a/icons/PyHoca/32x32/gnome-dev-printer-network.png b/icons/PyHoca/32x32/gnome-dev-printer-network.png
new file mode 100644
index 0000000..9ea94fc
Binary files /dev/null and b/icons/PyHoca/32x32/gnome-dev-printer-network.png differ
diff --git a/icons/PyHoca/32x32/gtk-edit.png b/icons/PyHoca/32x32/gtk-edit.png
new file mode 100644
index 0000000..930f91f
Binary files /dev/null and b/icons/PyHoca/32x32/gtk-edit.png differ
diff --git a/icons/PyHoca/32x32/list-add.png b/icons/PyHoca/32x32/list-add.png
new file mode 100644
index 0000000..81f3c5e
Binary files /dev/null and b/icons/PyHoca/32x32/list-add.png differ
diff --git a/icons/PyHoca/32x32/locked.png b/icons/PyHoca/32x32/locked.png
new file mode 100644
index 0000000..29a5bcc
Binary files /dev/null and b/icons/PyHoca/32x32/locked.png differ
diff --git a/icons/PyHoca/32x32/media-eject.png b/icons/PyHoca/32x32/media-eject.png
new file mode 100644
index 0000000..8ce9424
Binary files /dev/null and b/icons/PyHoca/32x32/media-eject.png differ
diff --git a/icons/PyHoca/32x32/media-playback-pause.png b/icons/PyHoca/32x32/media-playback-pause.png
new file mode 100644
index 0000000..9c558aa
Binary files /dev/null and b/icons/PyHoca/32x32/media-playback-pause.png differ
diff --git a/icons/PyHoca/32x32/media-playback-start.png b/icons/PyHoca/32x32/media-playback-start.png
new file mode 100644
index 0000000..8b41724
Binary files /dev/null and b/icons/PyHoca/32x32/media-playback-start.png differ
diff --git a/icons/PyHoca/32x32/media-playback-stop.png b/icons/PyHoca/32x32/media-playback-stop.png
new file mode 100644
index 0000000..b694445
Binary files /dev/null and b/icons/PyHoca/32x32/media-playback-stop.png differ
diff --git a/icons/PyHoca/32x32/media-record.png b/icons/PyHoca/32x32/media-record.png
new file mode 100644
index 0000000..d763eb7
Binary files /dev/null and b/icons/PyHoca/32x32/media-record.png differ
diff --git a/icons/PyHoca/32x32/media-seek-backward.png b/icons/PyHoca/32x32/media-seek-backward.png
new file mode 100644
index 0000000..b600fcc
Binary files /dev/null and b/icons/PyHoca/32x32/media-seek-backward.png differ
diff --git a/icons/PyHoca/32x32/media-seek-forward.png b/icons/PyHoca/32x32/media-seek-forward.png
new file mode 100644
index 0000000..6019dad
Binary files /dev/null and b/icons/PyHoca/32x32/media-seek-forward.png differ
diff --git a/icons/PyHoca/32x32/media-skip-backward.png b/icons/PyHoca/32x32/media-skip-backward.png
new file mode 100644
index 0000000..4c026ba
Binary files /dev/null and b/icons/PyHoca/32x32/media-skip-backward.png differ
diff --git a/icons/PyHoca/32x32/media-skip-forward.png b/icons/PyHoca/32x32/media-skip-forward.png
new file mode 100644
index 0000000..836e38c
Binary files /dev/null and b/icons/PyHoca/32x32/media-skip-forward.png differ
diff --git a/icons/PyHoca/32x32/network-wired.png b/icons/PyHoca/32x32/network-wired.png
new file mode 100644
index 0000000..99ff359
Binary files /dev/null and b/icons/PyHoca/32x32/network-wired.png differ
diff --git a/icons/PyHoca/32x32/pyhoca-session.png b/icons/PyHoca/32x32/pyhoca-session.png
new file mode 100644
index 0000000..1cdd8ff
Binary files /dev/null and b/icons/PyHoca/32x32/pyhoca-session.png differ
diff --git a/icons/PyHoca/32x32/pyhoca-trayicon.png b/icons/PyHoca/32x32/pyhoca-trayicon.png
new file mode 100644
index 0000000..1cdd8ff
Binary files /dev/null and b/icons/PyHoca/32x32/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/32x32/pyhoca-winicon.png b/icons/PyHoca/32x32/pyhoca-winicon.png
new file mode 100644
index 0000000..1cdd8ff
Binary files /dev/null and b/icons/PyHoca/32x32/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/32x32/unlocked.png b/icons/PyHoca/32x32/unlocked.png
new file mode 100644
index 0000000..0e18606
Binary files /dev/null and b/icons/PyHoca/32x32/unlocked.png differ
diff --git a/icons/PyHoca/32x32/window-close.png b/icons/PyHoca/32x32/window-close.png
new file mode 100644
index 0000000..843767f
Binary files /dev/null and b/icons/PyHoca/32x32/window-close.png differ
diff --git a/icons/PyHoca/32x32/window-new.png b/icons/PyHoca/32x32/window-new.png
new file mode 100644
index 0000000..1540e8c
Binary files /dev/null and b/icons/PyHoca/32x32/window-new.png differ
diff --git a/icons/PyHoca/32x32/x2go-logo-rotated.png b/icons/PyHoca/32x32/x2go-logo-rotated.png
new file mode 100644
index 0000000..3f28eb0
Binary files /dev/null and b/icons/PyHoca/32x32/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/32x32/x2go-logo-ubuntu.png b/icons/PyHoca/32x32/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..5b7c8e5
Binary files /dev/null and b/icons/PyHoca/32x32/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/32x32/x2go-logo-white-bg.png b/icons/PyHoca/32x32/x2go-logo-white-bg.png
new file mode 100644
index 0000000..6a35c8b
Binary files /dev/null and b/icons/PyHoca/32x32/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/32x32/x2go.png b/icons/PyHoca/32x32/x2go.png
new file mode 100644
index 0000000..9059745
Binary files /dev/null and b/icons/PyHoca/32x32/x2go.png differ
diff --git a/icons/PyHoca/48x48/pyhoca-session.png b/icons/PyHoca/48x48/pyhoca-session.png
new file mode 100644
index 0000000..5932207
Binary files /dev/null and b/icons/PyHoca/48x48/pyhoca-session.png differ
diff --git a/icons/PyHoca/48x48/pyhoca-trayicon.png b/icons/PyHoca/48x48/pyhoca-trayicon.png
new file mode 100644
index 0000000..5932207
Binary files /dev/null and b/icons/PyHoca/48x48/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/48x48/pyhoca-winicon.png b/icons/PyHoca/48x48/pyhoca-winicon.png
new file mode 100644
index 0000000..5932207
Binary files /dev/null and b/icons/PyHoca/48x48/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/48x48/x2go-logo-rotated.png b/icons/PyHoca/48x48/x2go-logo-rotated.png
new file mode 100644
index 0000000..e3b7e20
Binary files /dev/null and b/icons/PyHoca/48x48/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/48x48/x2go-logo-ubuntu.png b/icons/PyHoca/48x48/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..b547c98
Binary files /dev/null and b/icons/PyHoca/48x48/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/48x48/x2go-logo-white-bg.png b/icons/PyHoca/48x48/x2go-logo-white-bg.png
new file mode 100644
index 0000000..bfcb097
Binary files /dev/null and b/icons/PyHoca/48x48/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/48x48/x2go.png b/icons/PyHoca/48x48/x2go.png
new file mode 100644
index 0000000..8e543b9
Binary files /dev/null and b/icons/PyHoca/48x48/x2go.png differ
diff --git a/icons/PyHoca/64x64/pyhoca-session.png b/icons/PyHoca/64x64/pyhoca-session.png
new file mode 100644
index 0000000..aa87bc3
Binary files /dev/null and b/icons/PyHoca/64x64/pyhoca-session.png differ
diff --git a/icons/PyHoca/64x64/pyhoca-trayicon.png b/icons/PyHoca/64x64/pyhoca-trayicon.png
new file mode 100644
index 0000000..aa87bc3
Binary files /dev/null and b/icons/PyHoca/64x64/pyhoca-trayicon.png differ
diff --git a/icons/PyHoca/64x64/pyhoca-winicon.png b/icons/PyHoca/64x64/pyhoca-winicon.png
new file mode 100644
index 0000000..aa87bc3
Binary files /dev/null and b/icons/PyHoca/64x64/pyhoca-winicon.png differ
diff --git a/icons/PyHoca/64x64/x2go-logo-rotated.png b/icons/PyHoca/64x64/x2go-logo-rotated.png
new file mode 100644
index 0000000..8428b47
Binary files /dev/null and b/icons/PyHoca/64x64/x2go-logo-rotated.png differ
diff --git a/icons/PyHoca/64x64/x2go-logo-ubuntu.png b/icons/PyHoca/64x64/x2go-logo-ubuntu.png
new file mode 100644
index 0000000..67fc789
Binary files /dev/null and b/icons/PyHoca/64x64/x2go-logo-ubuntu.png differ
diff --git a/icons/PyHoca/64x64/x2go-logo-white-bg.png b/icons/PyHoca/64x64/x2go-logo-white-bg.png
new file mode 100644
index 0000000..05dcbf0
Binary files /dev/null and b/icons/PyHoca/64x64/x2go-logo-white-bg.png differ
diff --git a/icons/PyHoca/64x64/x2go.png b/icons/PyHoca/64x64/x2go.png
new file mode 100644
index 0000000..2c37783
Binary files /dev/null and b/icons/PyHoca/64x64/x2go.png differ
diff --git a/icons/PyHoca/scalable/broom-cleanup.svg b/icons/PyHoca/scalable/broom-cleanup.svg
new file mode 100644
index 0000000..36af1c6
Binary files /dev/null and b/icons/PyHoca/scalable/broom-cleanup.svg differ
diff --git a/icons/PyHoca/scalable/dialog-apply.svg b/icons/PyHoca/scalable/dialog-apply.svg
new file mode 100644
index 0000000..1524dd3
--- /dev/null
+++ b/icons/PyHoca/scalable/dialog-apply.svg
@@ -0,0 +1,150 @@
+<?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="svg7976"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7978">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7948">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop7950" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1"
+         id="stop7952" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7948"
+       id="linearGradient7954"
+       x1="-81.959923"
+       y1="35.301952"
+       x2="-91.354408"
+       y2="-8.3031855"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient1731">
+      <stop
+         id="stop1733"
+         offset="0"
+         style="stop-color:#b8d67a;stop-opacity:1" />
+      <stop
+         id="stop1735"
+         offset="1"
+         style="stop-color:#789e2d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1731"
+       id="linearGradient1455"
+       gradientUnits="userSpaceOnUse"
+       x1="-85.334991"
+       y1="-6.8188653"
+       x2="-91.536674"
+       y2="27.080305"
+       gradientTransform="translate(0.5271438,-2.3199355e-2)" />
+    <linearGradient
+       id="linearGradient8662"
+       inkscape:collect="always">
+      <stop
+         id="stop8664"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop8666"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8662"
+       id="radialGradient1444"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+       cx="24.837126"
+       cy="36.421127"
+       fx="24.837126"
+       fy="36.421127"
+       r="15.644737" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="14"
+     inkscape:cx="17.79899"
+     inkscape:cy="21.497325"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1680"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7981">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       transform="matrix(1.214466,0,0,0.595458,-6.1638433,20.312751)"
+       d="M 40.481863,36.421127 A 15.644737,8.3968935 0 1 1 9.1923885,36.421127 A 15.644737,8.3968935 0 1 1 40.481863,36.421127 z"
+       sodipodi:ry="8.3968935"
+       sodipodi:rx="15.644737"
+       sodipodi:cy="36.421127"
+       sodipodi:cx="24.837126"
+       id="path8660"
+       style="opacity:0.20454544;fill:url(#radialGradient1444);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <g
+       id="g1529"
+       inkscape:label="Layer 1"
+       transform="translate(111.7398,15.579231)">
+      <g
+         id="g1450"
+         transform="matrix(1.017301,-0.243559,0.243559,1.017301,-1.745715,-23.38258)">
+        <path
+           style="fill:url(#linearGradient1455);fill-opacity:1;fill-rule:nonzero;stroke:#42770c;stroke-width:0.95597649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           d="M -73.881889,-4.6293179 C -74.389631,-4.8067199 -74.968019,-4.6757149 -75.352541,-4.2504169 L -91.734788,13.86571 L -97.664774,6.2884221 C -98.231838,5.7757261 -99.100737,5.8101851 -99.613436,6.3772491 L -103.90755,9.8077721 C -104.42024,10.374832 -104.37524,11.245996 -103.80818,11.75869 C -103.80818,11.75869 -93.079342,26.005593 -93.064798,26.017716 C -92.931895,26.137881 -92.782055,26.218205 -92.624431,26.277658 C -92.109522,26.471875 -91.506409,26.352506 -91.113876,25.918351 L -69.020292,1.4865271 C -68.507598,0.91946515 -68.552594,0.048303155 -69.11966,-0.46439283 L -73.40162,-4.3497839 C -73.543388,-4.4779589 -73.712642,-4.5701849 -73.881889,-4.6293179 z"
+           id="path1542"
+           sodipodi:nodetypes="cccccccssccccc" />
+        <path
+           style="opacity:0.4;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7954);stroke-width:0.95597649;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           d="M -74.978545,-3.2016699 L -83.289347,6.0212271 L -90.672863,14.143297 C -90.879108,14.271935 -90.955853,14.816814 -91.724224,14.828343 C -92.255838,14.83632 -92.301842,14.628226 -92.748497,14.162478 L -97.987967,7.5093115 C -98.568531,6.7592215 -98.553829,6.7944924 -99.185739,7.1858061 L -102.56429,9.8385081 C -103.44236,10.41927 -103.44231,10.897191 -102.70467,11.663785 C -102.70467,11.663785 -92.945374,24.597046 -92.931619,24.608516 C -92.805911,24.722171 -92.8741,24.734491 -92.355719,25.314704 C -92.023194,25.686891 -91.460716,24.892021 -91.091836,24.484045 L -69.849981,1.0476071 C -69.36818,0.51473817 -69.395599,0.51691517 -69.931971,0.031992155 L -73.780932,-3.3612149 C -74.334112,-3.8587709 -74.338372,-3.8556239 -74.978545,-3.2016699 z"
+           id="path1544"
+           sodipodi:nodetypes="cccscccccssccccc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/dialog-error.svg b/icons/PyHoca/scalable/dialog-error.svg
new file mode 100644
index 0000000..74b4a17
--- /dev/null
+++ b/icons/PyHoca/scalable/dialog-error.svg
@@ -0,0 +1,178 @@
+<?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="svg7187"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7189">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4873">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4875" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4873"
+       id="linearGradient2704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)"
+       x1="62.745731"
+       y1="-13.444987"
+       x2="62.608765"
+       y2="7.1072145" />
+    <linearGradient
+       id="linearGradient3811">
+      <stop
+         id="stop3813"
+         offset="0"
+         style="stop-color:#a40000;stop-opacity:1" />
+      <stop
+         id="stop3815"
+         offset="1"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3811"
+       id="linearGradient3927"
+       x1="15.046636"
+       y1="44.787998"
+       x2="15.046636"
+       y2="3.8851264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" />
+    <linearGradient
+       id="linearGradient5106">
+      <stop
+         style="stop-color:#e78181;stop-opacity:1"
+         offset="0"
+         id="stop5108" />
+      <stop
+         id="stop8208"
+         offset="0.25288007"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0.68271071"
+         id="stop8210" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop5110" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5106"
+       id="radialGradient2707"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)"
+       cx="62.202274"
+       cy="-5.7132163"
+       fx="62.202274"
+       fy="-5.7132163"
+       r="9.7552835" />
+    <linearGradient
+       id="linearGradient10691"
+       inkscape:collect="always">
+      <stop
+         id="stop10693"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop10695"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10691"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.902215,0.525703)"
+       cx="6.702713"
+       cy="73.615715"
+       fx="6.702713"
+       fy="73.615715"
+       r="7.228416" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="0"
+     inkscape:window-y="331" />
+  <metadata
+     id="metadata7192">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       transform="matrix(1.6,0,0,1.8421053,3.6,-30.289477)"
+       d="M 26.5,38.700001 A 13.75,3.8 0 1 1 -1,38.700001 A 13.75,3.8 0 1 1 26.5,38.700001 z"
+       sodipodi:ry="3.8"
+       sodipodi:rx="13.75"
+       sodipodi:cy="38.700001"
+       sodipodi:cx="12.75"
+       id="path2625"
+       style="opacity:0.5;fill:url(#radialGradient3080);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       style="fill:url(#radialGradient2707);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3927);stroke-width:1.00004065;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 45.499979,22.999239 C 45.499979,34.87373 35.873401,44.49998 24.000271,44.49998 C 12.126053,44.49998 2.500021,34.873621 2.500021,22.999239 C 2.500021,11.12529 12.126053,1.5000204 24.000271,1.5000204 C 35.873401,1.5000204 45.499979,11.12529 45.499979,22.999239 L 45.499979,22.999239 z"
+       id="path6495" />
+    <path
+       id="path8655"
+       d="M 44.49904,22.999272 C 44.49904,34.321462 35.320423,43.499975 23.999791,43.499975 C 12.678124,43.499975 3.500025,34.321356 3.500025,22.999272 C 3.500025,11.677606 12.678124,2.5000254 23.999791,2.5000254 C 35.320423,2.5000254 44.49904,11.677606 44.49904,22.999272 L 44.49904,22.999272 z"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2704);stroke-width:1.00004995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="font-size:89.63063812px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.15;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.7688275;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Georgia"
+       id="path2975"
+       d="M 9.9999996,24 C 19.333334,24 28.666667,24 38,24 C 38,22.333334 38,20.666667 38,19 C 28.666667,19 19.333334,19 9.9999996,19 C 9.9999996,20.666667 9.9999996,22.333334 9.9999996,24 z" />
+    <path
+       style="font-size:89.63063812px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.7688275;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Georgia"
+       id="path3360"
+       d="M 9.9999996,26 C 19.333334,26 28.666667,26 38,26 C 38,24.000001 38,22 38,20 C 28.666667,20 19.333334,20 9.9999996,20 C 9.9999996,22 9.9999996,24.000001 9.9999996,26 z" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/dialog-question.svg b/icons/PyHoca/scalable/dialog-question.svg
new file mode 100644
index 0000000..50123ac
--- /dev/null
+++ b/icons/PyHoca/scalable/dialog-question.svg
@@ -0,0 +1,185 @@
+<?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="svg7220"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="dialog-question.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7222">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4873">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4875" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4873"
+       id="linearGradient2704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)"
+       x1="62.745731"
+       y1="-13.444987"
+       x2="62.608765"
+       y2="7.1072145" />
+    <linearGradient
+       id="linearGradient3811">
+      <stop
+         id="stop3813"
+         offset="0"
+         style="stop-color:#204a87;stop-opacity:1" />
+      <stop
+         id="stop3815"
+         offset="1"
+         style="stop-color:#3465a4;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3811"
+       id="linearGradient3927"
+       x1="15.046636"
+       y1="44.787998"
+       x2="15.046636"
+       y2="3.8851264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.5082857,-3.3507604)" />
+    <linearGradient
+       id="linearGradient5106">
+      <stop
+         style="stop-color:#8fb3d9;stop-opacity:1"
+         offset="0"
+         id="stop5108" />
+      <stop
+         id="stop8208"
+         offset="0.25288007"
+         style="stop-color:#729fcf;stop-opacity:1" />
+      <stop
+         style="stop-color:#3465a4;stop-opacity:1"
+         offset="0.68271071"
+         id="stop8210" />
+      <stop
+         style="stop-color:#204a87;stop-opacity:1"
+         offset="1"
+         id="stop5110" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5106"
+       id="radialGradient2707"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)"
+       cx="62.202274"
+       cy="-5.7132163"
+       fx="62.202274"
+       fy="-5.7132163"
+       r="9.7552835" />
+    <linearGradient
+       id="linearGradient10691"
+       inkscape:collect="always">
+      <stop
+         id="stop10693"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop10695"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10691"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.902215,0.525703)"
+       cx="6.702713"
+       cy="73.615715"
+       fx="6.702713"
+       fy="73.615715"
+       r="7.228416" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1680"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7225">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       transform="matrix(1.6,0,0,1.8421053,3.6000003,-30.289476)"
+       d="M 26.5,38.700001 A 13.75,3.8 0 1 1 -1,38.700001 A 13.75,3.8 0 1 1 26.5,38.700001 z"
+       sodipodi:ry="3.8"
+       sodipodi:rx="13.75"
+       sodipodi:cy="38.700001"
+       sodipodi:cx="12.75"
+       id="path2625"
+       style="opacity:0.5;fill:url(#radialGradient3080);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       style="fill:url(#radialGradient2707);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3927);stroke-width:1.00004065;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 45.499979,22.999239 C 45.499979,34.87373 35.873401,44.49998 24.000271,44.49998 C 12.126053,44.49998 2.5000203,34.873621 2.5000203,22.999239 C 2.5000203,11.12529 12.126053,1.5000193 24.000271,1.5000193 C 35.873401,1.5000193 45.499979,11.12529 45.499979,22.999239 L 45.499979,22.999239 z"
+       id="path6495" />
+    <path
+       id="path8655"
+       d="M 44.49904,22.999272 C 44.49904,34.321462 35.320423,43.499975 23.999791,43.499975 C 12.678124,43.499975 3.5000253,34.321356 3.5000253,22.999272 C 3.5000253,11.677606 12.678124,2.5000243 23.999791,2.5000243 C 35.320423,2.5000243 44.49904,11.677606 44.49904,22.999272 L 44.49904,22.999272 z"
+       style="opacity:0.6;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2704);stroke-width:1.00004995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path9053"
+       style="font-size:72px;font-style:normal;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Standard Symbols L"
+       d="M 25.499549,29.000001 C 25.500288,27.000001 24.999549,24.022899 27.499549,22.000001 C 29.987045,20.009725 32.016392,18.017155 31.999549,15.000001 C 32.036328,12.012312 28.999549,10.023333 25.999549,9.7499987 C 22.008774,9.4823727 17.999549,10.031438 15.999549,14.000001 C 15.707504,15.711192 15.898252,18.000001 17.999549,18.000001 C 18.983603,18.000001 19.999549,17.038081 19.999549,16.000001 L 19.999549,15.000001 C 19.999549,14.500001 20.028884,14.041648 20.999549,13.500001 C 22.019064,12.931095 22.407751,13.018029 22.499549,13.000001 C 24.999549,12.506705 26.748239,12.989752 27.499549,14.000001 C 29.001034,16.018972 27.981707,17.013135 25.999549,19.500001 C 24.029691,21.971435 22.499549,24.000001 22.499549,27.000001 L 22.499549,29.000001 L 25.499549,29.000001 z"
+       sodipodi:nodetypes="cccccsssssssscc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8287"
+       sodipodi:cx="18.4417"
+       sodipodi:cy="34.547359"
+       sodipodi:rx="2.2272584"
+       sodipodi:ry="2.4054391"
+       d="M 20.668958,34.547359 A 2.2272584,2.4054391 0 1 1 16.214442,34.547359 A 2.2272584,2.4054391 0 1 1 20.668958,34.547359 z"
+       transform="matrix(0.8979649,0,0,0.831449,7.4395493,5.2756317)" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/dialog-warning.svg b/icons/PyHoca/scalable/dialog-warning.svg
new file mode 100644
index 0000000..1f093b5
--- /dev/null
+++ b/icons/PyHoca/scalable/dialog-warning.svg
@@ -0,0 +1,221 @@
+<?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="svg7299"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="dialog-warning.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7301">
+    <filter
+       inkscape:collect="always"
+       id="filter11277"
+       x="-0.02834265"
+       width="1.0566853"
+       y="-0.4156922"
+       height="1.8313844">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.51961525"
+         id="feGaussianBlur11279" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter11267"
+       x="-0.08502795"
+       width="1.1700559"
+       y="-1.2470766"
+       height="3.4941532">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.5588457"
+         id="feGaussianBlur11269" />
+    </filter>
+    <linearGradient
+       y2="56.052299"
+       x2="47.319698"
+       y1="11.1133"
+       x1="4.1914001"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient11223">
+      <stop
+         id="stop11225"
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop11227"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient11223"
+       id="linearGradient11177"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.646153,0,-2.812685e-3,0.671002,2.320937,4.636421)"
+       x1="22.858232"
+       y1="27.427332"
+       x2="23.075396"
+       y2="77.315834" />
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         id="stop5256"
+         offset="0"
+         style="stop-color:#fed496;stop-opacity:1;" />
+      <stop
+         id="stop5254"
+         offset="1"
+         style="stop-color:#fcaf3e;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5252"
+       id="radialGradient11221"
+       cx="21.080828"
+       cy="27.925562"
+       fx="21.080828"
+       fy="27.925562"
+       r="8.803154"
+       gradientTransform="matrix(2.794628,0,0,2.6342217,-37.832243,-46.946604)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5402">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5404" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5406" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5402"
+       id="radialGradient11181"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5111798,0,0,0.4916103,-18.445765,-11.688203)"
+       cx="79.377068"
+       cy="44.534161"
+       fx="79.377068"
+       fy="44.534161"
+       r="50.66839" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24.055179"
+     inkscape:cy="24.019671"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7304">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       style="opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;filter:url(#filter11277);enable-background:new"
+       id="rect11271"
+       width="44"
+       height="3"
+       x="298"
+       y="91"
+       rx="3.25"
+       ry="1.5"
+       transform="matrix(1,0,0,1.3333333,-296,-80.833333)" />
+    <rect
+       style="opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;filter:url(#filter11267);enable-background:new"
+       id="rect11249"
+       width="44"
+       height="3"
+       x="298"
+       y="91"
+       rx="3.25"
+       ry="1.5"
+       transform="matrix(1,0,0,1.5833333,-296,-103.95833)" />
+    <g
+       style="display:inline;enable-background:new"
+       transform="matrix(1.566667,0,0,1.566667,-8.914935,-24.83992)"
+       id="g11137">
+      <g
+         style="display:inline"
+         transform="matrix(1.508284e-2,0,0,1.391344e-2,34.42474,40.95434)"
+         id="g11139" />
+      <g
+         id="g11147"
+         transform="matrix(1.508284e-2,0,0,1.391344e-2,34.42474,40.95434)"
+         style="display:inline" />
+      <path
+         style="fill:#f57900;fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:0.63829809;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 34.661531,40.883147 L 22.706683,18.443515 C 22.363065,17.820192 21.741298,17.473902 21.048838,17.473902 C 20.356376,17.473902 19.731421,17.889449 19.382581,18.512773 L 7.5167568,40.952406 C 7.2374515,41.506471 7.2342608,42.26831 7.5781714,42.822375 C 7.9220807,43.37644 8.4748902,43.653472 9.167352,43.653472 L 32.988021,43.653472 C 33.680481,43.653472 34.305147,43.307182 34.584454,42.753116 C 34.933004,42.199051 34.935904,41.506471 34.661531,40.883147 z"
+         id="path11155"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true" />
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path11157"
+         d="M 12.350235,39.643509 C 12.169549,39.94119 12.347947,40.179336 12.646973,40.179336 L 29.512056,40.179336 C 29.811084,40.179336 29.991516,39.94119 29.813372,39.643509 L 21.328843,23.806857 C 21.150698,23.509176 20.911478,23.509176 20.790595,23.806857 L 12.350235,39.643509 z"
+         style="fill:url(#radialGradient11221);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" />
+      <path
+         style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient11177);stroke-width:0.63829821;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 33.589554,40.372476 L 22.40647,19.408588 C 21.930192,18.505487 21.759362,18.215736 21.035555,18.215736 C 20.413025,18.215736 20.087298,18.63772 19.637426,19.490174 L 8.5784665,40.437181 C 7.9362948,41.613232 7.8674918,41.919785 8.176589,42.437412 C 8.4856845,42.95504 8.8825484,42.926847 10.348923,42.960612 L 32.084644,42.960612 C 33.449812,42.977494 33.757327,42.873453 34.008507,42.355827 C 34.32194,41.838198 34.188623,41.427523 33.589554,40.372476 z"
+         id="path11159"
+         sodipodi:nodetypes="ccsccscccc"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true" />
+      <g
+         style="fill:#121312;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.98018837;stroke-miterlimit:4"
+         transform="matrix(0.561759,0,0,0.570854,7.608308,17.60115)"
+         id="g11161"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true">
+        <path
+           style="fill:#121312;fill-opacity:1;stroke:none"
+           d="M 23.9,36.5 C 22.6,36.5 21.6,35.5 21.6,34.2 C 21.6,32.8 22.5,31.9 23.9,31.9 C 25.3,31.9 26.1,32.8 26.2,34.2 C 26.2,35.5 25.3,36.5 23.9,36.5 L 23.9,36.5 z M 23.167629,29.066754 L 21.9,19.1 L 25.9,19.1 L 24.632371,30.709518 L 23.167629,29.066754 z"
+           id="path11163"
+           inkscape:r_cx="true"
+           inkscape:r_cy="true"
+           sodipodi:nodetypes="csscccccccc" />
+      </g>
+    </g>
+    <path
+       id="path11179"
+       d="M 23.982235,3.0642796 C 22.983955,3.0642796 22.084515,3.6634646 21.581625,4.5632536 L 6.9499354,32.262453 L 37.310435,25.017218 L 26.371965,4.4600786 C 25.876595,3.5602906 24.980525,3.0642796 23.982235,3.0642796 z"
+       style="opacity:0.47126435;fill:url(#radialGradient11181);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.63829809;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/document-save.svg b/icons/PyHoca/scalable/document-save.svg
new file mode 100644
index 0000000..c53130d
--- /dev/null
+++ b/icons/PyHoca/scalable/document-save.svg
@@ -0,0 +1,920 @@
+<?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"
+   version="1.0"
+   width="48"
+   height="48"
+   id="svg7836"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="document-save.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <metadata
+     id="metadata137">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="1000"
+     inkscape:window-width="1680"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     inkscape:zoom="10.291667"
+     inkscape:cx="33.986371"
+     inkscape:cy="14.425604"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:current-layer="svg7836">
+    <inkscape:grid
+       type="xygrid"
+       id="grid9762" />
+  </sodipodi:namedview>
+  <defs
+     id="defs7838">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3911">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3913" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3915" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3911"
+       id="linearGradient3917"
+       x1="436.22424"
+       y1="69.261185"
+       x2="443.29364"
+       y2="62.392006"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8660">
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0"
+         id="stop8662" />
+      <stop
+         style="stop-color:#da3f3f;stop-opacity:1"
+         offset="1"
+         id="stop8664" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8660"
+       id="linearGradient3892"
+       gradientUnits="userSpaceOnUse"
+       x1="404.01727"
+       y1="197.6288"
+       x2="404.01727"
+       y2="185.93324"
+       gradientTransform="matrix(1.2796712,0,0,1.2692354,-77.48715,-173.86623)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3956">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3958" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3960" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3956"
+       id="radialGradient3901"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.352381,0,93.783333)"
+       cx="378.9375"
+       cy="144.8125"
+       fx="378.9375"
+       fy="144.8125"
+       r="6.5625" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient8272"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5060">
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0"
+         id="stop5062" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5064" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5060"
+       id="radialGradient8270"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+       cx="605.71429"
+       cy="486.64789"
+       fx="605.71429"
+       fy="486.64789"
+       r="117.14286" />
+    <linearGradient
+       id="linearGradient5048">
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="0"
+         id="stop5050" />
+      <stop
+         id="stop5056"
+         offset="0.5"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         style="stop-color:black;stop-opacity:0;"
+         offset="1"
+         id="stop5052" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5048"
+       id="linearGradient8268"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+       x1="302.85715"
+       y1="366.64789"
+       x2="302.85715"
+       y2="609.50507" />
+    <linearGradient
+       id="linearGradient9111">
+      <stop
+         id="stop9113"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop9115"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="320.01709"
+       y1="79.980797"
+       x2="320.01709"
+       y2="74.42086"
+       id="linearGradient4045"
+       xlink:href="#linearGradient9111"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.3124939,13.883653)" />
+    <linearGradient
+       id="linearGradient9101">
+      <stop
+         id="stop9103"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop9105"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="115.948"
+       y1="186.81287"
+       x2="210.23586"
+       y2="85.606262"
+       id="linearGradient4048"
+       xlink:href="#linearGradient9101"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1964069,0,0,0.1964069,291.11029,53.069992)" />
+    <radialGradient
+       cx="113.0654"
+       cy="97.587898"
+       r="2.5631001"
+       fx="113.667"
+       fy="98"
+       id="radialGradient4128"
+       xlink:href="#XMLID_64_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <linearGradient
+       x1="113.0654"
+       y1="100.6621"
+       x2="113.0654"
+       y2="94.512703"
+       id="linearGradient4126"
+       xlink:href="#XMLID_63_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <radialGradient
+       cx="127.31733"
+       cy="143.82751"
+       r="78.728165"
+       fx="127.31733"
+       fy="143.82751"
+       id="radialGradient4057"
+       xlink:href="#linearGradient7609"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1691796,-2.118677e-2,7.64681e-3,6.311337e-2,291.54812,67.154866)" />
+    <radialGradient
+       cx="230"
+       cy="133"
+       r="16.5"
+       fx="230"
+       fy="133"
+       id="radialGradient4060"
+       xlink:href="#linearGradient7665"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.1964069,0,0,0.4901248,348.1398,14.167053)" />
+    <linearGradient
+       id="linearGradient7665">
+      <stop
+         id="stop7667"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7669"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="230"
+       cy="133"
+       r="16.5"
+       fx="230"
+       fy="133"
+       id="radialGradient4063"
+       xlink:href="#linearGradient7665"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1964069,0,0,0.4901248,290.75046,14.167053)" />
+    <filter
+       height="1.4934545"
+       y="-0.24672721"
+       width="1.2185298"
+       x="-0.10926491"
+       id="filter7557">
+      <feGaussianBlur
+         id="feGaussianBlur7559"
+         stdDeviation="3.1868932"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       id="linearGradient7537">
+      <stop
+         id="stop7539"
+         style="stop-color:#ffffff;stop-opacity:0.24752475"
+         offset="0" />
+      <stop
+         id="stop7561"
+         style="stop-color:#ffffff;stop-opacity:0.61176473"
+         offset="0.38571429" />
+      <stop
+         id="stop7541"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="152"
+       y1="202.5"
+       x2="222"
+       y2="202.5"
+       id="linearGradient4100"
+       xlink:href="#linearGradient7537"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4144">
+      <stop
+         id="stop4146"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4148"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="305.02817"
+       y1="76.907806"
+       x2="302.04178"
+       y2="76.907806"
+       id="linearGradient7755"
+       xlink:href="#linearGradient4144"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7481482,0,0,1,76.821909,0)" />
+    <linearGradient
+       id="linearGradient7691">
+      <stop
+         id="stop7693"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7695"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="85.750008"
+       cy="214.08336"
+       r="14"
+       fx="85.750008"
+       fy="214.08336"
+       id="radialGradient7753"
+       xlink:href="#linearGradient7691"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.2665522,9.092593e-2,-2.342877e-2,7.099072e-2,291.11104,54.883977)" />
+    <linearGradient
+       id="linearGradient4236">
+      <stop
+         id="stop4238"
+         style="stop-color:#eeeeee;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4240"
+         style="stop-color:#eeeeee;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="12.277412"
+       y1="37.205811"
+       x2="12.221823"
+       y2="33.758667"
+       id="linearGradient7751"
+       xlink:href="#linearGradient4236"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.0962816,0,0,5.0962816,21.323205,37.043678)" />
+    <linearGradient
+       id="linearGradient4110">
+      <stop
+         id="stop4112"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4114"
+         style="stop-color:#bbbbbb;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="7.0625"
+       y1="35.28125"
+       x2="24.6875"
+       y2="35.28125"
+       id="linearGradient7749"
+       xlink:href="#linearGradient4110"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.0962816,0,0,5.0962816,25.377261,30.286921)" />
+    <filter
+       height="1.0836165"
+       y="-0.041808251"
+       width="1.8027184"
+       x="-0.40135923"
+       id="filter7527">
+      <feGaussianBlur
+         id="feGaussianBlur7529"
+         stdDeviation="0.52260316"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       cx="43.5625"
+       cy="202.25"
+       r="1.5625"
+       fx="43.5625"
+       fy="202.25"
+       id="radialGradient4102"
+       xlink:href="#linearGradient7507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.16,0,0,11.28,-94.095,-2079.13)" />
+    <filter
+       height="1.0837955"
+       y="-0.041897796"
+       width="1.8044378"
+       x="-0.40221885"
+       id="filter4116">
+      <feGaussianBlur
+         id="feGaussianBlur4118"
+         stdDeviation="0.52372246"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       id="linearGradient7507">
+      <stop
+         id="stop7509"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7511"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="43.5625"
+       cy="202.25"
+       r="1.5625"
+       fx="43.5625"
+       fy="202.25"
+       id="radialGradient4104"
+       xlink:href="#linearGradient7507"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.16,0,0,11.28,-94.095,-2079.13)" />
+    <radialGradient
+       cx="113.0654"
+       cy="97.587898"
+       r="2.5631001"
+       fx="113.667"
+       fy="98"
+       id="radialGradient4132"
+       xlink:href="#XMLID_64_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <linearGradient
+       x1="113.0654"
+       y1="100.6621"
+       x2="113.0654"
+       y2="94.512703"
+       id="linearGradient4130"
+       xlink:href="#XMLID_63_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <radialGradient
+       cx="113.0654"
+       cy="97.587898"
+       r="2.5631001"
+       fx="113.667"
+       fy="98"
+       id="radialGradient4136"
+       xlink:href="#XMLID_64_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <linearGradient
+       x1="113.0654"
+       y1="100.6621"
+       x2="113.0654"
+       y2="94.512703"
+       id="linearGradient4134"
+       xlink:href="#XMLID_63_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <radialGradient
+       cx="113.0654"
+       cy="97.587898"
+       r="2.5631001"
+       fx="113.667"
+       fy="98"
+       id="XMLID_64_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop505"
+         style="stop-color:#eeeeee;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop507"
+         style="stop-color:#cecece;stop-opacity:1"
+         offset="0.16" />
+      <stop
+         id="stop509"
+         style="stop-color:#888888;stop-opacity:1"
+         offset="0.4675" />
+      <stop
+         id="stop511"
+         style="stop-color:#555555;stop-opacity:1"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       cx="113.0654"
+       cy="97.587898"
+       r="2.5631001"
+       fx="113.667"
+       fy="98"
+       id="radialGradient4140"
+       xlink:href="#XMLID_64_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <linearGradient
+       x1="113.0654"
+       y1="100.6621"
+       x2="113.0654"
+       y2="94.512703"
+       id="XMLID_63_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop496"
+         style="stop-color:#eeeeee;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop498"
+         style="stop-color:#dddddd;stop-opacity:1"
+         offset="0.66860002" />
+      <stop
+         id="stop500"
+         style="stop-color:#555555;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="113.0654"
+       y1="100.6621"
+       x2="113.0654"
+       y2="94.512703"
+       id="linearGradient4138"
+       xlink:href="#XMLID_63_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.4956521,0,0,2.4956521,-223.97574,-53.226089)" />
+    <radialGradient
+       cx="142.62215"
+       cy="191.85428"
+       r="78.728165"
+       fx="142.62215"
+       fy="191.85428"
+       id="radialGradient4078"
+       xlink:href="#linearGradient7609"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.155354,0,0,-9.045696e-2,296.87519,93.678924)" />
+    <linearGradient
+       id="linearGradient7609">
+      <stop
+         id="stop7611"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7677"
+         style="stop-color:#e7e7e7;stop-opacity:1"
+         offset="0.47025558" />
+      <stop
+         id="stop7613"
+         style="stop-color:#8c8c8c;stop-opacity:1"
+         offset="0.67183787" />
+      <stop
+         id="stop7617"
+         style="stop-color:#dddddd;stop-opacity:1"
+         offset="0.83542866" />
+      <stop
+         id="stop7615"
+         style="stop-color:#a8a8a8;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="141.74666"
+       cy="206.42612"
+       r="78.728165"
+       fx="141.74666"
+       fy="206.42612"
+       id="radialGradient4081"
+       xlink:href="#linearGradient7609"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3079313,-3.68762e-3,2.27901e-3,0.2121779,275.0745,43.487346)" />
+    <linearGradient
+       id="linearGradient10652">
+      <stop
+         id="stop10654"
+         style="stop-color:#535353;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop10656"
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="317.625"
+       y1="72.5"
+       x2="312.125"
+       y2="55.25"
+       id="linearGradient10658"
+       xlink:href="#linearGradient10652"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,16)" />
+    <linearGradient
+       id="linearGradient7497">
+      <stop
+         id="stop7499"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7501"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="150.17931"
+       cy="301.80243"
+       r="106.18474"
+       fx="150.17931"
+       fy="301.80243"
+       id="radialGradient4089"
+       xlink:href="#linearGradient7497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1949405,2.435491e-2,-1.29477e-2,0.1071189,295.23816,53.829929)" />
+    <linearGradient
+       id="linearGradient4244">
+      <stop
+         id="stop4246"
+         style="stop-color:#efefef;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop7563"
+         style="stop-color:#bcbcbc;stop-opacity:1"
+         offset="0.69516969" />
+      <stop
+         id="stop4248"
+         style="stop-color:#e4e4e4;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="15.571491"
+       cy="2.958519"
+       r="20.935818"
+       fx="15.571491"
+       fy="2.958519"
+       id="radialGradient4092"
+       xlink:href="#linearGradient4244"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2874573,0.7785045,-0.7114536,1.164774,292.94174,56.71277)" />
+    <linearGradient
+       id="linearGradient4120">
+      <stop
+         id="stop4122"
+         style="stop-color:#555753;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4124"
+         style="stop-color:#2e3436;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="8.4787941"
+       y1="30.712189"
+       x2="36.183067"
+       y2="40.943935"
+       id="linearGradient4095"
+       xlink:href="#linearGradient4120"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0009449,0,0,0.560284,295.29831,72.625339)" />
+  </defs>
+  <g
+     style="opacity:1;display:inline"
+     id="g5022"
+     transform="matrix(2.3640267e-2,0,0,1.5678661e-2,45.026494,35.862725)">
+    <rect
+       y="-150.69685"
+       x="-1559.2523"
+       height="478.35718"
+       width="1339.6335"
+       id="rect4173"
+       style="opacity:0.40206185;fill:url(#linearGradient8268);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path5058"
+       d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z"
+       style="opacity:0.40206185;fill:url(#radialGradient8270);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="opacity:0.40206185;fill:url(#radialGradient8272);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z"
+       id="path5018"
+       sodipodi:nodetypes="cccc" />
+  </g>
+  <g
+     id="layer1">
+    <g
+       transform="translate(-296.00011,-55.999737)"
+       id="g2923"
+       style="display:inline;enable-background:new">
+      <g
+         transform="matrix(0.1964069,0,0,0.1996805,302.8947,50.396787)"
+         id="g8979"
+         style="opacity:0.8960396" />
+      <path
+         d="M 298.575,87.751222 L 299.34032,87.363385 L 336.98555,87.398405 L 340.45123,87.576183 L 340.45123,93.424725 C 340.45123,94.055362 339.84364,94.457513 338.85785,94.457513 L 300.23841,94.457513 C 299.239,94.457513 298.575,94.153811 298.575,93.547239 L 298.575,87.751225 L 298.575,87.751222 z"
+         id="path8985"
+         style="fill:url(#linearGradient4095);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      <path
+         d="M 298.85075,87.378245 C 298.13579,88.836549 298.85014,89.761327 299.88745,89.761327 C 299.88745,89.761327 338.92429,89.761327 338.92429,89.761327 C 340.0444,89.737617 340.77128,88.753555 340.35421,87.62722 L 333.63358,70.486835 C 333.44889,69.97702 332.9782,69.502773 332.48965,69.490917 L 306.60807,69.490917 C 305.98248,69.490917 305.57138,69.793249 305.32115,70.34456 C 305.32115,70.34456 298.85075,87.378245 298.85075,87.378245 L 298.85075,87.378245 z"
+         id="path8987"
+         style="fill:url(#radialGradient4092);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      <path
+         d="M 340.1368,86.636171 C 340.2004,87.90818 339.72241,88.992836 338.81344,89.021238 C 338.81344,89.021238 300.6587,89.021236 300.6587,89.021238 C 299.36825,89.021238 298.7892,88.690561 298.57268,88.137878 C 298.66458,89.098856 299.39928,89.81626 300.6587,89.81626 C 300.6587,89.816258 338.81344,89.81626 338.81344,89.81626 C 339.89046,89.78261 340.5679,88.367132 340.16688,86.768675 L 340.13678,86.636171 L 340.1368,86.636171 z"
+         id="path8989"
+         style="fill:url(#radialGradient4089);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+      <path
+         d="M 306.59467,69.5 C 305.96908,69.5 305.56244,69.795295 305.31221,70.358626 C 305.31221,70.358626 298.83735,87.763684 298.83735,87.763684 C 298.83735,87.763684 298.58711,88.44708 298.58711,89.576333 C 298.58711,89.576333 298.58711,92.80376 298.58711,92.80376 C 298.58711,93.905455 299.24552,94.457408 300.24493,94.457406 L 338.84386,94.457406 C 339.82964,94.457406 340.43912,93.726564 340.43912,92.581152 L 340.43912,89.353727 C 340.43912,89.353727 340.54518,88.569724 340.34532,88.018092 L 333.62022,70.517631 C 333.43552,69.996701 332.98271,69.512114 332.49416,69.5 L 306.59471,69.5 L 306.59467,69.5 z"
+         id="path8999"
+         style="fill:none;stroke:url(#linearGradient10658);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 334.62368,80.618568 C 334.43304,79.152166 333.15543,77.753895 331.03264,76.65052 C 330.98994,76.226401 330.44582,70.800848 330.44582,70.800848 C 330.40412,70.383771 329.76994,70.068992 328.97012,70.068992 L 323.9508,70.068992 C 323.14523,70.068992 322.52251,70.387911 322.5022,70.81079 C 322.4101,72.7214 319.6016,73.718954 315.41223,74.626423 C 313.94432,74.839517 310.11727,75.841212 309.2389,76.280864 C 306.65322,77.435804 305.11116,78.975518 304.89749,80.618568 C 304.70312,82.11293 305.63737,83.608327 307.52821,84.829329 C 310.29572,86.616516 314.86841,87.68365 319.76041,87.68365 C 324.65242,87.68365 329.2251,86.616516 331.99296,84.829329 C 333.71991,83.714359 334.64873,82.370136 334.64873,81.007072 C 334.64873,80.877638 334.63973,80.748 334.62363,80.618568 L 334.62368,80.618568 z M 319.76041,86.942475 C 311.61261,86.942475 305.37358,83.947747 305.82496,80.476297 C 306.01967,78.97966 307.44897,77.381961 309.8159,76.329116 C 310.25915,76.049132 314.26229,74.960
 044 315.
 69836,74.768692 C 319.67847,73.908442 323.31827,72.79202 323.43238,70.439271 C 323.43738,70.326613 323.6667,70.237358 323.9508,70.237358 L 328.96945,70.237358 C 329.25998,70.237358 329.50514,70.330958 329.51665,70.446519 L 330.12616,76.525024 C 332.23575,77.549496 333.51403,79.078647 333.69553,80.476297 C 334.14724,83.947747 327.90822,86.942475 319.76041,86.942475 L 319.76041,86.942475 z"
+         id="path9001"
+         style="fill:url(#radialGradient4081);fill-opacity:1" />
+      <path
+         d="M 319.6475,81.883652 C 316.82104,81.883652 314.65427,81.006976 314.6086,79.844145 C 314.60824,79.831575 314.60789,79.819215 314.60789,79.806855 C 314.60789,79.386077 314.89188,78.985894 315.43153,78.647059 C 316.34441,78.074315 317.92053,77.732445 319.64785,77.732445 C 321.37482,77.732445 322.95093,78.074315 323.86381,78.647059 C 324.4194,78.99543 324.70411,79.409491 324.68675,79.843927 C 324.64035,81.006758 322.4736,81.88365 319.6475,81.88365 L 319.6475,81.883652 z M 319.6475,78.383019 C 316.99171,78.383019 315.63868,79.25189 315.67055,80.045103 C 315.70135,80.825962 317.4818,81.449868 319.6475,81.449868 C 321.8132,81.449868 323.59363,80.825744 323.62444,80.045103 C 323.65594,79.251672 322.30328,78.383019 319.6475,78.383019 L 319.6475,78.383019 z"
+         id="path9003"
+         style="fill:url(#radialGradient4078);fill-opacity:1;fill-rule:nonzero;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <g
+         transform="matrix(-0.1320251,0,0,0.1401423,309.19335,61.406788)"
+         id="g9005">
+        <path
+           d="M 48.2999,190.27968 C 48.61436,194.52728 53.32365,197.99124 58.81409,197.99124 C 64.30203,197.99124 68.45729,194.52728 68.09043,190.27968 C 67.72606,186.05454 63.01926,182.64298 57.58373,182.64298 C 52.1457,182.64498 47.99044,186.05454 48.2999,190.27968 z"
+           id="path9007"
+           style="fill:url(#linearGradient4138)" />
+        <path
+           d="M 51.85122,187.29238 C 51.34959,187.83144 50.77559,188.69494 50.77559,189.84294 C 50.77559,189.92534 50.78059,190.00765 50.78559,190.095 C 51.00272,193.0224 54.67881,195.49559 58.81161,195.49559 C 61.16501,195.49559 63.31626,194.6845 64.56409,193.32188 C 65.10065,192.74039 65.71209,191.77707 65.60228,190.4943 C 65.35022,187.59186 61.67912,185.13863 57.58125,185.13863 C 55.24532,185.14063 53.10156,185.94473 51.85124,187.29238 L 51.85122,187.29238 z"
+           id="path9009"
+           style="fill:url(#radialGradient4140)" />
+      </g>
+      <g
+         transform="matrix(9.05434e-2,0,0,6.056511e-2,301.91757,58.935593)"
+         id="g9017">
+        <path
+           d="M 48.2999,190.27968 C 48.61436,194.52728 53.32365,197.99124 58.81409,197.99124 C 64.30203,197.99124 68.45729,194.52728 68.09043,190.27968 C 67.72606,186.05454 63.01926,182.64298 57.58373,182.64298 C 52.1457,182.64498 47.99044,186.05454 48.2999,190.27968 z"
+           id="path9019"
+           style="fill:url(#linearGradient4134)" />
+        <path
+           d="M 51.85122,187.29238 C 51.34959,187.83144 50.77559,188.69494 50.77559,189.84294 C 50.77559,189.92534 50.78059,190.00765 50.78559,190.095 C 51.00272,193.0224 54.67881,195.49559 58.81161,195.49559 C 61.16501,195.49559 63.31626,194.6845 64.56409,193.32188 C 65.10065,192.74039 65.71209,191.77707 65.60228,190.4943 C 65.35022,187.59186 61.67912,185.13863 57.58125,185.13863 C 55.24532,185.14063 53.10156,185.94473 51.85124,187.29238 L 51.85122,187.29238 z"
+           id="path9021"
+           style="fill:url(#radialGradient4136)" />
+      </g>
+      <g
+         transform="matrix(9.05434e-2,0,0,6.056511e-2,326.70176,58.935593)"
+         id="g9023">
+        <path
+           d="M 48.2999,190.27968 C 48.61436,194.52728 53.32365,197.99124 58.81409,197.99124 C 64.30203,197.99124 68.45729,194.52728 68.09043,190.27968 C 67.72606,186.05454 63.01926,182.64298 57.58373,182.64298 C 52.1457,182.64498 47.99044,186.05454 48.2999,190.27968 z"
+           id="path9025"
+           style="fill:url(#linearGradient4130)" />
+        <path
+           d="M 51.85122,187.29238 C 51.34959,187.83144 50.77559,188.69494 50.77559,189.84294 C 50.77559,189.92534 50.78059,190.00765 50.78559,190.095 C 51.00272,193.0224 54.67881,195.49559 58.81161,195.49559 C 61.16501,195.49559 63.31626,194.6845 64.56409,193.32188 C 65.10065,192.74039 65.71209,191.77707 65.60228,190.4943 C 65.35022,187.59186 61.67912,185.13863 57.58125,185.13863 C 55.24532,185.14063 53.10156,185.94473 51.85124,187.29238 L 51.85122,187.29238 z"
+           id="path9027"
+           style="fill:url(#radialGradient4132)" />
+      </g>
+      <path
+         d="M 42.5,187.25 L 42,215.5 L 45.125,217.25 L 45.125,187.25 L 42.5,187.25 z"
+         transform="matrix(0.6764069,0,0,0.1996805,270.95029,50.796148)"
+         id="path9029"
+         style="opacity:0.5;fill:url(#radialGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.54031181;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter4116);enable-background:accumulate" />
+      <path
+         d="M 42.5,187.25 L 42,215.5 L 45.125,217.25 L 45.125,187.25 L 42.5,187.25 z"
+         transform="matrix(-0.1335567,0,0,0.1996805,345.55134,52.796148)"
+         id="path9031"
+         style="fill:url(#radialGradient4102);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.54031181;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter7527);enable-background:accumulate" />
+      <g
+         transform="matrix(1,0,0,0.8675042,0,25.228511)"
+         id="g7741">
+        <g
+           transform="matrix(0.1964069,0,0,0.1996805,293.09232,34.304422)"
+           id="g8991">
+          <rect
+             width="89.82196"
+             height="28.348066"
+             x="61.369766"
+             y="195.91609"
+             id="rect8993"
+             style="fill:url(#linearGradient7749);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;marker:none;visibility:visible;display:inline;overflow:visible" />
+          <path
+             d="M 61.369759,224.26414 C 61.369759,224.26414 61.369759,203.82049 61.369759,203.82049 C 70.724123,220.02272 103.65101,224.26414 127.30289,224.26414 C 127.30289,224.26414 61.369759,224.26414 61.369759,224.26414 z"
+             id="path8995"
+             style="opacity:0.81142853;fill:url(#linearGradient7751);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+          <path
+             d="M 61.456423,195.98396 L 61.456423,224.17277 L 125.47846,224.17277 L 63.208269,222.42092 L 61.456423,195.98396 L 61.456423,195.98396 z"
+             id="path8997"
+             style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+        </g>
+        <path
+           d="M 306.4971,76.431125 C 307.65679,77.6956 309.3344,78.525089 311.99649,78.52777 C 309.48297,78.059464 307.63579,77.365342 306.4971,76.431125 z"
+           id="path9041"
+           style="opacity:0.55445545;fill:url(#radialGradient7753);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+        <rect
+           width="2.2318058"
+           height="5.0602326"
+           x="302.79639"
+           y="73.836319"
+           id="rect4142"
+           style="opacity:0.48936169;fill:url(#linearGradient7755);fill-opacity:1;stroke:none" />
+      </g>
+      <path
+         d="M 161.5,187 L 152,218 L 208,218 L 222,187 L 161.5,187 z"
+         transform="matrix(-0.1964069,0,0,0.1996805,356.31738,50.796148)"
+         id="path9033"
+         style="opacity:0.67821781;fill:url(#linearGradient4100);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.54031181;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter7557);enable-background:accumulate" />
+      <path
+         d="M 332.78153,71.366432 L 339.06655,87.340869"
+         id="path9035"
+         style="opacity:0.8960396;fill:none;stroke:url(#radialGradient4063);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         d="M 306.10872,71.366432 L 299.8237,87.340869"
+         id="path9037"
+         style="opacity:0.8960396;fill:none;stroke:url(#radialGradient4060);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         d="M 308.1179,70.205932 L 308.0258,70.474252 L 306.65096,74.467862 L 306.41772,75.135543 L 307.09901,74.992023 L 318.68702,72.496017 L 318.72382,72.483537 L 318.75452,72.471057 C 319.36816,72.22151 319.69605,71.717214 319.77338,71.254253 C 319.81208,71.022772 319.80048,70.796101 319.69978,70.586572 C 319.60468,70.388771 319.3571,70.212784 319.09828,70.218411 L 319.09828,70.205931 L 319.05528,70.205931 L 308.39407,70.205931 L 308.11787,70.205931 L 308.1179,70.205932 z M 308.51012,70.452678 L 319.19013,70.452678 C 319.19513,70.486398 319.20713,70.505108 319.19613,70.568876 C 319.16263,70.769596 319.0185,71.487685 318.65641,71.644333 L 307.42399,74.065114 L 308.50977,70.452678 L 308.51012,70.452678 z"
+         id="path9039"
+         style="fill:url(#radialGradient4057);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <g
+         transform="matrix(0.1320251,0,0,0.1401423,329.80012,61.406788)"
+         id="g9089">
+        <path
+           d="M 48.2999,190.27968 C 48.61436,194.52728 53.32365,197.99124 58.81409,197.99124 C 64.30203,197.99124 68.45729,194.52728 68.09043,190.27968 C 67.72606,186.05454 63.01926,182.64298 57.58373,182.64298 C 52.1457,182.64498 47.99044,186.05454 48.2999,190.27968 z"
+           id="path9091"
+           style="fill:url(#linearGradient4126)" />
+        <path
+           d="M 51.85122,187.29238 C 51.34959,187.83144 50.77559,188.69494 50.77559,189.84294 C 50.77559,189.92534 50.78059,190.00765 50.78559,190.095 C 51.00272,193.0224 54.67881,195.49559 58.81161,195.49559 C 61.16501,195.49559 63.31626,194.6845 64.56409,193.32188 C 65.10065,192.74039 65.71209,191.77707 65.60228,190.4943 C 65.35022,187.59186 61.67912,185.13863 57.58125,185.13863 C 55.24532,185.14063 53.10156,185.94473 51.85124,187.29238 L 51.85122,187.29238 z"
+           id="path9093"
+           style="fill:url(#radialGradient4128)" />
+      </g>
+      <path
+         d="M 300.15376,87.041983 C 299.48387,88.400089 300.15318,89.261328 301.12509,89.261328 C 301.12509,89.261328 337.70075,89.261328 337.70075,89.261328 C 338.75023,89.239248 339.43128,88.322797 339.04051,87.273851 L 332.8686,71.311143 C 332.69555,70.836356 332.25454,70.394694 331.79679,70.383652 L 307.297,70.383652 C 306.71085,70.383652 306.32567,70.665212 306.09121,71.178644 C 306.09121,71.178644 300.15376,87.041983 300.15376,87.041983 L 300.15376,87.041983 z"
+         id="path9099"
+         style="fill:none;stroke:url(#linearGradient4048);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 299.68751,87.133654 L 299.68751,92.382453 C 299.68751,93.133753 300.07256,93.354724 300.64984,93.354724 L 338.92199,93.354724 C 339.45232,93.443114 339.76168,92.912783 339.71748,92.426647 L 339.45232,87.521094"
+         id="path9109"
+         style="opacity:0.25;fill:none;stroke:url(#linearGradient4045);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         d="M 322.61433,70.871152 L 329.90637,70.871152 L 329.90637,71.931812 L 324.64727,71.931812 C 322.14293,73.507421 319.6386,74.153569 317.13427,74.318297 C 319.19125,73.295909 322.66451,73.052478 322.61433,70.871152 L 322.61433,70.871152 z"
+         id="rect9123"
+         style="opacity:0.42079204;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <rect
+         width="12.020816"
+         height="1.0606601"
+         x="307.58829"
+         y="70.871155"
+         id="rect9125"
+         style="opacity:0.31188121;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+  </g>
+  <g
+     style="display:inline;enable-background:new"
+     id="g4303"
+     transform="translate(-415.99998,-56.00001)">
+    <path
+       transform="matrix(1.6729902,0,0,1.6775966,-194.95875,-163.81639)"
+       d="M 385.5,144.8125 A 6.5625,2.3125 0 1 1 372.375,144.8125 A 6.5625,2.3125 0 1 1 385.5,144.8125 z"
+       sodipodi:ry="2.3125"
+       sodipodi:rx="6.5625"
+       sodipodi:cy="144.8125"
+       sodipodi:cx="378.9375"
+       id="path3899"
+       style="opacity:0.26086958;fill:url(#radialGradient3901);fill-opacity:1;stroke:none;display:inline;enable-background:new"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:nodetypes="cccccccccc"
+       id="path3843"
+       d="M 436.5176,60.501821 L 436.5176,67.481166 L 429.54472,67.481166 L 429.50472,68.99181 L 439.53999,79.346232 L 449.53949,69.075668 L 449.53949,67.481166 L 442.47821,67.481166 L 442.47821,60.501821 L 436.51759,60.501821 L 436.5176,60.501821 z"
+       style="fill:url(#linearGradient3892);fill-opacity:1;stroke:#a40000;stroke-width:0.99999994;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new" />
+    <path
+       d="M 437.5,61.46875 L 437.5,67.46875 C 437.49995,68.003754 437.06625,68.437447 436.53125,68.4375 L 430.46875,68.4375 L 430.46875,68.625 L 439.53125,77.9375 L 448.5625,68.65625 L 448.5625,68.4375 L 442.46875,68.4375 C 441.93375,68.437447 441.50005,68.003754 441.5,67.46875 L 441.5,61.46875 L 437.5,61.46875 z"
+       id="path3907"
+       style="opacity:0.3;fill:none;stroke:url(#linearGradient3917);stroke-width:0.99999994;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new"
+       inkscape:original="M 436.53125 60.5 L 436.53125 67.46875 L 429.53125 67.46875 L 429.5 69 L 439.53125 79.34375 L 449.53125 69.0625 L 449.53125 67.46875 L 442.46875 67.46875 L 442.46875 60.5 L 436.53125 60.5 z "
+       inkscape:radius="-0.96875"
+       sodipodi:type="inkscape:offset" />
+    <g
+       transform="matrix(1.2796712,0,0,1.2692354,-39.097014,-172.59699)"
+       style="opacity:0.5;display:inline;enable-background:new"
+       id="g3853">
+      <rect
+         y="189.56058"
+         x="366.5762"
+         height="0.78787541"
+         width="5.4701591"
+         id="rect3855"
+         style="opacity:0.3;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;enable-background:new" />
+      <rect
+         y="189.56058"
+         x="375.95361"
+         height="0.78787541"
+         width="5.4701519"
+         id="rect3858"
+         style="opacity:0.3;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;enable-background:new" />
+    </g>
+    <rect
+       y="61.000008"
+       x="437"
+       height="0.99999934"
+       width="5"
+       id="rect3897"
+       style="opacity:0.3;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;enable-background:new" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/edit-delete.svg b/icons/PyHoca/scalable/edit-delete.svg
new file mode 100644
index 0000000..592fde6
--- /dev/null
+++ b/icons/PyHoca/scalable/edit-delete.svg
@@ -0,0 +1,272 @@
+<?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="svg7352"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="edit-delete.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7354">
+    <filter
+       inkscape:collect="always"
+       id="filter7079"
+       x="-0.084445536"
+       width="1.1688911"
+       y="-0.25950053"
+       height="1.519001">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.3093102"
+         id="feGaussianBlur7081" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6983">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop6985" />
+      <stop
+         style="stop-color:#2e3436;stop-opacity:0;"
+         offset="1"
+         id="stop6987" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6983"
+       id="radialGradient6989"
+       cx="318.03488"
+       cy="90.563477"
+       fx="318.03488"
+       fy="90.563477"
+       r="18.605747"
+       gradientTransform="matrix(0.9288572,2.6280209e-6,-8.1854474e-7,0.3017001,22.656541,62.141708)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient9361"
+       inkscape:collect="always">
+      <stop
+         id="stop9363"
+         offset="0"
+         style="stop-color:#da3f3f;stop-opacity:1" />
+      <stop
+         id="stop9365"
+         offset="1"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9361"
+       id="radialGradient9378"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3924733,0,0,0.2885739,205.8207,140.5416)"
+       cx="-464.70734"
+       cy="-357.84525"
+       fx="-464.70734"
+       fy="-357.84525"
+       r="63.512196" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8972"
+       id="radialGradient8978"
+       cx="323.85492"
+       cy="68.128128"
+       fx="323.85492"
+       fy="68.128128"
+       r="15.419154"
+       gradientTransform="matrix(1.0541479,0,0,2.7641865,-17.53606,-127.10337)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8987">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop8989" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop8991" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8987"
+       id="radialGradient9352"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.2696808,0,0,2.5886157,-703.01411,-138.28208)"
+       cx="320.48438"
+       cy="55.027756"
+       fx="320.48438"
+       fy="55.027756"
+       r="16.234375" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8972">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop8974" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop8976" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8972"
+       id="radialGradient9391"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6895929,-0.7179879,1.5975314,1.6633121,-13.568216,185.77726)"
+       cx="323.85492"
+       cy="75.626114"
+       fx="323.85492"
+       fy="75.626114"
+       r="15.419154" />
+    <linearGradient
+       id="linearGradient9420">
+      <stop
+         id="stop9422"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.73950005"
+         id="stop9424" />
+      <stop
+         id="stop9426"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9420"
+       id="radialGradient9416"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7162417,-0.7162422,0.6276207,0.6276203,-268.69581,-17.371239)"
+       cx="175.44765"
+       cy="264.42752"
+       fx="175.44765"
+       fy="264.42752"
+       r="16.03125" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient9428">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop9430" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop9432" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9428"
+       id="radialGradient9434"
+       cx="174.65625"
+       cy="279.4375"
+       fx="174.65625"
+       fy="279.4375"
+       r="16.03125"
+       gradientTransform="matrix(1.3036497,-1.3036513,0.2559723,0.255972,-274.12603,181.25401)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.5"
+     inkscape:cx="-15.768306"
+     inkscape:cy="0.35046343"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="598"
+     inkscape:window-y="287">
+    <inkscape:grid
+       type="xygrid"
+       id="grid7397" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7357">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.78341011;fill:url(#radialGradient6989);fill-opacity:1;stroke:none;display:inline;filter:url(#filter7079);enable-background:new"
+       id="path6981"
+       sodipodi:cx="318.06546"
+       sodipodi:cy="88.88443"
+       sodipodi:rx="18.605747"
+       sodipodi:ry="6.0546017"
+       d="M 336.67121,88.88443 A 18.605747,6.0546017 0 1 1 299.45971,88.88443 A 18.605747,6.0546017 0 1 1 336.67121,88.88443 z"
+       transform="matrix(1.1824306,0,0,0.5985401,-352.09033,-10.715817)" />
+    <path
+       style="fill:url(#radialGradient9378);fill-opacity:1;stroke:#900000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline;enable-background:new"
+       d="M 24.000023,3.4998004 C 12.684023,3.4998004 3.500023,12.683806 3.500023,23.999801 C 3.500023,35.315799 12.684023,44.4998 24.000023,44.499801 C 35.316023,44.499801 44.500023,35.315801 44.500023,23.999801 C 44.500023,12.683803 35.316023,3.4997994 24.000023,3.4998004 z M 24.000023,8.4998004 C 27.378453,8.4998004 30.483773,9.6002134 33.031273,11.437301 L 11.437523,33.031051 C 9.6004329,30.483553 8.5000229,27.378233 8.5000229,23.999801 C 8.5000229,15.443795 15.444013,8.4998004 24.000023,8.4998004 z M 36.562523,14.968551 C 38.399613,17.516049 39.500023,20.621369 39.500023,23.999801 C 39.500023,32.555808 32.556033,39.499801 24.000023,39.499801 C 20.621583,39.4998 17.516273,38.399388 14.968773,36.562301 L 36.562523,14.968551 z"
+       id="path6626" />
+    <path
+       transform="matrix(1.2977488,0,0,1.2464255,-396.28233,-65.800728)"
+       d="M 338.88094,72.046448 A 15.026019,15.644737 0 1 1 308.8289,72.046448 A 15.026019,15.644737 0 1 1 338.88094,72.046448 z"
+       sodipodi:ry="15.644737"
+       sodipodi:rx="15.026019"
+       sodipodi:cy="72.046448"
+       sodipodi:cx="323.85492"
+       id="path6629"
+       style="opacity:0.84615383;fill:none;stroke:url(#radialGradient8978);stroke-width:0.78626961;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline;enable-background:new"
+       sodipodi:type="arc" />
+    <path
+       style="opacity:0.32692339;fill:url(#radialGradient9352);fill-opacity:1;stroke:none;display:inline;enable-background:new"
+       d="M 23.906273,4.9998004 C 13.432953,4.9998004 4.9375228,13.495227 4.9375228,23.968551 C 4.9375328,31.481673 9.3173429,37.958208 15.656273,41.031051 C 15.656273,41.031051 15.471133,39.640863 15.437523,37.499801 C 15.178943,37.334992 14.935953,37.147705 14.687523,36.968551 C 14.566613,36.886464 14.480893,36.739194 14.468773,36.593551 C 14.456633,36.447912 14.519363,36.319519 14.625023,36.218551 L 15.468773,35.374801 C 15.543763,33.459554 15.775163,31.224037 16.312523,28.843551 L 11.781273,33.374801 C 11.680303,33.480458 11.551913,33.543187 11.406273,33.531051 C 11.260633,33.518914 11.113363,33.433213 11.031273,33.312301 C 9.1387029,30.68787 8.0312729,27.483271 8.0312729,23.999801 C 8.0312729,15.182071 15.182293,8.0310504 24.000023,8.0310504 C 27.275013,8.0310504 30.312133,8.9974374 32.843773,10.6873 C 33.998323,10.344836 35.221273,10.067369 36.531273,9.8435504 C 33.869273,6.9186164 28.753453,4.9998004 23.906273,4.9998004 z"
+       id="path8980" />
+    <path
+       transform="matrix(1.0980964,0,0,1.0546689,-331.62391,-51.985347)"
+       d="M 338.88094,72.046448 A 15.026019,15.644737 0 1 1 308.8289,72.046448 A 15.026019,15.644737 0 1 1 338.88094,72.046448 z"
+       sodipodi:ry="15.644737"
+       sodipodi:rx="15.026019"
+       sodipodi:cy="72.046448"
+       sodipodi:cx="323.85492"
+       id="path9389"
+       style="opacity:0.84615383;fill:none;stroke:url(#radialGradient9391);stroke-width:0.9292267;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline;enable-background:new"
+       sodipodi:type="arc" />
+    <path
+       style="opacity:0.5;fill:none;fill-opacity:1;stroke:url(#radialGradient9416);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;enable-background:new"
+       d="M 33.90954,11.943568 L 11.945035,33.908074"
+       id="path9395"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="opacity:0.3;fill:none;fill-opacity:1;stroke:url(#radialGradient9434);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;enable-background:new"
+       d="M 14.110549,36.073588 L 36.075054,14.109083"
+       id="path9414"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/gnome-dev-printer-network.svg b/icons/PyHoca/scalable/gnome-dev-printer-network.svg
new file mode 100644
index 0000000..9c58af1
--- /dev/null
+++ b/icons/PyHoca/scalable/gnome-dev-printer-network.svg
@@ -0,0 +1,731 @@
+<?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="svg7612"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7614">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2463">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2465" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2467" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2463"
+       id="linearGradient8678"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0441567,0,0,0.986366,-0.4734719,-4.7264972)"
+       x1="11.3125"
+       y1="21.6875"
+       x2="11.3125"
+       y2="33.216167" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7644">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop7646" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop7648" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7644"
+       id="linearGradient7650"
+       x1="20.125"
+       y1="24.43815"
+       x2="20.125"
+       y2="20"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.6666666,5.9604645e-8,0.6661948)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7591">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7593" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7595" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7591"
+       id="linearGradient7597"
+       x1="41.820312"
+       y1="33.109375"
+       x2="41.820312"
+       y2="33.46909"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.5000001,-6.0004713)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7434"
+       id="linearGradient3334"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.120543,0,0,1.2799981,-3.8930409,-17.060385)"
+       x1="15.916752"
+       y1="38.720707"
+       x2="15.916752"
+       y2="43.940079" />
+    <linearGradient
+       id="linearGradient7652">
+      <stop
+         id="stop7654"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1;" />
+      <stop
+         id="stop7656"
+         offset="1"
+         style="stop-color:#888a85;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7652"
+       id="linearGradient3340"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.129032,0,0,1.3333314,-4.0967759,-19.167046)"
+       x1="10.823892"
+       y1="43.8125"
+       x2="10.602463"
+       y2="34.705021" />
+    <linearGradient
+       id="linearGradient7658"
+       inkscape:collect="always">
+      <stop
+         id="stop7660"
+         offset="0"
+         style="stop-color:#d3d7cf" />
+      <stop
+         id="stop7662"
+         offset="1"
+         style="stop-color:#eeeeec" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7658"
+       id="linearGradient3338"
+       gradientUnits="userSpaceOnUse"
+       x1="40.315235"
+       y1="60.195492"
+       x2="9.8578663"
+       y2="40.000011"
+       gradientTransform="translate(-0.9999999,-7.0004712)" />
+    <linearGradient
+       id="linearGradient2304">
+      <stop
+         style="stop-color:#babdb6"
+         offset="0"
+         id="stop2306" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop2308" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2304"
+       id="linearGradient2324"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8853266,0,0,1.499469,5.4882695,-17.734803)"
+       x1="38.742561"
+       y1="29.743778"
+       x2="38.742561"
+       y2="31.167559" />
+    <linearGradient
+       id="linearGradient2326"
+       inkscape:collect="always">
+      <stop
+         id="stop2328"
+         offset="0"
+         style="stop-color:#789e2d;stop-opacity:1" />
+      <stop
+         id="stop2330"
+         offset="1"
+         style="stop-color:#a7cc5c;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2326"
+       id="linearGradient2322"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6666666,0,0,1,15,-2.0004702)"
+       x1="40.791222"
+       y1="30.003317"
+       x2="40.791222"
+       y2="29.084894" />
+    <linearGradient
+       id="linearGradient1385">
+      <stop
+         style="stop-color:#888a85"
+         offset="0"
+         id="stop1387" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:1"
+         offset="1"
+         id="stop1389" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1385"
+       id="linearGradient7641"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.079998,0,0,1.003906,-1.9199909,-17.100076)"
+       x1="36.523464"
+       y1="32.096741"
+       x2="36.523464"
+       y2="13.749178" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2248">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop2250" />
+      <stop
+         style="stop-color:#babdb6"
+         offset="1"
+         id="stop2252" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2248"
+       id="linearGradient7587"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.079998,0,0,1.003906,-1.9199909,-13.084451)"
+       x1="17.409122"
+       y1="33.322712"
+       x2="21.360058"
+       y2="-23.806805" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2384">
+      <stop
+         style="stop-color:#2e3436"
+         offset="0"
+         id="stop2386" />
+      <stop
+         style="stop-color:#babdb6"
+         offset="1"
+         id="stop2388" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2384"
+       id="linearGradient7852"
+       gradientUnits="userSpaceOnUse"
+       x1="17.5"
+       y1="30.755291"
+       x2="17.5"
+       y2="20.140139"
+       gradientTransform="matrix(1.003915,0,0,0.9841327,0.9560781,-5.7035472)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2431">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2433" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2435" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2431"
+       id="linearGradient7822"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.0000001,-5.0004712)"
+       x1="3.6239223"
+       y1="38.100166"
+       x2="3.6239223"
+       y2="42.336136" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7434">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7436" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7438" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7434"
+       id="linearGradient7440"
+       x1="5.126524"
+       y1="25.372583"
+       x2="5.126524"
+       y2="69.140259"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.9604645e-8,-7.0004712)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2683">
+      <stop
+         style="stop-color:#555753"
+         offset="0"
+         id="stop2685" />
+      <stop
+         style="stop-color:#2e3436"
+         offset="1"
+         id="stop2687" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2683"
+       id="linearGradient7820"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.0000001,-5.0004712)"
+       x1="3.2640579"
+       y1="35.072964"
+       x2="3.2640579"
+       y2="41.012157" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2675">
+      <stop
+         style="stop-color:#2e3436"
+         offset="0"
+         id="stop2677" />
+      <stop
+         style="stop-color:#555753"
+         offset="1"
+         id="stop2679" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2675"
+       id="linearGradient7818"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.0000001,-5.0004712)"
+       x1="5.0569911"
+       y1="40.414822"
+       x2="5.0569911"
+       y2="37.14798" />
+    <linearGradient
+       id="linearGradient7426">
+      <stop
+         style="stop-color:#555753;stop-opacity:1;"
+         offset="0"
+         id="stop7428" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:1"
+         offset="1"
+         id="stop7430" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7426"
+       id="linearGradient7432"
+       x1="0.75"
+       y1="67.989044"
+       x2="0.75"
+       y2="24.367777"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.9604645e-8,-7.0004712)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2222">
+      <stop
+         style="stop-color:#d3d7cf"
+         offset="0"
+         id="stop2224" />
+      <stop
+         style="stop-color:#eeeeec"
+         offset="1"
+         id="stop2226" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2222"
+       id="linearGradient2220"
+       x1="35.5"
+       y1="31.190165"
+       x2="35.5"
+       y2="24.248672"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.921571,5.9604645e-8,-0.7223252)" />
+    <linearGradient
+       id="linearGradient319"
+       inkscape:collect="always">
+      <stop
+         id="stop320"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop321"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient319"
+       id="linearGradient11473"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.9997339,-1.0004662)"
+       x1="24.391294"
+       y1="37.228275"
+       x2="24"
+       y2="41.998386" />
+    <linearGradient
+       id="linearGradient9347">
+      <stop
+         id="stop9349"
+         offset="0.0000000"
+         style="stop-color:#7a7a7a;stop-opacity:1.0000000;" />
+      <stop
+         id="stop9351"
+         offset="0.19801980"
+         style="stop-color:#ebebeb;stop-opacity:1" />
+      <stop
+         id="stop9353"
+         offset="0.59900987"
+         style="stop-color:#b9b9b9;stop-opacity:1" />
+      <stop
+         id="stop9355"
+         offset="1.0000000"
+         style="stop-color:#878787;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9347"
+       id="linearGradient7755"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7312763,0,0,0.6969978,6.8679705,14.121761)"
+       x1="23.100046"
+       y1="38.296745"
+       x2="23.143667"
+       y2="46.03775" />
+    <linearGradient
+       id="linearGradient178">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.0000000;"
+         offset="0.0000000"
+         id="stop179" />
+      <stop
+         style="stop-color:#d9d9d9;stop-opacity:1"
+         offset="0.10827128"
+         id="stop180" />
+      <stop
+         style="stop-color:#d9d9d9;stop-opacity:1"
+         offset="0.92053902"
+         id="stop181" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.0000000;"
+         offset="1.0000000"
+         id="stop182" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient178"
+       id="linearGradient7832"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.1119049,0,0,9.1235758e-2,28.948795,19.750004)"
+       x1="1.6422368"
+       y1="117.8271"
+       x2="15.343062"
+       y2="117.8271" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient272"
+       id="linearGradient7834"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(9.3885418,0,0,0.2235361,29.130383,-45.865211)"
+       x1="0.61210024"
+       y1="372.57819"
+       x2="5.0856376"
+       y2="372.57819" />
+    <linearGradient
+       id="linearGradient272">
+      <stop
+         style="stop-color:#474747;stop-opacity:0.0000000;"
+         offset="0.0000000"
+         id="stop273" />
+      <stop
+         style="stop-color:#474747;stop-opacity:1.0000000;"
+         offset="0.10000000"
+         id="stop275" />
+      <stop
+         style="stop-color:#474747;stop-opacity:1.0000000;"
+         offset="0.89999998"
+         id="stop276" />
+      <stop
+         style="stop-color:#474747;stop-opacity:0.0000000;"
+         offset="1.0000000"
+         id="stop274" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient272"
+       id="linearGradient7830"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(9.3885424,0,0,0.2235366,29.130395,-51.784906)"
+       x1="0.61210024"
+       y1="372.57819"
+       x2="5.0856376"
+       y2="372.57819" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6704">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6706" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6708" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6704"
+       id="radialGradient7753"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.1166667,0,348.72344)"
+       cx="1120.375"
+       cy="394.78125"
+       fx="1120.375"
+       fy="394.78125"
+       r="20.625" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="180"
+     inkscape:window-y="424" />
+  <metadata
+     id="metadata7617">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       style="fill:#d9d9d9;fill-opacity:1;stroke:#707070;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8955"
+       width="2.9998591"
+       height="2.9998591"
+       x="22.5"
+       y="37.500156" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.3;fill:url(#radialGradient7753);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;enable-background:new"
+       id="path6774"
+       sodipodi:cx="1120.375"
+       sodipodi:cy="394.78125"
+       sodipodi:rx="20.625"
+       sodipodi:ry="2.40625"
+       d="M 1141,394.78125 A 20.625,2.40625 0 1 1 1099.75,394.78125 A 20.625,2.40625 0 1 1 1141,394.78125 z"
+       transform="matrix(1.0181815,0,0,1.2467532,-1116.7451,-447.19479)" />
+    <g
+       style="display:inline;enable-background:new"
+       id="g7753"
+       transform="translate(-31.877101,12.999551)">
+      <rect
+         style="opacity:0.65;fill:url(#linearGradient7830);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+         id="rect8601"
+         width="41.999989"
+         height="1"
+         x="34.877113"
+         y="31" />
+      <rect
+         style="opacity:0.65;fill:url(#linearGradient7834);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+         id="rect8603"
+         width="41.999989"
+         height="1"
+         x="34.877102"
+         y="29" />
+      <rect
+         style="fill:url(#linearGradient7832);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+         id="rect8605"
+         width="41.5"
+         height="1"
+         x="34.627102"
+         y="30" />
+      <g
+         transform="matrix(0.544365,0,0,0.9411763,42.076688,-8.6470511)"
+         id="g8613"
+         style="fill:#ffffff;fill-opacity:0.72023806" />
+    </g>
+    <path
+       sodipodi:nodetypes="ccccccccccc"
+       style="fill:url(#linearGradient7755);fill-opacity:1;fill-rule:nonzero;stroke:#555753;stroke-width:1.00006688;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:new"
+       d="M 21.778719,40.500052 L 18.545321,40.500052 C 17.962949,40.500052 17.500033,40.927092 17.500033,41.464327 L 17.500033,45.53541 C 17.500033,46.07264 17.962949,46.499985 18.545321,46.499985 L 29.454675,46.499985 C 30.037042,46.499985 30.499965,46.07264 30.499965,45.53541 L 30.499965,41.464327 C 30.499965,40.927092 30.037042,40.500052 29.454675,40.500052 L 26.63351,40.500052 L 21.778719,40.500052 z"
+       id="path8607" />
+    <rect
+       style="fill:#ffffff;fill-opacity:0.72023806;fill-rule:nonzero;stroke:none;stroke-width:1.13999999;marker:none;visibility:visible;display:block;overflow:visible;enable-background:new"
+       id="rect8615"
+       width="8"
+       height="1.5"
+       x="21"
+       y="41.250015"
+       rx="0.49999997"
+       ry="0.5" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffffff;fill-opacity:0.72023806;fill-rule:nonzero;stroke:none;stroke-width:1.13999999;marker:none;visibility:visible;display:block;overflow:visible;enable-background:new"
+       id="path8617"
+       sodipodi:cx="18.46875"
+       sodipodi:cy="40.625"
+       sodipodi:rx="0.53125"
+       sodipodi:ry="0.53125"
+       d="M 19,40.625 A 0.53125,0.53125 0 1 1 17.9375,40.625 A 0.53125,0.53125 0 1 1 19,40.625 z"
+       transform="matrix(1.4117647,0,0,1.4117647,-6.5735289,-15.352923)" />
+    <rect
+       style="opacity:0.265625;fill:url(#linearGradient11473);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect8963"
+       width="2"
+       height="2.9924619"
+       x="23.000271"
+       y="36.999538" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2220);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7432);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 7,14.499527 L 4.7500005,17.248317 C 2.5994065,19.875664 1.5000001,22.31696 1.5000001,26.003246 L 1.5000001,31.499527 L 46.499999,31.499527 L 46.499999,26.003246 C 46.499999,22.31696 45.400592,19.875663 43.249999,17.248317 L 40.999999,14.499527 L 7,14.499527 z"
+       id="rect1314"
+       sodipodi:nodetypes="czzcczzcc" />
+    <path
+       sodipodi:nodetypes="ccccccc"
+       id="rect2412"
+       d="M 2.5000005,31.499527 L 2.5000005,34.405777 C 2.5000005,35.557524 3.4420035,36.499527 4.5937495,36.499527 L 43.406249,36.499527 C 44.557996,36.499527 45.499999,35.557522 45.499999,34.405777 L 45.499999,31.499527 L 2.5000005,31.499527 z"
+       style="opacity:1;fill:url(#linearGradient7818);fill-opacity:1;stroke:url(#linearGradient7820);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new" />
+    <path
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7440);stroke-width:0.9999994;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 7.5118983,15.562027 L 5.5997361,17.851283 C 3.5643395,20.288076 2.5000005,22.337354 2.5000005,25.707493 L 2.5000005,30.499527 L 45.499994,30.499527 L 45.499994,25.707493 C 45.499994,22.337354 44.427882,20.293974 42.400259,17.851283 L 40.499999,15.562027 L 7.5118983,15.562027 z"
+       id="path2231"
+       sodipodi:nodetypes="czzcczzcc" />
+    <path
+       sodipodi:nodetypes="ccccccc"
+       id="rect2428"
+       d="M 44.499999,32.499527 L 44.499999,34.499527 C 44.499999,35.018344 44.018816,35.499527 43.499999,35.499527 L 4.4999995,35.499527 C 3.9811835,35.499527 3.5000005,35.018344 3.5000005,34.499527 L 3.5000005,32.499527 L 44.499999,32.499527 z"
+       style="opacity:0.07999998;fill:none;fill-opacity:1;stroke:url(#linearGradient7822);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline;enable-background:new" />
+    <rect
+       y="15.499414"
+       x="9.4998884"
+       height="10.000113"
+       width="29.000111"
+       id="rect2319"
+       style="opacity:1;fill:url(#linearGradient7852);fill-opacity:1;stroke:#2e3436;stroke-width:0.99977696;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new"
+       ry="0.5"
+       rx="0.5078125" />
+    <path
+       style="fill:url(#linearGradient7587);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7641);stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 12.119999,0.49952878 L 35.879981,0.49952878 C 36.77746,0.49952878 37.49998,1.1652828 37.49998,1.9995288 L 37.499982,16.686439 L 10.500001,16.682533 L 10.499999,1.9995288 C 10.499999,1.1652828 11.222519,0.49952878 12.119999,0.49952878 z"
+       id="rect2233"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99987608;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="rect2256"
+       width="25.000061"
+       height="15.000061"
+       x="11.5"
+       y="1.4995297"
+       rx="0.62364459"
+       ry="0.52842641" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient2322);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2324);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="rect2320"
+       width="2.9999998"
+       height="2"
+       x="41"
+       y="26.499527"
+       rx="0.99999988"
+       ry="1" />
+    <path
+       style="fill:url(#linearGradient3338);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3340);stroke-width:0.99999976;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 9.1935479,29.499527 L 38.806452,29.499527 C 39.770137,29.499527 40.500001,30.347165 40.500001,31.232527 L 40.500001,37.499526 L 7.4999999,37.499537 L 7.4999999,31.232527 C 7.4999999,30.245278 8.273658,29.499527 9.1935479,29.499527 z"
+       id="path3330"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3334);stroke-width:0.99999976;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 9.3063922,30.539527 C 8.8526427,30.539527 8.5000007,30.836089 8.5000007,31.349527 L 8.5000007,36.499525 L 39.5,36.499525 L 39.5,31.349527 C 39.5,30.95625 39.150633,30.539527 38.693609,30.539527 L 9.3063922,30.539527 z"
+       id="path3336"
+       sodipodi:nodetypes="ccccccc" />
+    <rect
+       style="opacity:1;fill:url(#linearGradient7597);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="rect7589"
+       width="1.5468748"
+       height="0.35937488"
+       x="41.734375"
+       y="27.108902"
+       rx="0.51562488"
+       ry="0.17968744" />
+    <rect
+       style="opacity:0.15;fill:url(#linearGradient7650);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-opacity:0;display:inline"
+       id="rect7639"
+       width="28"
+       height="2"
+       x="10"
+       y="13.999525"
+       rx="0"
+       ry="0" />
+    <rect
+       y="17.499899"
+       x="10.500184"
+       height="6.9996305"
+       width="26.999687"
+       id="rect2459"
+       style="opacity:0.24313725;fill:none;fill-opacity:1;stroke:url(#linearGradient8678);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new" />
+    <path
+       style="fill:#888a85;fill-opacity:0.75;fill-rule:evenodd;stroke:#2e3436;stroke-width:0.99994069;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;enable-background:new"
+       d="M 10.499969,16.499557 L 37.500087,16.499557"
+       id="path2259"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="rect2440"
+       d="M 10,16.999527 L 37.999999,16.999527 L 37.999999,19.992919 C 31.538461,18.989615 14.846153,17.986311 10,21.999527 L 10,16.999527 z"
+       style="opacity:0.2627451;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline;enable-background:new" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/gtk-edit.svg b/icons/PyHoca/scalable/gtk-edit.svg
new file mode 100644
index 0000000..513eca2
--- /dev/null
+++ b/icons/PyHoca/scalable/gtk-edit.svg
@@ -0,0 +1,788 @@
+<?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="svg10316"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="gtk-edit.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs10318">
+    <linearGradient
+       id="linearGradient4099-6-7"
+       inkscape:collect="always">
+      <stop
+         id="stop4101-1-8"
+         offset="0"
+         style="stop-color:#dddddd;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0.34467545"
+         id="stop4107-2-2" />
+      <stop
+         id="stop4109-5-7"
+         offset="0.72694808"
+         style="stop-color:#737373;stop-opacity:1" />
+      <stop
+         id="stop4103-9-2"
+         offset="1"
+         style="stop-color:#bbbbbb;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4099-6-7"
+       id="linearGradient649"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1892115,-0.1892253,0.1892115,0.1892253,49.738733,-37.732231)"
+       x1="-158.75"
+       y1="115.93846"
+       x2="-158.75"
+       y2="134.25" />
+    <linearGradient
+       id="linearGradient4117-1-0"
+       inkscape:collect="always">
+      <stop
+         style="stop-color:#f9a9a9;stop-opacity:1"
+         offset="0"
+         id="stop4121-0-5" />
+      <stop
+         style="stop-color:#ab5f5f;stop-opacity:1"
+         offset="1"
+         id="stop4119-1-6" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4117-1-0"
+       id="radialGradient691"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.320394,-0.3203948,0.322414,0.3224148,50.518433,-74.157887)"
+       cx="-138.83727"
+       cy="128.00087"
+       fx="-138.83727"
+       fy="128.00087"
+       r="9.1267023" />
+    <linearGradient
+       id="linearGradient6437"
+       inkscape:collect="always">
+      <stop
+         id="stop6439"
+         offset="0"
+         style="stop-color:#e9b96e;stop-opacity:1" />
+      <stop
+         id="stop6441"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="32.714375"
+       x2="25.485056"
+       y1="34.389839"
+       x1="26.379272"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6488"
+       xlink:href="#linearGradient6437"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2301">
+      <stop
+         style="stop-color:#ce5c00;stop-opacity:1"
+         offset="0"
+         id="stop2303" />
+      <stop
+         style="stop-color:#ce5c00"
+         offset="1"
+         id="stop2305" />
+    </linearGradient>
+    <linearGradient
+       y2="22.118853"
+       x2="22.810215"
+       y1="21.481258"
+       x1="23.447809"
+       gradientTransform="translate(6.39225,12.18459)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6486"
+       xlink:href="#linearGradient2301"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient6445"
+       inkscape:collect="always">
+      <stop
+         id="stop6447"
+         offset="0"
+         style="stop-color:#fcaf3e;stop-opacity:1" />
+      <stop
+         id="stop6449"
+         offset="1"
+         style="stop-color:#ce5c00" />
+    </linearGradient>
+    <linearGradient
+       y2="14.691495"
+       x2="30.432114"
+       y1="12.338078"
+       x1="28.078697"
+       gradientTransform="translate(6.39225,12.18459)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6484"
+       xlink:href="#linearGradient6445"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1813">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop1815" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop1817" />
+    </linearGradient>
+    <linearGradient
+       y2="18.392296"
+       x2="32.9375"
+       y1="18.53828"
+       x1="18.1875"
+       gradientTransform="matrix(1,0,0,0.415008,6.5485,26.7669)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient6482"
+       xlink:href="#linearGradient1813"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4333"
+       inkscape:collect="always">
+      <stop
+         id="stop4335"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop4337"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.226496,0,25.67067)"
+       r="14.625"
+       fy="33.1875"
+       fx="37.375"
+       cy="33.1875"
+       cx="37.375"
+       id="radialGradient4339"
+       xlink:href="#linearGradient4333"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3656">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3658" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3660" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3656"
+       id="linearGradient5816"
+       gradientUnits="userSpaceOnUse"
+       x1="-26.753757"
+       y1="11.566258"
+       x2="-24.75"
+       y2="9.687501" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3520">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.41295547"
+         offset="0"
+         id="stop3522" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3524" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3520"
+       id="linearGradient5836"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9223058,0,0,0.9185751,-92.447368,61.3257)"
+       x1="-18.588562"
+       y1="11.052948"
+       x2="-28.789402"
+       y2="14.069944" />
+    <linearGradient
+       id="linearGradient3671">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3673" />
+      <stop
+         id="stop3691"
+         offset="0.47533694"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3675" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3671"
+       id="radialGradient5839"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4073362,-0.2798276,0.7510293,1.0932492,-115.18484,51.56213)"
+       cx="-26.305403"
+       cy="10.108011"
+       fx="-26.305403"
+       fy="10.108011"
+       r="7.0421038" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6469">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6471" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6473" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6469"
+       id="linearGradient6475"
+       x1="58.282169"
+       y1="70.751839"
+       x2="61.181217"
+       y2="67.799171"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-180,0)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3741">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3743" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3745" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3741"
+       id="radialGradient5810"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8860258,0,0,1.1764706,-3.5441033,-4.2352941)"
+       cx="4"
+       cy="5.2999997"
+       fx="4"
+       fy="5.2999997"
+       r="17" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3613">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1"
+         offset="0"
+         id="stop3615" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3617" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3613"
+       id="linearGradient5845"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-90,60)"
+       x1="-47.5"
+       y1="49.020683"
+       x2="-62.75"
+       y2="-22.502075" />
+    <linearGradient
+       id="linearGradient3683">
+      <stop
+         id="stop3685"
+         offset="0"
+         style="stop-color:#f6f6f5;stop-opacity:1;" />
+      <stop
+         id="stop3689"
+         offset="1"
+         style="stop-color:#d3d7cf;stop-opacity:1" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3683"
+       id="radialGradient5843"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.9957492,0,0,1.9350367,0.62141,28.832578)"
+       cx="-30.249996"
+       cy="35.357208"
+       fx="-30.249996"
+       fy="35.357208"
+       r="18.000002" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3702"
+       id="linearGradient5804"
+       gradientUnits="userSpaceOnUse"
+       x1="25.058096"
+       y1="47.027729"
+       x2="25.058096"
+       y2="39.999443" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3688"
+       id="radialGradient5802"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
+       cx="4.9929786"
+       cy="43.5"
+       fx="4.9929786"
+       fy="43.5"
+       r="2.5" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3688"
+       id="radialGradient5800"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
+       cx="4.9929786"
+       cy="43.5"
+       fx="4.9929786"
+       fy="43.5"
+       r="2.5" />
+    <linearGradient
+       id="linearGradient3702">
+      <stop
+         id="stop3704"
+         offset="0"
+         style="stop-color:black;stop-opacity:0;" />
+      <stop
+         style="stop-color:black;stop-opacity:1;"
+         offset="0.5"
+         id="stop3710" />
+      <stop
+         id="stop3706"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3702"
+       id="linearGradient5798"
+       gradientUnits="userSpaceOnUse"
+       x1="25.058096"
+       y1="47.027729"
+       x2="25.058096"
+       y2="39.999443" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3688"
+       id="radialGradient5796"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
+       cx="4.9929786"
+       cy="43.5"
+       fx="4.9929786"
+       fy="43.5"
+       r="2.5" />
+    <linearGradient
+       id="linearGradient3688"
+       inkscape:collect="always">
+      <stop
+         id="stop3690"
+         offset="0"
+         style="stop-color:black;stop-opacity:1;" />
+      <stop
+         id="stop3692"
+         offset="1"
+         style="stop-color:black;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3688"
+       id="radialGradient5794"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
+       cx="4.9929786"
+       cy="43.5"
+       fx="4.9929786"
+       fy="43.5"
+       r="2.5" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata10321">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       style="display:inline"
+       id="g6015"
+       transform="translate(150,-60)">
+      <rect
+         y="60"
+         x="-150"
+         height="48"
+         width="48"
+         id="rect5504"
+         style="opacity:0;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;display:inline" />
+      <g
+         transform="matrix(1.0464281,0,0,0.8888889,-151.18572,65.72224)"
+         inkscape:label="Shadow"
+         id="g5508"
+         style="opacity:0.65587045;display:inline">
+        <g
+           transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)"
+           style="opacity:0.4"
+           id="g5511">
+          <rect
+             style="opacity:1;fill:url(#radialGradient5794);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5513"
+             width="5"
+             height="7"
+             x="38"
+             y="40" />
+          <rect
+             style="opacity:1;fill:url(#radialGradient5796);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5515"
+             width="5"
+             height="7"
+             x="-10"
+             y="-47"
+             transform="scale(-1,-1)" />
+          <rect
+             style="opacity:1;fill:url(#linearGradient5798);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5517"
+             width="28"
+             height="7.0000005"
+             x="10"
+             y="40" />
+        </g>
+      </g>
+      <g
+         transform="matrix(0.9548466,0,0,0.5555562,-148.98776,79.888875)"
+         inkscape:label="Shadow"
+         id="g5519"
+         style="display:inline">
+        <g
+           transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)"
+           style="opacity:0.4"
+           id="g5521">
+          <rect
+             style="opacity:1;fill:url(#radialGradient5800);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5523"
+             width="5"
+             height="7"
+             x="38"
+             y="40" />
+          <rect
+             style="opacity:1;fill:url(#radialGradient5802);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5525"
+             width="5"
+             height="7"
+             x="-10"
+             y="-47"
+             transform="scale(-1,-1)" />
+          <rect
+             style="opacity:1;fill:url(#linearGradient5804);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect5527"
+             width="28"
+             height="7.0000005"
+             x="10"
+             y="40" />
+        </g>
+      </g>
+      <path
+         sodipodi:nodetypes="ccsccccccc"
+         id="path5529"
+         d="M -141.47614,63.5 C -141.47614,63.5 -124,63.5 -122.5,63.5 C -118.62295,63.572942 -116,66 -113.5,68.5 C -111,71 -108.89232,73.752625 -108.5,77.5 C -108.5,79 -108.5,102.47614 -108.5,102.47614 C -108.5,103.59736 -109.40264,104.5 -110.52385,104.5 L -141.47614,104.5 C -142.59736,104.5 -143.5,103.59736 -143.5,102.47614 L -143.5,65.523858 C -143.5,64.402641 -142.59736,63.5 -141.47614,63.5 z"
+         style="fill:url(#radialGradient5843);fill-opacity:1;stroke:url(#linearGradient5845);stroke-width:1;stroke-miterlimit:4;display:inline" />
+      <path
+         transform="translate(-150,60)"
+         d="M 8.53125,4 C 7.6730803,4 7,4.6730802 7,5.53125 L 7,42.46875 C 7,43.32692 7.6730802,44 8.53125,44 L 39.46875,44 C 40.326919,44 41,43.326918 41,42.46875 C 41,42.46875 41,19 41,17.5 C 41,16.10803 40.513021,13.200521 38.65625,11.34375 C 36.65625,9.34375 35.65625,8.34375 33.65625,6.34375 C 31.799479,4.4869792 28.89197,4 27.5,4 C 26,4 8.53125,4 8.53125,4 z"
+         id="path5531"
+         style="opacity:0.68016196;fill:url(#radialGradient5810);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;display:inline"
+         inkscape:original="M 8.53125 3.5 C 7.410033 3.5 6.5 4.4100329 6.5 5.53125 L 6.5 42.46875 C 6.5 43.589967 7.4100329 44.5 8.53125 44.5 L 39.46875 44.5 C 40.589967 44.5 41.5 43.589966 41.5 42.46875 C 41.5 42.46875 41.5 19 41.5 17.5 C 41.5 16 41 13 39 11 C 37 9 36 8 34 6 C 32 4 29 3.5 27.5 3.5 C 26 3.5 8.5312499 3.5 8.53125 3.5 z "
+         inkscape:radius="-0.4861359"
+         sodipodi:type="inkscape:offset" />
+      <path
+         id="rect5857"
+         d="M -138.59375,69.125 C -138.81243,69.125 -139,69.312565 -139,69.53125 C -139,69.749934 -138.81243,69.937499 -138.59375,69.9375 L -117.40625,69.9375 C -117.18757,69.9375 -117,69.749934 -117,69.53125 C -117,69.312566 -117.18757,69.125 -117.40625,69.125 L -138.59375,69.125 z M -138.53125,71.0625 C -138.79094,71.0625 -139,71.271563 -139,71.53125 C -139,71.790937 -138.79094,72 -138.53125,72 L -116.46875,72 C -116.20906,72 -116,71.790937 -116,71.53125 C -116,71.271563 -116.20906,71.0625 -116.46875,71.0625 L -138.53125,71.0625 z M -138.53125,73.0625 C -138.79094,73.0625 -139,73.271563 -139,73.53125 C -139,73.790937 -138.79094,74 -138.53125,74 L -113.34375,74 C -113.08406,74 -112.875,73.790937 -112.875,73.53125 C -112.875,73.271563 -113.08406,73.0625 -113.34375,73.0625 L -138.53125,73.0625 z M -138.53125,75.0625 C -138.79094,75.0625 -139,75.271563 -139,75.53125 C -139,75.790937 -138.79094,76 -138.53125,76 L -113.34375,76 C -113.08406,76 -112.875,75.790937 -112.875,75.5312
 5 C -112
 .875,75.271563 -113.08406,75.0625 -113.34375,75.0625 L -138.53125,75.0625 z M -138.53125,77.0625 C -138.79094,77.0625 -139,77.271563 -139,77.53125 C -139,77.790937 -138.79094,78 -138.53125,78 L -113.34375,78 C -113.08406,78 -112.875,77.790937 -112.875,77.53125 C -112.875,77.271563 -113.08406,77.0625 -113.34375,77.0625 L -138.53125,77.0625 z"
+         style="opacity:0.15;fill:url(#linearGradient6475);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+      <path
+         sodipodi:nodetypes="ccccczc"
+         id="path5533"
+         d="M -122.5,64 C -123.88889,64 -122.54207,64.497088 -121.15625,65.125 C -119.77043,65.752912 -116.18337,68.340052 -117,72 C -112.67669,71.569417 -110.32087,75.122378 -110,76.28125 C -109.67913,77.440122 -109,78.888889 -109,77.5 C -108.97167,73.694419 -111.84543,71.068299 -113.84375,68.84375 C -115.84207,66.619201 -118.84621,64.476761 -122.5,64 z"
+         style="fill:url(#radialGradient5839);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;display:inline" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path5535"
+         d="M -121.39912,65.014353 C -120.47682,65.014353 -118.39068,71.210015 -119.31298,75.343603 C -115.01802,74.915844 -110.4596,75.43178 -110,76.28125 C -110.32087,75.122378 -112.67669,71.569417 -117,72 C -116.13534,68.124761 -120.18657,65.382702 -121.39912,65.014353 z"
+         style="opacity:0.87854249;fill:url(#linearGradient5836);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;display:inline" />
+      <path
+         transform="translate(-90,60)"
+         d="M -51.46875,4.5 C -52.051916,4.5 -52.5,4.9480842 -52.5,5.53125 L -52.5,42.46875 C -52.5,43.051915 -52.051914,43.5 -51.46875,43.5 L -20.53125,43.5 C -19.948085,43.5 -19.5,43.051914 -19.5,42.46875 C -19.5,42.46875 -19.5,19 -19.5,17.5 C -19.5,16.220971 -19.980469,13.394531 -21.6875,11.6875 C -23.6875,9.6875 -24.6875,8.6875 -26.6875,6.6875 C -28.394531,4.9804687 -31.220971,4.5 -32.5,4.5 C -34,4.5 -51.46875,4.5 -51.46875,4.5 z"
+         id="path5537"
+         style="fill:none;fill-opacity:1;stroke:url(#linearGradient5816);stroke-width:1;stroke-miterlimit:4;display:inline"
+         inkscape:original="M -51.46875 3.5 C -52.589967 3.5 -53.5 4.4100329 -53.5 5.53125 L -53.5 42.46875 C -53.5 43.589967 -52.589966 44.5 -51.46875 44.5 L -20.53125 44.5 C -19.410033 44.5 -18.5 43.589966 -18.5 42.46875 C -18.5 42.46875 -18.5 19 -18.5 17.5 C -18.5 16 -19 13 -21 11 C -23 9 -24 8 -26 6 C -28 4 -31 3.5 -32.5 3.5 C -34 3.5 -51.468749 3.5 -51.46875 3.5 z "
+         inkscape:radius="-0.99436891"
+         sodipodi:type="inkscape:offset" />
+      <g
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         transform="matrix(0.928889,0,0,1,-148.28889,60)"
+         style="opacity:0.15;fill:#000000;display:inline"
+         id="g5539">
+        <rect
+           ry="0.46875"
+           rx="0.50463516"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="19.0625"
+           x="10"
+           height="0.9375"
+           width="28.125"
+           id="rect5549"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+        <rect
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           id="rect5553"
+           width="28.125"
+           height="0.9375"
+           x="10"
+           y="21.0625"
+           inkscape:r_cx="true"
+           inkscape:r_cy="true"
+           rx="0.50463516"
+           ry="0.46875" />
+        <rect
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           id="rect5555"
+           width="28.125"
+           height="0.9375"
+           x="10"
+           y="23.0625"
+           inkscape:r_cx="true"
+           inkscape:r_cy="true"
+           rx="0.50463516"
+           ry="0.46875" />
+        <rect
+           ry="0.46875"
+           rx="0.50463516"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="25.0625"
+           x="10"
+           height="0.9375"
+           width="28.125"
+           id="rect5557"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+        <rect
+           ry="0.46875"
+           rx="0.50463516"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="27.0625"
+           x="10"
+           height="0.9375"
+           width="28.125"
+           id="rect5559"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+        <rect
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           id="rect5561"
+           width="28.125"
+           height="0.9375"
+           x="10"
+           y="29.0625"
+           inkscape:r_cx="true"
+           inkscape:r_cy="true"
+           rx="0.50463516"
+           ry="0.46875" />
+        <rect
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           id="rect5563"
+           width="28.125"
+           height="0.9375"
+           x="10"
+           y="31.0625"
+           inkscape:r_cx="true"
+           inkscape:r_cy="true"
+           rx="0.50463516"
+           ry="0.46875" />
+        <rect
+           ry="0.46875"
+           rx="0.50463516"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="33.0625"
+           x="10"
+           height="0.9375"
+           width="28.125"
+           id="rect5565"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+        <rect
+           ry="0.46875"
+           rx="0.50463516"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="35.0625"
+           x="10"
+           height="0.9375"
+           width="28.125"
+           id="rect5567"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+        <rect
+           ry="0.46875"
+           rx="1.0051866"
+           inkscape:r_cy="true"
+           inkscape:r_cx="true"
+           y="37.0625"
+           x="10"
+           height="0.9375"
+           width="12.918659"
+           id="rect5569"
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999982px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+      </g>
+    </g>
+    <g
+       id="g7666"
+       transform="matrix(1.0512963,0,0,0.4615385,-3.154159,26.269239)"
+       style="opacity:0.5" />
+    <g
+       style="display:inline;enable-background:new"
+       id="layer1-7"
+       inkscape:label="Livello 1"
+       transform="matrix(1.0000135,0,0,1,-2.000297,2.000003)">
+      <g
+         style="opacity:0.4"
+         transform="matrix(1.0416677,0,0,0.4579337,-0.9375015,24.411627)"
+         id="g3425" />
+      <path
+         transform="matrix(0.897436,0,0,0.981132,1.333333,1.688679)"
+         d="M 52,33.1875 A 14.625,3.3125 0 1 1 22.75,33.1875 A 14.625,3.3125 0 1 1 52,33.1875 z"
+         sodipodi:ry="3.3125"
+         sodipodi:rx="14.625"
+         sodipodi:cy="33.1875"
+         sodipodi:cx="37.375"
+         id="path4331"
+         style="opacity:0.07000002;fill:url(#radialGradient4339);fill-opacity:1;stroke:none"
+         sodipodi:type="arc" />
+      <g
+         transform="translate(-1.75,-1)"
+         id="g2894" />
+      <g
+         transform="translate(-2,-1)"
+         id="g2814" />
+      <g
+         transform="translate(60.78337,49.43458)"
+         style="display:inline"
+         inkscape:label="base"
+         id="g2637" />
+      <g
+         transform="translate(0,-1)"
+         style="opacity:0.6"
+         id="g2953" />
+      <g
+         id="g6471">
+        <path
+           sodipodi:nodetypes="cccccccccc"
+           style="opacity:0.4;fill:url(#linearGradient6482);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
+           d="M 41.07975,28.46584 L 26.07975,32.938753 L 25.95475,33.003593 L 25.861,33.081403 L 23.111,35.934581 L 30.5485,35.091597 L 30.82975,35.065657 L 31.01725,34.987847 L 41.07975,32.304654 L 41.07975,28.465833 L 41.07975,28.46584 L 41.07975,28.46584 z"
+           id="path2334" />
+        <g
+           id="g6462">
+          <g
+             id="g6458">
+            <path
+               sodipodi:nodetypes="ccccccc"
+               id="path2273"
+               d="M 25.89225,30.18459 L 44.89225,11.18459 C 47.067299,11.544551 47.976969,12.916815 48.39225,14.68459 L 29.39225,33.68459 L 24.776133,34.389095 L 25.89225,30.18459 L 25.89225,30.18459 L 25.89225,30.18459 z"
+               style="fill:url(#linearGradient6484);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6486);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+            <path
+               sodipodi:nodetypes="ccccccc"
+               id="path2313"
+               d="M 26.792248,30.68459 L 45.289998,12.286842 C 46.379743,12.465277 46.807259,13.274786 47.289998,14.286842 L 28.89225,32.784592 L 25.592247,33.684593 L 26.792248,30.68459 L 26.792248,30.68459 L 26.792248,30.68459 z"
+               style="opacity:0.28235294;fill:none;stroke:#ffffff;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+          </g>
+          <g
+             id="g6451">
+            <path
+               sodipodi:nodetypes="cczcc"
+               id="path2298"
+               d="M 24.549577,34.633026 L 26.215899,30.452717 C 26.215899,30.452717 27.415434,30.698077 28.148076,31.427806 C 28.880718,32.157535 29.146467,33.371634 29.146467,33.371634 L 24.549577,34.633026 z"
+               style="fill:url(#linearGradient6488);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+            <path
+               transform="translate(6.39225,12.18459)"
+               sodipodi:nodetypes="ccc"
+               id="path5446"
+               d="M 23,21.5 L 17.5,23 L 19.5,18"
+               style="fill:none;stroke:#e9b96e;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+            <path
+               id="path2283"
+               d="M 23.95475,33.68459 L 23.0485,35.93459 L 25.39225,35.27834 C 25.39425,35.2465 25.39225,35.21693 25.39225,35.18459 C 25.39225,34.382465 24.746942,33.724789 23.95475,33.68459 z"
+               style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
+               sodipodi:nodetypes="cccsc" />
+          </g>
+        </g>
+      </g>
+      <path
+         style="fill:url(#radialGradient691);fill-opacity:1;fill-rule:nonzero;stroke:#ef2929;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
+         d="M 42.821682,13.147263 C 44.655834,12.646732 46.706734,14.798738 46.271593,16.597182 L 48.46699,14.40178 C 49.533501,11.935217 47.334738,9.9920671 44.972276,10.907057 L 42.821682,13.147263 L 42.821682,13.147263 z"
+         id="path4113-1"
+         sodipodi:nodetypes="ccccc" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path4095-8"
+         d="M 40.561976,15.25084 C 42.498424,14.722356 44.663708,16.994546 44.204297,18.893426 L 46.522138,16.575416 C 47.276595,14.97964 44.477505,12.237921 42.832513,12.885525 L 40.561976,15.25084 L 40.561976,15.25084 z"
+         style="fill:url(#linearGradient649);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/list-add.svg b/icons/PyHoca/scalable/list-add.svg
new file mode 100644
index 0000000..5c23d09
--- /dev/null
+++ b/icons/PyHoca/scalable/list-add.svg
@@ -0,0 +1,256 @@
+<?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="svg7206"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="list-add.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7208">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4222">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4224" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop4226" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4222"
+       id="linearGradient2785"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0724657,0,0,1.0724657,-1.2644573,-1.32954)"
+       x1="15.25967"
+       y1="0.90033573"
+       x2="38.399845"
+       y2="42.305672" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8002">
+      <stop
+         style="stop-color:#789e2d;stop-opacity:1"
+         offset="0"
+         id="stop8004" />
+      <stop
+         style="stop-color:#42770c;stop-opacity:1"
+         offset="1"
+         id="stop8006" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8002"
+       id="linearGradient8008"
+       x1="22.142857"
+       y1="5"
+       x2="22"
+       y2="42.57143"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2264">
+      <stop
+         style="stop-color:#b8d67a;stop-opacity:1"
+         offset="0"
+         id="stop2266" />
+      <stop
+         id="stop7998"
+         offset="0.25"
+         style="stop-color:#a7cc5c;stop-opacity:1" />
+      <stop
+         style="stop-color:#789e2d;stop-opacity:1"
+         offset="0.68000001"
+         id="stop8000" />
+      <stop
+         style="stop-color:#42770c;stop-opacity:1"
+         offset="1"
+         id="stop2268" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2264"
+       id="radialGradient7996"
+       cx="24"
+       cy="5"
+       fx="24"
+       fy="5"
+       r="19"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.3100728e-8,2.2593985,-4.0026986,0,44.013493,-49.225564)" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient7386"
+       gradientUnits="userSpaceOnUse"
+       x1="23.563137"
+       y1="31.488117"
+       x2="23.563137"
+       y2="36.89304"
+       gradientTransform="matrix(1.1449541,0,0,1.8604651,-2.9788993,-40.500001)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="0"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7211">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:nodetypes="ccccccccccccccccccccc"
+       id="path7342"
+       d="M 6,17 C 4.020574,17.022097 4.022097,17 4,19 L 4,29 C 4.066292,30.934502 4.064762,30.977903 6,31 L 17,31 L 17,42 C 16.95956,43.948298 17.051702,44 19,44 L 29,44 C 31.036686,44 31.04044,44 31,42 L 31,31 L 42,31 C 44,31 44,31.044987 44,29 L 44,19 C 44.044194,17.043401 44.045725,17.022097 42,17 L 31,17 L 31,6 C 31,4.145833 31,4 29,4 L 19,4 C 17.145833,4 17.041667,4 17,6 L 17,17 L 6,17 z"
+       style="opacity:0.3;fill:url(#linearGradient7386);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate" />
+    <g
+       id="layer6"
+       inkscape:label="Shadow"
+       transform="translate(-77.633592,-36.5046)" />
+    <g
+       style="display:inline"
+       inkscape:label="Base"
+       id="g2170"
+       transform="translate(-77.633592,-36.5046)" />
+    <g
+       inkscape:label="Layer 1"
+       id="g5398"
+       transform="translate(-206.16377,-7.977602)" />
+    <g
+       id="layer5"
+       inkscape:label="shadiw"
+       transform="translate(-206.16377,-7.977602)" />
+    <g
+       id="layer4"
+       inkscape:label="white"
+       transform="translate(-206.16377,-7.977602)" />
+    <g
+       transform="translate(-285.16138,-16.332446)"
+       style="display:inline"
+       id="g3678"
+       inkscape:label="Layer 1" />
+    <g
+       transform="translate(-285.16138,-16.332446)"
+       inkscape:label="bottom"
+       id="g3680" />
+    <g
+       transform="translate(-285.16138,-16.332446)"
+       style="display:inline"
+       inkscape:label="back"
+       id="layer2" />
+    <g
+       id="g3698"
+       inkscape:label="shadiw"
+       transform="translate(-128.63708,-7.424841)" />
+    <g
+       id="g3760"
+       inkscape:label="shadiw"
+       transform="translate(39.691618,-2.164572)" />
+    <g
+       transform="translate(-314.49797,-42.377569)"
+       inkscape:label="Shadow"
+       id="g5431" />
+    <g
+       transform="translate(-314.49797,-42.377569)"
+       id="g4258"
+       inkscape:label="Base"
+       style="display:inline" />
+    <g
+       transform="translate(-314.49797,-42.377569)"
+       inkscape:label="new"
+       id="g5440" />
+    <g
+       transform="translate(-283.06086,-28.136472)"
+       style="display:inline"
+       id="g3928"
+       inkscape:label="Layer 1" />
+    <g
+       transform="translate(-283.06086,-28.136472)"
+       inkscape:label="bottom"
+       id="g3930" />
+    <g
+       transform="translate(-283.06086,-28.136472)"
+       style="display:inline"
+       inkscape:label="back"
+       id="g3932" />
+    <g
+       id="g3934"
+       inkscape:label="shadiw"
+       transform="translate(-126.53656,-19.228866)" />
+    <g
+       id="g3936"
+       inkscape:label="shadiw"
+       transform="translate(41.792138,-13.968597)" />
+    <g
+       transform="translate(-312.39745,-54.181595)"
+       inkscape:label="Shadow"
+       id="g3961" />
+    <g
+       transform="translate(-312.39745,-54.181595)"
+       id="g3963"
+       inkscape:label="Base"
+       style="display:inline" />
+    <g
+       transform="translate(-312.39745,-54.181595)"
+       inkscape:label="new"
+       id="layer7" />
+    <path
+       style="fill:url(#radialGradient7996);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8008);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 18.5,18.5 L 18.5,5.5 L 29.5,5.5 L 29.5,18.5 L 42.5,18.5 L 42.5,29.5 L 29.5,29.5 L 29.5,42.5 L 18.5,42.5 L 18.5,29.5 L 5.5,29.5 L 5.5,18.5 L 18.5,18.5 z"
+       id="path2262"
+       sodipodi:nodetypes="ccccccccccccc" />
+    <path
+       style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2785);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 19.5,19.5 L 19.5,6.5 L 28.5,6.5 L 28.5,19.5 L 41.5,19.5 L 41.5,28.5 L 28.5,28.5 L 28.5,41.5 L 19.5,41.5 L 19.5,28.5 L 6.5,28.5 L 6.5,19.5 L 19.5,19.5 z"
+       id="path2272"
+       sodipodi:nodetypes="ccccccccccccc" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/locked.svg b/icons/PyHoca/scalable/locked.svg
new file mode 100644
index 0000000..d648e80
--- /dev/null
+++ b/icons/PyHoca/scalable/locked.svg
@@ -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="svg7373"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7375">
+    <filter
+       inkscape:collect="always"
+       x="-0.085115738"
+       width="1.1702315"
+       y="-0.4135721"
+       height="1.8271442"
+       id="filter6328">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.42546784"
+         id="feGaussianBlur6330" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6057">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6059" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6061" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6057"
+       id="radialGradient6071"
+       gradientUnits="userSpaceOnUse"
+       cx="18.031223"
+       cy="6.2806997"
+       fx="18.031223"
+       fy="6.2806997"
+       r="3.1819806" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49411764"
+       width="1.9882353"
+       y="-0.082352942"
+       height="1.1647059"
+       id="filter5957">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.69878785"
+         id="feGaussianBlur5959" />
+    </filter>
+    <linearGradient
+       id="linearGradient12071"
+       inkscape:collect="always">
+      <stop
+         id="stop12073"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop12075"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient12071"
+       id="linearGradient1387"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9697914,0,0,0.951923,2.2265649,4.0339473)"
+       x1="21.941509"
+       y1="21.550869"
+       x2="21.941509"
+       y2="18.037588" />
+    <filter
+       inkscape:collect="always"
+       id="filter5745">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.8362597"
+         id="feGaussianBlur5747" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6227"
+       id="linearGradient6334"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-19.532826,1.7437184)"
+       x1="32.128025"
+       y1="13.789077"
+       x2="35.020981"
+       y2="13.789077" />
+    <filter
+       inkscape:collect="always"
+       x="-0.24242527"
+       width="1.4848505"
+       y="-0.047579074"
+       height="1.0951581"
+       id="filter6251">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.24444548"
+         id="feGaussianBlur6253" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6227">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6229" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6231" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6227"
+       id="linearGradient6233"
+       x1="35.004684"
+       y1="14.849737"
+       x2="33.004314"
+       y2="14.849737"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.6824037,1.125)" />
+    <linearGradient
+       id="linearGradient10591">
+      <stop
+         id="stop10593"
+         offset="0.0000000"
+         style="stop-color:#cad0c6;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#eaece9;stop-opacity:1.0000000;"
+         offset="0.50000000"
+         id="stop10599" />
+      <stop
+         id="stop10595"
+         offset="1.0000000"
+         style="stop-color:#c5cbc0;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="17.470011"
+       x2="27.192274"
+       y1="2.9136841"
+       x1="10.650842"
+       gradientTransform="translate(0,-1.926279)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1392"
+       xlink:href="#linearGradient10591"
+       inkscape:collect="always" />
+    <filter
+       inkscape:collect="always"
+       x="-0.14143888"
+       width="1.2828778"
+       y="-1.5218824"
+       height="4.0437647"
+       id="filter6171">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.1889706"
+         id="feGaussianBlur6173" />
+    </filter>
+    <linearGradient
+       id="linearGradient6089">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6091" />
+      <stop
+         id="stop6097"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:0.17171717;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop6093" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6089"
+       id="linearGradient6095"
+       x1="17.1875"
+       y1="20.09375"
+       x2="34"
+       y2="20.09375"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-1.25e-7,-0.4998777)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6075"
+       id="radialGradient6085"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.5849057,0,8.4316038)"
+       cx="15.9375"
+       cy="20.3125"
+       fx="15.9375"
+       fy="20.3125"
+       r="3.3125" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6075">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6077" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6079" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6075"
+       id="radialGradient6081"
+       cx="15.9375"
+       cy="20.3125"
+       fx="15.9375"
+       fy="20.3125"
+       r="3.3125"
+       gradientTransform="matrix(1,0,0,0.5849057,0,8.4316038)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5881">
+      <stop
+         id="stop5883"
+         offset="0"
+         style="stop-color:#fffac7;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fff8b2;stop-opacity:1;"
+         offset="1"
+         id="stop5885" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5881"
+       id="linearGradient1591"
+       x1="24.875"
+       y1="21"
+       x2="24.75"
+       y2="17"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9706798,0,0,1.5,2.2052409,-7.4998763)" />
+    <linearGradient
+       id="linearGradient9845">
+      <stop
+         id="stop9847"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9849"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.49484536;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9845"
+       id="linearGradient1575"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.968931,0,0,1.1176137,2.2618789,-4.094888)"
+       x1="10.907269"
+       y1="25.002281"
+       x2="30.875446"
+       y2="36.127281" />
+    <linearGradient
+       id="linearGradient6215">
+      <stop
+         id="stop6217"
+         offset="0"
+         style="stop-color:#ead200;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fff16a;stop-opacity:1;"
+         offset="0.20999999"
+         id="stop6219" />
+      <stop
+         id="stop6221"
+         offset="0.83999997"
+         style="stop-color:#b5a300;stop-opacity:1;" />
+      <stop
+         id="stop6223"
+         offset="1"
+         style="stop-color:#e8d000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6215"
+       id="linearGradient6225"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9715125,0,0,1.1298556,2.1851679,-5.9390134)"
+       x1="6.72682"
+       y1="32.161697"
+       x2="40.938126"
+       y2="32.161697" />
+    <filter
+       inkscape:collect="always"
+       x="-0.074990261"
+       width="1.1499805"
+       y="-0.47181373"
+       height="1.9436275"
+       id="filter6051">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4154412"
+         id="feGaussianBlur6053" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="1037"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7378">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       style="opacity:0.45882353;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6051);enable-background:accumulate"
+       id="rect5961"
+       width="37.75"
+       height="6"
+       x="6.25"
+       y="39.75"
+       rx="3.1708715"
+       ry="1.9748279"
+       transform="matrix(1.0264901,0,0,1,-0.1655631,1.2231888e-4)" />
+    <path
+       style="fill:url(#linearGradient6225);fill-opacity:1;fill-rule:evenodd;stroke:#7d6400;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 10.671306,17.500122 C 20.465852,16.056723 30.364614,16.280806 40.32558,17.500122 C 41.528484,17.500122 42.496886,18.543692 42.496886,19.839966 L 42.496886,43.160278 C 42.496886,44.456552 41.465984,45.312622 40.32558,45.500122 C 29.998397,46.708725 21.143531,46.699184 10.671306,45.500122 C 9.2809019,45.062622 8.4999999,44.456552 8.4999999,43.160278 L 8.4999999,19.839966 C 8.4999999,18.543692 9.4684019,17.500122 10.671306,17.500122 z"
+       id="rect1314"
+       sodipodi:nodetypes="ccccccccc" />
+    <g
+       id="g4695"
+       transform="translate(-1.25e-7,1.2231888e-4)">
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path6193"
+         d="M 41.940271,24.444505 C 41.542065,25.774817 37.406119,26.114917 36.638195,26.217936 C 36.638195,26.217936 20.32932,26.698408 20.32932,26.698408 C 20.32932,26.698408 36.59256,26.857542 36.59256,26.857542 C 37.418473,26.760419 41.811211,26.960931 42.02866,25.151612 L 41.940271,24.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,26.444505 C 41.542065,27.774817 37.406119,28.114917 36.638195,28.217936 C 36.638195,28.217936 17.57932,28.698408 17.57932,28.698408 C 17.57932,28.698408 36.59256,28.857542 36.59256,28.857542 C 37.418473,28.760419 41.811211,28.960931 42.02866,27.151612 L 41.940271,26.444505 z"
+         id="path4678"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4680"
+         d="M 41.940271,28.444505 C 41.542065,29.774817 37.406119,30.114917 36.638195,30.217936 C 36.638195,30.217936 20.32932,30.698408 20.32932,30.698408 C 20.32932,30.698408 36.59256,30.857542 36.59256,30.857542 C 37.418473,30.760419 41.811211,30.960931 42.02866,29.151612 L 41.940271,28.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,30.444505 C 41.542065,31.774817 37.406119,32.114917 36.638195,32.217936 C 36.638195,32.217936 25.57932,32.698408 25.57932,32.698408 C 25.57932,32.698408 36.59256,32.857542 36.59256,32.857542 C 37.418473,32.760419 41.811211,32.960931 42.02866,31.151612 L 41.940271,30.444505 z"
+         id="path4682"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4684"
+         d="M 41.940271,32.444505 C 41.542065,33.774817 37.406119,34.114917 36.638195,34.217936 C 36.638195,34.217936 20.32932,34.698408 20.32932,34.698408 C 20.32932,34.698408 36.59256,34.857542 36.59256,34.857542 C 37.418473,34.760419 41.811211,34.960931 42.02866,33.151612 L 41.940271,32.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,34.444505 C 41.542065,35.774817 37.406119,36.114917 36.638195,36.217936 C 36.638195,36.217936 17.89182,36.698408 17.89182,36.698408 C 17.89182,36.698408 36.59256,36.857542 36.59256,36.857542 C 37.418473,36.760419 41.811211,36.960931 42.02866,35.151612 L 41.940271,34.444505 z"
+         id="path4686"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4688"
+         d="M 41.940271,36.444505 C 41.542065,37.774817 37.406119,38.114917 36.638195,38.217936 C 36.638195,38.217936 22.64182,38.698408 22.64182,38.698408 C 22.64182,38.698408 36.59256,38.857542 36.59256,38.857542 C 37.418473,38.760419 41.811211,38.960931 42.02866,37.151612 L 41.940271,36.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,38.444505 C 41.542065,39.774817 37.406119,40.114917 36.638195,40.217936 C 36.638195,40.217936 28.20432,40.698408 28.20432,40.698408 C 28.20432,40.698408 36.59256,40.857542 36.59256,40.857542 C 37.418473,40.760419 41.811211,40.960931 42.02866,39.151612 L 41.940271,38.444505 z"
+         id="path4690"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4692"
+         d="M 41.940271,40.444505 C 41.542065,41.774817 37.406119,42.114917 36.638195,42.217936 C 36.638195,42.217936 20.32932,42.698408 20.32932,42.698408 C 20.32932,42.698408 36.59256,42.857542 36.59256,42.857542 C 37.418473,42.760419 41.811211,42.960931 42.02866,41.151612 L 41.940271,40.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1575);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.60109289"
+       d="M 10.749588,18.995483 L 40.254432,18.995483 C 40.946703,18.995483 41.50402,19.581598 41.50402,20.309642 L 41.50402,43.185963 C 41.50402,43.914007 41.009203,44.250122 40.254432,44.500122 C 30.606984,45.703735 21.084536,45.700943 10.749588,44.500122 C 10.057316,44.250122 9.4999999,43.914007 9.4999999,43.185963 L 9.4999999,20.309642 C 9.4999999,19.581598 10.057316,18.995483 10.749588,18.995483 z"
+       id="rect6903"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       style="fill:url(#linearGradient1591);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 10.607725,18.000122 C 20.536946,16.539375 30.466165,16.799553 40.395386,18.000122 C 41.286066,18.000122 42.003112,18.717168 42.003112,19.607847 L 42.003112,22.392397 C 42.003112,23.283076 41.286066,24.000122 40.395386,24.000122 C 30.033657,24.690222 20.499962,24.443932 10.607725,24.000122 C 9.7170449,24.000122 8.9999999,23.283076 8.9999999,22.392397 L 8.9999999,19.607847 C 8.9999999,18.717168 9.7170449,18.000122 10.607725,18.000122 z"
+       id="rect1460"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.36470588;fill:url(#radialGradient6081);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path6073"
+       sodipodi:cx="15.9375"
+       sodipodi:cy="20.3125"
+       sodipodi:rx="3.3125"
+       sodipodi:ry="1.9375"
+       d="M 19.25,20.3125 A 3.3125,1.9375 0 1 1 12.625,20.3125 A 3.3125,1.9375 0 1 1 19.25,20.3125 z"
+       transform="matrix(1.3870968,0,0,1.3870968,-6.1693551,-7.8627805)" />
+    <path
+       transform="matrix(1.3870968,0,0,1.3870968,12.955645,-7.8627805)"
+       d="M 19.25,20.3125 A 3.3125,1.9375 0 1 1 12.625,20.3125 A 3.3125,1.9375 0 1 1 19.25,20.3125 z"
+       sodipodi:ry="1.9375"
+       sodipodi:rx="3.3125"
+       sodipodi:cy="20.3125"
+       sodipodi:cx="15.9375"
+       id="path6083"
+       style="opacity:0.34705882;fill:url(#radialGradient6085);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <rect
+       style="opacity:0.48235294;fill:url(#linearGradient6095);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6171);enable-background:accumulate"
+       id="rect6087"
+       width="16.8125"
+       height="1.5625"
+       x="17.187498"
+       y="18.812622"
+       rx="0.78125"
+       ry="0.78125" />
+    <g
+       id="g1387"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(0.8915815,0,0,1,4.0426599,-0.4919207)">
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         sodipodi:nodetypes="cczcccczccc"
+         id="path2086"
+         d="M 10.6402,20.234846 L 10.6402,14.5 C 10.6402,6.6298666 15.897609,2.8910066 24.020027,2.9892921 C 32.18664,3.0875777 37.5,6.5372782 37.5,14.5 L 37.5,20.484846 C 37.5,22.439075 32.009299,22.687797 32.009299,20.484846 L 32.009299,16.5 C 32.009299,14.5 32.577752,8.028147 24.077241,8.028147 C 15.646828,8.028147 16.261091,14.539885 16.293782,16.492026 L 16.293782,20.268524 C 16.293782,22.623144 10.6402,22.613133 10.6402,20.234846 z"
+         style="fill:url(#linearGradient1392);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.05905688;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         style="opacity:0.18235294;fill:url(#linearGradient6233);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter6251)"
+         d="M 34.687087,10.837069 L 35.951035,10.962069 C 36.878274,13.784802 36.687087,20.472482 36.687087,20.472482 C 36.624587,21.597482 34.655837,21.003732 34.687087,20.472482 L 34.687087,10.837069 z"
+         id="rect1345"
+         sodipodi:nodetypes="ccccc"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true" />
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         sodipodi:nodetypes="ccccc"
+         id="path6332"
+         d="M 12.926606,11.544175 L 13.298325,11.71337 C 15.018656,12.768336 15.471857,21.0912 15.471857,21.0912 C 15.409357,22.2162 13.440607,21.62245 13.471857,21.0912 C 13.471857,21.0912 13.850077,14.22056 12.926606,11.544175 z"
+         style="opacity:0.14117647;fill:url(#linearGradient6334);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter6251)"
+         transform="matrix(-1,0,0,1,29.05878,-0.6187184)" />
+    </g>
+    <path
+       style="opacity:0.62352941;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5745);enable-background:accumulate"
+       d="M 15.375,19.625122 L 15.5,12.125122 C 15.5,2.2487493 34.187499,1.4487223 34.187499,13.000122 L 34.187499,19.875122"
+       id="path5675"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1387);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 10.663938,20.692602 L 40.339178,20.692602 C 40.983999,20.692602 41.503116,21.181796 41.503116,21.78945 L 41.503116,22.451524 C 41.503116,23.059178 40.983999,23.548372 40.339178,23.548372 C 30.539744,24.748444 20.629609,24.821884 10.663938,23.548372 C 10.019116,23.548372 9.4999999,23.059178 9.4999999,22.451524 L 9.4999999,21.78945 C 9.4999999,21.181796 10.019116,20.692602 10.663938,20.692602 z"
+       id="rect1593"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="opacity:0.29411765;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5957);enable-background:accumulate"
+       id="rect5887"
+       width="2.8284271"
+       height="16.970562"
+       x="14.594036"
+       y="23.226137"
+       rx="1.6077254"
+       ry="1.6077254"
+       transform="matrix(1.9722718,0,0,1.2283366,-15.56437,-5.3032539)" />
+    <g
+       id="g6067"
+       transform="translate(0.8838829,-0.5302077)">
+      <path
+         d="M 21.213204,6.2806997 A 3.1819806,3.1819806 0 1 1 14.849243,6.2806997 A 3.1819806,3.1819806 0 1 1 21.213204,6.2806997 z"
+         sodipodi:ry="3.1819806"
+         sodipodi:rx="3.1819806"
+         sodipodi:cy="6.2806997"
+         sodipodi:cx="18.031223"
+         id="path6055"
+         style="opacity:1;fill:url(#radialGradient6071);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(0.4343344,0,0,0.4343344,10.199642,3.5527756)"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path6065"
+         sodipodi:cx="18.031223"
+         sodipodi:cy="6.2806997"
+         sodipodi:rx="3.1819806"
+         sodipodi:ry="3.1819806"
+         d="M 21.213204,6.2806997 A 3.1819806,3.1819806 0 1 1 14.849243,6.2806997 A 3.1819806,3.1819806 0 1 1 21.213204,6.2806997 z" />
+    </g>
+    <path
+       style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6328);enable-background:accumulate"
+       d="M 21.715689,3.9563403 C 24.168434,3.3660463 26.768803,3.3281143 29.32858,3.9563403 C 31.016329,4.3705523 30.561969,5.8454783 29.32858,5.4998383 C 26.795998,4.7901193 24.232097,4.9798893 21.715689,5.4998383 C 19.936529,5.8674553 20.076197,4.3509113 21.715689,3.9563403 z"
+       id="rect6257"
+       sodipodi:nodetypes="cssss" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-eject.svg b/icons/PyHoca/scalable/media-eject.svg
new file mode 100644
index 0000000..ac26f17
--- /dev/null
+++ b/icons/PyHoca/scalable/media-eject.svg
@@ -0,0 +1,270 @@
+<?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="svg7204"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7206">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7960">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7962" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7964" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7960"
+       id="linearGradient7966"
+       x1="24.839811"
+       y1="22.896124"
+       x2="30.24213"
+       y2="42.93504"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5590"
+       inkscape:collect="always">
+      <stop
+         id="stop5592"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5594"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5590"
+       id="linearGradient7393"
+       gradientUnits="userSpaceOnUse"
+       x1="20.171806"
+       y1="6.452569"
+       x2="25.110491"
+       y2="31.468895" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7973">
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0"
+         id="stop7975" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop7977" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7973"
+       id="linearGradient7979"
+       x1="27.193972"
+       y1="7.9997501"
+       x2="27.107143"
+       y2="37.738838"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5578"
+       inkscape:collect="always">
+      <stop
+         id="stop5580"
+         offset="0"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+      <stop
+         id="stop5582"
+         offset="1"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5578"
+       id="linearGradient7391"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-1e-6,0.9375)"
+       x1="24.99975"
+       y1="38.153625"
+       x2="20.121071"
+       y2="7" />
+    <linearGradient
+       id="linearGradient10816">
+      <stop
+         id="stop10818"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.3137255;" />
+      <stop
+         id="stop10820"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0.31" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10816"
+       id="linearGradient7389"
+       gradientUnits="userSpaceOnUse"
+       x1="22.18045"
+       y1="13.177"
+       x2="24.81955"
+       y2="25.137793" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7983">
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0"
+         id="stop7985" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop7987" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7983"
+       id="linearGradient7989"
+       x1="24"
+       y1="7.8987346"
+       x2="23.938574"
+       y2="39.999748"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7968">
+      <stop
+         style="stop-color:#e15f5f;stop-opacity:1"
+         offset="0"
+         id="stop7970" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="1"
+         id="stop7972" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7968"
+       id="linearGradient7974"
+       x1="19.959141"
+       y1="8.2017803"
+       x2="25.111168"
+       y2="40.089279"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient7386"
+       gradientUnits="userSpaceOnUse"
+       x1="23.41782"
+       y1="31.488117"
+       x2="23.67593"
+       y2="36.456322" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="220"
+     inkscape:window-y="172" />
+  <metadata
+     id="metadata7209">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7422"
+       transform="translate(-88,2.5e-4)" />
+    <g
+       id="g7377"
+       transform="translate(0,2.5e-4)">
+      <path
+         sodipodi:nodetypes="ccccccccc"
+         id="path7342"
+         d="M 9.125,30.90625 C 7.9751604,30.90625 6.96875,31.899555 6.96875,33.0625 L 6.96875,36.8125 C 6.96875,37.975447 7.9751547,38.96875 9.125,38.96875 L 38.875,38.96875 C 40.02484,38.96875 41.031253,37.97545 41.03125,36.8125 L 41.03125,33.0625 C 41.03125,31.89955 40.024847,30.90625 38.875,30.90625 L 9.125,30.90625 z"
+         style="opacity:0.4;fill:url(#linearGradient7386);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate" />
+      <rect
+         ry="0.63725162"
+         rx="0.62257558"
+         y="32.4375"
+         x="8.499999"
+         height="5"
+         width="31.000002"
+         id="rect4595"
+         style="fill:url(#linearGradient7974);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7989);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="cccsccsccc"
+         id="path7339"
+         d="M 23.78125,6.90625 C 23.321479,6.9301871 22.896874,7.1597036 22.625,7.53125 L 8.125,27.5625 C 7.7817975,28.030059 7.7321882,28.651386 7.9968518,29.16748 C 8.2615154,29.683574 8.7950298,30.005862 9.375,30 L 38.75,30 C 39.324346,29.994086 39.847091,29.66728 40.10396,29.153542 C 40.360829,28.639805 40.308626,28.025525 39.96875,27.5625 L 25.09375,7.53125 C 24.789314,7.1153075 24.296053,6.8804216 23.78125,6.90625 z"
+         style="opacity:0.4;fill:url(#linearGradient7389);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate" />
+      <path
+         id="path5566"
+         d="M 9.374999,28.46875 L 38.749999,28.46875 L 23.874999,8.4374999 L 9.374999,28.46875 z"
+         style="fill:url(#linearGradient7391);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7979);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate" />
+      <path
+         transform="matrix(1.025279,0,0,1.0257353,-0.6078818,-0.5474494)"
+         d="M 23.875,10.34375 L 11.5625,27.34375 L 36.53125,27.34375 L 23.875,10.34375 z"
+         inkscape:href="#path5566"
+         id="path5586"
+         style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7393);stroke-width:0.97512734;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate"
+         xlink:href="#path5566"
+         inkscape:original="M 23.875 8.4375 L 9.375 28.46875 L 38.75 28.46875 L 23.875 8.4375 z "
+         inkscape:radius="-1.116814"
+         sodipodi:type="inkscape:offset" />
+      <rect
+         style="opacity:0.4;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7966);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;enable-background:accumulate"
+         id="rect5598"
+         width="29"
+         height="3"
+         x="9.500001"
+         y="33.4375" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-playback-pause.svg b/icons/PyHoca/scalable/media-playback-pause.svg
new file mode 100644
index 0000000..1d86b6f
--- /dev/null
+++ b/icons/PyHoca/scalable/media-playback-pause.svg
@@ -0,0 +1,320 @@
+<?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="48"
+   height="48"
+   id="svg7854"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="media-playback-pause.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/lapo/Desktop/media-icons.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs7856">
+    <linearGradient
+       id="linearGradient3227"
+       inkscape:collect="always">
+      <stop
+         id="stop3229"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop3231"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3217">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop3219" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3221" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3196">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3198" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3200" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         offset="0"
+         id="stop7579"
+         style="stop-color:#000000;stop-opacity:0.3137255;" />
+      <stop
+         offset="1"
+         id="stop7581"
+         style="stop-color:#000000;stop-opacity:0.31" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7344">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3192"
+       x1="-13"
+       y1="3"
+       x2="-13"
+       y2="45"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3196"
+       id="linearGradient3194"
+       x1="-39"
+       y1="3"
+       x2="-39"
+       y2="45"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient3215"
+       gradientUnits="userSpaceOnUse"
+       x1="-27.669012"
+       y1="13.129915"
+       x2="-24.330988"
+       y2="25.587595" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3217"
+       id="linearGradient3223"
+       x1="-13"
+       y1="0"
+       x2="-13"
+       y2="48"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3227"
+       id="linearGradient3225"
+       x1="-39"
+       y1="0"
+       x2="-39"
+       y2="48"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#000000"
+     borderopacity="1"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="-2.3582699"
+     inkscape:cy="32.957461"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="48px"
+     height="48px"
+     inkscape:showpageshadow="true"
+     inkscape:window-width="1678"
+     inkscape:window-height="978"
+     inkscape:window-x="0"
+     inkscape:window-y="43"
+     showgrid="true"
+     inkscape:grid-points="true"
+     showborder="true"
+     showguides="false"
+     inkscape:guide-bbox="true"
+     borderlayer="true">
+    <sodipodi:guide
+       orientation="horizontal"
+       position="13.125"
+       id="guide7377" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="5.4800776"
+       id="guide7379" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="35"
+       id="guide7492" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="48"
+       id="guide7046" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="-17.5"
+       id="guide7233" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="-29"
+       id="guide7235" />
+    <sodipodi:guide
+       orientation="horizontal"
+       position="22.097087"
+       id="guide7556" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-76.125"
+       id="guide7644" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-26.125"
+       id="guide7646" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="24"
+       id="guide7648" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-125.28125"
+       id="guide7665" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-175.125"
+       id="guide7667" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-225.83223"
+       id="guide7685" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="-326.06462"
+       id="guide7695" />
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="2"
+       visible="true"
+       enabled="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7859">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Lapo Calamandrei</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:title>Pause</dc:title>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>playback</rdf:li>
+            <rdf:li>pause</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <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:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g7104"
+       transform="translate(50,0)">
+      <path
+         d="M -37.03125,11.25 C -37.937434,11.25 -38.75,12.062566 -38.75,12.96875 L -38.75,35.03125 C -38.75,35.937438 -37.937447,36.750007 -37.03125,36.75 L -29.96875,36.75 C -29.062569,36.75 -28.249997,35.937439 -28.25,35.03125 L -28.25,12.96875 C -28.25,12.062566 -29.062566,11.25 -29.96875,11.25 L -37.03125,11.25 z M -22.03125,11.25 C -22.937434,11.25 -23.75,12.062566 -23.75,12.96875 L -23.75,35.03125 C -23.75,35.937438 -22.937447,36.750007 -22.03125,36.75 L -14.96875,36.75 C -14.062569,36.75 -13.25,35.937433 -13.25,35.03125 L -13.25,12.96875 C -13.25,12.062566 -14.062566,11.25 -14.96875,11.25 L -22.03125,11.25 z"
+         id="path7594"
+         style="opacity:0.3;fill:url(#linearGradient3215);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+         inkscape:original="M -37.03125 12.5 C -37.295499 12.5 -37.5 12.704501 -37.5 12.96875 L -37.5 35.03125 C -37.5 35.295499 -37.295498 35.500002 -37.03125 35.5 L -29.96875 35.5 C -29.704501 35.5 -29.499999 35.2955 -29.5 35.03125 L -29.5 12.96875 C -29.5 12.704501 -29.704501 12.5 -29.96875 12.5 L -37.03125 12.5 z M -22.03125 12.5 C -22.295499 12.5 -22.5 12.704501 -22.5 12.96875 L -22.5 35.03125 C -22.5 35.295499 -22.295498 35.500002 -22.03125 35.5 L -14.96875 35.5 C -14.704501 35.5 -14.5 35.2955 -14.5 35.03125 L -14.5 12.96875 C -14.5 12.704501 -14.704501 12.5 -14.96875 12.5 L -22.03125 12.5 z "
+         inkscape:radius="1.2442297"
+         sodipodi:type="inkscape:offset"
+         transform="matrix(1.7254902,0,0,1.7254902,18.862745,-17.411764)" />
+      <g
+         id="g7451">
+        <rect
+           style="fill:url(#linearGradient3194);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+           id="rect7865"
+           width="15"
+           height="41"
+           x="-46.5"
+           y="3.5"
+           rx="0.47698301"
+           ry="0.47698301" />
+        <rect
+           ry="0.47698301"
+           rx="0.47698301"
+           y="3.5"
+           x="-20.5"
+           height="41"
+           width="15"
+           id="rect7879"
+           style="fill:url(#linearGradient3192);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1" />
+        <rect
+           style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3225);stroke-width:0.99999987999999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+           id="rect7867"
+           width="13"
+           height="39"
+           x="-45.5"
+           y="4.5" />
+        <rect
+           style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3223);stroke-width:0.99999987999999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+           id="rect7889"
+           width="13"
+           height="39"
+           x="-19.5"
+           y="4.5" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-playback-start.svg b/icons/PyHoca/scalable/media-playback-start.svg
new file mode 100644
index 0000000..ef0fbff
--- /dev/null
+++ b/icons/PyHoca/scalable/media-playback-start.svg
@@ -0,0 +1,140 @@
+<?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="svg7196"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="media-playback-start.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7198">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3203">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3205" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3207" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3203"
+       id="linearGradient3209"
+       x1="-183"
+       y1="2"
+       x2="-183"
+       y2="46"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7344">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3197"
+       x1="-180"
+       y1="4"
+       x2="-180"
+       y2="44"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient9792">
+      <stop
+         id="stop9794"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.3137255;" />
+      <stop
+         id="stop9796"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0.31" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9792"
+       id="linearGradient3201"
+       gradientUnits="userSpaceOnUse"
+       x1="-178.27779"
+       y1="13.096572"
+       x2="-170.07779"
+       y2="31.289717"
+       gradientTransform="matrix(1.0975609,0,0,1.0993152,217.67073,-2.396871)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="306"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7201">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:nodetypes="ccccc"
+       id="path3199"
+       d="M 2,45.973 L 2,2.00039 L 8.2003814,5.0316876 L 47,24.00039 L 2,45.973 z"
+       style="opacity:0.3;fill:url(#linearGradient3201);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999981999999998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992000000000;stroke-opacity:1" />
+    <g
+       id="g7138"
+       transform="translate(200,3.9e-4)">
+      <g
+         id="g7515">
+        <path
+           sodipodi:nodetypes="cccc"
+           id="path7812"
+           d="M -196.5,43.5 L -196.5,4.5 L -156.5,24 L -196.5,43.5 z"
+           style="fill:url(#linearGradient3197);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+        <path
+           sodipodi:nodetypes="cccc"
+           id="path7828"
+           d="M -195.46875,41.875 L -195.46875,6.109375 L -158.79688,24 L -195.46875,41.875 z"
+           style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3209);stroke-width:0.99999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-playback-stop.svg b/icons/PyHoca/scalable/media-playback-stop.svg
new file mode 100644
index 0000000..e2b2d09
--- /dev/null
+++ b/icons/PyHoca/scalable/media-playback-stop.svg
@@ -0,0 +1,149 @@
+<?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="svg7182"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="media-playback-stop.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7184">
+    <linearGradient
+       id="linearGradient3192">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3194" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3196" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3192"
+       id="linearGradient3198"
+       x1="23.393908"
+       y1="13.000002"
+       x2="23"
+       y2="48"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7344"
+       inkscape:collect="always">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3190"
+       x1="24"
+       y1="12"
+       x2="24"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient7469"
+       gradientUnits="userSpaceOnUse"
+       x1="22.28924"
+       y1="12.965953"
+       x2="25.71076"
+       y2="25.735243" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="9.8994949"
+     inkscape:cx="23.916316"
+     inkscape:cy="19.35555"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="0"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7187">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7422"
+       transform="translate(-88,0)" />
+    <g
+       id="g7097">
+      <path
+         d="M 13,11 C 11.942666,11 11,11.942666 11,13 L 11,35 C 11,36.057334 11.942653,37.000008 13,37 L 35,37 C 36.057331,37 37.000008,36.057345 37,35 L 37,13 C 37,11.942669 36.057333,11 35,11 L 13,11 z"
+         id="path7573"
+         style="opacity:0.3;fill:url(#linearGradient7469);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+         inkscape:original="M 13 12.5 C 12.718439 12.5 12.5 12.718439 12.5 13 L 12.5 35 C 12.5 35.281561 12.718439 35.500002 13 35.5 L 35 35.5 C 35.281561 35.5 35.500002 35.281562 35.5 35 L 35.5 13 C 35.5 12.718439 35.281562 12.5 35 12.5 L 13 12.5 z "
+         inkscape:radius="1.4999211"
+         sodipodi:type="inkscape:offset" />
+      <g
+         id="g7427">
+        <rect
+           style="fill:url(#linearGradient3190);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+           id="rect7340"
+           width="23.000002"
+           height="23.000002"
+           x="12.5"
+           y="12.5"
+           rx="0.50823301"
+           ry="0.50823301" />
+        <rect
+           style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3198);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992000000000;stroke-opacity:1"
+           id="rect7354"
+           width="20.999998"
+           height="20.999998"
+           x="13.500002"
+           y="13.500002" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-record.svg b/icons/PyHoca/scalable/media-record.svg
new file mode 100644
index 0000000..2d98584
--- /dev/null
+++ b/icons/PyHoca/scalable/media-record.svg
@@ -0,0 +1,185 @@
+<?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="svg7964"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7966">
+    <linearGradient
+       id="linearGradient5172"
+       inkscape:collect="always">
+      <stop
+         id="stop5174"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop5176"
+         offset="1"
+         style="stop-color:white;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5172"
+       id="linearGradient8323"
+       gradientUnits="userSpaceOnUse"
+       x1="8.9317284"
+       y1="2.0178134"
+       x2="13.458839"
+       y2="26.431587" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7953">
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0"
+         id="stop7956" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop7958" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7953"
+       id="linearGradient7960"
+       x1="14.317019"
+       y1="8.7555399"
+       x2="14.326317"
+       y2="23.513041"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5167">
+      <stop
+         id="stop5169"
+         offset="0"
+         style="stop-color:#e78181;stop-opacity:1" />
+      <stop
+         style="stop-color:#e15f5f;stop-opacity:1"
+         offset="0.25"
+         id="stop7955" />
+      <stop
+         id="stop7957"
+         offset="0.68000001"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+      <stop
+         id="stop5171"
+         offset="1"
+         style="stop-color:#a40000;stop-opacity:1" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5167"
+       id="radialGradient7951"
+       cx="15.865708"
+       cy="8.7555399"
+       fx="15.865708"
+       fy="8.7555399"
+       r="7.3787756"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.992859e-8,2.1425397,-5.4504165,-2.0325241e-7,63.587049,-25.23737)" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient8317"
+       gradientUnits="userSpaceOnUse"
+       x1="15.011773"
+       y1="10.883683"
+       x2="16.657505"
+       y2="17.024479" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="656"
+     inkscape:window-y="361" />
+  <metadata
+     id="metadata7969">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7170"
+       transform="translate(350.00028,6.4088923e-8)">
+      <path
+         sodipodi:type="arc"
+         style="opacity:0.4;fill:url(#linearGradient8317);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52702755;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+         id="path7691"
+         sodipodi:cx="15.865708"
+         sodipodi:cy="16.134291"
+         sodipodi:rx="7.115262"
+         sodipodi:ry="7.115262"
+         d="M 22.98097,16.134291 A 7.115262,7.115262 0 1 1 8.7504463,16.134291 A 7.115262,7.115262 0 1 1 22.98097,16.134291 z"
+         transform="matrix(2.1074616,0,0,2.1078593,-359.43551,-10.006786)" />
+      <g
+         id="g7564">
+        <path
+           sodipodi:type="arc"
+           style="fill:url(#radialGradient7951);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient7960);stroke-width:0.52702701;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           id="path7968"
+           sodipodi:cx="15.865708"
+           sodipodi:cy="16.134291"
+           sodipodi:rx="7.115262"
+           sodipodi:ry="7.115262"
+           d="M 22.98097,16.134291 A 7.115262,7.115262 0 1 1 8.7504463,16.134291 A 7.115262,7.115262 0 1 1 22.98097,16.134291 z"
+           transform="matrix(1.897257,0,0,1.897615,-356.10046,-6.6146433)" />
+        <path
+           transform="matrix(1.7591324,0,0,1.7580929,-353.90899,-4.3562887)"
+           d="M 22.98097,16.134291 A 7.115262,7.115262 0 1 1 8.7504463,16.134291 A 7.115262,7.115262 0 1 1 22.98097,16.134291 z"
+           sodipodi:ry="7.115262"
+           sodipodi:rx="7.115262"
+           sodipodi:cy="16.134291"
+           sodipodi:cx="15.865708"
+           id="path7972"
+           style="opacity:0.54494413;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient8323);stroke-width:0.56863129;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+           sodipodi:type="arc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-seek-backward.svg b/icons/PyHoca/scalable/media-seek-backward.svg
new file mode 100644
index 0000000..7ed4a7a
--- /dev/null
+++ b/icons/PyHoca/scalable/media-seek-backward.svg
@@ -0,0 +1,212 @@
+<?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="svg7209"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7211">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3211">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3213" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3215" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3211"
+       id="linearGradient3219"
+       x1="29"
+       y1="12"
+       x2="29"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3205"
+       inkscape:collect="always">
+      <stop
+         id="stop3207"
+         offset="0"
+         style="stop-color:#babdb6;stop-opacity:1" />
+      <stop
+         id="stop3209"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3205"
+       id="linearGradient3203"
+       x1="29"
+       y1="36"
+       x2="29"
+       y2="12"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3221"
+       inkscape:collect="always">
+      <stop
+         id="stop3223"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop3225"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3221"
+       id="linearGradient3217"
+       x1="29"
+       y1="12"
+       x2="29"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3195">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="0"
+         id="stop3197" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="1"
+         id="stop3199" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3195"
+       id="linearGradient3201"
+       x1="29"
+       y1="36"
+       x2="29"
+       y2="12"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.5"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient8098"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,-250.51531,0)"
+       x1="-127.01692"
+       y1="12.838128"
+       x2="-123.49838"
+       y2="25.969481" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="287"
+     inkscape:window-y="163" />
+  <metadata
+     id="metadata7214">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7145"
+       transform="translate(250.00003,1.5827295e-4)">
+      <path
+         transform="matrix(-1,0,0,1,-351.01531,0)"
+         d="M -143.75,11.53125 C -144.47126,11.646642 -145.00141,12.269567 -145,13 L -145,35 C -145.00337,35.536848 -144.71663,36.033688 -144.25011,36.299347 C -143.78358,36.565005 -143.20998,36.558085 -142.75,36.28125 L -127,26.9375 L -127,35 C -127.00337,35.536848 -126.71663,36.033688 -126.25011,36.299347 C -125.78358,36.565005 -125.20998,36.558085 -124.75,36.28125 L -106.25,25.28125 C -105.79494,25.014944 -105.51528,24.527253 -105.51528,24 C -105.51528,23.472747 -105.79494,22.985056 -106.25,22.71875 L -124.75,11.71875 C -125.20998,11.441915 -125.78358,11.434995 -126.25011,11.700653 C -126.71663,11.966312 -127.00337,12.463152 -127,13 L -127,21.0625 L -142.75,11.71875 C -143.05084,11.540409 -143.40499,11.474007 -143.75,11.53125 L -143.75,11.53125 z"
+         id="path7681"
+         style="opacity:0.31000001;fill:url(#linearGradient8098);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+         inkscape:original="M -143.5 13 L -143.5 35 L -125.5 24.3125 L -125.5 35 L -107 24 L -125.5 13 L -125.5 23.6875 L -143.5 13 z "
+         inkscape:radius="1.484375"
+         sodipodi:type="inkscape:offset" />
+      <g
+         id="g7530">
+        <g
+           id="g7964"
+           transform="translate(-132,0)">
+          <g
+             transform="matrix(-1,0,0,1,-54,0)"
+             id="g7952">
+            <path
+               style="fill:url(#linearGradient3201);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               d="M 21.5,35 L 21.5,13.000461 L 39.995767,24.010194 L 21.5,35 z"
+               id="path7954"
+               sodipodi:nodetypes="cccc" />
+            <path
+               sodipodi:type="inkscape:offset"
+               inkscape:radius="-1.0054175"
+               inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+               style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3217);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               id="path7956"
+               d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z" />
+          </g>
+          <g
+             transform="matrix(-1,0,0,1,-72,0)"
+             id="g7958">
+            <path
+               style="fill:url(#linearGradient3203);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               d="M 21.5,35 L 21.5,13.000461 L 39.995767,24.010194 L 21.5,35 z"
+               id="path7960"
+               sodipodi:nodetypes="cccc" />
+            <path
+               sodipodi:type="inkscape:offset"
+               inkscape:radius="-1.0054175"
+               inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+               style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3219);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               id="path7962"
+               d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z" />
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-seek-forward.svg b/icons/PyHoca/scalable/media-seek-forward.svg
new file mode 100644
index 0000000..fe128c4
--- /dev/null
+++ b/icons/PyHoca/scalable/media-seek-forward.svg
@@ -0,0 +1,199 @@
+<?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="svg7206"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7208">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3205"
+       id="linearGradient3211"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3199">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3201" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3203" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3199"
+       id="linearGradient3195"
+       x1="148"
+       y1="12"
+       x2="148"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3205">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3207" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3209" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3205"
+       id="linearGradient3213"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7344"
+       inkscape:collect="always">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3197"
+       x1="148"
+       y1="12"
+       x2="148"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient7871"
+       gradientUnits="userSpaceOnUse"
+       x1="-127.01692"
+       y1="12.838128"
+       x2="-123.49838"
+       y2="25.969481" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7211">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7126"
+       transform="translate(150.00003,1.5827295e-4)">
+      <path
+         d="M -143.75,11.53125 C -144.47126,11.646642 -145.00141,12.269567 -145,13 L -145,35 C -145.00337,35.536848 -144.71663,36.033688 -144.25011,36.299347 C -143.78358,36.565005 -143.20998,36.558085 -142.75,36.28125 L -127,26.9375 L -127,35 C -127.00337,35.536848 -126.71663,36.033688 -126.25011,36.299347 C -125.78358,36.565005 -125.20998,36.558085 -124.75,36.28125 L -106.25,25.28125 C -105.79494,25.014944 -105.51528,24.527253 -105.51528,24 C -105.51528,23.472747 -105.79494,22.985056 -106.25,22.71875 L -124.75,11.71875 C -125.20998,11.441915 -125.78358,11.434995 -126.25011,11.700653 C -126.71663,11.966312 -127.00337,12.463152 -127,13 L -127,21.0625 L -142.75,11.71875 C -143.05084,11.540409 -143.40499,11.474007 -143.75,11.53125 L -143.75,11.53125 z"
+         id="path7659"
+         style="opacity:0.4;fill:url(#linearGradient7871);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+         inkscape:original="M -143.5 13 L -143.5 35 L -125.5 24.3125 L -125.5 35 L -107 24 L -125.5 13 L -125.5 23.6875 L -143.5 13 z "
+         inkscape:radius="1.484375"
+         sodipodi:type="inkscape:offset" />
+      <g
+         id="g7498">
+        <g
+           id="g8037"
+           transform="translate(-267,0)">
+          <g
+             transform="translate(-18,0)"
+             id="g8025">
+            <path
+               style="fill:url(#linearGradient3197);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               d="M 141.5,35 L 141.5,13.000461 L 159.99577,24.010194 L 141.5,35 z"
+               id="path8027"
+               sodipodi:nodetypes="cccc" />
+            <path
+               sodipodi:type="inkscape:offset"
+               inkscape:radius="-1.0054175"
+               inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+               style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3213);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               id="path8029"
+               d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+               transform="translate(120,0)" />
+          </g>
+          <g
+             id="g8031">
+            <path
+               style="fill:url(#linearGradient3195);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               d="M 141.5,35 L 141.5,13.000461 L 159.99577,24.010194 L 141.5,35 z"
+               id="path8033"
+               sodipodi:nodetypes="cccc" />
+            <path
+               sodipodi:type="inkscape:offset"
+               inkscape:radius="-1.0054175"
+               inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+               style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3211);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+               id="path8035"
+               d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+               transform="translate(120,0)" />
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-skip-backward.svg b/icons/PyHoca/scalable/media-skip-backward.svg
new file mode 100644
index 0000000..82402f6
--- /dev/null
+++ b/icons/PyHoca/scalable/media-skip-backward.svg
@@ -0,0 +1,243 @@
+<?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="svg7212"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7214">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3215"
+       id="linearGradient3221"
+       x1="-294"
+       y1="12"
+       x2="-294"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3203">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3205" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3207" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3203"
+       id="linearGradient3197"
+       x1="-294"
+       y1="12"
+       x2="-294"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3215"
+       id="linearGradient3225"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7344"
+       inkscape:collect="always">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3201"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3215">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3217" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3219" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3215"
+       id="linearGradient3223"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3209">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3211" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3213" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3209"
+       id="linearGradient3199"
+       x1="28"
+       y1="12"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient8208"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,-152,0)"
+       x1="-77.711723"
+       y1="13.246527"
+       x2="-74.288277"
+       y2="26.023027" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7217">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7157"
+       transform="translate(300,0)">
+      <path
+         transform="matrix(-1,0,0,1,-352,0)"
+         d="M -59.9375,11 C -61.083327,11 -62,11.916673 -62,13.0625 L -62,21.0625 L -77.71875,11.71875 C -78.182222,11.438527 -78.760596,11.429252 -79.232814,11.694471 C -79.705033,11.959689 -79.998098,12.458403 -80,13 L -80,21.0625 L -95.71875,11.71875 C -96.182222,11.438527 -96.760596,11.429252 -97.232814,11.694471 C -97.705033,11.959689 -97.998098,12.458403 -98,13 L -98,35 C -97.998098,35.541597 -97.705033,36.040311 -97.232814,36.305529 C -96.760596,36.570748 -96.182222,36.561473 -95.71875,36.28125 L -80,26.9375 L -80,35 C -79.998098,35.541597 -79.705033,36.040311 -79.232814,36.305529 C -78.760596,36.570748 -78.182222,36.561473 -77.71875,36.28125 L -62,26.9375 L -62,34.9375 C -62,36.083333 -61.083342,37.000007 -59.9375,37 L -56.0625,37 C -54.916673,37 -53.999996,36.083333 -54,34.9375 L -54,13.0625 C -54,11.91667 -54.916672,11 -56.0625,11 L -59.9375,11 z"
+         id="path7687"
+         style="opacity:0.4;fill:url(#linearGradient8208);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+         inkscape:original="M -59.9375 12.5 C -60.243545 12.5 -60.5 12.756455 -60.5 13.0625 L -60.5 23.6875 L -78.5 13 L -78.5 23.6875 L -96.5 13 L -96.5 35 L -78.5 24.3125 L -78.5 35 L -60.5 24.3125 L -60.5 34.9375 C -60.5 35.243545 -60.243543 35.500002 -59.9375 35.5 L -56.0625 35.5 C -55.756455 35.5 -55.499999 35.243545 -55.5 34.9375 L -55.5 13.0625 C -55.5 12.756455 -55.756456 12.5 -56.0625 12.5 L -59.9375 12.5 z "
+         inkscape:radius="1.5032517"
+         sodipodi:type="inkscape:offset" />
+      <g
+         id="g7553">
+        <g
+           id="g7944"
+           transform="matrix(-1,0,0,1,-234,0)">
+          <path
+             sodipodi:nodetypes="cccc"
+             id="path7946"
+             d="M 21.5,35 L 21.5,13.000461 L 39.995767,24.010194 L 21.5,35 z"
+             style="fill:url(#linearGradient3199);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+          <path
+             d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+             id="path7948"
+             style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3223);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+             inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+             inkscape:radius="-1.0054175"
+             sodipodi:type="inkscape:offset" />
+        </g>
+        <g
+           id="g7744"
+           transform="matrix(-1,0,0,1,-252,0)">
+          <path
+             sodipodi:nodetypes="cccc"
+             id="path7746"
+             d="M 21.5,35 L 21.5,13.000461 L 39.995767,24.010194 L 21.5,35 z"
+             style="fill:url(#linearGradient3201);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+          <path
+             d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+             id="path7748"
+             style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3225);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+             inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+             inkscape:radius="-1.0054175"
+             sodipodi:type="inkscape:offset" />
+        </g>
+        <rect
+           style="fill:url(#linearGradient3197);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+           id="rect7736"
+           width="4.9886603"
+           height="23.000002"
+           x="-296.48865"
+           y="12.5"
+           rx="0.55242717"
+           ry="0.55242717" />
+        <rect
+           style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3221);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+           id="rect7750"
+           width="3.0097761"
+           height="21.000002"
+           x="-295.48395"
+           y="13.5"
+           rx="0"
+           ry="0" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/media-skip-forward.svg b/icons/PyHoca/scalable/media-skip-forward.svg
new file mode 100644
index 0000000..554a052
--- /dev/null
+++ b/icons/PyHoca/scalable/media-skip-forward.svg
@@ -0,0 +1,244 @@
+<?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="svg7212"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7214">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3227"
+       id="linearGradient3237"
+       x1="-58"
+       y1="12"
+       x2="-58"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3203">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3205" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3207" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3203"
+       id="linearGradient3201"
+       x1="-58"
+       y1="12"
+       x2="-58"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3227"
+       id="linearGradient3235"
+       x1="27.983948"
+       y1="11.999998"
+       x2="28"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3209">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop3211" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop3213" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3209"
+       id="linearGradient3199"
+       x1="148"
+       y1="12"
+       x2="148"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3227">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3229" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3231" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3227"
+       id="linearGradient3233"
+       x1="27.983948"
+       y1="11.999998"
+       x2="38.53125"
+       y2="24"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7344"
+       inkscape:collect="always">
+      <stop
+         id="stop7346"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop7348"
+         offset="1"
+         style="stop-color:#babdb6;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7344"
+       id="linearGradient3197"
+       x1="148"
+       y1="12"
+       x2="148"
+       y2="36"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient7577">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.3137255;"
+         offset="0"
+         id="stop7579" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.31"
+         offset="1"
+         id="stop7581" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7577"
+       id="linearGradient7762"
+       gradientUnits="userSpaceOnUse"
+       x1="-77.711723"
+       y1="13.246527"
+       x2="-74.288277"
+       y2="26.023027" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7217">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g7113"
+       transform="translate(100,0)">
+      <path
+         d="M -59.9375,11 C -61.083327,11 -62,11.916673 -62,13.0625 L -62,21.0625 L -77.71875,11.71875 C -78.182222,11.438527 -78.760596,11.429252 -79.232814,11.694471 C -79.705033,11.959689 -79.998098,12.458403 -80,13 L -80,21.0625 L -95.71875,11.71875 C -96.182222,11.438527 -96.760596,11.429252 -97.232814,11.694471 C -97.705033,11.959689 -97.998098,12.458403 -98,13 L -98,35 C -97.998098,35.541597 -97.705033,36.040311 -97.232814,36.305529 C -96.760596,36.570748 -96.182222,36.561473 -95.71875,36.28125 L -80,26.9375 L -80,35 C -79.998098,35.541597 -79.705033,36.040311 -79.232814,36.305529 C -78.760596,36.570748 -78.182222,36.561473 -77.71875,36.28125 L -62,26.9375 L -62,34.9375 C -62,36.083333 -61.083342,37.000007 -59.9375,37 L -56.0625,37 C -54.916673,37 -53.999996,36.083333 -54,34.9375 L -54,13.0625 C -54,11.91667 -54.916672,11 -56.0625,11 L -59.9375,11 z"
+         id="path7638"
+         style="opacity:0.4;fill:url(#linearGradient7762);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+         inkscape:original="M -59.9375 12.5 C -60.243545 12.5 -60.5 12.756455 -60.5 13.0625 L -60.5 23.6875 L -78.5 13 L -78.5 23.6875 L -96.5 13 L -96.5 35 L -78.5 24.3125 L -78.5 35 L -60.5 24.3125 L -60.5 34.9375 C -60.5 35.243545 -60.243543 35.500002 -59.9375 35.5 L -56.0625 35.5 C -55.756455 35.5 -55.499999 35.243545 -55.5 34.9375 L -55.5 13.0625 C -55.5 12.756455 -55.756456 12.5 -56.0625 12.5 L -59.9375 12.5 z "
+         inkscape:radius="1.5032517"
+         sodipodi:type="inkscape:offset" />
+      <g
+         id="g7474">
+        <g
+           id="g8003"
+           transform="translate(-238,0)">
+          <path
+             sodipodi:nodetypes="cccc"
+             id="path8005"
+             d="M 141.5,35 L 141.5,13.000461 L 159.99577,24.010194 L 141.5,35 z"
+             style="fill:url(#linearGradient3197);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+          <path
+             transform="translate(120,0)"
+             d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+             id="path8007"
+             style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3233);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+             inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+             inkscape:radius="-1.0054175"
+             sodipodi:type="inkscape:offset" />
+        </g>
+        <g
+           id="g7999"
+           transform="translate(-220,0)">
+          <path
+             sodipodi:nodetypes="cccc"
+             id="path7621"
+             d="M 141.5,35 L 141.5,13.000461 L 159.99577,24.010194 L 141.5,35 z"
+             style="fill:url(#linearGradient3199);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+          <path
+             transform="translate(120,0)"
+             d="M 22.5,14.78125 L 22.5,33.21875 L 38.03125,24 L 22.5,14.78125 z"
+             id="path7627"
+             style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3235);stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+             inkscape:original="M 21.5 13 L 21.5 35 L 40 24 L 21.5 13 z "
+             inkscape:radius="-1.0054175"
+             sodipodi:type="inkscape:offset" />
+        </g>
+        <rect
+           style="fill:url(#linearGradient3201);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+           id="rect7623"
+           width="4.9886603"
+           height="23.000002"
+           x="-60.488663"
+           y="12.5"
+           rx="0.55242717"
+           ry="0.55242717" />
+        <rect
+           style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3237);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+           id="rect7625"
+           width="3.0097761"
+           height="21.000002"
+           x="-59.483948"
+           y="13.5"
+           rx="0"
+           ry="0" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/network-wired.svg b/icons/PyHoca/scalable/network-wired.svg
new file mode 100644
index 0000000..d96da8e
--- /dev/null
+++ b/icons/PyHoca/scalable/network-wired.svg
@@ -0,0 +1,661 @@
+<?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="svg7541"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7543">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7812">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop7814" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop7816" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7812"
+       id="linearGradient7818"
+       x1="-6.40625"
+       y1="32.4375"
+       x2="-7.78125"
+       y2="34.5625"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(19.999794,6.7695801e-5)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7269"
+       id="linearGradient7574"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1249999,0,0,1.1666666,15.874793,-34.13535)"
+       x1="-4.1097827"
+       y1="58.807774"
+       x2="-4.1097827"
+       y2="55.000004" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7660">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7662" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7664" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7660"
+       id="linearGradient7666"
+       x1="41.1875"
+       y1="38.3125"
+       x2="42.123722"
+       y2="42.9375"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-2.0655489e-4,6.7695801e-5)" />
+    <linearGradient
+       id="linearGradient7576">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1"
+         offset="0"
+         id="stop7578" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0"
+         offset="1"
+         id="stop7580" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7576"
+       id="linearGradient7582"
+       x1="38.75"
+       y1="40.625"
+       x2="40.125"
+       y2="46.5625"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-2.0655489e-4,6.7695801e-5)" />
+    <linearGradient
+       id="linearGradient7652">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="0"
+         id="stop7654" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:0"
+         offset="1"
+         id="stop7656" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7652"
+       id="linearGradient7658"
+       x1="37.625"
+       y1="40.3125"
+       x2="38.875"
+       y2="45.0625"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-2.0655489e-4,6.7695801e-5)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient7452"
+       gradientUnits="userSpaceOnUse"
+       x1="30.3125"
+       y1="27.313059"
+       x2="30.3125"
+       y2="24.6875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient7450"
+       gradientUnits="userSpaceOnUse"
+       x1="30.3125"
+       y1="27.313059"
+       x2="30.3125"
+       y2="24.6875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient7448"
+       gradientUnits="userSpaceOnUse"
+       x1="30.3125"
+       y1="27.313059"
+       x2="30.3125"
+       y2="24.6875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient7446"
+       gradientUnits="userSpaceOnUse"
+       x1="30.3125"
+       y1="27.313059"
+       x2="30.3125"
+       y2="24.6875" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7422">
+      <stop
+         style="stop-color:#edd400;stop-opacity:1;"
+         offset="0"
+         id="stop7424" />
+      <stop
+         style="stop-color:#edd400;stop-opacity:0;"
+         offset="1"
+         id="stop7426" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient7428"
+       x1="30.3125"
+       y1="27.313059"
+       x2="30.3125"
+       y2="24.6875"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7430">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7432" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7434" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7430"
+       id="linearGradient7436"
+       x1="28.875"
+       y1="29"
+       x2="29"
+       y2="16"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.9997935,-6.9999327)" />
+    <linearGradient
+       id="linearGradient7340">
+      <stop
+         style="stop-color:#2e3436;stop-opacity:1;"
+         offset="0"
+         id="stop7342" />
+      <stop
+         style="stop-color:#555753;stop-opacity:1"
+         offset="1"
+         id="stop7344" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7340"
+       id="linearGradient7346"
+       x1="32.8125"
+       y1="21"
+       x2="32.8125"
+       y2="26.204767"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0874899,0,0,1.086371,-1.5811596,-8.9432787)" />
+    <linearGradient
+       id="linearGradient7277">
+      <stop
+         style="stop-color:#555753;stop-opacity:1"
+         offset="0"
+         id="stop7279" />
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1"
+         offset="1"
+         id="stop7281" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7277"
+       id="linearGradient7567"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.0285717,-4,-25.142872)"
+       x1="-3.5355339"
+       y1="55.866562"
+       x2="-3.5355339"
+       y2="59.444622" />
+    <linearGradient
+       id="linearGradient7186">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop7188" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop7190" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7186"
+       id="linearGradient7565"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-4,-24)"
+       x1="-5.96875"
+       y1="52.875"
+       x2="-5.96875"
+       y2="51.812416" />
+    <linearGradient
+       id="linearGradient7245">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop7247" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop7249" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7245"
+       id="linearGradient7563"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-4,-24)"
+       x1="-5.0823302"
+       y1="50.51907"
+       x2="0.26516503"
+       y2="49.458408" />
+    <linearGradient
+       id="linearGradient7237">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0"
+         id="stop7239" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="1"
+         id="stop7241" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7237"
+       id="linearGradient7561"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-4,-24)"
+       x1="-4.6845822"
+       y1="52.640388"
+       x2="0.88388348"
+       y2="50.563263" />
+    <linearGradient
+       id="linearGradient7257">
+      <stop
+         id="stop7259"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1" />
+      <stop
+         id="stop7261"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7257"
+       id="linearGradient7559"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-4,-24)"
+       x1="-1.9887378"
+       y1="51.137787"
+       x2="-3.3587573"
+       y2="54" />
+    <linearGradient
+       id="linearGradient7269">
+      <stop
+         id="stop7271"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop7273"
+         offset="1"
+         style="stop-color:#d3d7cf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7269"
+       id="linearGradient7557"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9642856,0,0,0.9722222,-0.2500008,1.6944444)"
+       x1="-4.2208939"
+       y1="59.878922"
+       x2="-4.2208939"
+       y2="54.707691" />
+    <linearGradient
+       id="linearGradient7263">
+      <stop
+         id="stop7265"
+         offset="0"
+         style="stop-color:#adb0a8;stop-opacity:1;" />
+      <stop
+         id="stop7267"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7263"
+       id="linearGradient7555"
+       gradientUnits="userSpaceOnUse"
+       x1="1.6256078"
+       y1="55.219357"
+       x2="0.82206726"
+       y2="54.415817" />
+    <filter
+       inkscape:collect="always"
+       id="filter5406">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.78208031"
+         id="feGaussianBlur5408" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7688">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop7690" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop7692" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7688"
+       id="linearGradient7694"
+       x1="28.625"
+       y1="41.125"
+       x2="30.5"
+       y2="47.8125"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7438">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7440" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop7442" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7438"
+       id="linearGradient7444"
+       x1="-7.8516631"
+       y1="3.7545938"
+       x2="-5.5098634"
+       y2="18.937717"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient6991">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:1"
+         offset="0"
+         id="stop6993" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1"
+         id="stop6995" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6991"
+       id="linearGradient6047"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.0000002,0,0,1.9333333,43.499797,0.5334007)"
+       x1="-7.975069"
+       y1="25.357235"
+       x2="-11.005972"
+       y2="-6.5683565" />
+    <filter
+       inkscape:collect="always"
+       id="filter5386">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.26293105"
+         id="feGaussianBlur5388" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7822">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop7824" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop7826" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7822"
+       id="radialGradient7828"
+       cx="14.363107"
+       cy="34.785942"
+       fx="14.363107"
+       fy="34.785942"
+       r="8.7946405"
+       gradientTransform="matrix(1,0,0,0.6884422,0,10.837832)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="1037"
+     inkscape:window-y="333" />
+  <metadata
+     id="metadata7546">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+       d="M 4.9997935,12.000068 L 7.9997935,12.000068 L 9.9997935,12.000068 L 6.9997935,12.000068 L 4.9997935,12.000068 z"
+       id="path7013"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.45895523;fill:url(#radialGradient7828);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+       id="path7820"
+       sodipodi:cx="14.363107"
+       sodipodi:cy="34.785942"
+       sodipodi:rx="8.7946405"
+       sodipodi:ry="6.0546017"
+       d="M 23.157747,34.785942 A 8.7946405,6.0546017 0 1 1 5.5684662,34.785942 A 8.7946405,6.0546017 0 1 1 23.157747,34.785942 z"
+       transform="matrix(1.1559927,0,0,1.1167882,-1.4894456,-5.8125237)" />
+    <rect
+       style="opacity:0.1204819;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642;filter:url(#filter5386)"
+       id="rect7696"
+       width="32.000004"
+       height="29"
+       x="15.375001"
+       y="2.875"
+       rx="3.7225697"
+       ry="3.7225697"
+       transform="matrix(1.015625,0,0,1.015625,-0.4904406,-0.2714167)" />
+    <rect
+       style="fill:url(#linearGradient6047);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+       id="rect5925"
+       width="32.000004"
+       height="29"
+       x="14.499794"
+       y="1.5000677"
+       rx="2.8766227"
+       ry="2.780735" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.99866015"
+       inkscape:original="M -12.5 0.5 C -13.608449 0.5 -14.5 1.3915505 -14.5 2.5 L -14.5 13.5 C -14.5 14.608449 -13.60845 15.5 -12.5 15.5 L -0.5 15.5 C 0.60844948 15.5 1.5 14.60845 1.5 13.5 L 1.5 2.5 C 1.5 1.3915505 0.60844948 0.5 -0.5 0.5 L -12.5 0.5 z "
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7444);stroke-width:0.47289538;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+       id="path6964"
+       d="M -12.5,1.5 C -13.072952,1.5 -13.5,1.9270471 -13.5,2.5 L -13.5,13.5 C -13.5,14.072953 -13.072954,14.5 -12.5,14.5 L -0.5,14.5 C 0.072953444,14.5 0.5,14.072954 0.5,13.5 L 0.5,2.5 C 0.5,1.9270468 0.072953144,1.5 -0.5,1.5 L -12.5,1.5 z"
+       transform="matrix(2.1428572,0,0,2.0867798,44.428365,-0.630102)" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="0.50945717"
+       inkscape:original="M 14.8125 31.5 C 14.8125 31.5 10.498126 34.830189 6.59375 38.0625 C 4.6415622 39.678655 2.8956918 41.28355 1.875 42.84375 C 1.3646541 43.62385 0.8878846 44.466971 1.21875 45.625 C 1.3841827 46.204014 1.8301355 46.746216 2.3125 47.03125 C 2.7948645 47.316284 3.2706533 47.437479 3.8125 47.5 C 5.9363798 47.745063 8.5434834 47.106406 11.65625 46.21875 C 14.769017 45.331094 18.325496 44.136387 21.90625 42.96875 C 25.487004 41.801113 29.102635 40.662687 32.25 39.96875 C 35.397365 39.274813 38.085104 39.083776 39.625 39.46875 C 40.353931 39.650983 40.370552 39.769574 40.375 39.78125 C 40.379448 39.792926 40.439577 40.11668 40.15625 40.71875 C 39.589596 41.92289 37.911115 43.835283 35.96875 45.65625 C 32.08402 49.298184 27.125 52.78125 27.125 52.78125 L 28.875 55.21875 C 28.875 55.21875 33.91598 51.701816 38.03125 47.84375 C 40.088885 45.914717 41.910404 43.95211 42.84375 41.96875 C 43.310423 40.97707 43.620552 39.855512 43.1875 38.71875 C 42.754448 37.5819
 88 41.64
 6069 36.849017 40.375 36.53125 C 37.914896 35.916224 34.93076 36.32675 31.59375 37.0625 C 28.25674 37.79825 24.575496 38.917637 20.96875 40.09375 C 17.362004 41.269863 13.840358 42.489218 10.84375 43.34375 C 7.9314529 44.174239 5.5458184 44.563842 4.375 44.46875 C 4.9949332 43.521138 6.6709378 41.915095 8.53125 40.375 C 12.251874 37.294811 16.5 34 16.5 34 L 14.8125 31.5 z "
+       style="opacity:0.31927712;fill:url(#linearGradient7694);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5406)"
+       id="path7678"
+       d="M 14.6875,31 C 14.619177,31.017916 14.555326,31.049841 14.5,31.09375 C 14.5,31.09375 10.195229,34.415989 6.28125,37.65625 C 4.316376,39.282908 2.5162731,40.913519 1.4375,42.5625 C 0.91466802,43.361686 0.33442463,44.404861 0.71875,45.75 C 0.9275427,46.480774 1.4549221,47.109726 2.0625,47.46875 C 2.6167319,47.796251 3.1674141,47.932778 3.75,48 C 6.0211642,48.262057 8.6583138,47.609306 11.78125,46.71875 C 14.911534,45.826099 18.484598,44.604207 22.0625,43.4375 C 25.639946,42.270942 29.261929,41.155126 32.375,40.46875 C 35.48201,39.783711 38.133895,39.627224 39.5,39.96875 C 39.718805,40.023451 39.763413,40.030877 39.84375,40.0625 C 39.824168,40.168535 39.78709,40.288372 39.6875,40.5 C 39.197395,41.541473 37.544362,43.481849 35.625,45.28125 C 31.779852,48.886076 26.84375,52.375 26.84375,52.375 C 26.730444,52.452627 26.653276,52.57271 26.629743,52.708026 C 26.60621,52.843342 26.638304,52.982428 26.71875,53.09375 L 28.46875,55.53125 C 28.637946,55.737822 28.937922,55.7787
 28 29.15
 625,55.625 C 29.15625,55.625 34.220988,52.113137 38.375,48.21875 C 40.448974,46.2744 42.325551,44.284766 43.3125,42.1875 C 43.80516,41.140598 44.157793,39.847802 43.65625,38.53125 C 43.146184,37.192325 41.882294,36.376823 40.5,36.03125 C 37.894103,35.379776 34.829212,35.821579 31.46875,36.5625 C 28.102571,37.304681 24.425802,38.446749 20.8125,39.625 C 17.200009,40.802986 13.693676,41.995401 10.71875,42.84375 C 8.5379899,43.465629 6.8269173,43.771279 5.59375,43.875 C 6.3789191,42.999609 7.4710187,41.917692 8.84375,40.78125 C 12.555108,37.708732 16.8125,34.40625 16.8125,34.40625 C 17.029502,34.246251 17.084294,33.944894 16.9375,33.71875 L 15.25,31.21875 C 15.130504,31.030679 14.902661,30.942074 14.6875,31 L 14.6875,31 z"
+       transform="translate(0.2497934,-0.6249323)" />
+    <g
+       id="g7542"
+       transform="translate(19.999794,6.7695801e-5)">
+      <g
+         transform="matrix(1.1666667,0,0,1.2,-3.833333,-36.2)"
+         id="g7162">
+        <path
+           style="fill:url(#linearGradient7555);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+           d="M -2.34375,51 C -2.5485199,51 -2.7249072,51.101237 -2.84375,51.25 L -6.859375,55.25 C -6.8943841,55.381797 -6.9584881,55.521336 -7,55.65625 L -7,61.177083 C -7,61.540646 -6.7034811,61.833333 -6.34375,61.833333 L 0.34375,61.833333 C 0.52361547,61.833333 0.6951329,61.76445 0.8125,61.645833 L 4.8125,57.645833 C 4.9298671,57.527216 5,57.358864 5,57.177083 L 5,51.65625 C 5,51.474469 4.9298671,51.306117 4.8125,51.1875 C 4.6934039,51.068883 4.5236156,51 4.34375,51 L -2.34375,51 z"
+           id="rect6100"
+           sodipodi:nodetypes="cccccccccccscc" />
+        <path
+           sodipodi:nodetypes="ccccccccc"
+           style="fill:url(#linearGradient7557);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+           d="M -6.3738568,55.166667 L 0.088142442,55.166667 C 0.43502581,55.166667 0.71428575,55.451224 0.71428575,55.804688 L 0.71428575,61.195312 C 0.71428575,61.548776 0.43502581,61.833333 0.088142442,61.833333 L -6.3738568,61.833333 C -6.7207401,61.833333 -7,61.548776 -7,61.195312 L -7,55.804688 C -7,55.451224 -6.7207401,55.166667 -6.3738568,55.166667 z"
+           id="path6105" />
+      </g>
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path7253"
+         d="M -5,25 L -10,30 L -6,30 L -1,25 L -5,25"
+         style="opacity:0.12313436;fill:url(#linearGradient7559);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path6126"
+         d="M -1,25 L -10.5,29 L -7,29 L -2,26 L -1,25"
+         style="fill:#babdb6;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="csssccccccssssccsccsccsccccscc"
+         id="path7235"
+         d="M -6.5625,25.5 C -6.586332,25.5 -6.617114,25.506448 -6.71875,25.625 C -6.748761,25.647634 -6.780064,25.668503 -6.8125,25.6875 C -6.832372,25.709273 -6.853227,25.730128 -6.875,25.75 C -6.894872,25.771773 -6.915727,25.792628 -6.9375,25.8125 L -6.96875,25.8125 C -6.988622,25.834273 -7.009477,25.855128 -7.03125,25.875 L -7.21875,26.0625 C -7.325593,26.162845 -7.453812,26.237639 -7.59375,26.28125 L -11.84375,27.5 C -12.244246,27.708356 -12.377785,27.84932 -12.4375,27.96875 C -12.438388,27.970526 -12.403483,28.103321 -12.4375,28.0625 C -12.355653,28.160716 -12.077127,28.314744 -11.59375,28.40625 C -11.253853,28.475121 -10.976692,28.720417 -10.867022,29.049424 C -10.757353,29.378432 -10.831905,29.740965 -11.0625,30 L -11.40625,30.375 C -11.426065,30.462564 -11.460093,30.545084 -11.5,30.6875 C -11.507455,30.714105 -11.491841,30.722726 -11.5,30.75 L -11.5,37.25 C -11.5,37.304188 -11.499624,37.365539 -11.4375,37.4375 C -11.40601,37.473977 -11.334247,37.5 -11.28125,37.5 L -
 3.4375,3
 7.5 C -3.344928,37.5 -3.269061,37.4898 -3.21875,37.4375 C -3.218918,37.427084 -3.218918,37.416666 -3.21875,37.40625 L 1.4375,32.59375 C 1.489686,32.539502 1.5,32.514607 1.5,32.40625 L 1.5,25.78125 C 1.5,25.6729 1.489688,25.616751 1.4375,25.5625 C 1.400675,25.524775 1.282521,25.5 1.25,25.5 L -6.5625,25.5 z"
+         style="opacity:0.53358208;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="ccccccsssccssccsccccccscc"
+         id="path7229"
+         d="M -6.5625,24.53125 C -6.950241,24.53125 -7.254192,24.749731 -7.46875,25 L -7.5,24.96875 L -7.53125,25.03125 L -7.875,25.34375 L -12.125,26.5625 C -12.157264,26.569585 -12.188688,26.58006 -12.21875,26.59375 C -12.767664,26.868207 -13.120777,27.147804 -13.3125,27.53125 C -13.504223,27.914696 -13.429021,28.397675 -13.1875,28.6875 C -12.859423,29.081192 -12.329894,29.239888 -11.78125,29.34375 L -12.1875,29.78125 C -12.243792,29.832657 -12.286698,29.897016 -12.3125,29.96875 C -12.343846,30.090131 -12.382395,30.284537 -12.4375,30.46875 C -12.45362,30.50878 -12.464136,30.550844 -12.46875,30.59375 L -12.46875,37.25 C -12.46875,37.54887 -12.355519,37.831675 -12.15625,38.0625 C -11.956981,38.293325 -11.645384,38.46875 -11.28125,38.46875 L -3.4375,38.46875 C -3.113867,38.46875 -2.780607,38.352963 -2.53125,38.09375 L 2.125,33.28125 C 2.35088,33.046445 2.46875,32.741604 2.46875,32.40625 L 2.46875,25.78125 C 2.46875,25.445897 2.350877,25.141055 2.125,24.90625 C 1.901344,24.677
 132 1.57
 3636,24.53125 1.25,24.53125 L -6.5625,24.53125 z"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cccccc"
+         id="path7184"
+         d="M -1,25 L -12,27.5 L -10,29 L -7,29 L -2,26 L -1,25"
+         style="fill:url(#linearGradient7561);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path7171"
+         d="M -5,25 L -12,27 L -8,27 L -1,25 L -5,25"
+         style="fill:url(#linearGradient7563);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cccccc"
+         id="rect7173"
+         d="M -12,27 L -8.2868349,27 L -8,27 C -10,28 -8.5,29 -7,29 L -11,29 C -12.5,29 -14,28 -12,27 z"
+         style="fill:url(#linearGradient7565);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1" />
+      <path
+         style="fill:url(#linearGradient7567);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+         d="M -9.5941664,32 L -5.405834,32 C -5.181002,32 -5,32.195125 -5,32.4375 L -5,35.5625 C -5,35.804876 -5.181002,36 -5.405834,36 L -9.5941664,36 C -9.8189979,36 -10,35.804876 -10,35.5625 L -10,32.4375 C -10,32.195125 -9.8189979,32 -9.5941664,32 z"
+         id="path7275" />
+    </g>
+    <path
+       style="opacity:1;fill:url(#linearGradient7346);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.69999992;stroke-opacity:1"
+       d="M 29.480271,10.068213 C 28.841256,10.068213 28.324813,10.584125 28.324813,11.222482 L 28.324813,11.51027 C 28.324813,11.803492 28.095501,12.053455 27.781068,12.053455 L 26.217801,12.053455 C 25.578786,12.053455 25.062343,12.756867 25.062343,13.395224 L 25.062343,19.840153 C 25.062343,20.478511 25.578787,20.994422 26.217801,20.994422 L 34.781785,20.994422 C 35.4208,20.994422 35.937243,20.47851 35.937243,19.840153 L 35.937243,13.395224 C 35.937243,12.756866 35.420801,12.053455 34.781785,12.053455 L 33.218518,12.053455 C 32.956741,12.071123 32.674773,11.867159 32.674773,11.527244 L 32.674773,11.222482 C 32.674773,10.584124 32.158329,10.068213 31.519315,10.068213 L 29.480271,10.068213 z"
+       id="rect7327"
+       sodipodi:nodetypes="ccccccccccccccccc" />
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7436);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:1"
+       d="M 29.562293,9.4375677 C 28.452937,9.4375677 27.577607,10.345581 27.499793,11.437568 L 26.562293,11.437568 C 25.403213,11.437568 24.437293,12.403489 24.437293,13.562568 L 24.437293,19.437567 C 24.437293,20.596647 25.403214,21.562567 26.562293,21.562567 L 34.437293,21.562567 C 35.596373,21.562567 36.562293,20.596646 36.562293,19.437567 L 36.562293,13.562568 C 36.562293,12.403491 35.596372,11.437568 34.437293,11.437568 L 33.499793,11.437568 C 33.421979,10.34558 32.546648,9.4375677 31.437293,9.4375677 L 29.562293,9.4375677 z"
+       id="path7350"
+       sodipodi:nodetypes="ccccccccccccc" />
+    <g
+       id="g7393"
+       style="fill-opacity:1;stroke:url(#linearGradient7428)"
+       transform="translate(0.9997935,-7.9999327)">
+      <path
+         sodipodi:nodetypes="cc"
+         id="path7352"
+         d="M 26.5,26.5 L 26.5,24.5"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7446);stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cc"
+         id="path7362"
+         d="M 28.5,26.5 L 28.5,24.5"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7448);stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cc"
+         id="path7364"
+         d="M 30.5,26.5 L 30.5,24.5"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7450);stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cc"
+         id="path7366"
+         d="M 32.5,26.5 L 32.5,24.5"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7452);stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       style="fill:url(#linearGradient7658);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7582);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 14.687294,30.562567 C 14.687294,30.562567 10.49792,33.830256 6.5935435,37.062567 C 4.6413557,38.678722 2.8954853,40.283617 1.8747935,41.843817 C 1.3644476,42.623917 0.88767815,43.467038 1.2185435,44.625067 C 1.3839762,45.204081 1.829929,45.746283 2.3122935,46.031317 C 2.794658,46.316351 3.2704468,46.437546 3.8122935,46.500067 C 5.9361733,46.74513 8.5432769,46.106473 11.656044,45.218817 C 14.768811,44.331161 18.32529,43.136454 21.906043,41.968817 C 25.486797,40.80118 29.102428,39.662754 32.249793,38.968817 C 35.397158,38.27488 38.084897,38.083843 39.624793,38.468817 C 40.353724,38.65105 40.370345,38.769641 40.374793,38.781317 C 40.379241,38.792993 40.43937,39.116747 40.156043,39.718817 C 39.589389,40.922957 37.910908,42.83535 35.968543,44.656317 C 32.083813,48.298251 27.124793,51.781317 27.124793,51.781317 L 28.874793,54.218817 C 28.874793,54.218817 33.915773,50.701883 38.031043,46.843817 C 40.088678,44.914784 41.910197,42.952177 42.843543,40.968817 C 43.310216,39
 .977137 
 43.620345,38.855579 43.187293,37.718817 C 42.754241,36.582055 41.645862,35.849084 40.374793,35.531317 C 37.914689,34.916291 34.930553,35.326817 31.593543,36.062567 C 28.256533,36.798317 24.575289,37.917704 20.968543,39.093817 C 17.361798,40.26993 13.840152,41.489285 10.843544,42.343817 C 7.9312464,43.174306 5.5456119,43.563909 4.3747935,43.468817 C 4.9947267,42.521205 6.6707313,40.915162 8.5310435,39.375067 C 12.251668,36.294878 16.499794,33.000067 16.499794,33.000067 L 14.687294,30.562567 z"
+       id="path7506"
+       sodipodi:nodetypes="cssssssssssssccssssssscscc" />
+    <path
+       style="opacity:0.19029852;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient7666);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 15.672129,31.269674 C 15.672129,31.269674 -2.7653716,43.957174 3.7346285,44.707174 C 10.234629,45.457174 31.734628,34.707174 39.734628,36.707174 C 47.734628,38.707174 27.734628,52.707174 27.734628,52.707174"
+       id="path7502"
+       sodipodi:nodetypes="cssc" />
+    <path
+       style="fill:url(#linearGradient7574);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+       d="M 10.088563,30.031317 L 10.406044,32.031317 L 14.593544,32.031317 C 14.818376,32.031317 14.999794,32.226442 14.999794,32.468817 L 14.999794,35.593817 L 16.999794,35.281317 L 16.999794,30.812567 C 16.999794,30.38841 16.68574,30.031317 16.281044,30.031317 L 10.088563,30.031317 z"
+       id="path7512"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       style="opacity:0.35447765;fill:url(#linearGradient7818);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0.69999992;stroke-opacity:0.99236642"
+       d="M 10.405627,32.000067 L 14.59396,32.000067 C 14.818792,32.000067 14.999794,32.195192 14.999794,32.437567 L 14.999794,35.562567 C 14.999794,35.804943 14.818792,36.000067 14.59396,36.000067 L 10.405627,36.000067 C 10.180796,36.000067 9.9997935,35.804943 9.9997935,35.562567 L 9.9997935,32.437567 C 9.9997935,32.195192 10.180796,32.000067 10.405627,32.000067 z"
+       id="path7810" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/pyhoca-session.svg b/icons/PyHoca/scalable/pyhoca-session.svg
new file mode 100644
index 0000000..e1588b8
--- /dev/null
+++ b/icons/PyHoca/scalable/pyhoca-session.svg
@@ -0,0 +1,568 @@
+<?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="svg7187"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="auth_error.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs7189">
+    <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="perspective3859" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4873">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4875" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4873"
+       id="linearGradient2704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)"
+       x1="62.745731"
+       y1="-13.444987"
+       x2="62.608765"
+       y2="7.1072145" />
+    <linearGradient
+       id="linearGradient3811">
+      <stop
+         id="stop3813"
+         offset="0"
+         style="stop-color:#a40000;stop-opacity:1" />
+      <stop
+         id="stop3815"
+         offset="1"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3811"
+       id="linearGradient3927"
+       x1="15.046636"
+       y1="44.787998"
+       x2="15.046636"
+       y2="3.8851264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" />
+    <linearGradient
+       id="linearGradient5106">
+      <stop
+         style="stop-color:#e78181;stop-opacity:1"
+         offset="0"
+         id="stop5108" />
+      <stop
+         id="stop8208"
+         offset="0.25288007"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0.68271071"
+         id="stop8210" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop5110" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5106"
+       id="radialGradient2707"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)"
+       cx="62.202274"
+       cy="-5.7132163"
+       fx="62.202274"
+       fy="-5.7132163"
+       r="9.7552835" />
+    <linearGradient
+       id="linearGradient10691"
+       inkscape:collect="always">
+      <stop
+         id="stop10693"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop10695"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10691"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.902215,0.525703)"
+       cx="6.702713"
+       cy="73.615715"
+       fx="6.702713"
+       fy="73.615715"
+       r="7.228416" />
+    <inkscape:perspective
+       id="perspective3453"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <pattern
+       inkscape:stockid="Wavy"
+       id="Wavy"
+       height="5.1805778"
+       width="30.066020"
+       patternUnits="userSpaceOnUse"
+       inkscape:collect="always">
+      <path
+         id="path5228"
+         d="M 7.597,0.061 C 5.079,-0.187 2.656,0.302 -0.01,1.788 L -0.01,3.061 C 2.773,1.431 5.173,1.052 7.472,1.280 C 9.770,1.508 11.969,2.361 14.253,3.218 C 18.820,4.931 23.804,6.676 30.066,3.061 L 30.062,1.788 C 23.622,5.497 19.246,3.770 14.691,2.061 C 12.413,1.207 10.115,0.311 7.597,0.061 z "
+         style="fill:black;stroke:none;" />
+    </pattern>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter5442">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.57490299"
+         id="feGaussianBlur5444" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5430"
+       id="linearGradient5436"
+       x1="185"
+       y1="1047.3622"
+       x2="185"
+       y2="796.36218"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5430">
+      <stop
+         style="stop-color:#906f6f;stop-opacity:1;"
+         offset="0"
+         id="stop5432" />
+      <stop
+         style="stop-color:#906f6f;stop-opacity:0;"
+         offset="1"
+         id="stop5434" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6083">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.312185"
+         id="feGaussianBlur6085" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3785"
+       id="radialGradient5416"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1160336,-4.3876452,5.2088758,1.3249203,-2874.6294,1237.254)"
+       cx="315.79904"
+       cy="584.86487"
+       fx="315.79904"
+       fy="584.86487"
+       r="65.742714" />
+    <linearGradient
+       id="linearGradient3785">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3787" />
+      <stop
+         style="stop-color:#969696;stop-opacity:1;"
+         offset="1"
+         id="stop3789" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5418"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="310.53839"
+       y1="551.9931"
+       x2="324.48233"
+       y2="615.26996" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5937">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5939" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5941" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6139">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.78400333"
+         id="feGaussianBlur6141" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5947"
+       id="linearGradient5420"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="261.17963"
+       y1="635.13214"
+       x2="261.17963"
+       y2="612.84375" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5947">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5949" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5951" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5422"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="387.78506"
+       y1="620.52393"
+       x2="378.39252"
+       y2="603.82446" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="23.859533"
+     inkscape:cy="34.916834"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1024"
+     inkscape:window-height="571"
+     inkscape:window-x="0"
+     inkscape:window-y="6"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7192">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       transform="matrix(0.38132965,0,0,0.38132965,-60.655233,-353.27311)"
+       style="display:inline"
+       id="g3410"
+       inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+       inkscape:export-xdpi="457.14001"
+       inkscape:export-ydpi="457.14001">
+      <rect
+         y="926.42456"
+         x="159.0625"
+         height="125.87531"
+         width="125.87534"
+         id="rect2927"
+         style="fill:none;stroke:#000000;stroke-width:0.01776883;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         y="932.37238"
+         x="165.00909"
+         height="114.98058"
+         width="114.98061"
+         id="rect5426"
+         style="fill:url(#Wavy);fill-opacity:1;stroke:none;filter:url(#filter5442)"
+         ry="14.010298" />
+      <rect
+         ry="14.010298"
+         style="fill:url(#linearGradient5436);fill-opacity:1;stroke:#000000;stroke-width:2.01939631;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         id="rect5424"
+         width="114.98061"
+         height="114.98058"
+         x="165.00909"
+         y="932.37238" />
+      <g
+         inkscape:export-ydpi="510.97"
+         inkscape:export-xdpi="510.97"
+         inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+         id="g5356"
+         transform="matrix(0.40396742,0,0,0.40396742,19.556638,743.47149)">
+        <path
+           sodipodi:nodetypes="cscscscssccc"
+           id="path5358"
+           d="m 316.61834,524.71563 c 26.41286,-0.50329 59.97357,20.96914 59.97357,54.77527 0,3.59736 -0.19322,7.03227 -0.56789,10.30345 18.06989,6.26688 16.71273,32.24949 4.78688,32.70339 -5.47132,0.20824 -3.56548,-18.31078 -10.6487,-17.92457 -7.89714,13.75136 -23.13,29.30724 -43.89259,30.96552 -18.87348,1.5074 -26.67203,-2.56514 -36.54057,-8.85826 -3.46673,2.19939 -7.55736,6.26792 -11.8477,7.98433 -9.00177,3.60129 -18.6864,4.30272 -18.6864,-5.73669 0,-8.21915 4.89649,-15.13053 12.51148,-17.381 -2.4969,-6.34498 -8.57035,-21.99078 -7.79103,-29.98531 0,-33.80609 29.80775,-56.84613 52.70295,-56.84613 z"
+           style="fill:#000000;fill-opacity:1;stroke:#737373;stroke-width:0.97799999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;filter:url(#filter6083)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" />
+        <path
+           style="fill:url(#radialGradient5416);fill-opacity:1;stroke:#737373;stroke-width:1.85168302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+           d="m 494.14518,498.08769 c 50.00843,-0.9529 113.55014,39.70163 113.55014,103.70802 0,6.81101 -0.36583,13.31445 -1.0752,19.50789 34.21238,11.86532 31.64282,61.05914 9.06317,61.91853 -10.35905,0.39427 -6.75065,-34.66848 -20.16157,-33.93724 -14.95194,26.03594 -43.79287,55.48846 -83.10344,58.62814 -35.73385,2.85402 -50.49914,-4.85667 -69.1836,-16.77167 -6.56369,4.16419 -14.30863,11.86728 -22.43168,15.11703 -17.04338,6.81846 -35.37965,8.1465 -35.37965,-10.86149 0,-15.56161 9.27071,-28.64718 23.68844,-32.90808 -4.72747,-12.01317 -16.22655,-41.63594 -14.75104,-56.77228 0,-64.0063 56.4361,-107.62885 99.78443,-107.62885 z"
+           id="path5360"
+           sodipodi:nodetypes="cscscscssccc" />
+        <path
+           style="fill:url(#linearGradient5418);fill-opacity:1;stroke:none;display:inline"
+           d="m 490.31195,501.99861 c -60.00789,5.2168 -107.09001,72.04563 -87.91275,130.02861 3.24896,11.23668 7.4696,22.02332 11.76512,32.91665 -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 14.4103,-16.70707 22.4242,-8.81585 27.77649,18.77637 65.82806,19.08025 95.67267,4.67417 20.86926,-11.02272 37.47189,-28.76927 48.93091,-49.34508 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 5.24687,-35.96374 -12.50977,-72.63257 -42.30424,-92.47766 -20.53437,-14.48216 -45.42828,-23.02847 -70.70428,-21.77336 z"
+           id="path5362" />
+        <g
+           id="g5364"
+           style="filter:url(#filter6139)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)">
+          <path
+             style="fill:#000000"
+             d="m 298.82133,588.93345 c -2.29156,-1.78445 -2.67759,-2.6514 -2.36383,-5.30877 0.43402,-3.67579 2.33363,-6.95779 4.7302,-8.17246 2.89097,-1.46525 8.66145,0.59446 10.64667,3.80022 1.73266,2.79791 1.70055,3.08784 -0.64437,5.81654 -5.03306,5.85678 -8.44226,6.92196 -12.36867,3.86447 z m 0.41149,-3.50969 c -0.51028,-1.00681 -0.55336,-2.93153 -0.0957,-4.27716 0.75581,-2.22223 0.70222,-2.29827 -0.58439,-0.82916 -1.55776,1.77869 -1.11814,7.38176 0.55771,7.10826 0.59569,-0.0972 0.64864,-0.96358 0.12236,-2.00194 z m 42.53089,-10.56797 c -4.37619,-1.12247 -4.76359,-1.68534 -4.27461,-6.2109 0.71771,-6.64236 7.74124,-8.66 11.45175,-3.28971 l 1.4422,2.08734 -1.98548,-1.94863 c -2.57753,-2.52969 -4.41704,-2.25588 -1.93633,0.28823 1.03863,1.06518 2.01083,2.68676 2.16044,3.60351 0.14961,0.91674 0.85584,1.76277 1.56939,1.88004 1.01145,0.16623 1.05862,0.6223 0.21404,2.06936 -1.28705,2.20519 -4.06622,2.69428 -8.6414,1.52076 z"
+             id="path5366"
+             sodipodi:nodetypes="cssssccsssccscccssssc" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 326.7844,595.06579 c -2.46648,-3.36183 4.00801,-2.92998 8.50563,-3.66397 5.54213,-0.90445 8.50715,-10.28293 7.21632,-4.59151 -1.29085,5.69142 -3.73324,11.98871 -2.82879,17.53084 -7.35103,-10.17981 -10.42669,-5.91353 -12.89316,-9.27536 z"
+             id="path5368"
+             sodipodi:nodetypes="cszcz" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 320.3929,612.59663 c 11.98871,3.73323 13.94857,-6.3862 19.66087,-8.09427 6.9752,-2.08571 11.6125,3.57202 16.25018,-2.87455 -4.63768,6.44657 -10.95623,2.5679 -16.296,5.78527 -5.18035,3.1213 -7.62634,8.91678 -19.61505,5.18355 z"
+             id="path5370"
+             sodipodi:nodetypes="cscsc" />
+          <path
+             style="fill:#ffffff;stroke:none"
+             d="m 336.68588,599.4815 c 0.006,-0.2019 -0.36096,-0.64796 -0.42276,-1.47067 -0.29657,-3.94831 -6.1911,-6.21808 -7.25759,-3.43571 -0.24338,0.63493 0.58774,1.16912 1.89749,1.23685 1.26995,0.0657 3.17607,1.09972 4.23457,2.30131 1.09251,1.24015 1.53854,1.70469 1.54829,1.36822 z"
+             id="path5372"
+             sodipodi:nodetypes="cssssc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5374"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(158.05541,475.03407)" />
+          <path
+             transform="translate(162.2659,476.65349)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5376"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5378"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(159.35094,479.24456)" />
+          <path
+             transform="translate(178.4601,467.90862)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5380"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5382"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(178.13622,471.79523)" />
+          <path
+             transform="translate(182.02283,470.17581)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5384"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5386"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(142.83286,441.9979)" />
+          <path
+             transform="translate(163.88532,436.81576)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5388"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+        </g>
+        <path
+           style="fill:#000000"
+           d="m 460.44944,619.67363 c -4.33869,-3.37857 -5.06957,-5.01999 -4.47552,-10.05129 0.82174,-6.9595 4.41835,-13.17343 8.95586,-15.47322 5.47358,-2.7742 16.39904,1.12552 20.15773,7.1951 3.28051,5.29739 3.21971,5.84632 -1.22001,11.01267 -9.52928,11.08886 -15.98404,13.1056 -23.41806,7.31674 z m 0.77909,-6.64502 c -0.96613,-1.90623 -1.0477,-5.55038 -0.18119,-8.09811 1.431,-4.20743 1.32954,-4.35139 -1.10644,-1.56987 -2.94937,3.36765 -2.11702,13.97616 1.05592,13.45832 1.12785,-0.18403 1.2281,-1.82437 0.23167,-3.79034 z m 80.52529,-20.00873 c -8.2856,-2.12521 -9.01908,-3.19091 -8.09328,-11.75932 1.35887,-12.57622 14.65678,-16.3963 21.68203,-6.22853 l 2.73056,3.95204 -3.75918,-3.68942 c -4.88013,-4.78955 -8.36295,-4.27113 -3.66612,0.54573 1.96648,2.01674 3.80717,5.08693 4.09043,6.82265 0.28327,1.7357 1.6204,3.33752 2.97139,3.55955 1.91502,0.31473 2.00433,1.17822 0.40525,3.91799 -2.43681,4.17517 -7.69872,5.10118 -16.36108,2.87931 z"
+           id="path5390"
+           sodipodi:nodetypes="cssssccsssccscccssssc" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 543.50287,612.20201 c -1.0397,0.5283 -6.15268,10.84486 -14.02253,12.12919 -8.5155,1.38969 -20.76323,0.61661 -16.09335,6.98168 4.66985,6.36508 10.51789,-1.76044 24.43586,17.51336 -1.71242,-10.49311 2.881,-22.41678 5.32502,-33.19256 0.61099,-2.69393 0.70155,-3.60776 0.355,-3.43167 z M 521.552,627.99954 c 3.99071,0.0596 9.37648,3.73563 9.76251,8.87501 0.11701,1.55767 0.8397,2.39858 0.82834,2.78085 -0.0184,0.63705 -0.88985,-0.25532 -2.95834,-2.60335 -2.0041,-2.27501 -5.58307,-4.25394 -7.98752,-4.37833 -2.47979,-0.12824 -4.06997,-1.10537 -3.60917,-2.30751 0.63101,-1.64624 2.15021,-2.39375 3.96418,-2.36667 z"
+           id="path5392" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 501.29168,664.476 c 22.69867,7.06826 26.40934,-12.09123 37.22465,-15.32518 13.2064,-3.94896 21.98637,6.76303 30.76706,-5.44249 -8.78069,12.20552 -20.74383,4.8619 -30.85381,10.95346 -9.80815,5.90967 -14.43923,16.88247 -37.1379,9.81421 z"
+           id="path5394"
+           sodipodi:nodetypes="cscsc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5396"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,193.93219,404.02378)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,201.90406,407.08988)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5398"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5400"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,196.38506,411.99565)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,232.56513,390.5329)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5402"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5404"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,231.95192,397.89157)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,239.31058,394.82545)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5406"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5408"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,165.11077,341.47519)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,204.97017,331.66365)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5410"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path5412"
+           d="m 414.16432,664.94387 c -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 8.51536,-16.70707 16.52927,-8.81585 -12.5884,-9.64496 -22.24114,-11.62267 -28.65845,-25.20505 z"
+           style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           id="path5414"
+           d="m 593.32128,645.47801 c 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 l -9.99919,29.22838 z"
+           style="fill:url(#linearGradient5422);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/pyhoca-trayicon.svg b/icons/PyHoca/scalable/pyhoca-trayicon.svg
new file mode 100644
index 0000000..e1588b8
--- /dev/null
+++ b/icons/PyHoca/scalable/pyhoca-trayicon.svg
@@ -0,0 +1,568 @@
+<?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="svg7187"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="auth_error.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs7189">
+    <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="perspective3859" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4873">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4875" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4873"
+       id="linearGradient2704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)"
+       x1="62.745731"
+       y1="-13.444987"
+       x2="62.608765"
+       y2="7.1072145" />
+    <linearGradient
+       id="linearGradient3811">
+      <stop
+         id="stop3813"
+         offset="0"
+         style="stop-color:#a40000;stop-opacity:1" />
+      <stop
+         id="stop3815"
+         offset="1"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3811"
+       id="linearGradient3927"
+       x1="15.046636"
+       y1="44.787998"
+       x2="15.046636"
+       y2="3.8851264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" />
+    <linearGradient
+       id="linearGradient5106">
+      <stop
+         style="stop-color:#e78181;stop-opacity:1"
+         offset="0"
+         id="stop5108" />
+      <stop
+         id="stop8208"
+         offset="0.25288007"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0.68271071"
+         id="stop8210" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop5110" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5106"
+       id="radialGradient2707"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)"
+       cx="62.202274"
+       cy="-5.7132163"
+       fx="62.202274"
+       fy="-5.7132163"
+       r="9.7552835" />
+    <linearGradient
+       id="linearGradient10691"
+       inkscape:collect="always">
+      <stop
+         id="stop10693"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop10695"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10691"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.902215,0.525703)"
+       cx="6.702713"
+       cy="73.615715"
+       fx="6.702713"
+       fy="73.615715"
+       r="7.228416" />
+    <inkscape:perspective
+       id="perspective3453"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <pattern
+       inkscape:stockid="Wavy"
+       id="Wavy"
+       height="5.1805778"
+       width="30.066020"
+       patternUnits="userSpaceOnUse"
+       inkscape:collect="always">
+      <path
+         id="path5228"
+         d="M 7.597,0.061 C 5.079,-0.187 2.656,0.302 -0.01,1.788 L -0.01,3.061 C 2.773,1.431 5.173,1.052 7.472,1.280 C 9.770,1.508 11.969,2.361 14.253,3.218 C 18.820,4.931 23.804,6.676 30.066,3.061 L 30.062,1.788 C 23.622,5.497 19.246,3.770 14.691,2.061 C 12.413,1.207 10.115,0.311 7.597,0.061 z "
+         style="fill:black;stroke:none;" />
+    </pattern>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter5442">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.57490299"
+         id="feGaussianBlur5444" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5430"
+       id="linearGradient5436"
+       x1="185"
+       y1="1047.3622"
+       x2="185"
+       y2="796.36218"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5430">
+      <stop
+         style="stop-color:#906f6f;stop-opacity:1;"
+         offset="0"
+         id="stop5432" />
+      <stop
+         style="stop-color:#906f6f;stop-opacity:0;"
+         offset="1"
+         id="stop5434" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6083">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.312185"
+         id="feGaussianBlur6085" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3785"
+       id="radialGradient5416"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1160336,-4.3876452,5.2088758,1.3249203,-2874.6294,1237.254)"
+       cx="315.79904"
+       cy="584.86487"
+       fx="315.79904"
+       fy="584.86487"
+       r="65.742714" />
+    <linearGradient
+       id="linearGradient3785">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3787" />
+      <stop
+         style="stop-color:#969696;stop-opacity:1;"
+         offset="1"
+         id="stop3789" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5418"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="310.53839"
+       y1="551.9931"
+       x2="324.48233"
+       y2="615.26996" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5937">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5939" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5941" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6139">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.78400333"
+         id="feGaussianBlur6141" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5947"
+       id="linearGradient5420"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="261.17963"
+       y1="635.13214"
+       x2="261.17963"
+       y2="612.84375" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5947">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5949" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5951" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5422"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="387.78506"
+       y1="620.52393"
+       x2="378.39252"
+       y2="603.82446" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="23.859533"
+     inkscape:cy="34.916834"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1024"
+     inkscape:window-height="571"
+     inkscape:window-x="0"
+     inkscape:window-y="6"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7192">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       transform="matrix(0.38132965,0,0,0.38132965,-60.655233,-353.27311)"
+       style="display:inline"
+       id="g3410"
+       inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+       inkscape:export-xdpi="457.14001"
+       inkscape:export-ydpi="457.14001">
+      <rect
+         y="926.42456"
+         x="159.0625"
+         height="125.87531"
+         width="125.87534"
+         id="rect2927"
+         style="fill:none;stroke:#000000;stroke-width:0.01776883;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         y="932.37238"
+         x="165.00909"
+         height="114.98058"
+         width="114.98061"
+         id="rect5426"
+         style="fill:url(#Wavy);fill-opacity:1;stroke:none;filter:url(#filter5442)"
+         ry="14.010298" />
+      <rect
+         ry="14.010298"
+         style="fill:url(#linearGradient5436);fill-opacity:1;stroke:#000000;stroke-width:2.01939631;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         id="rect5424"
+         width="114.98061"
+         height="114.98058"
+         x="165.00909"
+         y="932.37238" />
+      <g
+         inkscape:export-ydpi="510.97"
+         inkscape:export-xdpi="510.97"
+         inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+         id="g5356"
+         transform="matrix(0.40396742,0,0,0.40396742,19.556638,743.47149)">
+        <path
+           sodipodi:nodetypes="cscscscssccc"
+           id="path5358"
+           d="m 316.61834,524.71563 c 26.41286,-0.50329 59.97357,20.96914 59.97357,54.77527 0,3.59736 -0.19322,7.03227 -0.56789,10.30345 18.06989,6.26688 16.71273,32.24949 4.78688,32.70339 -5.47132,0.20824 -3.56548,-18.31078 -10.6487,-17.92457 -7.89714,13.75136 -23.13,29.30724 -43.89259,30.96552 -18.87348,1.5074 -26.67203,-2.56514 -36.54057,-8.85826 -3.46673,2.19939 -7.55736,6.26792 -11.8477,7.98433 -9.00177,3.60129 -18.6864,4.30272 -18.6864,-5.73669 0,-8.21915 4.89649,-15.13053 12.51148,-17.381 -2.4969,-6.34498 -8.57035,-21.99078 -7.79103,-29.98531 0,-33.80609 29.80775,-56.84613 52.70295,-56.84613 z"
+           style="fill:#000000;fill-opacity:1;stroke:#737373;stroke-width:0.97799999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;filter:url(#filter6083)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" />
+        <path
+           style="fill:url(#radialGradient5416);fill-opacity:1;stroke:#737373;stroke-width:1.85168302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+           d="m 494.14518,498.08769 c 50.00843,-0.9529 113.55014,39.70163 113.55014,103.70802 0,6.81101 -0.36583,13.31445 -1.0752,19.50789 34.21238,11.86532 31.64282,61.05914 9.06317,61.91853 -10.35905,0.39427 -6.75065,-34.66848 -20.16157,-33.93724 -14.95194,26.03594 -43.79287,55.48846 -83.10344,58.62814 -35.73385,2.85402 -50.49914,-4.85667 -69.1836,-16.77167 -6.56369,4.16419 -14.30863,11.86728 -22.43168,15.11703 -17.04338,6.81846 -35.37965,8.1465 -35.37965,-10.86149 0,-15.56161 9.27071,-28.64718 23.68844,-32.90808 -4.72747,-12.01317 -16.22655,-41.63594 -14.75104,-56.77228 0,-64.0063 56.4361,-107.62885 99.78443,-107.62885 z"
+           id="path5360"
+           sodipodi:nodetypes="cscscscssccc" />
+        <path
+           style="fill:url(#linearGradient5418);fill-opacity:1;stroke:none;display:inline"
+           d="m 490.31195,501.99861 c -60.00789,5.2168 -107.09001,72.04563 -87.91275,130.02861 3.24896,11.23668 7.4696,22.02332 11.76512,32.91665 -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 14.4103,-16.70707 22.4242,-8.81585 27.77649,18.77637 65.82806,19.08025 95.67267,4.67417 20.86926,-11.02272 37.47189,-28.76927 48.93091,-49.34508 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 5.24687,-35.96374 -12.50977,-72.63257 -42.30424,-92.47766 -20.53437,-14.48216 -45.42828,-23.02847 -70.70428,-21.77336 z"
+           id="path5362" />
+        <g
+           id="g5364"
+           style="filter:url(#filter6139)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)">
+          <path
+             style="fill:#000000"
+             d="m 298.82133,588.93345 c -2.29156,-1.78445 -2.67759,-2.6514 -2.36383,-5.30877 0.43402,-3.67579 2.33363,-6.95779 4.7302,-8.17246 2.89097,-1.46525 8.66145,0.59446 10.64667,3.80022 1.73266,2.79791 1.70055,3.08784 -0.64437,5.81654 -5.03306,5.85678 -8.44226,6.92196 -12.36867,3.86447 z m 0.41149,-3.50969 c -0.51028,-1.00681 -0.55336,-2.93153 -0.0957,-4.27716 0.75581,-2.22223 0.70222,-2.29827 -0.58439,-0.82916 -1.55776,1.77869 -1.11814,7.38176 0.55771,7.10826 0.59569,-0.0972 0.64864,-0.96358 0.12236,-2.00194 z m 42.53089,-10.56797 c -4.37619,-1.12247 -4.76359,-1.68534 -4.27461,-6.2109 0.71771,-6.64236 7.74124,-8.66 11.45175,-3.28971 l 1.4422,2.08734 -1.98548,-1.94863 c -2.57753,-2.52969 -4.41704,-2.25588 -1.93633,0.28823 1.03863,1.06518 2.01083,2.68676 2.16044,3.60351 0.14961,0.91674 0.85584,1.76277 1.56939,1.88004 1.01145,0.16623 1.05862,0.6223 0.21404,2.06936 -1.28705,2.20519 -4.06622,2.69428 -8.6414,1.52076 z"
+             id="path5366"
+             sodipodi:nodetypes="cssssccsssccscccssssc" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 326.7844,595.06579 c -2.46648,-3.36183 4.00801,-2.92998 8.50563,-3.66397 5.54213,-0.90445 8.50715,-10.28293 7.21632,-4.59151 -1.29085,5.69142 -3.73324,11.98871 -2.82879,17.53084 -7.35103,-10.17981 -10.42669,-5.91353 -12.89316,-9.27536 z"
+             id="path5368"
+             sodipodi:nodetypes="cszcz" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 320.3929,612.59663 c 11.98871,3.73323 13.94857,-6.3862 19.66087,-8.09427 6.9752,-2.08571 11.6125,3.57202 16.25018,-2.87455 -4.63768,6.44657 -10.95623,2.5679 -16.296,5.78527 -5.18035,3.1213 -7.62634,8.91678 -19.61505,5.18355 z"
+             id="path5370"
+             sodipodi:nodetypes="cscsc" />
+          <path
+             style="fill:#ffffff;stroke:none"
+             d="m 336.68588,599.4815 c 0.006,-0.2019 -0.36096,-0.64796 -0.42276,-1.47067 -0.29657,-3.94831 -6.1911,-6.21808 -7.25759,-3.43571 -0.24338,0.63493 0.58774,1.16912 1.89749,1.23685 1.26995,0.0657 3.17607,1.09972 4.23457,2.30131 1.09251,1.24015 1.53854,1.70469 1.54829,1.36822 z"
+             id="path5372"
+             sodipodi:nodetypes="cssssc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5374"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(158.05541,475.03407)" />
+          <path
+             transform="translate(162.2659,476.65349)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5376"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5378"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(159.35094,479.24456)" />
+          <path
+             transform="translate(178.4601,467.90862)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5380"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5382"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(178.13622,471.79523)" />
+          <path
+             transform="translate(182.02283,470.17581)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5384"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5386"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(142.83286,441.9979)" />
+          <path
+             transform="translate(163.88532,436.81576)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5388"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+        </g>
+        <path
+           style="fill:#000000"
+           d="m 460.44944,619.67363 c -4.33869,-3.37857 -5.06957,-5.01999 -4.47552,-10.05129 0.82174,-6.9595 4.41835,-13.17343 8.95586,-15.47322 5.47358,-2.7742 16.39904,1.12552 20.15773,7.1951 3.28051,5.29739 3.21971,5.84632 -1.22001,11.01267 -9.52928,11.08886 -15.98404,13.1056 -23.41806,7.31674 z m 0.77909,-6.64502 c -0.96613,-1.90623 -1.0477,-5.55038 -0.18119,-8.09811 1.431,-4.20743 1.32954,-4.35139 -1.10644,-1.56987 -2.94937,3.36765 -2.11702,13.97616 1.05592,13.45832 1.12785,-0.18403 1.2281,-1.82437 0.23167,-3.79034 z m 80.52529,-20.00873 c -8.2856,-2.12521 -9.01908,-3.19091 -8.09328,-11.75932 1.35887,-12.57622 14.65678,-16.3963 21.68203,-6.22853 l 2.73056,3.95204 -3.75918,-3.68942 c -4.88013,-4.78955 -8.36295,-4.27113 -3.66612,0.54573 1.96648,2.01674 3.80717,5.08693 4.09043,6.82265 0.28327,1.7357 1.6204,3.33752 2.97139,3.55955 1.91502,0.31473 2.00433,1.17822 0.40525,3.91799 -2.43681,4.17517 -7.69872,5.10118 -16.36108,2.87931 z"
+           id="path5390"
+           sodipodi:nodetypes="cssssccsssccscccssssc" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 543.50287,612.20201 c -1.0397,0.5283 -6.15268,10.84486 -14.02253,12.12919 -8.5155,1.38969 -20.76323,0.61661 -16.09335,6.98168 4.66985,6.36508 10.51789,-1.76044 24.43586,17.51336 -1.71242,-10.49311 2.881,-22.41678 5.32502,-33.19256 0.61099,-2.69393 0.70155,-3.60776 0.355,-3.43167 z M 521.552,627.99954 c 3.99071,0.0596 9.37648,3.73563 9.76251,8.87501 0.11701,1.55767 0.8397,2.39858 0.82834,2.78085 -0.0184,0.63705 -0.88985,-0.25532 -2.95834,-2.60335 -2.0041,-2.27501 -5.58307,-4.25394 -7.98752,-4.37833 -2.47979,-0.12824 -4.06997,-1.10537 -3.60917,-2.30751 0.63101,-1.64624 2.15021,-2.39375 3.96418,-2.36667 z"
+           id="path5392" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 501.29168,664.476 c 22.69867,7.06826 26.40934,-12.09123 37.22465,-15.32518 13.2064,-3.94896 21.98637,6.76303 30.76706,-5.44249 -8.78069,12.20552 -20.74383,4.8619 -30.85381,10.95346 -9.80815,5.90967 -14.43923,16.88247 -37.1379,9.81421 z"
+           id="path5394"
+           sodipodi:nodetypes="cscsc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5396"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,193.93219,404.02378)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,201.90406,407.08988)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5398"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5400"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,196.38506,411.99565)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,232.56513,390.5329)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5402"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5404"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,231.95192,397.89157)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,239.31058,394.82545)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5406"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5408"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,165.11077,341.47519)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,204.97017,331.66365)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5410"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path5412"
+           d="m 414.16432,664.94387 c -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 8.51536,-16.70707 16.52927,-8.81585 -12.5884,-9.64496 -22.24114,-11.62267 -28.65845,-25.20505 z"
+           style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           id="path5414"
+           d="m 593.32128,645.47801 c 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 l -9.99919,29.22838 z"
+           style="fill:url(#linearGradient5422);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/pyhoca-winicon.svg b/icons/PyHoca/scalable/pyhoca-winicon.svg
new file mode 100644
index 0000000..e1588b8
--- /dev/null
+++ b/icons/PyHoca/scalable/pyhoca-winicon.svg
@@ -0,0 +1,568 @@
+<?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="svg7187"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="auth_error.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs7189">
+    <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="perspective3859" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4873">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4875" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4873"
+       id="linearGradient2704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3440063,0,0,2.3440063,-121.79862,31.22942)"
+       x1="62.745731"
+       y1="-13.444987"
+       x2="62.608765"
+       y2="7.1072145" />
+    <linearGradient
+       id="linearGradient3811">
+      <stop
+         id="stop3813"
+         offset="0"
+         style="stop-color:#a40000;stop-opacity:1" />
+      <stop
+         id="stop3815"
+         offset="1"
+         style="stop-color:#c22f2f;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3811"
+       id="linearGradient3927"
+       x1="15.046636"
+       y1="44.787998"
+       x2="15.046636"
+       y2="3.8851264"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0805272,0,0,1.0805026,-1.508285,-3.3507596)" />
+    <linearGradient
+       id="linearGradient5106">
+      <stop
+         style="stop-color:#e78181;stop-opacity:1"
+         offset="0"
+         id="stop5108" />
+      <stop
+         id="stop8208"
+         offset="0.25288007"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0.68271071"
+         id="stop8210" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop5110" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5106"
+       id="radialGradient2707"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-7.565785,-6.219707e-7,3.9644633e-7,-4.8230546,494.60904,-26.555114)"
+       cx="62.202274"
+       cy="-5.7132163"
+       fx="62.202274"
+       fy="-5.7132163"
+       r="9.7552835" />
+    <linearGradient
+       id="linearGradient10691"
+       inkscape:collect="always">
+      <stop
+         id="stop10693"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop10695"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10691"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.902215,0.525703)"
+       cx="6.702713"
+       cy="73.615715"
+       fx="6.702713"
+       fy="73.615715"
+       r="7.228416" />
+    <inkscape:perspective
+       id="perspective3453"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <pattern
+       inkscape:stockid="Wavy"
+       id="Wavy"
+       height="5.1805778"
+       width="30.066020"
+       patternUnits="userSpaceOnUse"
+       inkscape:collect="always">
+      <path
+         id="path5228"
+         d="M 7.597,0.061 C 5.079,-0.187 2.656,0.302 -0.01,1.788 L -0.01,3.061 C 2.773,1.431 5.173,1.052 7.472,1.280 C 9.770,1.508 11.969,2.361 14.253,3.218 C 18.820,4.931 23.804,6.676 30.066,3.061 L 30.062,1.788 C 23.622,5.497 19.246,3.770 14.691,2.061 C 12.413,1.207 10.115,0.311 7.597,0.061 z "
+         style="fill:black;stroke:none;" />
+    </pattern>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter5442">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.57490299"
+         id="feGaussianBlur5444" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5430"
+       id="linearGradient5436"
+       x1="185"
+       y1="1047.3622"
+       x2="185"
+       y2="796.36218"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5430">
+      <stop
+         style="stop-color:#906f6f;stop-opacity:1;"
+         offset="0"
+         id="stop5432" />
+      <stop
+         style="stop-color:#906f6f;stop-opacity:0;"
+         offset="1"
+         id="stop5434" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6083">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.312185"
+         id="feGaussianBlur6085" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3785"
+       id="radialGradient5416"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1160336,-4.3876452,5.2088758,1.3249203,-2874.6294,1237.254)"
+       cx="315.79904"
+       cy="584.86487"
+       fx="315.79904"
+       fy="584.86487"
+       r="65.742714" />
+    <linearGradient
+       id="linearGradient3785">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3787" />
+      <stop
+         style="stop-color:#969696;stop-opacity:1;"
+         offset="1"
+         id="stop3789" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5418"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="310.53839"
+       y1="551.9931"
+       x2="324.48233"
+       y2="615.26996" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5937">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5939" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5941" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter6139">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.78400333"
+         id="feGaussianBlur6141" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5947"
+       id="linearGradient5420"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="261.17963"
+       y1="635.13214"
+       x2="261.17963"
+       y2="612.84375" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5947">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5949" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5951" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5937"
+       id="linearGradient5422"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)"
+       x1="387.78506"
+       y1="620.52393"
+       x2="378.39252"
+       y2="603.82446" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="23.859533"
+     inkscape:cy="34.916834"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1024"
+     inkscape:window-height="571"
+     inkscape:window-x="0"
+     inkscape:window-y="6"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7192">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       transform="matrix(0.38132965,0,0,0.38132965,-60.655233,-353.27311)"
+       style="display:inline"
+       id="g3410"
+       inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+       inkscape:export-xdpi="457.14001"
+       inkscape:export-ydpi="457.14001">
+      <rect
+         y="926.42456"
+         x="159.0625"
+         height="125.87531"
+         width="125.87534"
+         id="rect2927"
+         style="fill:none;stroke:#000000;stroke-width:0.01776883;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         y="932.37238"
+         x="165.00909"
+         height="114.98058"
+         width="114.98061"
+         id="rect5426"
+         style="fill:url(#Wavy);fill-opacity:1;stroke:none;filter:url(#filter5442)"
+         ry="14.010298" />
+      <rect
+         ry="14.010298"
+         style="fill:url(#linearGradient5436);fill-opacity:1;stroke:#000000;stroke-width:2.01939631;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         id="rect5424"
+         width="114.98061"
+         height="114.98058"
+         x="165.00909"
+         y="932.37238" />
+      <g
+         inkscape:export-ydpi="510.97"
+         inkscape:export-xdpi="510.97"
+         inkscape:export-filename="/home/mike/MyDocuments/4projects/nwt-x2go/pyhoca-gui/trunk/icons/PyHoca/pyhoca-trayicon.png"
+         id="g5356"
+         transform="matrix(0.40396742,0,0,0.40396742,19.556638,743.47149)">
+        <path
+           sodipodi:nodetypes="cscscscssccc"
+           id="path5358"
+           d="m 316.61834,524.71563 c 26.41286,-0.50329 59.97357,20.96914 59.97357,54.77527 0,3.59736 -0.19322,7.03227 -0.56789,10.30345 18.06989,6.26688 16.71273,32.24949 4.78688,32.70339 -5.47132,0.20824 -3.56548,-18.31078 -10.6487,-17.92457 -7.89714,13.75136 -23.13,29.30724 -43.89259,30.96552 -18.87348,1.5074 -26.67203,-2.56514 -36.54057,-8.85826 -3.46673,2.19939 -7.55736,6.26792 -11.8477,7.98433 -9.00177,3.60129 -18.6864,4.30272 -18.6864,-5.73669 0,-8.21915 4.89649,-15.13053 12.51148,-17.381 -2.4969,-6.34498 -8.57035,-21.99078 -7.79103,-29.98531 0,-33.80609 29.80775,-56.84613 52.70295,-56.84613 z"
+           style="fill:#000000;fill-opacity:1;stroke:#737373;stroke-width:0.97799999;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline;filter:url(#filter6083)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)" />
+        <path
+           style="fill:url(#radialGradient5416);fill-opacity:1;stroke:#737373;stroke-width:1.85168302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+           d="m 494.14518,498.08769 c 50.00843,-0.9529 113.55014,39.70163 113.55014,103.70802 0,6.81101 -0.36583,13.31445 -1.0752,19.50789 34.21238,11.86532 31.64282,61.05914 9.06317,61.91853 -10.35905,0.39427 -6.75065,-34.66848 -20.16157,-33.93724 -14.95194,26.03594 -43.79287,55.48846 -83.10344,58.62814 -35.73385,2.85402 -50.49914,-4.85667 -69.1836,-16.77167 -6.56369,4.16419 -14.30863,11.86728 -22.43168,15.11703 -17.04338,6.81846 -35.37965,8.1465 -35.37965,-10.86149 0,-15.56161 9.27071,-28.64718 23.68844,-32.90808 -4.72747,-12.01317 -16.22655,-41.63594 -14.75104,-56.77228 0,-64.0063 56.4361,-107.62885 99.78443,-107.62885 z"
+           id="path5360"
+           sodipodi:nodetypes="cscscscssccc" />
+        <path
+           style="fill:url(#linearGradient5418);fill-opacity:1;stroke:none;display:inline"
+           d="m 490.31195,501.99861 c -60.00789,5.2168 -107.09001,72.04563 -87.91275,130.02861 3.24896,11.23668 7.4696,22.02332 11.76512,32.91665 -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 14.4103,-16.70707 22.4242,-8.81585 27.77649,18.77637 65.82806,19.08025 95.67267,4.67417 20.86926,-11.02272 37.47189,-28.76927 48.93091,-49.34508 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 5.24687,-35.96374 -12.50977,-72.63257 -42.30424,-92.47766 -20.53437,-14.48216 -45.42828,-23.02847 -70.70428,-21.77336 z"
+           id="path5362" />
+        <g
+           id="g5364"
+           style="filter:url(#filter6139)"
+           transform="matrix(1.8933365,0,0,1.8933365,-105.31989,-495.37559)">
+          <path
+             style="fill:#000000"
+             d="m 298.82133,588.93345 c -2.29156,-1.78445 -2.67759,-2.6514 -2.36383,-5.30877 0.43402,-3.67579 2.33363,-6.95779 4.7302,-8.17246 2.89097,-1.46525 8.66145,0.59446 10.64667,3.80022 1.73266,2.79791 1.70055,3.08784 -0.64437,5.81654 -5.03306,5.85678 -8.44226,6.92196 -12.36867,3.86447 z m 0.41149,-3.50969 c -0.51028,-1.00681 -0.55336,-2.93153 -0.0957,-4.27716 0.75581,-2.22223 0.70222,-2.29827 -0.58439,-0.82916 -1.55776,1.77869 -1.11814,7.38176 0.55771,7.10826 0.59569,-0.0972 0.64864,-0.96358 0.12236,-2.00194 z m 42.53089,-10.56797 c -4.37619,-1.12247 -4.76359,-1.68534 -4.27461,-6.2109 0.71771,-6.64236 7.74124,-8.66 11.45175,-3.28971 l 1.4422,2.08734 -1.98548,-1.94863 c -2.57753,-2.52969 -4.41704,-2.25588 -1.93633,0.28823 1.03863,1.06518 2.01083,2.68676 2.16044,3.60351 0.14961,0.91674 0.85584,1.76277 1.56939,1.88004 1.01145,0.16623 1.05862,0.6223 0.21404,2.06936 -1.28705,2.20519 -4.06622,2.69428 -8.6414,1.52076 z"
+             id="path5366"
+             sodipodi:nodetypes="cssssccsssccscccssssc" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 326.7844,595.06579 c -2.46648,-3.36183 4.00801,-2.92998 8.50563,-3.66397 5.54213,-0.90445 8.50715,-10.28293 7.21632,-4.59151 -1.29085,5.69142 -3.73324,11.98871 -2.82879,17.53084 -7.35103,-10.17981 -10.42669,-5.91353 -12.89316,-9.27536 z"
+             id="path5368"
+             sodipodi:nodetypes="cszcz" />
+          <path
+             style="fill:#000000;fill-rule:evenodd;stroke:none"
+             d="m 320.3929,612.59663 c 11.98871,3.73323 13.94857,-6.3862 19.66087,-8.09427 6.9752,-2.08571 11.6125,3.57202 16.25018,-2.87455 -4.63768,6.44657 -10.95623,2.5679 -16.296,5.78527 -5.18035,3.1213 -7.62634,8.91678 -19.61505,5.18355 z"
+             id="path5370"
+             sodipodi:nodetypes="cscsc" />
+          <path
+             style="fill:#ffffff;stroke:none"
+             d="m 336.68588,599.4815 c 0.006,-0.2019 -0.36096,-0.64796 -0.42276,-1.47067 -0.29657,-3.94831 -6.1911,-6.21808 -7.25759,-3.43571 -0.24338,0.63493 0.58774,1.16912 1.89749,1.23685 1.26995,0.0657 3.17607,1.09972 4.23457,2.30131 1.09251,1.24015 1.53854,1.70469 1.54829,1.36822 z"
+             id="path5372"
+             sodipodi:nodetypes="cssssc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5374"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(158.05541,475.03407)" />
+          <path
+             transform="translate(162.2659,476.65349)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5376"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5378"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(159.35094,479.24456)" />
+          <path
+             transform="translate(178.4601,467.90862)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5380"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5382"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(178.13622,471.79523)" />
+          <path
+             transform="translate(182.02283,470.17581)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5384"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+          <path
+             sodipodi:type="arc"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             id="path5386"
+             sodipodi:cx="166.31445"
+             sodipodi:cy="123.08076"
+             sodipodi:rx="1.1335942"
+             sodipodi:ry="1.1335942"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             transform="translate(142.83286,441.9979)" />
+          <path
+             transform="translate(163.88532,436.81576)"
+             d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+             sodipodi:ry="1.1335942"
+             sodipodi:rx="1.1335942"
+             sodipodi:cy="123.08076"
+             sodipodi:cx="166.31445"
+             id="path5388"
+             style="fill:#ffffff;stroke:#000000;stroke-opacity:1"
+             sodipodi:type="arc" />
+        </g>
+        <path
+           style="fill:#000000"
+           d="m 460.44944,619.67363 c -4.33869,-3.37857 -5.06957,-5.01999 -4.47552,-10.05129 0.82174,-6.9595 4.41835,-13.17343 8.95586,-15.47322 5.47358,-2.7742 16.39904,1.12552 20.15773,7.1951 3.28051,5.29739 3.21971,5.84632 -1.22001,11.01267 -9.52928,11.08886 -15.98404,13.1056 -23.41806,7.31674 z m 0.77909,-6.64502 c -0.96613,-1.90623 -1.0477,-5.55038 -0.18119,-8.09811 1.431,-4.20743 1.32954,-4.35139 -1.10644,-1.56987 -2.94937,3.36765 -2.11702,13.97616 1.05592,13.45832 1.12785,-0.18403 1.2281,-1.82437 0.23167,-3.79034 z m 80.52529,-20.00873 c -8.2856,-2.12521 -9.01908,-3.19091 -8.09328,-11.75932 1.35887,-12.57622 14.65678,-16.3963 21.68203,-6.22853 l 2.73056,3.95204 -3.75918,-3.68942 c -4.88013,-4.78955 -8.36295,-4.27113 -3.66612,0.54573 1.96648,2.01674 3.80717,5.08693 4.09043,6.82265 0.28327,1.7357 1.6204,3.33752 2.97139,3.55955 1.91502,0.31473 2.00433,1.17822 0.40525,3.91799 -2.43681,4.17517 -7.69872,5.10118 -16.36108,2.87931 z"
+           id="path5390"
+           sodipodi:nodetypes="cssssccsssccscccssssc" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 543.50287,612.20201 c -1.0397,0.5283 -6.15268,10.84486 -14.02253,12.12919 -8.5155,1.38969 -20.76323,0.61661 -16.09335,6.98168 4.66985,6.36508 10.51789,-1.76044 24.43586,17.51336 -1.71242,-10.49311 2.881,-22.41678 5.32502,-33.19256 0.61099,-2.69393 0.70155,-3.60776 0.355,-3.43167 z M 521.552,627.99954 c 3.99071,0.0596 9.37648,3.73563 9.76251,8.87501 0.11701,1.55767 0.8397,2.39858 0.82834,2.78085 -0.0184,0.63705 -0.88985,-0.25532 -2.95834,-2.60335 -2.0041,-2.27501 -5.58307,-4.25394 -7.98752,-4.37833 -2.47979,-0.12824 -4.06997,-1.10537 -3.60917,-2.30751 0.63101,-1.64624 2.15021,-2.39375 3.96418,-2.36667 z"
+           id="path5392" />
+        <path
+           style="fill:#000000;fill-rule:evenodd;stroke:none"
+           d="m 501.29168,664.476 c 22.69867,7.06826 26.40934,-12.09123 37.22465,-15.32518 13.2064,-3.94896 21.98637,6.76303 30.76706,-5.44249 -8.78069,12.20552 -20.74383,4.8619 -30.85381,10.95346 -9.80815,5.90967 -14.43923,16.88247 -37.1379,9.81421 z"
+           id="path5394"
+           sodipodi:nodetypes="cscsc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5396"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,193.93219,404.02378)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,201.90406,407.08988)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5398"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5400"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,196.38506,411.99565)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,232.56513,390.5329)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5402"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5404"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,231.95192,397.89157)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,239.31058,394.82545)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5406"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           id="path5408"
+           sodipodi:cx="166.31445"
+           sodipodi:cy="123.08076"
+           sodipodi:rx="1.1335942"
+           sodipodi:ry="1.1335942"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           transform="matrix(1.8933365,0,0,1.8933365,165.11077,341.47519)" />
+        <path
+           transform="matrix(1.8933365,0,0,1.8933365,204.97017,331.66365)"
+           d="m 167.44805,123.08076 c 0,0.62606 -0.50753,1.13359 -1.1336,1.13359 -0.62606,0 -1.13359,-0.50753 -1.13359,-1.13359 0,-0.62607 0.50753,-1.1336 1.13359,-1.1336 0.62607,0 1.1336,0.50753 1.1336,1.1336 z"
+           sodipodi:ry="1.1335942"
+           sodipodi:rx="1.1335942"
+           sodipodi:cy="123.08076"
+           sodipodi:cx="166.31445"
+           id="path5410"
+           style="fill:none;stroke:#000000;stroke-opacity:1"
+           sodipodi:type="arc" />
+        <path
+           id="path5412"
+           d="m 414.16432,664.94387 c -17.10352,2.3543 -30.64729,22.97 -22.60171,38.87257 9.92701,7.54432 25.07255,0.6534 34.73089,-4.85167 7.42667,-3.29797 8.51536,-16.70707 16.52927,-8.81585 -12.5884,-9.64496 -22.24114,-11.62267 -28.65845,-25.20505 z"
+           style="fill:url(#linearGradient5420);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           id="path5414"
+           d="m 593.32128,645.47801 c 14.74215,-1.58804 16.27001,17.47813 18.99254,27.45338 0.40886,4.51328 3.3967,8.81801 7.98751,5.20668 14.08663,-11.21914 9.21231,-35.07831 -2.89918,-46.09092 -4.88828,-6.56095 -18.41674,-5.38103 -14.08168,-15.79752 l -9.99919,29.22838 z"
+           style="fill:url(#linearGradient5422);fill-opacity:1;stroke:none;display:inline"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/system-search.svg b/icons/PyHoca/scalable/system-search.svg
new file mode 100644
index 0000000..ed08f02
--- /dev/null
+++ b/icons/PyHoca/scalable/system-search.svg
@@ -0,0 +1,430 @@
+<?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="svg7233"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="search48.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7235">
+    <linearGradient
+       id="linearGradient4467">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4469" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.24761905;"
+         offset="1.0000000"
+         id="stop4471" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4467"
+       id="radialGradient4473"
+       cx="15.414371"
+       cy="13.078408"
+       fx="15.414371"
+       fy="13.078408"
+       r="6.6562500"
+       gradientTransform="matrix(2.789229,0,0,2.4225698,-25.723775,-20.247482)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4454">
+      <stop
+         style="stop-color:#729fcf;stop-opacity:0.20784314;"
+         offset="0.0000000"
+         id="stop4456" />
+      <stop
+         style="stop-color:#729fcf;stop-opacity:0.67619050;"
+         offset="1.0000000"
+         id="stop4458" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4454"
+       id="radialGradient4460"
+       cx="18.240929"
+       cy="21.817987"
+       fx="18.240929"
+       fy="21.817987"
+       r="8.3085051"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4931">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="0"
+         id="stop4933" />
+      <stop
+         style="stop-color:#888a85"
+         offset="1"
+         id="stop4935" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4931"
+       id="linearGradient4937"
+       x1="54.1129"
+       y1="12.846775"
+       x2="50.079948"
+       y2="-3.8813655"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23434">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1"
+         offset="0"
+         id="stop23436" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1"
+         offset="1"
+         id="stop23438" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23434"
+       id="linearGradient23440"
+       x1="55.878288"
+       y1="12.472493"
+       x2="52.5"
+       y2="-4.6213989"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3904">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3906" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3908" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3904"
+       id="linearGradient7863"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9999494,0,0,1.0000027,11.137591,10.721751)"
+       x1="21.397852"
+       y1="20.653446"
+       x2="23.475424"
+       y2="22.873726" />
+    <linearGradient
+       id="linearGradient2609"
+       inkscape:collect="always">
+      <stop
+         id="stop2611"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop2613"
+         offset="1"
+         style="stop-color:#eeeeec" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2609"
+       id="radialGradient1409"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,1.143443,-1.247217,-1.248581e-6,41.735,-54.25682)"
+       cx="45.094624"
+       cy="-2.6936908"
+       fx="45.094624"
+       fy="-2.6936908"
+       r="10.498367" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient19914">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop19916" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop19918" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient19914"
+       id="linearGradient19920"
+       x1="33.985317"
+       y1="32.045906"
+       x2="37.211494"
+       y2="35.272079"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.9999995,2.5184337e-4)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient19900">
+      <stop
+         style="stop-color:#d3d7cf;stop-opacity:0.2"
+         offset="0"
+         id="stop19902" />
+      <stop
+         style="stop-color:#d3d7cf"
+         offset="1"
+         id="stop19904" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient19900"
+       id="linearGradient19906"
+       x1="40.25"
+       y1="41"
+       x2="43.0625"
+       y2="38.434578"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.9999995,2.52e-4)" />
+    <linearGradient
+       id="linearGradient2690"
+       inkscape:collect="always">
+      <stop
+         id="stop2692"
+         offset="0"
+         style="stop-color:#2e3436" />
+      <stop
+         id="stop2694"
+         offset="1"
+         style="stop-color:#555753" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2690"
+       id="linearGradient1423"
+       gradientUnits="userSpaceOnUse"
+       x1="81.096306"
+       y1="57.148193"
+       x2="83.629295"
+       y2="54.615208" />
+    <linearGradient
+       id="linearGradient2698">
+      <stop
+         id="stop2700"
+         offset="0"
+         style="stop-color:#888a85;stop-opacity:1" />
+      <stop
+         style="stop-color:#a3a5a2;stop-opacity:1;"
+         offset="0.70238096"
+         id="stop2706" />
+      <stop
+         id="stop2702"
+         offset="1"
+         style="stop-color:#888a85" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2698"
+       id="linearGradient1421"
+       gradientUnits="userSpaceOnUse"
+       x1="81.332451"
+       y1="55.106758"
+       x2="82.919647"
+       y2="53.511261" />
+    <linearGradient
+       id="linearGradient2617">
+      <stop
+         id="stop2619"
+         offset="0"
+         style="stop-color:#fbfbfa;stop-opacity:1;" />
+      <stop
+         id="stop2621"
+         offset="1"
+         style="stop-color:#d3d7cf" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2617"
+       id="radialGradient8419"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-1.686609,1.66336,0,41.65431,111.7396)"
+       cx="59.787472"
+       cy="10.901535"
+       fx="59.787472"
+       fy="10.901535"
+       r="10.55559" />
+    <filter
+       inkscape:collect="always"
+       id="filter3268"
+       x="-0.088636374"
+       width="1.1772727"
+       y="-0.38360636"
+       height="1.7672127">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.5983598"
+         id="feGaussianBlur3270" />
+    </filter>
+    <linearGradient
+       id="linearGradient3244">
+      <stop
+         style="stop-color:#000000;stop-opacity:0"
+         offset="0"
+         id="stop3246" />
+      <stop
+         id="stop3274"
+         offset="0.0807889"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.24705882;"
+         offset="0.61539668"
+         id="stop3276" />
+      <stop
+         id="stop3272"
+         offset="0.74850917"
+         style="stop-color:#000000;stop-opacity:0.49803922;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop3248" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3244"
+       id="linearGradient3250"
+       x1="3.5"
+       y1="35.742943"
+       x2="46.77866"
+       y2="45.742943"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="688"
+     inkscape:window-x="276"
+     inkscape:window-y="123" />
+  <metadata
+     id="metadata7238">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       transform="translate(-12.26513,47.500242)"
+       style="display:inline"
+       inkscape:label="base"
+       id="g2637" />
+    <path
+       style="opacity:0.6;fill:url(#linearGradient3250);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.67653471;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter3268)"
+       d="M 21,35.742942 C 11.34,35.742942 3.5,37.555955 3.5,39.789845 C 3.5,42.023736 11.34,43.836748 21,43.836748 C 25.496436,43.836748 29.586827,43.441342 32.6875,42.796116 L 33.5,43.742802 C 33.525278,43.764 33.586841,43.785509 33.65625,43.800615 L 41.625,45.657855 C 41.981813,45.740449 42.507656,45.759155 43.15625,45.730121 C 43.804844,45.701087 44.567815,45.60604 45.375,45.419377 C 46.175523,45.234255 46.580812,45.069505 46.71875,44.92074 C 46.856687,44.771976 46.758027,44.640759 46.40625,44.55941 L 38.375,42.716623 C 38.29626,42.698751 38.203146,42.684259 38.09375,42.68049 L 34,42.492598 C 36.790145,41.775563 38.5,40.829653 38.5,39.789845 C 38.5,37.555955 30.66,35.742942 21,35.742942 z"
+       id="path2462"
+       transform="matrix(1.0166673,0,0,0.9,-0.5583355,4.3316038)" />
+    <path
+       transform="matrix(1.5085714,0,0,1.5085715,-58.199999,12.211681)"
+       d="M 62.5,4.5 A 10,10 0 1 1 42.5,4.5 A 10,10 0 1 1 62.5,4.5 z"
+       sodipodi:ry="10"
+       sodipodi:rx="10"
+       sodipodi:cy="4.5"
+       sodipodi:cx="52.5"
+       id="path2607"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8419);stroke-width:1.87499988;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <g
+       style="display:inline"
+       transform="matrix(1.544052,0,0,1.536016,-85.57756,-44.444898)"
+       id="g2708">
+      <path
+         style="fill:url(#linearGradient1421);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1423);stroke-width:0.67653471;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+         d="M 74.853412,50.354391 L 77.443998,53.023634 L 82.625171,58.237128 C 82.817674,58.430832 83.596641,58.55743 84.56811,57.580878 C 85.53958,56.604326 85.463684,55.876998 85.215757,55.627773 L 80.034584,50.419494 L 77.443998,47.815355 L 74.853412,50.354391 z"
+         id="path2682"
+         sodipodi:nodetypes="cczzzccc" />
+    </g>
+    <path
+       sodipodi:nodetypes="cczzzccc"
+       id="path17267"
+       d="M 31.453125,32.922127 L 34.90721,36.480066 L 42.406806,44.028842 C 42.77564,44.400095 43.340655,44.246748 44.274502,43.3129 C 45.208352,42.379052 45.449128,41.911605 44.985457,41.445202 L 37.485862,33.901412 L 34.0625,30.500252 L 31.453125,32.922127 z"
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient19906);stroke-width:0.99999934;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="opacity:0.15294118;fill:url(#linearGradient19920);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.67653471;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 32.550678,31.195018 C 32.29085,31.282527 30.033957,33.133188 30.103541,33.39715 L 33.50745,37.107952 C 33.532728,37.199617 33.582796,37.282629 33.652205,37.347954 L 41.613723,45.364038 C 41.970537,45.7212 42.509181,45.825593 43.157775,45.700041 C 43.80637,45.574489 44.570165,45.163213 45.37735,44.356027 C 46.177873,43.555506 46.590458,42.839306 46.728396,42.196005 C 46.866334,41.552703 46.742411,40.963765 46.390634,40.611988 L 38.380865,32.643905 C 38.302123,32.566621 38.200751,32.516199 38.091355,32.499904 L 34.340187,29.132518 C 34.245612,29.105383 32.645253,31.167883 32.550678,31.195018 z"
+       id="path19908"
+       sodipodi:nodetypes="cccccsssccccc" />
+    <path
+       transform="matrix(1.5500015,0,0,1.5500015,-60.375079,12.025245)"
+       d="M 62.5,4.5 A 10,10 0 1 1 42.5,4.5 A 10,10 0 1 1 62.5,4.5 z"
+       sodipodi:ry="10"
+       sodipodi:rx="10"
+       sodipodi:cy="4.5"
+       sodipodi:cx="52.5"
+       id="path2605"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient1409);stroke-width:0.6451413;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       style="opacity:0.36936939;fill:url(#linearGradient7863);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.67653471;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 32.571456,31.340596 C 32.398245,31.398935 30.441228,32.522909 30.487615,32.698884 L 33.370692,35.607487 C 33.387543,35.668598 33.42092,35.723939 33.467191,35.767489 L 36.754802,32.468631 C 36.702309,32.417109 36.618546,32.320669 36.545618,32.309805 L 34.028798,29.731957 C 33.983608,29.606724 32.634502,31.322506 32.571456,31.340596 z"
+       id="path7861"
+       sodipodi:nodetypes="cccccccc" />
+    <path
+       transform="matrix(1.6500024,0,0,1.6500024,-65.653719,11.575241)"
+       d="M 62.5,4.5 A 10,10 0 1 1 42.5,4.5 A 10,10 0 1 1 62.5,4.5 z"
+       sodipodi:ry="10"
+       sodipodi:rx="10"
+       sodipodi:cy="4.5"
+       sodipodi:cx="52.5"
+       id="path2599"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient23440);stroke-width:0.60603064;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.3500044,0,0,1.3500044,-49.875231,12.925232)"
+       d="M 62.5,4.5 A 10,10 0 1 1 42.5,4.5 A 10,10 0 1 1 62.5,4.5 z"
+       sodipodi:ry="10"
+       sodipodi:rx="10"
+       sodipodi:cy="4.5"
+       sodipodi:cx="52.5"
+       id="path4927"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4937);stroke-width:0.74067366;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient4460);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:0.66473687;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline"
+       id="path4452"
+       sodipodi:cx="17.589281"
+       sodipodi:cy="18.478292"
+       sodipodi:rx="8.3085051"
+       sodipodi:ry="8.3085051"
+       d="M 25.897786,18.478292 A 8.3085051,8.3085051 0 1 1 9.280776,18.478292 A 8.3085051,8.3085051 0 1 1 25.897786,18.478292 z"
+       transform="matrix(1.5044775,0,0,1.5044776,-5.4626775,-8.7999259)" />
+    <path
+       style="opacity:0.83422457;fill:url(#radialGradient4473);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 20.764036,8.0837588 C 15.162274,8.0837588 10.626128,12.619905 10.626128,18.221665 C 10.626128,19.839479 11.078249,21.328019 11.752561,22.685682 C 13.099737,23.182235 14.530813,23.520079 16.0497,23.520079 C 22.687746,23.520079 27.989107,18.290454 28.398756,11.755099 C 26.536772,9.5547378 23.870051,8.0837588 20.764036,8.0837588 z"
+       id="path4462" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/unlocked.svg b/icons/PyHoca/scalable/unlocked.svg
new file mode 100644
index 0000000..83d2e80
--- /dev/null
+++ b/icons/PyHoca/scalable/unlocked.svg
@@ -0,0 +1,577 @@
+<?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="svg7516"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing-3.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7518">
+    <filter
+       inkscape:collect="always"
+       x="-0.085115738"
+       width="1.1702315"
+       y="-0.4135721"
+       height="1.8271442"
+       id="filter6328">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.42546784"
+         id="feGaussianBlur6330" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6057">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6059" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6061" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6057"
+       id="radialGradient6071"
+       gradientUnits="userSpaceOnUse"
+       cx="18.031223"
+       cy="6.2806997"
+       fx="18.031223"
+       fy="6.2806997"
+       r="3.1819806" />
+    <filter
+       inkscape:collect="always"
+       id="filter5246">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.52810278"
+         id="feGaussianBlur5248" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       x="-0.24242527"
+       width="1.4848505"
+       y="-0.047579074"
+       height="1.0951581"
+       id="filter6251">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.24444548"
+         id="feGaussianBlur6253" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6227">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6229" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6231" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6227"
+       id="linearGradient6233"
+       x1="33.950081"
+       y1="14.00656"
+       x2="39.619183"
+       y2="9.5222654"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.6824037,1.125)" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49337935"
+       width="1.9867587"
+       y="-0.11410162"
+       height="1.2282032"
+       id="filter5306">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.68862765"
+         id="feGaussianBlur5308" />
+    </filter>
+    <linearGradient
+       id="linearGradient5310"
+       inkscape:collect="always">
+      <stop
+         id="stop5312"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.59770115" />
+      <stop
+         id="stop5314"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5310"
+       id="linearGradient6334"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-19.532826,1.7437184)"
+       x1="35.004684"
+       y1="24.300459"
+       x2="30.279551"
+       y2="9.1301517" />
+    <linearGradient
+       id="linearGradient10591">
+      <stop
+         id="stop10593"
+         offset="0.0000000"
+         style="stop-color:#cad0c6;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#eaece9;stop-opacity:1.0000000;"
+         offset="0.50000000"
+         id="stop10599" />
+      <stop
+         id="stop10595"
+         offset="1.0000000"
+         style="stop-color:#c5cbc0;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       y2="17.470011"
+       x2="27.192274"
+       y1="2.9136841"
+       x1="10.650842"
+       gradientTransform="translate(0,-1.926279)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1392"
+       xlink:href="#linearGradient10591"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5753">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5755" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop5757" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5753"
+       id="linearGradient5759"
+       x1="31.375"
+       y1="20.4375"
+       x2="38.25"
+       y2="20.4375"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       x="-0.14143888"
+       width="1.2828778"
+       y="-1.5218824"
+       height="4.0437647"
+       id="filter6171">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.1889706"
+         id="feGaussianBlur6173" />
+    </filter>
+    <linearGradient
+       id="linearGradient6089">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6091" />
+      <stop
+         id="stop6097"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:0.17171717;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop6093" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6089"
+       id="linearGradient6095"
+       x1="17.1875"
+       y1="20.09375"
+       x2="34"
+       y2="20.09375"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-0.5)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6075">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop6077" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop6079" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6075"
+       id="radialGradient6085"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.5849057,0,8.4316038)"
+       cx="15.9375"
+       cy="20.3125"
+       fx="15.9375"
+       fy="20.3125"
+       r="3.3125" />
+    <filter
+       inkscape:collect="always"
+       x="-0.49411764"
+       width="1.9882353"
+       y="-0.082352942"
+       height="1.1647059"
+       id="filter5957">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.69878785"
+         id="feGaussianBlur5959" />
+    </filter>
+    <linearGradient
+       id="linearGradient12071"
+       inkscape:collect="always">
+      <stop
+         id="stop12073"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop12075"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient12071"
+       id="linearGradient1387"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9697914,0,0,0.951923,-2.7734351,2.0339473)"
+       x1="21.941509"
+       y1="21.550869"
+       x2="21.941509"
+       y2="18.037588" />
+    <linearGradient
+       id="linearGradient5881">
+      <stop
+         id="stop5883"
+         offset="0"
+         style="stop-color:#fffac7;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fff8b2;stop-opacity:1;"
+         offset="1"
+         id="stop5885" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5881"
+       id="linearGradient1591"
+       x1="24.875"
+       y1="21"
+       x2="24.75"
+       y2="17"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9706798,0,0,1.5,-2.7947591,-9.4998767)" />
+    <linearGradient
+       id="linearGradient9845">
+      <stop
+         id="stop9847"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop9849"
+         offset="1.0000000"
+         style="stop-color:#ffffff;stop-opacity:0.49484536;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient9845"
+       id="linearGradient1575"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.968931,0,0,1.1176137,-2.7381201,-6.0948884)"
+       x1="10.907269"
+       y1="25.002281"
+       x2="30.875446"
+       y2="36.127281" />
+    <linearGradient
+       id="linearGradient6215">
+      <stop
+         id="stop6217"
+         offset="0"
+         style="stop-color:#ead200;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fff16a;stop-opacity:1;"
+         offset="0.20999999"
+         id="stop6219" />
+      <stop
+         id="stop6221"
+         offset="0.83999997"
+         style="stop-color:#b5a300;stop-opacity:1;" />
+      <stop
+         id="stop6223"
+         offset="1"
+         style="stop-color:#e8d000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6215"
+       id="linearGradient6225"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9715125,0,0,1.1298556,-2.8148311,-7.9390138)"
+       x1="6.72682"
+       y1="32.161697"
+       x2="40.938126"
+       y2="32.161697" />
+    <filter
+       inkscape:collect="always"
+       x="-0.074990261"
+       width="1.1499805"
+       y="-0.47181373"
+       height="1.9436275"
+       id="filter6051">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4154412"
+         id="feGaussianBlur6053" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="1037"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7521">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       style="opacity:0.45882353;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6051);enable-background:accumulate"
+       id="rect5961"
+       width="37.75"
+       height="6"
+       x="6.25"
+       y="39.75"
+       rx="3.1708715"
+       ry="1.9748279"
+       transform="matrix(1.0264901,0,0,1,-5.1655631,-1.9998777)" />
+    <path
+       style="fill:url(#linearGradient6225);fill-opacity:1;fill-rule:evenodd;stroke:#7d6400;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+       d="M 5.6713057,15.500122 C 15.465852,14.056723 25.364615,14.280806 35.325581,15.500122 C 36.528485,15.500122 37.496887,16.543692 37.496887,17.839966 L 37.496887,41.160278 C 37.496887,42.456552 36.465985,43.312622 35.325581,43.500122 C 24.998398,44.708725 16.143531,44.699184 5.6713057,43.500122 C 4.2809017,43.062622 3.4999997,42.456552 3.4999997,41.160278 L 3.4999997,17.839966 C 3.4999997,16.543692 4.4684017,15.500122 5.6713057,15.500122 z"
+       id="rect1314"
+       sodipodi:nodetypes="ccccccccc" />
+    <g
+       id="g4695"
+       transform="translate(-5.0000001,-1.9998777)">
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path6193"
+         d="M 41.940271,24.444505 C 41.542065,25.774817 37.406119,26.114917 36.638195,26.217936 C 36.638195,26.217936 20.32932,26.698408 20.32932,26.698408 C 20.32932,26.698408 36.59256,26.857542 36.59256,26.857542 C 37.418473,26.760419 41.811211,26.960931 42.02866,25.151612 L 41.940271,24.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,26.444505 C 41.542065,27.774817 37.406119,28.114917 36.638195,28.217936 C 36.638195,28.217936 17.57932,28.698408 17.57932,28.698408 C 17.57932,28.698408 36.59256,28.857542 36.59256,28.857542 C 37.418473,28.760419 41.811211,28.960931 42.02866,27.151612 L 41.940271,26.444505 z"
+         id="path4678"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4680"
+         d="M 41.940271,28.444505 C 41.542065,29.774817 37.406119,30.114917 36.638195,30.217936 C 36.638195,30.217936 20.32932,30.698408 20.32932,30.698408 C 20.32932,30.698408 36.59256,30.857542 36.59256,30.857542 C 37.418473,30.760419 41.811211,30.960931 42.02866,29.151612 L 41.940271,28.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,30.444505 C 41.542065,31.774817 37.406119,32.114917 36.638195,32.217936 C 36.638195,32.217936 25.57932,32.698408 25.57932,32.698408 C 25.57932,32.698408 36.59256,32.857542 36.59256,32.857542 C 37.418473,32.760419 41.811211,32.960931 42.02866,31.151612 L 41.940271,30.444505 z"
+         id="path4682"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4684"
+         d="M 41.940271,32.444505 C 41.542065,33.774817 37.406119,34.114917 36.638195,34.217936 C 36.638195,34.217936 20.32932,34.698408 20.32932,34.698408 C 20.32932,34.698408 36.59256,34.857542 36.59256,34.857542 C 37.418473,34.760419 41.811211,34.960931 42.02866,33.151612 L 41.940271,32.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,34.444505 C 41.542065,35.774817 37.406119,36.114917 36.638195,36.217936 C 36.638195,36.217936 17.89182,36.698408 17.89182,36.698408 C 17.89182,36.698408 36.59256,36.857542 36.59256,36.857542 C 37.418473,36.760419 41.811211,36.960931 42.02866,35.151612 L 41.940271,34.444505 z"
+         id="path4686"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4688"
+         d="M 41.940271,36.444505 C 41.542065,37.774817 37.406119,38.114917 36.638195,38.217936 C 36.638195,38.217936 22.64182,38.698408 22.64182,38.698408 C 22.64182,38.698408 36.59256,38.857542 36.59256,38.857542 C 37.418473,38.760419 41.811211,38.960931 42.02866,37.151612 L 41.940271,36.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="M 41.940271,38.444505 C 41.542065,39.774817 37.406119,40.114917 36.638195,40.217936 C 36.638195,40.217936 28.20432,40.698408 28.20432,40.698408 C 28.20432,40.698408 36.59256,40.857542 36.59256,40.857542 C 37.418473,40.760419 41.811211,40.960931 42.02866,39.151612 L 41.940271,38.444505 z"
+         id="path4690"
+         sodipodi:nodetypes="cscscc" />
+      <path
+         sodipodi:nodetypes="cscscc"
+         id="path4692"
+         d="M 41.940271,40.444505 C 41.542065,41.774817 37.406119,42.114917 36.638195,42.217936 C 36.638195,42.217936 20.32932,42.698408 20.32932,42.698408 C 20.32932,42.698408 36.59256,42.857542 36.59256,42.857542 C 37.418473,42.760419 41.811211,42.960931 42.02866,41.151612 L 41.940271,40.444505 z"
+         style="opacity:0.14117647;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1575);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.60109289"
+       d="M 5.7495877,16.995483 L 35.254433,16.995483 C 35.946704,16.995483 36.504021,17.581598 36.504021,18.309642 L 36.504021,41.185963 C 36.504021,41.914007 36.009204,42.250122 35.254433,42.500122 C 25.606985,43.703735 16.084536,43.700943 5.7495877,42.500122 C 5.0573157,42.250122 4.4999997,41.914007 4.4999997,41.185963 L 4.4999997,18.309642 C 4.4999997,17.581598 5.0573157,16.995483 5.7495877,16.995483 z"
+       id="rect6903"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       style="fill:url(#linearGradient1591);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 5.6077247,16.000122 C 15.536946,14.539375 25.466166,14.799553 35.395387,16.000122 C 36.286067,16.000122 37.003113,16.717168 37.003113,17.607847 L 37.003113,20.392397 C 37.003113,21.283076 36.286067,22.000122 35.395387,22.000122 C 25.033658,22.690222 15.499962,22.443932 5.6077247,22.000122 C 4.7170447,22.000122 3.9999997,21.283076 3.9999997,20.392397 L 3.9999997,17.607847 C 3.9999997,16.717168 4.7170447,16.000122 5.6077247,16.000122 z"
+       id="rect1460"
+       sodipodi:nodetypes="ccccccccc" />
+    <path
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1387);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       d="M 5.6639377,18.692602 L 35.339179,18.692602 C 35.984,18.692602 36.503117,19.181796 36.503117,19.78945 L 36.503117,20.451524 C 36.503117,21.059178 35.984,21.548372 35.339179,21.548372 C 25.539745,22.748444 15.629609,22.821884 5.6639377,21.548372 C 5.0191157,21.548372 4.4999997,21.059178 4.4999997,20.451524 L 4.4999997,19.78945 C 4.4999997,19.181796 5.0191157,18.692602 5.6639377,18.692602 z"
+       id="rect1593"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="opacity:0.29411765;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5957);enable-background:accumulate"
+       id="rect5887"
+       width="2.8284271"
+       height="16.970562"
+       x="14.594036"
+       y="23.226137"
+       rx="1.6077254"
+       ry="1.6077254"
+       transform="matrix(1.9722718,0,0,1.2416619,-20.56437,-7.8388872)" />
+    <path
+       transform="matrix(1.7556483,1.8684597e-2,-0.2566879,1.4540468,6.67711,-11.231529)"
+       d="M 19.25,20.3125 A 3.3125,1.9375 0 1 1 12.625,20.3125 A 3.3125,1.9375 0 1 1 19.25,20.3125 z"
+       sodipodi:ry="1.9375"
+       sodipodi:rx="3.3125"
+       sodipodi:cy="20.3125"
+       sodipodi:cx="15.9375"
+       id="path6083"
+       style="opacity:0.62643678;fill:url(#radialGradient6085);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+    <rect
+       style="opacity:0.48235294;fill:url(#linearGradient6095);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6171);enable-background:accumulate"
+       id="rect6087"
+       width="16.8125"
+       height="1.5625"
+       x="17.1875"
+       y="18.8125"
+       rx="0.78125"
+       ry="0.78125"
+       transform="matrix(-1,-0.1942467,0,1,63.818732,3.4534123)" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.54705882;fill:url(#linearGradient5759);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path5751"
+       sodipodi:cx="34.8125"
+       sodipodi:cy="20.4375"
+       sodipodi:rx="3.4375"
+       sodipodi:ry="1.5625"
+       d="M 38.25,20.4375 A 3.4375,1.5625 0 1 1 31.375,20.4375 A 3.4375,1.5625 0 1 1 38.25,20.4375 z"
+       transform="translate(-24.125,-1.9998777)" />
+    <g
+       id="g1387"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(-0.8575185,-0.1731867,0,1,58.479607,2.1760963)">
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         sodipodi:nodetypes="ccccczccccsccc"
+         id="path2086"
+         d="M 12.743205,25.823932 L 12.743205,24.193353 L 13.794707,23.750459 L 12.673105,22.306213 L 12.743205,20.089086 C 12.743205,5.6408774 16.806669,3.7152321 24.020027,3.0776805 C 31.167919,2.4459151 37.354231,6.5120329 37.354231,14.474755 L 37.354231,22.459601 C 37.354231,24.41383 30.260065,23.447353 30.260065,21.244402 L 30.260065,15.259556 C 30.260065,11.490752 29.659869,8.710042 25.465153,8.9756217 C 19.67247,9.3423733 19.586426,15.511882 19.586426,23.287142 L 19.586426,27.06364 C 19.586426,29.41826 12.743205,28.202219 12.743205,25.823932 z"
+         style="fill:url(#linearGradient1392);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.07988632;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         sodipodi:nodetypes="ccccc"
+         id="path6332"
+         d="M 12.122089,14.371007 L 12.493808,14.540202 C 15.234525,14.91845 15.471857,26.162899 15.471857,26.162899 C 15.409357,27.287899 13.440607,29.87613 13.471857,29.34488 C 13.471857,29.34488 14.065946,16.620674 12.122089,14.371007 z"
+         style="opacity:0.62643678;fill:url(#linearGradient6334);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter5306)"
+         transform="matrix(-1,0,0,1,28.762476,-5.6647124)" />
+      <path
+         style="opacity:0.10344831;fill:url(#linearGradient6233);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter6251)"
+         d="M 43.423941,11.814335 C 38.103497,9.9100511 36.795,11.892458 36.566172,14.801975 C 36.566172,14.801975 36.687087,22.472482 36.687087,22.472482 C 36.659989,23.60464 34.655837,23.003732 34.687087,22.472482 C 34.687087,22.472482 34.630467,14.508742 34.630467,14.508742 C 34.678721,11.551858 36.71871,8.1994403 43.423941,11.814335 z"
+         id="rect1345"
+         sodipodi:nodetypes="csccsc"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(-1,-0.3463734,0,1,67.435126,11.502092)" />
+    </g>
+    <path
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter5246);enable-background:accumulate"
+       d="M 18.5,27.169521 L 19.25,11.915925 C 19.25,3.852052 34.1875,2.6985997 34.1875,14.25 L 34.1875,21.875"
+       id="path5675"
+       sodipodi:nodetypes="cccc"
+       transform="matrix(-1,-0.1942467,0,1,62.318732,2.5784123)" />
+    <g
+       id="g6067"
+       transform="matrix(-1,-1.3719228e-2,0,1,50.629257,-3.9259803)">
+      <path
+         d="M 21.213204,6.2806997 A 3.1819806,3.1819806 0 1 1 14.849243,6.2806997 A 3.1819806,3.1819806 0 1 1 21.213204,6.2806997 z"
+         sodipodi:ry="3.1819806"
+         sodipodi:rx="3.1819806"
+         sodipodi:cy="6.2806997"
+         sodipodi:cx="18.031223"
+         id="path6055"
+         style="opacity:1;fill:url(#radialGradient6071);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(0.4343344,0,0,0.4343344,10.199642,3.5527756)"
+         sodipodi:type="arc"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="path6065"
+         sodipodi:cx="18.031223"
+         sodipodi:cy="6.2806997"
+         sodipodi:rx="3.1819806"
+         sodipodi:ry="3.1819806"
+         d="M 21.213204,6.2806997 A 3.1819806,3.1819806 0 1 1 14.849243,6.2806997 A 3.1819806,3.1819806 0 1 1 21.213204,6.2806997 z" />
+    </g>
+    <path
+       style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter6328);enable-background:accumulate"
+       d="M 21.715689,3.956218 C 24.043434,2.9041432 26.831304,2.6526319 29.328581,3.956218 C 30.934482,4.7945032 30.56197,5.8453552 29.328581,5.4997159 C 26.795999,4.7899971 24.232097,4.9797662 21.715689,5.4997159 C 19.936529,5.8673328 20.2141,4.6348935 21.715689,3.956218 z"
+       id="rect6257"
+       sodipodi:nodetypes="cssss"
+       transform="matrix(-1,-0.1942467,0,1,61.251892,3.4098353)" />
+    <path
+       style="opacity:1;fill:#999b97;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="M 47.288402,24.325755 L 44.288402,25.325755 C 44.288402,25.325755 45.663402,23.638255 46.413402,23.388255 C 47.163402,23.138255 47.288402,24.325755 47.288402,24.325755 z"
+       id="path5749"
+       sodipodi:nodetypes="ccsc" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/window-close.svg b/icons/PyHoca/scalable/window-close.svg
new file mode 100644
index 0000000..8aa7eb3
--- /dev/null
+++ b/icons/PyHoca/scalable/window-close.svg
@@ -0,0 +1,170 @@
+<?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="svg7216"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="drawing.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs7218">
+    <linearGradient
+       id="linearGradient7916">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop7918" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1.0000000"
+         id="stop7920" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7916"
+       id="linearGradient2181"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0494758,-1.0494758,1.0494758,1.0494758,-26.939092,23.169297)"
+       x1="31.972097"
+       y1="17.041941"
+       x2="12.717501"
+       y2="36.296539" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient7955">
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0"
+         id="stop7957" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop7959" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7955"
+       id="linearGradient7961"
+       x1="23.172504"
+       y1="6.0004601"
+       x2="23.099995"
+       y2="43.000458"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3165">
+      <stop
+         style="stop-color:#e78181;stop-opacity:1"
+         offset="0"
+         id="stop3167" />
+      <stop
+         id="stop8599"
+         offset="0.25"
+         style="stop-color:#e15f5f;stop-opacity:1" />
+      <stop
+         style="stop-color:#c22f2f;stop-opacity:1"
+         offset="0.68000001"
+         id="stop8601" />
+      <stop
+         style="stop-color:#a40000;stop-opacity:1"
+         offset="1"
+         id="stop3169" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3165"
+       id="radialGradient7958"
+       cx="6.5734448"
+       cy="24.500458"
+       fx="6.5734448"
+       fy="24.500458"
+       r="18.500046"
+       gradientTransform="matrix(-2.1314195e-8,2.5479117,-4.8841578,-2.2328085e-8,144.16406,-10.748097)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2091">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2093" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2095" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2091"
+       id="radialGradient2177"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.914812,1.265023e-2,-8.21502e-3,0.213562,2.253914,27.18889)"
+       cx="23.070683"
+       cy="35.127438"
+       fx="23.070683"
+       fy="35.127438"
+       r="10.31934" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7"
+     inkscape:cx="24"
+     inkscape:cy="24"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="641"
+     inkscape:window-height="690"
+     inkscape:window-x="0"
+     inkscape:window-y="25" />
+  <metadata
+     id="metadata7221">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.2557078;fill:url(#radialGradient2177);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path1361"
+       sodipodi:cx="22.958872"
+       sodipodi:cy="34.94062"
+       sodipodi:rx="10.31934"
+       sodipodi:ry="2.320194"
+       d="M 33.278212,34.94062 A 10.31934,2.320194 0 1 1 12.639532,34.94062 A 10.31934,2.320194 0 1 1 33.278212,34.94062 z"
+       transform="matrix(2.2288248,0,0,1.9190478,-27.171303,-25.505284)" />
+    <path
+       style="font-size:59.90107727px;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:url(#radialGradient7958);fill-opacity:1;stroke:url(#linearGradient7961);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       d="M 42.5,35.000459 L 31.99991,24.000459 L 42.499911,14.000459 L 34.99991,6.5004602 L 24.499911,17.000459 L 13.999912,6.5004602 L 6.4999133,14.000459 L 16.999911,24.000459 L 6.4999133,35.000459 L 13.999912,42.500458 L 24.499911,32.000458 L 33.999911,42.500458 L 42.5,35.000459 z"
+       id="text1314"
+       sodipodi:nodetypes="ccccccccccccc" />
+    <path
+       style="font-size:59.90107727px;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;opacity:0.4;fill:none;fill-opacity:1;stroke:url(#linearGradient2181);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       d="M 41,35.000459 L 30.49991,24.000459 L 40.99991,14.000459 L 34.99991,8.0004592 L 24.50022,18.500459 L 13.999912,8.0004592 L 7.9999123,14.000459 L 18.499911,24.000459 L 7.9999123,35.000459 L 13.999912,41.000459 L 24.499911,30.500459 L 34,41 L 41,35.000459 z"
+       id="path7076"
+       sodipodi:nodetypes="ccccccccccccc" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/window-new.svg b/icons/PyHoca/scalable/window-new.svg
new file mode 100644
index 0000000..30bad58
--- /dev/null
+++ b/icons/PyHoca/scalable/window-new.svg
@@ -0,0 +1,322 @@
+<?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"
+   inkscape:export-ydpi="240"
+   inkscape:export-xdpi="240"
+   inkscape:export-filename="/home/patrick/Desktop/ccsm.png"
+   width="48px"
+   height="48px"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docname="window-new.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3">
+    <linearGradient
+       id="linearGradient2378">
+      <stop
+         id="stop2380"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fefede;stop-opacity:0.91836733;"
+         offset="0.25"
+         id="stop4146" />
+      <stop
+         style="stop-color:#f5f328;stop-opacity:1;"
+         offset="0.5"
+         id="stop2386" />
+      <stop
+         id="stop2382"
+         offset="1"
+         style="stop-color:#f5f32d;stop-opacity:0.12234043;" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2378"
+       id="radialGradient4835"
+       gradientUnits="userSpaceOnUse"
+       cx="38.658855"
+       cy="9.3411446"
+       fx="38.658855"
+       fy="9.3411446"
+       r="8.341651" />
+    <linearGradient
+       id="linearGradient47870">
+      <stop
+         id="stop47872"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0" />
+      <stop
+         id="stop47878"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:1" />
+      <stop
+         id="stop47874"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient51765">
+      <stop
+         id="stop51767"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1" />
+      <stop
+         id="stop51769"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2781">
+      <stop
+         id="stop2783"
+         offset="0"
+         style="stop-color:#d3d7cf;stop-opacity:1" />
+      <stop
+         id="stop2785"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3674">
+      <stop
+         id="stop3676"
+         offset="0"
+         style="stop-color:#555753;stop-opacity:1" />
+      <stop
+         id="stop3678"
+         offset="1"
+         style="stop-color:#888a85;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3690">
+      <stop
+         id="stop3692"
+         offset="0"
+         style="stop-color:white;stop-opacity:1;" />
+      <stop
+         id="stop3694"
+         offset="1"
+         style="stop-color:white;stop-opacity:0.46875" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient47870"
+       id="linearGradient2282"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9788196,0,0,0.7154223,-8.5008021,52.112719)"
+       x1="32.084972"
+       y1="-14.402173"
+       x2="32.084972"
+       y2="-5.5633383" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient51765"
+       id="radialGradient2284"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.9576392,-8.146468e-7,6.6614241e-7,1.4565793,-59.017557,62.738067)"
+       cx="51.4375"
+       cy="-12.203125"
+       fx="51.4375"
+       fy="-12.203125"
+       r="2.171875" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient51765"
+       id="radialGradient2286"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.9576392,-9.2540676e-8,-1.2888861e-7,1.4565793,110.01781,62.73803)"
+       cx="51.4375"
+       cy="-12.203125"
+       fx="51.4375"
+       fy="-12.203125"
+       r="2.171875" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3690"
+       id="linearGradient2289"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2605424,0,0,1.2058553,-7.4733927,-4.9459439)"
+       x1="9.5"
+       y1="16.26436"
+       x2="9.5"
+       y2="13.408723" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3674"
+       id="linearGradient2292"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2446306,0,0,1.2707947,-7.0741541,-5.3017616)"
+       x1="23.069359"
+       y1="6.7993021"
+       x2="23.069359"
+       y2="12.403291" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2781"
+       id="linearGradient2295"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2446306,0,0,1.1767765,-7.0741541,-3.982654)"
+       x1="24.925514"
+       y1="40.000107"
+       x2="25.000017"
+       y2="18.787563" />
+  </defs>
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#eeeeec"
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="13.972244"
+     inkscape:cy="11.280026"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="724"
+     inkscape:window-x="109"
+     inkscape:window-y="262"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid7194" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Patrick Niklaus</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:title>State</dc:title>
+        <dc:subject>
+          <rdf:Bag />
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+        <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:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       transform="matrix(1.1257886,0,0,1.2632476,-4.7077482,-15.803368)"
+       id="g54724">
+      <rect
+         width="32.357079"
+         height="6.3234997"
+         x="9.3215466"
+         y="41.809082"
+         style="opacity:0.3;fill:url(#linearGradient2282);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02400005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect46899" />
+      <path
+         d="M 41.6785,41.799698 L 41.6785,48.126714 C 44.022298,48.102828 45.930248,46.705313 45.930248,44.974385 C 45.930248,43.243458 44.022299,41.823584 41.6785,41.799698 z"
+         style="opacity:0.3;fill:url(#radialGradient2284);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02400005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path48849" />
+      <path
+         d="M 9.3217476,41.799698 L 9.3217476,48.126714 C 6.9779494,48.102828 5.07,46.705313 5.07,44.974385 C 5.07,43.243458 6.9779484,41.823584 9.3217476,41.799698 z"
+         style="opacity:0.3;fill:url(#radialGradient2286);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02400005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path52742" />
+    </g>
+    <rect
+       style="fill:url(#linearGradient2295);fill-opacity:1;stroke:#888a85;stroke-width:1.00000024000000010;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1915"
+       width="41.072853"
+       height="35.891666"
+       x="3.5052049"
+       y="6.6083345"
+       rx="1.9999999"
+       ry="2" />
+    <path
+       style="fill:url(#linearGradient2292);fill-opacity:1;stroke:#555753;stroke-width:1.00000047999999997;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 3.505204,13 L 3.505204,8.0415897 C 3.505204,6.6335492 4.6154143,5.5000002 5.994465,5.5000002 L 42.08875,5.5000002 C 43.4678,5.5000002 44.578011,6.6335492 44.578011,8.0415897 L 44.578011,13"
+       id="path1917"
+       sodipodi:nodetypes="cccccc" />
+    <rect
+       style="opacity:0.8;fill:none;fill-opacity:1;stroke:url(#linearGradient2289);stroke-width:1.00000095;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1919"
+       width="39.076817"
+       height="34.969814"
+       x="4.5017591"
+       y="6.5096912"
+       rx="1.5110159"
+       ry="1.5110158" />
+    <g
+       style="display:inline"
+       inkscape:label="Base"
+       id="g2721"
+       transform="translate(-11.172678,-40.076333)" />
+    <g
+       id="g4831"
+       transform="translate(-45.445588,7.0028596)">
+      <path
+         sodipodi:type="arc"
+         style="fill:url(#radialGradient4835);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+         id="path4827"
+         sodipodi:cx="38.658855"
+         sodipodi:cy="9.3411446"
+         sodipodi:rx="8.341651"
+         sodipodi:ry="8.341651"
+         d="M 47.000506,9.3411446 A 8.341651,8.341651 0 1 1 30.317204,9.3411446 A 8.341651,8.341651 0 1 1 47.000506,9.3411446 z"
+         transform="matrix(1.14985,0,0,1.14985,37.40235,-4.152422)" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+         id="path4829"
+         sodipodi:sides="5"
+         sodipodi:cx="36.9375"
+         sodipodi:cy="11.125"
+         sodipodi:r1="8.755579"
+         sodipodi:r2="5.0676599"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.1519173"
+         inkscape:flatsided="false"
+         inkscape:rounded="0.18352206"
+         inkscape:randomized="0"
+         d="M 44.520054,15.50279 C 44.012883,16.381236 39.925351,15.341967 38.998703,15.754538 C 38.072055,16.167108 36.109289,19.900142 35.117113,19.689249 C 34.124936,19.478355 33.850222,15.26973 33.171495,14.515926 C 32.492767,13.762123 28.335913,13.048993 28.229885,12.040207 C 28.123857,11.031421 32.041607,9.4696164 32.548778,8.5911701 C 33.055949,7.7127238 32.449637,3.5389508 33.376285,3.1263806 C 34.302933,2.7138103 36.998949,5.957187 37.991126,6.1680807 C 38.983302,6.3789743 42.765436,4.5125708 43.444163,5.2663741 C 44.122891,6.0201775 41.871371,9.5864995 41.977399,10.595285 C 42.083426,11.604071 45.027225,14.624343 44.520054,15.50279 z"
+         transform="matrix(0.674116,0.299577,-0.299577,0.674116,60.46181,-11.83579)" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/x2go-logo-rotated.svg b/icons/PyHoca/scalable/x2go-logo-rotated.svg
new file mode 100644
index 0000000..f8b57b1
--- /dev/null
+++ b/icons/PyHoca/scalable/x2go-logo-rotated.svg
@@ -0,0 +1,1495 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Creator: CorelDRAW -->
+
+<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"
+   xml:space="preserve"
+   width="256"
+   height="256"
+   style="fill-rule: evenodd;"
+   viewBox="0 0 90.311 90.311"
+   sodipodi:version="0.32"
+   inkscape:version="0.47pre4 r22446"
+   sodipodi:docname="x2go-logo-rotated.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   inkscape:export-filename="/home/h1-ubuntu/Desktop/x2go-logo.png"
+   inkscape:export-xdpi="225"
+   inkscape:export-ydpi="225"
+   id="svg2"><metadata
+   id="metadata59" /><sodipodi:namedview
+   inkscape:window-height="694"
+   inkscape:window-width="1024"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="namedview57"
+   showgrid="true"
+   inkscape:zoom="1.7226562"
+   inkscape:cx="128"
+   inkscape:cy="128"
+   inkscape:window-x="0"
+   inkscape:window-y="25"
+   inkscape:current-layer="svg2"
+   inkscape:window-maximized="1"><inkscape:grid
+     type="xygrid"
+     id="grid4562"
+     visible="true"
+     enabled="true"
+     dotted="true" /></sodipodi:namedview>
+ <defs
+   id="defs4"><linearGradient
+   id="linearGradient4472"><stop
+     style="stop-color: rgb(23, 118, 255); stop-opacity: 1;"
+     offset="0"
+     id="stop4474" /><stop
+     id="stop4564"
+     offset="1"
+     style="stop-color: rgb(255, 255, 255); stop-opacity: 1;" /></linearGradient><linearGradient
+   id="linearGradient4024"><stop
+     style="stop-color: rgb(77, 77, 77); stop-opacity: 1;"
+     offset="0"
+     id="stop4026" /><stop
+     style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"
+     offset="1"
+     id="stop4028" /></linearGradient><linearGradient
+   id="linearGradient3385"><stop
+     style="stop-color: rgb(77, 77, 77); stop-opacity: 1;"
+     offset="0"
+     id="stop3387" /><stop
+     style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
+     offset="1"
+     id="stop3389" /></linearGradient><inkscape:perspective
+   sodipodi:type="inkscape:persp3d"
+   inkscape:vp_x="0 : 159.9998 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_z="319.9996 : 159.9998 : 1"
+   inkscape:persp3d-origin="159.9998 : 106.66653 : 1"
+   id="perspective61" />
+  <style
+   type="text/css"
+   id="style6">
+   
+    .str0 {stroke:black;stroke-width:0.0762}
+    .fil1 {fill:#9900CC}
+    .fil0 {fill:#4D4D4D}
+   
+  </style>
+ <inkscape:perspective
+   id="perspective2498"
+   inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+   inkscape:vp_z="744.09448 : 526.18109 : 1"
+   inkscape:vp_y="0 : 1000 : 0"
+   inkscape:vp_x="0 : 526.18109 : 1"
+   sodipodi:type="inkscape:persp3d" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3391"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3471"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3473"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3475"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3477"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3479"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3481"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3483"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3485"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3487"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3489"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3491"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3493"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3495"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3497"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3499"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3501"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3503"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3505"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3507"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3509"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3511"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3513"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3515"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3517"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3519"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3521"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3523"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3525"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3527"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3529"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3531"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3533"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3535"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3537"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3539"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3541"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3543"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3545"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" />
+  <metadata
+   id="metadata3301" />
+  <metadata
+   id="metadata3303">
+   <rdf:RDF
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+    <cc:Work
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:about="">
+     <dc:format
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      image/svg+xml     </dc:format>
+     <dc:type
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+     <dc:title
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      x2go Logo     </dc:title>
+     <dc:date
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      12.06.2007     </dc:date>
+     <dc:creator
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      <cc:Agent
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+       <dc:title
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+        Heinz-M. Graesing       </dc:title>
+      </cc:Agent>
+     </dc:creator>
+     <dc:rights
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      <cc:Agent
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+       <dc:title
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:rights>
+     <dc:publisher
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      <cc:Agent
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+       <dc:title
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:publisher>
+     <dc:source
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      http://www.x2go.org/artwork     </dc:source>
+     <dc:language
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      DE     </dc:language>
+     <dc:subject
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+      <rdf:Bag
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+       <rdf:li
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)">
+        Logo       </rdf:li>
+      </rdf:Bag>
+     </dc:subject>
+     <cc:license
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://creativecommons.org/licenses/by-nd/3.0/" />
+    </cc:Work>
+    <cc:License
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:about="http://creativecommons.org/licenses/by-nd/3.0/">
+     <cc:permits
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://creativecommons.org/ns#Reproduction" />
+     <cc:permits
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://creativecommons.org/ns#Distribution" />
+     <cc:requires
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://creativecommons.org/ns#Notice" />
+     <cc:requires
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   rdf:resource="http://creativecommons.org/ns#Attribution" />
+    </cc:License>
+   </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   inkscape:window-height="834"
+   inkscape:window-width="1295"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="namedview3305"
+   showgrid="true"
+   inkscape:object-nodes="true"
+   inkscape:grid-points="true"
+   inkscape:guide-points="true"
+   width="128px"
+   height="128px"
+   inkscape:zoom="3.9375"
+   inkscape:cx="64"
+   inkscape:cy="64"
+   inkscape:window-x="395"
+   inkscape:window-y="117"
+   inkscape:current-layer="svg2">
+   <inkscape:grid
+   style="fill-opacity:1.0;fill:url(#linearGradient3391)"
+   id="grid3307"
+   type="xygrid"
+   originx="0px"
+   originy="0px"
+   spacingx="1px"
+   spacingy="1px"
+   color="#0000ff"
+   empcolor="#0000ff"
+   opacity="0.2"
+   empopacity="0.4"
+   empspacing="5" />
+  </sodipodi:namedview>
+  
+  
+ <linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3589"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3591"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3593"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3595"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3597"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3599"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3601"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3603"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3605"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3607"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3609"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3611"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3613"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3615"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3617"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3619"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3621"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3623"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3625"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3627"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3629"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3631"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3633"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3635"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3637"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3639"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3641"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3643"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3645"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3647"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3649"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3651"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3653"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3655"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3657"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3659"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3661"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3663"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" />
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+  <linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3666"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3712"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3714"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" />
+    
+   <linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3717"
+   gradientUnits="userSpaceOnUse"
+   x1="43.865341"
+   y1="21.932671"
+   x2="46.680233"
+   y2="59.933662" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient3385"
+   id="linearGradient3720"
+   gradientUnits="userSpaceOnUse"
+   x1="186.41063"
+   y1="52.270298"
+   x2="197.95351"
+   y2="160.08939" />
+  <metadata
+   id="metadata3832" />
+  <metadata
+   id="metadata3834">
+   <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>
+      x2go Logo     </dc:title>
+     <dc:date>
+      12.06.2007     </dc:date>
+     <dc:creator>
+      <cc:Agent>
+       <dc:title>
+        Heinz-M. Graesing       </dc:title>
+      </cc:Agent>
+     </dc:creator>
+     <dc:rights>
+      <cc:Agent>
+       <dc:title>
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:rights>
+     <dc:publisher>
+      <cc:Agent>
+       <dc:title>
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:publisher>
+     <dc:source>
+      http://www.x2go.org/artwork     </dc:source>
+     <dc:language>
+      DE     </dc:language>
+     <dc:subject>
+      <rdf:Bag>
+       <rdf:li>
+        Logo       </rdf:li>
+      </rdf:Bag>
+     </dc:subject>
+     <cc:license
+   rdf:resource="http://creativecommons.org/licenses/by-nd/3.0/" />
+    </cc:Work>
+    <cc:License
+   rdf:about="http://creativecommons.org/licenses/by-nd/3.0/">
+     <cc:permits
+   rdf:resource="http://creativecommons.org/ns#Reproduction" />
+     <cc:permits
+   rdf:resource="http://creativecommons.org/ns#Distribution" />
+     <cc:requires
+   rdf:resource="http://creativecommons.org/ns#Notice" />
+     <cc:requires
+   rdf:resource="http://creativecommons.org/ns#Attribution" />
+    </cc:License>
+   </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+   inkscape:window-height="834"
+   inkscape:window-width="1295"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="namedview3836"
+   showgrid="true"
+   inkscape:object-nodes="true"
+   inkscape:grid-points="true"
+   inkscape:guide-points="true"
+   width="128px"
+   height="128px"
+   inkscape:zoom="3.9375"
+   inkscape:cx="64"
+   inkscape:cy="64"
+   inkscape:window-x="395"
+   inkscape:window-y="117"
+   inkscape:current-layer="svg2">
+   <inkscape:grid
+   id="grid3838"
+   type="xygrid"
+   originx="0px"
+   originy="0px"
+   spacingx="1px"
+   spacingy="1px"
+   color="#0000ff"
+   empcolor="#0000ff"
+   opacity="0.2"
+   empopacity="0.4"
+   empspacing="5" />
+  </sodipodi:namedview>
+  
+  
+ 
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+  
+    
+   <linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient4024"
+   id="linearGradient4030"
+   x1="73.773529"
+   y1="34.716957"
+   x2="7.6236558"
+   y2="72.366089"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient4024"
+   id="linearGradient4116"
+   gradientUnits="userSpaceOnUse"
+   x1="9.4750996"
+   y1="78.465012"
+   x2="64.742432"
+   y2="46.914806" />
+  <metadata
+   id="metadata4160" />
+  
+ <radialGradient
+   inkscape:collect="always"
+   xlink:href="#linearGradient4472"
+   id="radialGradient4478"
+   cx="44.602337"
+   cy="44.941875"
+   fx="44.602337"
+   fy="44.941875"
+   r="35.79092"
+   gradientTransform="matrix(1, 0, 0, 1.15885, 0, -7.1388)"
+   gradientUnits="userSpaceOnUse" /><filter
+   inkscape:collect="always"
+   id="filter3357"><feGaussianBlur
+     inkscape:collect="always"
+     stdDeviation="2.6811911"
+     id="feGaussianBlur3359" /></filter></defs>
+ 
+ <path
+   style="fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1; filter: url(#filter3357);"
+   d="M 17.091117,8.0900691 L 80.688789,3.507838 C 83.229977,4.1306547 84.660349,6.5850788 84.592564,8.7115923 L 84.666563,83.255453 C 84.627506,84.204671 84.368459,84.929044 84.046689,85.456149 C 83.061689,86.21353 81.854514,86.556277 80.541045,86.436862 L 18.151615,78.623279 C 16.029205,78.182442 14.445482,76.236797 14.328795,73.719407 L 13.085984,12.818162 C 13.047067,11.517857 13.900155,8.36003 17.091117,8.0900691 z"
+   id="path2573"
+   sodipodi:nodetypes="cccccccccc"
+   transform="matrix(1, 0, 0, 1.01684, 0, -0.11242)" /><path
+   style="fill: rgb(255, 255, 255); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"
+   d="M 12.817811,7.3540988 L 76.415483,3.4657395 C 78.956672,4.0885562 80.387044,6.5429803 80.319258,8.6694938 L 80.393257,83.213355 C 80.354201,84.162573 80.095153,84.886946 79.773383,85.414051 C 78.788384,86.171432 77.581208,86.514179 76.267739,86.394764 L 13.878309,79.275053 C 11.755899,78.834216 10.172176,76.888571 10.055489,74.371181 L 8.8126782,12.082192 C 8.7737615,10.781887 9.6268498,7.6240597 12.817811,7.3540988 z"
+   id="rect4467"
+   sodipodi:nodetypes="cccccccccc" /><path
+   sodipodi:nodetypes="cccccccccc"
+   id="path4470"
+   d="M 12.817811,7.3540988 L 76.415483,3.4657395 C 78.956672,4.0885562 80.387044,6.5429803 80.319258,8.6694938 L 80.393257,83.213355 C 80.354201,84.162573 80.095153,84.886946 79.773383,85.414051 C 78.788384,86.171432 77.581208,86.514179 76.267739,86.394764 L 13.878309,79.275053 C 11.755899,78.834216 10.172176,76.888571 10.055489,74.371181 L 8.8126782,12.082192 C 8.7737615,10.781887 9.6268498,7.6240597 12.817811,7.3540988 z"
+   style="fill: url(#radialGradient4478) rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" /><g
+   id="Ebene_x0020_2"
+   visibility="hidden"
+   style="fill: rgb(0, 0, 0); stroke: none; visibility: hidden;">
+  <metadata
+   id="CorelCorpID_1Corel-Layer" />
+  <path
+   class="fil1 str0"
+   d="M 82.9259,82.4551 L 82.9178,82.762 L 82.894,83.0632 L 82.8547,83.3577 L 82.8006,83.6459 L 82.7318,83.9269 L 82.6489,84.2006 L 82.5524,84.4666 L 82.4425,84.7249 L 82.3195,84.9747 L 82.1841,85.2161 L 82.0366,85.4486 L 81.8774,85.6719 L 81.7068,85.8855 L 80.5321,87.3512 L 80.7062,87.1333 L 80.8686,86.9054 L 81.0192,86.6682 L 81.1574,86.4219 L 81.2829,86.167 L 81.3949,85.9034 L 81.4935,85.632 L 81.578,85.3526 L 81.6482,85.0659 L 81.7034,84.7719 L 81.7436,84.4713 L 81.7678,84.1641 L 81.7761,83.8509 L 81.7761,83.2671 L 81.7761,82.6833 L 81.7761,82.0994 L 81.7761,7.8138 L 81.7676,7.4861 L 81.7426,7.1631 L 81.7015,6.846 L 81.6447,6.5344 L 81.5724,6.2293 L 81.4855,5.9308 L 81.384,5.6395 L 81.2686,5.3554 L 81.1395,5.0794 L 80.9973,4.8116 L 80.8422,4.5524 L 80.6752,4.3021 L 80.4958,4.0615 L 80.3054,3.8304 L 80.1038,3.6097 L 79.8917,3.3994 L 79.6691,3.2004 L 79.4369,3.0125 L 79.1954,2.8366 L 78.9451,2.6725 L 78.6861,2.5213 L 78.4193,2.3828 L 78.1447,2.2577 L 77.8631,2.1462 L 77.57
 44,2.049
  L 77.2796,1.9662 L 76.9787,1.8983 L 78.2245,2.1417 L 78.5193,2.2083 L 78.8083,2.2893 L 79.0911,2.3847 L 79.3671,2.494 L 79.6362,2.6166 L 79.8977,2.7523 L 80.1515,2.9004 L 80.3968,3.0612 L 80.6335,3.2336 L 80.861,3.4178 L 81.0791,3.6128 L 81.287,3.8188 L 81.4846,4.0352 L 81.6713,4.2617 L 81.847,4.4975 L 82.0108,4.7428 L 82.1627,4.9968 L 82.3021,5.2592 L 82.4286,5.5296 L 82.5417,5.8081 L 82.6411,6.0935 L 82.7263,6.3862 L 82.797,6.6852 L 82.8528,6.9904 L 82.893,7.3012 L 82.9176,7.6178 L 82.9259,7.9389 L 82.9259,82.4551 z M 76.189,86.3723 L 76.4601,86.3962 L 76.7286,86.4064 L 76.9933,86.4028 L 77.2543,86.3859 L 77.5108,86.3559 L 77.763,86.3132 L 78.01,86.2579 L 78.252,86.1906 L 78.4879,86.1112 L 78.7181,86.0203 L 78.9416,85.918 L 79.1588,85.8049 L 79.3686,85.6809 L 79.571,85.5466 L 79.7655,85.4022 L 79.9521,85.2481 L 80.1297,85.0841 L 80.2988,84.9111 L 80.4584,84.7291 L 79.2583,86.1712 L 79.0953,86.3569 L 78.9229,86.5336 L 78.7416,86.7007 L 78.5512,86.8581 L 78.3527,87.0055 L 7
 8.1462,8
 7.1425 L 77.9321,87.269 L 77.7106,87.3845 L 77.4824,87.4888 L 77.2475,87.5815 L 77.0067,87.6626 L 76.7599,87.7313 L 76.5078,87.7877 L 76.2505,87.8312 L 75.9888,87.8619 L 75.7224,87.8791 L 75.4523,87.8828 L 75.1784,87.8724 L 74.9016,87.8479 L 14.1538,80.9158 L 13.7157,80.8658 L 13.2781,80.816 L 12.8414,80.7661 L 12.4052,80.7164 L 11.9698,80.6667 L 11.5349,80.6172 L 11.3276,80.5874 L 11.1226,80.5463 L 10.9206,80.4939 L 10.7215,80.4308 L 10.5258,80.3571 L 10.3336,80.2734 L 10.1453,80.1796 L 9.961,80.0764 L 9.7813,79.9638 L 9.606,79.8425 L 9.4356,79.7124 L 9.2703,79.5743 L 9.1105,79.428 L 8.956,79.2743 L 8.8074,79.1132 L 8.6649,78.9452 L 8.5291,78.7703 L 8.3997,78.5892 L 8.2773,78.4021 L 8.1618,78.2095 L 8.0539,78.0111 L 7.9536,77.808 L 7.8613,77.6 L 7.7769,77.3878 L 7.7012,77.1713 L 7.6338,76.951 L 7.5756,76.7274 L 7.5264,76.5007 L 7.4868,76.2709 L 7.4566,76.0389 L 7.4365,75.8047 L 7.4264,75.5688 L 6.1539,12.2599 L 6.1544,12.0164 L 6.1655,11.7752 L 6.1869,11.5367 L 6.2181,11.30
 11 L 6.2
 593,11.069 L 6.3098,10.8404 L 6.3699,10.6158 L 6.4387,10.3953 L 6.5166,10.1798 L 6.603,9.9691 L 6.6977,9.7637 L 6.8003,9.5637 L 6.9109,9.3699 L 7.0288,9.1821 L 7.1542,9.0011 L 7.2866,8.8267 L 7.4259,8.66 L 7.5716,8.5006 L 7.7238,8.3492 L 7.8819,8.2058 L 8.0459,8.0712 L 8.2154,7.9452 L 8.3903,7.8286 L 8.57,7.7213 L 8.7547,7.6241 L 8.944,7.5369 L 9.1376,7.4603 L 9.3351,7.3944 L 9.5367,7.3397 L 9.7416,7.2965 L 9.9499,7.2651 L 10.1611,7.2456 L 10.6036,7.2185 L 11.0468,7.1913 L 11.4905,7.164 L 11.935,7.1366 L 12.3801,7.1094 L 12.8257,7.0819 L 13.2721,7.0545 L 74.7051,3.281 L 74.9903,3.2711 L 75.2722,3.2758 L 75.5503,3.2951 L 75.8244,3.3283 L 77.0932,3.5431 L 76.8246,3.5105 L 76.552,3.4917 L 76.2758,3.4871 L 75.9963,3.4968 L 75.433,3.5315 L 74.8706,3.5663 L 13.177,7.3555 L 12.7434,7.3821 L 12.5363,7.4011 L 12.3321,7.4319 L 12.1314,7.4744 L 11.9338,7.5279 L 11.7403,7.5924 L 11.5506,7.6675 L 11.3651,7.753 L 11.1841,7.8483 L 11.0079,7.9533 L 10.8365,8.0677 L 10.6705,8.1911 L 10.5097,
 8.3231 L
  10.3547,8.4636 L 10.2056,8.6119 L 10.0627,8.7682 L 9.9263,8.9316 L 9.7965,9.1025 L 9.6737,9.2798 L 9.558,9.4638 L 9.4497,9.6538 L 9.3492,9.8498 L 9.2563,10.0511 L 9.1717,10.2576 L 9.0954,10.4688 L 9.0279,10.6848 L 8.969,10.905 L 8.9196,11.1289 L 8.8791,11.3565 L 8.8486,11.5873 L 8.8276,11.8211 L 8.8168,12.0574 L 8.8162,12.296 L 8.8264,12.7894 L 8.8362,13.2825 L 8.8462,13.7757 L 8.856,14.2686 L 8.8659,14.7615 L 8.8757,15.2542 L 8.8856,15.7469 L 8.8954,16.2394 L 8.9055,16.7319 L 8.9154,17.2243 L 8.9253,17.7165 L 8.9351,18.2084 L 8.945,18.7006 L 8.9548,19.1924 L 8.9647,19.684 L 8.9745,20.1755 L 8.9844,20.6672 L 8.9943,21.1586 L 9.0042,21.6498 L 9.014,22.1409 L 9.0239,22.6318 L 9.0294,22.9058 L 38.765323,21.259149 L 39.671538,23.190289 L 41.589655,23.080505 L 40.7533,21.1049 L 38.7427,21.2485 L 9.0294,22.9072 L 9.0337,23.1227 L 9.0436,23.6132 L 9.0534,24.1037 L 9.0634,24.594 L 9.0732,25.0842 L 9.0831,25.5742 L 9.0929,26.0641 L 9.1008,26.4565 L 11.6093,26.2178 L 42.3483,24.7592 
 L 43.136
 8,26.6197 L 43.1911,26.7427 L 41.2302,27.0014 L 41.1749,26.8758 L 40.3703,24.9774 L 9.1009,26.4613 L 9.1028,26.5539 L 9.1126,27.0433 L 9.1225,27.5328 L 9.1322,28.0219 L 9.142,28.5092 L 9.1519,28.9963 L 9.1617,29.4835 L 9.1714,29.9706 L 9.1726,30.0297 L 11.6769,29.7224 L 43.8813,28.5197 L 43.9345,28.6467 L 44.7377,30.5489 L 42.8084,30.8852 L 41.9889,28.9442 L 41.9346,28.8146 L 9.1728,30.0382 L 9.1812,30.458 L 9.1912,30.9451 L 9.201,31.4323 L 9.2106,31.9193 L 9.2204,32.4065 L 9.2302,32.8936 L 9.2401,33.3807 L 9.2446,33.6092 L 11.7372,33.2346 L 45.4331,32.2177 L 45.4892,32.3557 L 46.3414,34.4054 L 44.445,34.8204 L 43.5753,32.7289 L 43.518,32.5881 L 9.2448,33.6223 L 9.2496,33.8677 L 9.2596,34.3547 L 9.2694,34.8417 L 9.2793,35.3285 L 9.2888,35.8151 L 9.2986,36.3019 L 9.3085,36.7885 L 9.3159,37.1515 L 11.8043,36.7095 L 46.997,35.9493 L 47.9492,38.2329 L 46.0855,38.726 L 45.1138,36.3958 L 9.4635,37.167 L 9.3163,37.1696 L 9.3184,37.275 L 9.328,37.7614 L 9.3378,38.2477 L 9.3476,38.73
 39 L 9.3
 574,39.2198 L 9.3669,39.7055 L 9.3768,40.1913 L 9.3867,40.6768 L 9.3867,40.6788 L 11.871,40.1698 L 48.5657,39.7387 L 49.5761,42.0796 L 47.7457,42.6512 L 46.7147,40.2626 L 9.3872,40.7015 L 9.3966,41.1624 L 9.4061,41.6474 L 9.4159,42.1324 L 9.4255,42.6171 L 9.4353,43.1015 L 9.4449,43.5859 L 9.4548,44.0694 L 9.4573,44.1908 L 11.9376,43.6152 L 50.1537,43.4978 L 51.071,45.6095 L 50.887733,45.807399 L 49.130423,46.599325 L 49.271,46.2533 L 48.335,44.0985 L 9.6196,44.2176 L 9.4578,44.218 L 9.4646,44.553 L 9.4745,45.0366 L 9.484,45.5202 L 9.4939,46.0036 L 9.5035,46.4871 L 9.5133,46.9706 L 9.5229,47.4542 L 9.5284,47.7252 L 12.0046,47.0827 L 50.3179,47.2212 L 50.2453,47.3716 L 49.1779,49.5958 L 47.3393,50.321 L 48.5026,47.8978 L 9.6891,47.7583 L 9.529,47.7573 L 9.5327,47.9375 L 9.5423,48.4209 L 9.5522,48.9042 L 9.5618,49.3875 L 9.5717,49.8705 L 9.5812,50.3538 L 9.591,50.8367 L 9.5989,51.2368 L 12.071,50.5281 L 48.5063,51.0119 L 47.4565,53.2183 L 45.5827,54.0173 L 46.6541,51.766 L 9.74
 32,51.27
 65 L 9.5997,51.2743 L 9.6006,51.3199 L 9.6104,51.8026 L 9.62,52.2854 L 9.6299,52.7681 L 9.6394,53.2507 L 9.6493,53.733 L 9.6588,54.2156 L 9.6686,54.6977 L 9.6696,54.7484 L 12.1376,53.9736 L 46.7127,54.6995 L 45.7309,56.8104 L 43.8218,57.6827 L 44.8238,55.5288 L 9.6705,54.7908 L 9.6783,55.18 L 9.6881,55.6618 L 9.6976,56.1438 L 9.7075,56.6254 L 9.717,57.1072 L 9.7268,57.5885 L 9.7365,58.0699 L 9.741,58.297 L 12.2046,57.4557 L 44.9898,58.4231 L 44.0157,60.3658 L 42.0717,61.3107 L 43.0657,59.3284 L 9.7419,58.3452 L 9.746,58.5509 L 9.7555,59.032 L 9.7654,59.5112 L 9.7749,59.9907 L 9.7847,60.4699 L 9.7943,60.9494 L 9.8041,61.4286 L 9.811,61.7781 L 12.2707,60.8716 L 43.2399,62.0428 L 42.4,63.8833 L 40.423,64.9 L 41.2801,63.022 L 9.8121,61.832 L 9.8136,61.9078 L 9.8232,62.3869 L 9.8328,62.8661 L 9.8426,63.345 L 9.8522,63.824 L 9.8617,64.3029 L 9.8712,64.7818 L 9.8811,65.2603 L 9.8812,65.2665 L 12.3367,64.2948 L 41.5531,65.6845 L 39.5589,66.738 L 10.1861,65.341 L 9.8824,65.3264 L 9.8
 907,65.7
 391 L 9.9002,66.2176 L 9.9097,66.6963 L 9.9196,67.1745 L 9.9291,67.6529 L 9.9387,68.1311 L 9.9483,68.6092 L 9.9519,68.7849 L 12.4035,67.7475 L 39.0528,69.1849 L 39.4995,69.2094 L 39.4942,69.2205 L 39.4889,69.2319 L 39.4838,69.2431 L 39.4788,69.254 L 39.4743,69.2644 L 39.4702,69.2745 L 39.4666,69.2841 L 39.4635,69.2932 L 39.3558,69.3528 L 39.3503,69.3584 L 39.3397,69.3696 L 39.3297,69.3804 L 39.3201,69.3913 L 39.3108,69.4021 L 39.3022,69.4133 L 39.2128,69.4628 L 39.2104,69.4674 L 39.205,69.4775 L 39.1996,69.4874 L 39.1942,69.4973 L 39.1888,69.5073 L 39.1834,69.5178 L 39.178,69.529 L 39.0695,69.5891 L 39.0645,69.5941 L 39.0591,69.5995 L 39.0533,69.6053 L 37.008,70.7387 L 37.0139,70.7329 L 37.0194,70.7273 L 37.0249,70.7218 L 37.0304,70.7163 L 37.0362,70.7108 L 37.0417,70.7053 L 37.0472,70.6998 L 37.0527,70.6942 L 37.1438,70.6437 L 37.1463,70.6388 L 37.1519,70.6285 L 37.1574,70.6185 L 37.1603,70.6129 L 36.8052,70.8096 L 36.8111,70.8037 L 36.8151,70.7997 L 36.7228,70.8508 L 36.73
 17,70.84
 54 L 36.8162,70.7986 L 36.8166,70.7982 L 36.8221,70.7927 L 36.8276,70.7872 L 36.8334,70.7817 L 36.8389,70.7762 L 36.8444,70.7706 L 36.8499,70.7651 L 37.175,70.5851 L 37.1795,70.5762 L 37.2801,70.5205 L 37.2802,70.5204 L 37.2901,70.5093 L 37.3002,70.4983 L 37.311,70.4869 L 37.3219,70.4759 L 37.3329,70.4648 L 37.3439,70.4538 L 37.432,70.4051 L 37.4334,70.4013 L 37.4377,70.3909 L 37.4422,70.3803 L 37.4473,70.3692 L 37.4525,70.3578 L 37.4579,70.3462 L 37.4633,70.3348 L 37.4371,70.3334 L 36.3918,70.9109 L 36.4006,70.9055 L 37.4362,70.3333 L 35.6439,70.2363 L 34.386604,70.174359 L 10.224,68.8652 L 9.9532,68.8506 L 9.958,69.0871 L 9.9675,69.5652 L 9.977,70.043 L 9.9866,70.5209 L 9.9965,70.9983 L 10.006,71.4759 L 10.0156,71.9532 L 10.0215,72.2504 L 12.4689,71.1486 L 35.5517,72.6014 L 35.5697,74.0705 L 33.4534,75.295 L 33.4524,75.2021 L 33.435,73.796 L 10.2332,72.336 L 10.0229,72.3226 L 10.0251,72.4307 L 10.0346,72.9077 L 10.0442,73.3849 L 10.0538,73.8618 L 10.0633,74.3387 L 10.0731,
 74.5699 
 L 10.0928,74.7994 L 10.1225,75.0268 L 10.1613,75.252 L 10.2095,75.4741 L 10.2666,75.6933 L 10.3325,75.9091 L 10.4068,76.1214 L 10.4896,76.3294 L 10.58,76.5331 L 10.6783,76.7322 L 10.784,76.9266 L 10.8972,77.1153 L 11.0171,77.2987 L 11.1439,77.4761 L 11.277,77.6476 L 11.4167,77.8122 L 11.5623,77.9701 L 11.7137,78.1208 L 11.8703,78.2641 L 12.0324,78.3994 L 12.1993,78.5269 L 12.3711,78.6458 L 12.5473,78.7562 L 12.7279,78.8573 L 12.9124,78.9491 L 13.1007,79.0313 L 13.2924,79.1035 L 13.4876,79.1654 L 13.6856,79.2167 L 13.8864,79.2569 L 14.0897,79.2861 L 74.5381,86.1836 L 75.0875,86.2464 L 75.6378,86.3092 L 76.189,86.3723 L 76.189,86.3723 z M 34.8606,18.7453 L 36.228214,18.724592 C 37.971462,18.712199 37.943293,18.825508 38.346563,19.205978 L 37.487073,19.279179 C 36.690089,18.733992 35.720531,18.821581 34.7766,18.8152 L 32.7297,18.8407 L 32.7169,17.8041 L 34.8479,17.7294 L 34.8606,18.7453 L 34.8606,18.7453 z M 32.6622,13.9686 L 34.7944,13.9707 L 34.8206,15.4945 L 32.6889,15.5236 
 L 32.662
 2,13.9686 L 32.6622,13.9686 z M 78.1675,76.3511 L 78.1675,76.446 L 78.1675,76.5411 L 78.1675,76.6361 L 78.1678,76.7313 L 78.1678,76.8261 L 78.1679,76.9212 L 78.1679,77.0163 L 78.1682,77.1114 L 78.1682,77.2062 L 78.1682,77.3013 L 78.1682,77.3965 L 78.1686,77.4916 L 78.1686,77.5864 L 78.1689,77.6815 L 78.1689,77.7767 L 78.1692,77.8719 L 76.9223,79.174 L 76.922,79.0769 L 76.922,78.9799 L 76.9217,78.8828 L 76.9217,78.7861 L 76.9214,78.689 L 76.9214,78.5919 L 76.9214,78.4949 L 76.9214,78.3981 L 76.921,78.301 L 76.921,78.204 L 76.9209,78.1069 L 76.9209,78.0102 L 76.9206,77.9131 L 76.9206,77.8161 L 76.9206,77.7191 L 76.9206,77.6223 L 76.7971,77.6092 L 76.6747,77.5933 L 76.5532,77.5743 L 76.4328,77.5524 L 76.313,77.5273 L 76.1943,77.4996 L 76.0764,77.4689 L 75.9597,77.4353 L 75.8436,77.3987 L 75.7286,77.3593 L 75.6146,77.3171 L 75.5017,77.2722 L 75.3895,77.2243 L 75.2785,77.1739 L 75.1684,77.1206 L 75.0594,77.0648 L 74.9512,77.0059 L 74.8442,76.9446 L 74.7381,76.8804 L 74.6331,76.81
 38 L 74.
 529,76.7444 L 74.4262,76.6725 L 74.3244,76.5979 L 74.2238,76.521 L 74.1239,76.4414 L 74.0253,76.3592 L 73.9277,76.2745 L 73.8315,76.1875 L 73.736,76.0979 L 73.6419,76.0059 L 73.5488,75.9114 L 73.4571,75.8148 L 73.3664,75.7089 L 73.275,75.5985 L 73.1826,75.4832 L 73.0894,75.3633 L 72.9951,75.2384 L 72.9001,75.1091 L 72.804,74.9748 L 72.7071,74.8361 L 72.6091,74.6923 L 72.5103,74.5439 L 72.4105,74.3908 L 72.3101,74.2332 L 72.2086,74.0706 L 72.1062,73.9036 L 72.003,73.7316 L 71.899,73.5552 L 71.7938,73.3739 L 71.6879,73.1881 L 71.5811,72.9975 L 71.4736,72.8024 L 71.3649,72.6024 L 71.2556,72.3981 L 71.1453,72.1889 L 71.0345,71.9753 L 70.9225,71.7568 L 70.8098,71.5339 L 70.6961,71.3063 L 70.5819,71.0742 L 70.4665,70.8372 L 70.3505,70.596 L 70.2336,70.3499 L 70.1161,70.0996 L 69.9227,69.6531 L 69.7296,69.207 L 69.5366,68.761 L 57.9695,41.9684 L 67.3913,22.906 L 67.569,22.5466 L 67.7438,22.1955 L 67.9155,21.8532 L 68.0845,21.5194 L 68.2503,21.1945 L 68.4133,20.8781 L 68.5734,20.570
 4 L 68.7
 308,20.2712 L 68.8852,19.981 L 69.0369,19.6993 L 69.1857,19.4263 L 69.332,19.1618 L 69.4754,18.9062 L 69.6163,18.6591 L 69.7543,18.4208 L 69.89,18.1911 L 70.0228,17.9702 L 70.1533,17.7579 L 70.2811,17.5543 L 70.4066,17.3593 L 70.5293,17.1732 L 70.6498,16.9956 L 70.7679,16.8268 L 70.8837,16.6665 L 70.9969,16.5151 L 71.1079,16.3723 L 71.2166,16.2382 L 71.3231,16.1127 L 71.4273,15.996 L 71.5293,15.8879 L 71.6291,15.7886 L 71.7269,15.6978 L 71.8247,15.6101 L 71.9254,15.5251 L 72.0286,15.4427 L 72.1348,15.3629 L 72.2435,15.2859 L 72.3552,15.2113 L 72.4696,15.1395 L 72.5869,15.07 L 72.7069,15.0035 L 72.8299,14.9395 L 72.9558,14.8782 L 73.0848,14.8192 L 73.2165,14.763 L 73.3514,14.7092 L 73.4892,14.6582 L 73.6303,14.6095 L 73.7741,14.5636 L 73.9213,14.5201 L 74.0714,14.4792 L 74.225,14.4407 L 74.3814,14.4048 L 74.5413,14.3714 L 74.7042,14.3406 L 74.8707,14.312 L 75.0401,14.2861 L 75.2131,14.2626 L 75.3892,14.2415 L 75.5689,14.2229 L 75.7518,14.2068 L 75.9382,14.1931 L 76.128,14.181
 8 L 76.3
 215,14.1728 L 76.3212,14.0696 L 76.3212,13.966 L 76.3209,13.8626 L 76.3209,13.759 L 76.3206,13.6554 L 76.3206,13.5519 L 76.3204,13.4481 L 76.3204,13.3442 L 76.3201,13.2404 L 76.3201,13.1364 L 76.3198,13.0322 L 76.3198,12.9279 L 76.3195,12.8235 L 76.3195,12.7188 L 76.3195,12.614 L 76.3195,12.5089 L 77.5785,12.5401 L 77.5785,12.6431 L 77.5785,12.7459 L 77.5785,12.8484 L 77.5787,12.9507 L 77.5787,13.053 L 77.579,13.155 L 77.579,13.257 L 77.5793,13.3587 L 77.5793,13.4605 L 77.5794,13.5623 L 77.5794,13.6637 L 77.5798,13.7652 L 77.5798,13.8667 L 77.5801,13.9681 L 77.5801,14.0696 L 77.5804,14.1708 L 77.3908,14.1795 L 77.2048,14.1906 L 77.022,14.2041 L 76.8428,14.2199 L 76.6667,14.2381 L 76.4941,14.2587 L 76.3247,14.2818 L 76.1586,14.3071 L 75.9955,14.3351 L 75.8357,14.3653 L 75.6792,14.3981 L 75.5258,14.4332 L 75.3753,14.471 L 75.2282,14.5111 L 75.084,14.5537 L 74.9431,14.5986 L 74.8048,14.6464 L 74.6697,14.6965 L 74.5375,14.7492 L 74.4084,14.8041 L 74.282,14.8619 L 74.1586,14.9221
  L 74.03
 81,14.9848 L 73.9204,15.05 L 73.8055,15.1181 L 73.6934,15.1884 L 73.584,15.2616 L 73.4774,15.337 L 73.3734,15.4152 L 73.2722,15.496 L 73.1735,15.5793 L 73.0776,15.6652 L 72.9818,15.7542 L 72.8841,15.8516 L 72.7841,15.9575 L 72.682,16.0718 L 72.5776,16.1948 L 72.4711,16.3262 L 72.3622,16.4662 L 72.2513,16.6146 L 72.1379,16.7716 L 72.0221,16.9371 L 71.9041,17.1111 L 71.7837,17.2935 L 71.6609,17.4847 L 71.5356,17.6841 L 71.4077,17.8922 L 71.2776,18.1086 L 71.1446,18.3338 L 71.0092,18.5674 L 70.8711,18.8094 L 70.7307,19.0599 L 70.5873,19.3191 L 70.4414,19.5866 L 70.2928,19.8627 L 70.1415,20.1472 L 69.9872,20.4403 L 69.8304,20.7419 L 69.6706,21.052 L 69.5082,21.3704 L 69.3426,21.6975 L 69.1742,22.033 L 69.003,22.377 L 68.8289,22.7293 L 59.5955,41.4104 L 71.3096,68.5413 L 71.4991,68.9789 L 71.6142,69.2241 L 71.7288,69.4653 L 71.8425,69.7017 L 71.9556,69.934 L 72.0676,70.1615 L 72.1789,70.3845 L 72.2894,70.6029 L 72.3991,70.8171 L 72.5078,71.0265 L 72.6158,71.2314 L 72.7229,71.4316
  L 72.82
 94,71.6276 L 72.9348,71.8188 L 73.0396,72.0056 L 73.1432,72.1877 L 73.2464,72.3654 L 73.3482,72.5382 L 73.4494,72.7068 L 73.5497,72.8705 L 73.6492,73.0299 L 73.7476,73.1843 L 73.8454,73.3343 L 73.9422,73.4797 L 74.0383,73.6206 L 74.1332,73.7566 L 74.2274,73.8882 L 74.3205,74.0149 L 74.413,74.1373 L 74.5043,74.2549 L 74.5948,74.3677 L 74.6843,74.476 L 74.7733,74.5797 L 74.8632,74.6745 L 74.9543,74.767 L 75.0466,74.8572 L 75.1401,74.9451 L 75.2345,75.0302 L 75.3302,75.1133 L 75.4267,75.1938 L 75.5246,75.2719 L 75.6232,75.3473 L 75.723,75.4203 L 75.8237,75.4908 L 75.9258,75.5589 L 76.0287,75.6241 L 76.1326,75.687 L 76.2374,75.747 L 76.3435,75.8047 L 76.4503,75.8595 L 76.5583,75.9116 L 76.667,75.9611 L 76.777,76.0081 L 76.8876,76.0521 L 76.9994,76.0934 L 77.112,76.1321 L 77.2258,76.1679 L 77.3402,76.2008 L 77.4557,76.2309 L 77.5721,76.258 L 77.6895,76.2826 L 77.8074,76.304 L 77.9266,76.3227 L 78.0465,76.3383 L 78.1675,76.3511 L 78.1675,76.3511 z M 59.5721,76.0232 L 61.166,74.784
  L 61.43
 79,74.807 L 61.6998,74.8248 L 61.9519,74.8374 L 62.194,74.8447 L 62.4259,74.8466 L 62.6479,74.843 L 62.86,74.8338 L 63.0624,74.8189 L 63.2546,74.798 L 63.437,74.7715 L 63.652439,74.730232 C 63.475205,75.275112 63.15486,75.533771 62.7963,75.716 L 62.67,75.781 L 62.5339,75.8398 L 62.3877,75.8919 L 62.2317,75.9378 L 62.0656,75.9771 L 61.8895,76.0104 L 61.7033,76.0375 L 61.5072,76.0588 L 61.3007,76.074 L 61.0843,76.0834 L 60.8577,76.0871 L 60.621,76.0852 L 60.374,76.0776 L 60.1169,76.0649 L 59.8496,76.0466 L 59.5721,76.0232 L 59.5721,76.0232 z M 49.6986,73.7269 L 49.6996,73.8159 L 49.7002,73.9054 L 49.7012,73.9945 L 49.7019,74.0839 L 49.7028,74.1729 L 49.7034,74.2623 L 49.704,74.3517 L 49.7047,74.4412 L 49.7056,74.5303 L 49.7063,74.6196 L 49.7071,74.709 L 49.7077,74.7984 L 49.7086,74.8875 L 49.7092,74.977 L 49.7099,75.0664 L 49.7105,75.1558 L 47.8829,76.4025 L 47.8822,76.3113 L 47.8816,76.2201 L 47.8809,76.1288 L 47.8799,76.0379 L 47.8793,75.9467 L 47.8785,75.8555 L 47.8779,75.7
 642 L 47
 .8769,75.6733 L 47.8763,75.5821 L 47.8756,75.4909 L 47.875,75.3997 L 47.874,75.3088 L 47.8733,75.2175 L 47.8724,75.1266 L 47.8717,75.0354 L 47.8707,74.9445 L 47.6308,74.9195 L 47.3986,74.8903 L 47.174,74.8562 L 46.9572,74.8179 L 46.7481,74.7747 L 46.5466,74.7271 L 46.3528,74.6748 L 46.1664,74.618 L 45.988,74.5563 L 45.8171,74.4902 L 45.6538,74.4192 L 45.4981,74.3439 L 45.3502,74.2636 L 45.2096,74.1788 L 45.0768,74.0892 L 44.9514,73.995 L 44.8338,73.8958 L 44.7236,73.7921 L 44.6211,73.6835 L 44.526,73.5704 L 44.4386,73.4522 L 44.3586,73.3294 L 44.2861,73.2017 L 44.2209,73.0694 L 44.1636,72.9319 L 44.1135,72.7899 L 44.071,72.643 L 44.0358,72.4913 L 44.0083,72.3346 L 43.988,72.173 L 43.9752,72.0066 L 43.9697,71.8354 L 43.9702,71.7448 L 43.9731,71.6527 L 43.9784,71.559 L 43.9861,71.4636 L 43.9963,71.3665 L 44.0088,71.2679 L 44.0239,71.1677 L 44.0412,71.066 L 44.0611,70.9624 L 44.0833,70.8574 L 44.108,70.7507 L 44.1348,70.6426 L 44.1642,70.5327 L 44.1959,70.4214 L 44.2301,70.3086
  L 44.26
 65,70.1943 L 44.3055,70.0782 L 44.3466,69.9606 L 44.3902,69.8415 L 44.436,69.7209 L 44.4842,69.5987 L 44.5347,69.4752 L 44.5875,69.35 L 44.6424,69.2236 L 44.7,69.0953 L 44.7596,68.9658 L 44.8217,68.8348 L 44.8858,68.7025 L 44.9525,68.5684 L 45.0211,68.4332 L 45.0921,68.2963 L 45.1652,68.1582 L 45.439,67.6014 L 45.713,67.0441 L 54.0715,50.0642 L 54.739858,51.476036 L 47.0473,67.0764 L 46.9757,67.2116 L 46.9061,67.3458 L 46.8389,67.4784 L 46.7735,67.6098 L 46.7107,67.7393 L 46.6498,67.8677 L 46.5914,67.9947 L 46.535,68.1204 L 46.4811,68.2442 L 46.4294,68.3669 L 46.38,68.4879 L 46.3327,68.6078 L 46.2879,68.7259 L 46.2451,68.8427 L 46.2048,68.9579 L 46.1666,69.0716 L 46.131,69.1836 L 46.0974,69.2942 L 46.0663,69.4033 L 46.0376,69.511 L 46.0113,69.6169 L 45.987,69.7216 L 45.9653,69.8244 L 45.9458,69.9259 L 45.9288,70.0256 L 45.9141,70.1238 L 45.9018,70.2205 L 45.8918,70.3157 L 45.8843,70.4091 L 45.8791,70.501 L 45.8762,70.5912 L 45.8757,70.6799 L 45.8811,70.8477 L 45.8936,71.0109
  L 45.91
 35,71.1692 L 45.9405,71.3227 L 45.975,71.4714 L 46.0167,71.6154 L 46.0657,71.7545 L 46.122,71.8893 L 46.1858,72.0189 L 46.2568,72.1441 L 46.3353,72.2644 L 46.4209,72.3802 L 46.5141,72.491 L 46.6146,72.5975 L 46.7226,72.6991 L 46.8378,72.7964 L 46.9608,72.8886 L 47.0908,72.9765 L 47.2286,73.0596 L 47.3736,73.1383 L 47.5262,73.2121 L 47.6862,73.2817 L 47.8536,73.3465 L 48.0285,73.407 L 48.2112,73.4626 L 48.4011,73.5138 L 48.5985,73.5605 L 48.8033,73.6029 L 49.0159,73.6404 L 49.236,73.6737 L 49.4636,73.7024 L 49.6986,73.7269 L 49.6986,73.7269 z M 36.147,73.863 L 38.2095,72.667 L 38.4132,72.6812 L 38.6139,72.6863 L 38.8116,72.6819 L 39.0061,72.6685 L 39.1977,72.6457 L 39.3859,72.614 L 39.549468,72.547381 C 39.287636,72.794272 39.064915,73.032929 38.5956,73.3235 L 38.4279,73.4203 L 38.2568,73.5079 L 38.082,73.5865 L 37.9035,73.6559 L 37.7215,73.7163 L 37.5362,73.7671 L 37.3474,73.8089 L 37.1553,73.8413 L 36.9599,73.8645 L 36.7614,73.8783 L 36.5596,73.8826 L 36.3548,73.8775 L 36.1
 47,73.86
 3 z M 51.0368,21.3892 L 51.2553,21.9033 L 57.4258,36.3803 L 56.4356,38.43 L 49.2362,21.5385 L 49.1371,21.3131 L 49.0444,21.0894 L 48.9579,20.868 L 48.8779,20.6487 L 48.804,20.4317 L 48.7365,20.2168 L 48.6752,20.0043 L 48.6205,19.7942 L 48.5715,19.5867 L 48.5292,19.3817 L 48.4931,19.1792 L 48.4634,18.9792 L 48.4401,18.7822 L 48.4229,18.5877 L 48.4119,18.396 L 48.4072,18.2072 L 48.4092,18.0252 L 48.4193,17.8484 L 48.4376,17.6771 L 48.4639,17.5111 L 48.4984,17.3507 L 48.5411,17.1956 L 48.592,17.0461 L 48.6512,16.9018 L 48.7182,16.7633 L 48.7935,16.63 L 48.8768,16.5023 L 48.9685,16.3799 L 49.0679,16.2631 L 49.1756,16.1517 L 49.2914,16.0457 L 49.4153,15.9451 L 49.547,15.8502 L 49.6868,15.7607 L 49.8347,15.6767 L 49.9907,15.598 L 50.1545,15.525 L 50.3266,15.4572 L 50.5064,15.3951 L 50.6944,15.3383 L 50.8902,15.2872 L 51.0941,15.2414 L 51.3058,15.2013 L 51.5256,15.1665 L 51.7532,15.1373 L 51.9888,15.1134 L 52.2323,15.0951 L 52.4838,15.0823 L 52.4828,14.9839 L 52.4821,14.8855 L 52.4
 815,14.7
 872 L 52.4808,14.6888 L 52.4802,14.5904 L 52.4795,14.4921 L 52.4789,14.3937 L 52.4782,14.2953 L 52.4773,14.1969 L 52.4766,14.0986 L 52.476,14.0002 L 52.4753,13.9018 L 52.4747,13.8035 L 52.474,13.7051 L 52.4734,13.6067 L 52.4727,13.508 L 54.2086,13.5193 L 54.2093,13.6159 L 54.2099,13.7124 L 54.2104,13.8088 L 54.2111,13.9052 L 54.2117,14.0016 L 54.2124,14.098 L 54.213,14.1944 L 54.214,14.2908 L 54.2147,14.3872 L 54.2153,14.4836 L 54.2159,14.58 L 54.2165,14.6763 L 54.2172,14.7728 L 54.2178,14.8692 L 54.2185,14.9656 L 54.2194,15.062 L 53.9729,15.0746 L 53.7343,15.0925 L 53.5035,15.116 L 53.2804,15.1445 L 53.065,15.1787 L 52.8575,15.218 L 52.6577,15.2629 L 52.4658,15.3129 L 52.2816,15.3686 L 52.1053,15.4294 L 51.9367,15.4959 L 51.7762,15.5674 L 51.6233,15.6446 L 51.4784,15.7268 L 51.3414,15.8146 L 51.2123,15.9075 L 51.0909,16.0062 L 50.9774,16.11 L 50.8719,16.2193 L 50.7744,16.3337 L 50.6846,16.4536 L 50.603,16.5788 L 50.5292,16.7094 L 50.4635,16.8451 L 50.4055,16.9865 L 50.3556,
 17.1331 
 L 50.3137,17.2851 L 50.2799,17.4422 L 50.2542,17.6049 L 50.2362,17.7728 L 50.2264,17.9461 L 50.2243,18.1244 L 50.229,18.3095 L 50.2397,18.4973 L 50.2566,18.6879 L 50.2795,18.8811 L 50.3085,19.077 L 50.344,19.2754 L 50.3855,19.4764 L 50.4334,19.6797 L 50.4871,19.8856 L 50.547,20.0938 L 50.6132,20.3044 L 50.6856,20.5171 L 50.764,20.732 L 50.8488,20.9491 L 50.9396,21.1682 L 51.0368,21.3892 L 51.0368,21.3892 z"
+   id="path55"
+   sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
 cccccccc
 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+   style="fill: rgb(0, 0, 0); stroke: none; stroke-width: 0.0762;" />
+ </g><g
+   id="Ebene_x0020_1">
+  <metadata
+   id="CorelCorpID_0Corel-Layer" />
+  <metadata
+   id="metadata87">
+   <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>
+      x2go Logo     </dc:title>
+     <dc:date>
+      12.06.2007     </dc:date>
+     <dc:creator>
+      <cc:Agent>
+       <dc:title>
+        Heinz-M. Graesing       </dc:title>
+      </cc:Agent>
+     </dc:creator>
+     <dc:rights>
+      <cc:Agent>
+       <dc:title>
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:rights>
+     <dc:publisher>
+      <cc:Agent>
+       <dc:title>
+        obviously-nice       </dc:title>
+      </cc:Agent>
+     </dc:publisher>
+     <dc:source>
+      http://www.x2go.org/artwork     </dc:source>
+     <dc:language>
+      DE     </dc:language>
+     <dc:subject>
+      <rdf:Bag>
+       <rdf:li>
+        Logo       </rdf:li>
+      </rdf:Bag>
+     </dc:subject>
+     <cc:license
+   rdf:resource="http://creativecommons.org/licenses/by-nd/3.0/" />
+    </cc:Work>
+    <cc:License
+   rdf:about="http://creativecommons.org/licenses/by-nd/3.0/">
+     <cc:permits
+   rdf:resource="http://creativecommons.org/ns#Reproduction" />
+     <cc:permits
+   rdf:resource="http://creativecommons.org/ns#Distribution" />
+     <cc:requires
+   rdf:resource="http://creativecommons.org/ns#Notice" />
+     <cc:requires
+   rdf:resource="http://creativecommons.org/ns#Attribution" />
+    </cc:License>
+   </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+   inkscape:window-height="834"
+   inkscape:window-width="1295"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   guidetolerance="10.0"
+   gridtolerance="10.0"
+   objecttolerance="10.0"
+   borderopacity="1.0"
+   bordercolor="#666666"
+   pagecolor="#ffffff"
+   id="base"
+   showgrid="true"
+   inkscape:object-nodes="true"
+   inkscape:grid-points="true"
+   inkscape:guide-points="true"
+   width="128px"
+   height="128px"
+   inkscape:zoom="3.9375"
+   inkscape:cx="64"
+   inkscape:cy="64"
+   inkscape:window-x="395"
+   inkscape:window-y="117"
+   inkscape:current-layer="svg2">
+   <inkscape:grid
+   id="GridFromPre046Settings"
+   type="xygrid"
+   originx="0px"
+   originy="0px"
+   spacingx="1px"
+   spacingy="1px"
+   color="#0000ff"
+   empcolor="#0000ff"
+   opacity="0.2"
+   empopacity="0.4"
+   empspacing="5" />
+  </sodipodi:namedview>
+  <g
+   id="_135140408">
+   <g
+   id="g4">
+    <path
+   id="path6"
+   class="fil0"
+   d="M 56.4356,38.43 C 59.2274,32.7584 62.0575,26.9919 64.9409,21.1546 C 65.5532,19.4258 65.8314,18.1924 65.829,17.5582 C 65.8252,16.5385 65.4858,15.7624 64.8722,15.349 C 64.2047,14.8873 63.0639,14.6841 61.4573,14.747 C 61.4548,14.2121 61.4522,13.6772 61.4498,13.1423 C 66.3017,12.9357 71.2532,12.7248 76.3195,12.5089 C 76.3202,13.0694 76.3209,13.6211 76.3215,14.1728 C 74.2408,14.2544 72.7575,14.7472 71.7269,15.6978 C 70.6968,16.6183 69.3043,19.0232 67.3913,22.906 C 64.2032,29.3799 61.0627,35.7249 57.9695,41.9684 C 59.9695,46.5821 61.9754,51.2459 63.9869,55.91 C 66.0141,60.6105 68.0547,65.3372 70.1161,70.0996 C 71.3761,72.7964 72.497,74.713 73.4571,75.8148 C 74.4316,76.8604 75.6011,77.5002 76.9206,77.6223 C 76.9211,78.1395 76.9218,78.6567 76.9223,79.174 C 71.006,78.6089 65.2176,78.0569 59.5801,77.5189 C 59.5774,77.0203 59.5748,76.5218 59.5721,76.0232 C 61.08,76.1622 62.1498,76.082 62.7963,75.716 C 63.4281,75.3988 63.7646,74.7644 63.7533,73.9111 C 63.75,73.1095 63.2758,71.639 
 62.4209,
 69.5039 C 59.6235,62.9675 56.8327,56.4818 54.0715,50.0642 C 51.0608,56.1928 48.0821,62.2228 45.1652,68.1582 C 44.3715,69.6405 43.9607,70.8799 43.9697,71.8354 C 43.9871,73.6892 45.2696,74.7046 47.8707,74.9445 C 47.8747,75.4305 47.8789,75.9165 47.8829,76.4025 C 43.911,76.0228 40.007,75.6502 36.1633,75.2831 C 36.1579,74.8098 36.1524,74.3364 36.147,73.863 C 37.2628,73.9662 38.2536,73.663 39.0749,72.9796 C 39.919,72.287 40.7807,71.0587 41.6063,69.1968 C 43.3816,65.5014 45.1679,61.7672 46.9877,58.0028 C 48.8264,54.1991 50.6911,50.339 52.5594,46.4381 C 50.8284,42.3579 49.0942,38.2576 47.3863,34.2046 C 45.6837,30.1642 43.9763,26.1211 42.2893,22.1313 C 41.2324,19.5642 40.2901,17.8729 39.3706,16.9811 C 38.4277,16.0942 37.1147,15.6849 35.424,15.7351 C 35.4181,15.2297 35.4123,14.7242 35.4066,14.2187 C 40.9549,13.9985 46.6335,13.7568 52.4727,13.508 C 52.4764,14.0328 52.4801,14.5575 52.4838,15.0823 C 49.7603,15.1892 48.3836,16.2343 48.4072,18.2072 C 48.4152,19.2061 48.6918,20.3296 49.2362
 ,21.5385
  C 51.6146,27.1313 54.017,32.756 56.4356,38.43 L 56.4356,38.43 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g8">
+    <path
+   id="path10"
+   class="fil0"
+   d="M 8.7887,15.7146 C 12.5976,15.4493 16.4523,15.1534 20.3992,14.8738 C 24.4001,14.5904 28.4927,14.2764 32.6622,13.9686 C 32.6686,14.4949 32.675,15.0132 32.6889,15.5236 C 28.5099,15.556 24.4222,15.5875 20.411,15.6181 C 16.4683,15.6482 12.6019,15.6853 8.7887,15.7146 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g12">
+    <path
+   id="path14"
+   class="fil0"
+   d="M 8.858,19.2982 C 12.6631,19.058 16.522,18.8138 20.4576,18.5722 C 24.4546,18.327 28.5436,18.0679 32.7169,17.8041 C 32.7212,18.1469 32.7254,18.4979 32.7297,18.8407 C 33.7237,18.8325 34.71,18.8164 35.7116,18.8 C 35.7803,18.7979 35.8492,18.7955 35.9257,18.793 C 35.9791,18.7914 36.0327,18.7896 36.0938,18.7877 C 36.1398,18.8021 36.2012,18.8162 36.2625,18.8303 C 36.316,18.8287 36.3696,18.827 36.4307,18.8248 C 36.4844,18.8392 36.5457,18.8534 36.607,18.8595 C 36.6454,18.8744 36.6914,18.8891 36.7298,18.9037 C 36.7682,18.9186 36.8067,18.9334 36.8525,18.94 C 36.891,18.955 36.9371,18.9697 36.983,18.9843 C 37.0139,18.9995 37.0446,19.0146 37.0677,19.0298 C 37.0908,19.0452 37.1216,19.0604 37.1522,19.0674 C 37.1753,19.0829 37.2061,19.098 37.2368,19.1132 C 37.26,19.1286 37.2907,19.1437 37.3214,19.167 C 37.3369,19.1827 37.3524,19.1982 37.3602,19.2058 C 37.3832,19.2213 37.414,19.2364 37.4448,19.2516 C 37.4449,19.2677 37.4451,19.2838 37.4452,19.292 C 37.4605,19.2914 37.4757,19.291 37.4911
 ,19.2906
  C 32.4524,19.2963 27.5049,19.3017 22.71,19.3067 C 17.9836,19.3116 13.3788,19.3009 8.858,19.2982 L 8.858,19.2982 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g16">
+    <path
+   id="path18"
+   class="fil0"
+   d="M 8.9354,22.9122 C 13.6223,22.6595 18.4243,22.3933 23.3257,22.121 C 28.3345,21.8428 33.4735,21.5411 38.7427,21.2485 C 38.7818,21.3283 38.8284,21.4079 38.8751,21.4795 C 38.9222,21.5993 38.9846,21.7191 39.047,21.8388 C 39.1018,21.9669 39.1566,22.087 39.2189,22.2068 C 39.2739,22.343 39.3364,22.4791 39.3989,22.6072 C 39.4538,22.7516 39.5087,22.888 39.5712,23.0242 C 39.5946,23.0724 39.6257,23.1202 39.6567,23.16 C 34.2106,23.1141 28.9163,23.0726 23.752,23.04 C 18.6939,23.0081 13.7651,22.9538 8.9354,22.9122 L 8.9354,22.9122 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g20">
+    <path
+   id="path22"
+   class="fil0"
+   d="M 9.004,26.4657 C 13.9153,26.2415 18.9492,26.0004 24.1054,25.7609 C 29.3843,25.5157 34.8008,25.2479 40.3703,24.9774 C 40.6443,25.6541 40.9336,26.3314 41.2302,27.0014 C 35.5147,26.9202 29.9433,26.8288 24.5167,26.7398 C 19.2191,26.6529 14.0507,26.5525 9.004,26.4657 L 9.004,26.4657 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g24">
+    <path
+   id="path26"
+   class="fil0"
+   d="M 9.0729,30.0419 C 14.2083,29.8503 19.4811,29.6459 24.8766,29.452 C 30.4097,29.2532 36.0957,29.0328 41.9346,28.8146 C 42.2234,29.504 42.5122,30.1942 42.8084,30.8852 C 36.8163,30.7397 30.9681,30.586 25.2874,30.4439 C 19.7509,30.3055 14.336,30.1778 9.0729,30.0419 L 9.0729,30.0419 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g28">
+    <path
+   id="path30"
+   class="fil0"
+   d="M 9.1345,33.6257 C 14.5008,33.4629 19.997,33.2883 25.646,33.1241 C 31.4328,32.956 37.4028,32.7745 43.518,32.5881 C 43.8221,33.3395 44.1336,34.0753 44.445,34.8204 C 38.1538,34.6051 32.0375,34.3918 26.0802,34.1995 C 20.2903,34.0126 14.6363,33.8145 9.1345,33.6257 L 9.1345,33.6257 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g32">
+    <path
+   id="path34"
+   class="fil0"
+   d="M 9.2029,37.1716 C 11.9786,37.122 14.7923,37.0525 17.6368,36.9976 C 20.5192,36.9418 23.4475,36.8657 26.4065,36.8082 C 29.4111,36.7499 32.4691,36.6705 35.5579,36.6105 C 38.6999,36.5495 41.8954,36.4712 45.1138,36.3958 C 45.4404,37.1769 45.7592,37.951 46.0855,38.726 C 42.7681,38.5965 39.4962,38.4486 36.2698,38.3188 C 33.0891,38.1909 29.9458,38.0566 26.8635,37.9284 C 23.819,37.8019 20.812,37.6733 17.8513,37.5461 C 14.9431,37.4212 12.0427,37.2973 9.2029,37.1716 L 9.2029,37.1716 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g36">
+    <path
+   id="path38"
+   class="fil0"
+   d="M 9.271,40.7025 C 12.1506,40.6782 15.0757,40.6344 18.0315,40.6056 C 21.0405,40.5763 24.0954,40.5388 27.1808,40.5044 C 30.3119,40.4696 33.4964,40.4223 36.7343,40.3904 C 40.0103,40.358 43.3395,40.3005 46.7147,40.2626 C 47.056,41.0576 47.3972,41.8538 47.7457,42.6512 C 44.2795,42.4817 40.8509,42.2983 37.4833,42.1338 C 34.1686,41.9719 30.8838,41.7997 27.6677,41.6387 C 24.4891,41.4797 21.3559,41.3191 18.2686,41.1644 C 15.2341,41.0125 12.2224,40.8619 9.271,40.7025 L 9.271,40.7025 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g40">
+    <path
+   id="path42"
+   class="fil0"
+   d="M 9.3389,44.2183 C 12.3297,44.2136 15.3735,44.2051 18.4481,44.2042 C 21.5684,44.2032 24.7417,44.1829 27.9609,44.1737 C 31.2181,44.1644 34.5441,44.1509 37.9002,44.1411 C 41.3252,44.1312 44.7958,44.1129 48.335,44.0985 C 48.6446,44.8241 48.9541,45.534 49.271,46.2533 C 49.2264,46.3677 49.1817,46.4737 49.1445,46.5801 C 45.5374,46.3684 41.9904,46.1644 38.4894,45.9629 C 35.0563,45.7653 31.669,45.5459 28.3414,45.3503 C 25.0526,45.157 21.8235,44.9789 18.6322,44.7873 C 15.4945,44.5989 12.3938,44.4052 9.3389,44.2183 L 9.3389,44.2183 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g44">
+    <path
+   id="path46"
+   class="fil0"
+   d="M 9.4073,47.7566 C 12.4103,47.7777 15.4511,47.7878 18.5379,47.8055 C 21.6701,47.8236 24.8482,47.8265 28.0795,47.8408 C 31.3488,47.8553 34.6793,47.8741 38.0475,47.8848 C 41.4691,47.8957 44.9592,47.8989 48.5026,47.8978 C 48.1072,48.7178 47.7193,49.52 47.3393,50.321 C 43.9174,50.0866 40.5406,49.8671 37.225,49.6437 C 33.9542,49.4231 30.714,49.2051 27.5493,48.9955 C 24.415,48.7879 21.3258,48.5719 18.2818,48.3666 C 15.2837,48.1644 12.3226,47.9647 9.4073,47.7566 L 9.4073,47.7566 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g48">
+    <path
+   id="path50"
+   class="fil0"
+   d="M 9.4751,51.2723 C 12.3314,51.3205 15.2483,51.3582 18.1881,51.396 C 21.1658,51.4342 24.197,51.4659 27.266,51.5092 C 30.3733,51.5531 33.5334,51.5937 36.7396,51.6428 C 39.9987,51.6928 43.3112,51.7192 46.6541,51.766 C 46.2968,52.515 45.9396,53.2708 45.5827,54.0173 C 42.3459,53.7789 39.1393,53.5235 35.9856,53.2878 C 32.8776,53.0555 29.807,52.8179 26.7888,52.5884 C 23.8019,52.3614 20.8592,52.1414 17.9622,51.9247 C 15.0959,51.7105 12.2665,51.492 9.4751,51.2723 L 9.4751,51.2723 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g52">
+    <path
+   id="path54"
+   class="fil0"
+   d="M 9.543,54.7881 C 15.0381,54.9049 20.6775,55.0251 26.4615,55.1556 C 32.4051,55.2898 38.5309,55.4038 44.8238,55.5288 C 44.4898,56.2642 44.1557,56.974 43.8218,57.6827 C 37.7251,57.1749 31.7788,56.6677 26.007,56.1827 C 20.3779,55.7097 14.8927,55.2485 9.543,54.7881 L 9.543,54.7881 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g56">
+    <path
+   id="path58"
+   class="fil0"
+   d="M 9.6114,58.3412 C 14.8367,58.5046 20.1988,58.6609 25.6896,58.8282 C 31.3249,58.9998 37.1193,59.1522 43.0657,59.3284 C 42.7318,59.9929 42.3979,60.6565 42.0717,61.3107 C 36.306,60.7894 30.6911,60.2729 25.2271,59.7783 C 19.8839,59.2947 14.6986,58.8089 9.6114,58.3412 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g60">
+    <path
+   id="path62"
+   class="fil0"
+   d="M 9.8812,72.3136 C 13.6329,72.5533 17.4457,72.7897 21.3253,73.0379 C 25.2818,73.2909 29.3202,73.5331 33.435,73.796 C 33.4411,74.2984 33.4473,74.8007 33.4534,75.295 C 29.3368,74.7731 25.2885,74.2642 21.3368,73.7666 C 17.4463,73.2767 13.6371,72.7893 9.8812,72.3136 L 9.8812,72.3136 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g64">
+    <path
+   id="path66"
+   class="fil0"
+   d="M 9.8143,68.8431 C 14.1801,69.0811 18.6374,69.3242 23.1847,69.5724 C 27.8387,69.8263 32.5977,70.0697 37.4633,70.3348 C 37.4486,70.3658 37.4339,70.3967 37.4265,70.4203 C 37.3965,70.434 37.3666,70.4475 37.3439,70.4538 C 37.3142,70.4834 37.2843,70.5131 37.262,70.5428 C 37.232,70.5564 37.2021,70.57 37.1795,70.5762 C 37.1647,70.6071 37.15,70.63 37.1353,70.6609 C 37.1053,70.6744 37.0752,70.6881 37.0527,70.6942 C 37.0378,70.7091 37.0229,70.7239 37.008,70.7387 C 36.9853,70.7362 36.9551,70.7337 36.9325,70.7318 C 36.9025,70.7454 36.8726,70.7589 36.8499,70.7651 C 36.8351,70.7799 36.8202,70.7948 36.8052,70.8096 C 36.7753,70.8231 36.7453,70.8366 36.7228,70.8508 C 36.7077,70.8496 36.6926,70.8483 36.685,70.8471 C 36.655,70.8607 36.6251,70.8742 36.6026,70.8804 C 36.5724,70.8779 36.5422,70.8753 36.5196,70.8734 C 36.5044,70.8721 36.4894,70.8709 36.4742,70.8696 C 36.4442,70.8832 36.4143,70.8967 36.3918,70.9109 C 36.3691,70.9084 36.3389,70.9059 36.3163,70.904 C 36.2861,70.9015 36.2559,70.
 899 36.2
 257,70.8964 C 35.2753,70.8313 34.3323,70.7662 33.3969,70.7021 C 33.4006,70.9972 33.4041,71.2842 33.4077,71.5793 C 29.28,71.1082 25.2349,70.6376 21.2802,70.177 C 17.3931,69.7242 13.566,69.2797 9.8143,68.8431 L 9.8143,68.8431 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g68">
+    <path
+   id="path70"
+   class="fil0"
+   d="M 9.7462,65.3199 C 14.4335,65.5452 19.2272,65.7764 24.1337,66.0124 C 29.1471,66.2535 34.2885,66.4923 39.5589,66.738 C 39.4114,67.0576 39.2562,67.369 39.1087,67.6888 C 39.0494,67.7972 38.9827,67.889 38.9308,67.9898 C 38.8942,68.0913 38.85,68.1927 38.8134,68.2948 C 38.7689,68.3719 38.7244,68.433 38.6874,68.5026 C 33.5818,67.945 28.5964,67.4008 23.7317,66.8696 C 18.9646,66.3489 14.3026,65.8248 9.7462,65.3199 L 9.7462,65.3199 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <g
+   id="g72">
+    <path
+   id="path74"
+   class="fil0"
+   d="M 9.6788,61.8268 C 14.6273,62.0229 19.7049,62.2052 24.8956,62.4069 C 30.2237,62.6138 35.6796,62.8171 41.2801,63.022 C 40.9842,63.6509 40.7036,64.2802 40.423,64.9 C 34.9878,64.3619 29.6732,63.8327 24.5011,63.3166 C 19.4505,62.8127 14.5041,62.3194 9.6788,61.8268 L 9.6788,61.8268 z"
+   style="fill: rgb(77, 77, 77);" />
+   </g>
+   <path
+   id="path78"
+   class="fil0"
+   d="M 40.1418,4.0695 C 45.627,3.7154 51.2964,3.3498 57.0886,2.9765 C 63.034,2.5933 69.1331,2.1997 75.4009,1.7957 C 78.8762,1.5718 81.7761,4.2897 81.7761,7.8138 C 81.7761,14.2869 81.7761,20.7157 81.7761,27.1176 C 81.7761,33.5108 81.7761,39.8775 81.7761,46.2087 C 81.7761,52.54 81.7761,58.8536 81.7761,65.1316 C 81.7761,71.383 81.7761,77.6259 81.7761,83.8509 C 81.7761,87.2246 78.9565,89.6056 75.5879,89.2109 C 69.4599,88.4947 63.4897,87.7964 57.6625,87.1151 C 51.9856,86.4513 46.4291,85.8018 41.038,85.1705 C 35.7296,84.5494 30.5564,83.9454 25.5262,83.3564 C 20.6013,82.7799 15.7816,82.2167 11.0747,81.6663 C 8.5709,81.3737 6.5391,78.8588 6.4811,76.0161 C 6.3735,70.7421 6.2656,65.453 6.1574,60.1491 C 6.049,54.8377 5.9397,49.4889 5.8304,44.1327 C 5.7211,38.7765 5.6114,33.3976 5.5013,28.004 C 5.391,22.5952 5.28,17.1642 5.1688,11.7106 C 5.1086,8.7631 7.0921,6.2003 9.6468,6.0353 C 14.4416,5.7267 19.3363,5.411 24.3535,5.0875 C 29.4782,4.7571 34.7409,4.4176 40.1418,4.0695 L 40.1418,4.069
 5 z M 41
 .0182,83.9783 C 46.3132,84.5829 51.7661,85.2053 57.3394,85.8417 C 63.0404,86.4926 68.8997,87.1624 74.9016,87.8479 C 77.8726,88.1876 80.3538,86.0429 80.3528,83.0675 C 80.3508,76.9667 80.3488,70.8569 80.3468,64.7208 C 80.3449,58.567 80.3427,52.3954 80.3408,46.1975 C 80.3388,39.9997 80.329,33.7664 80.327,27.5067 C 80.325,21.2295 80.3152,14.9343 80.3132,8.5953 C 80.3121,5.4963 77.7651,3.0927 74.7051,3.281 C 68.5697,3.6587 62.5803,4.0233 56.7744,4.3765 C 51.0995,4.7218 45.5313,5.0683 40.1553,5.3995 C 34.8483,5.7259 29.6716,6.0448 24.6329,6.355 C 19.7016,6.6585 14.8776,6.9558 10.1611,7.2456 C 7.891,7.3855 6.1014,9.6505 6.1539,12.2599 C 6.2616,17.6288 6.3692,22.9829 6.4763,28.3067 C 6.5827,33.608 6.6893,38.9171 6.7954,44.1884 C 6.9012,49.4522 7.0072,54.716 7.1124,59.9497 C 7.2172,65.1686 7.3221,70.38 7.4264,75.5688 C 7.4772,78.0958 9.3087,80.3632 11.5349,80.6172 C 16.1681,81.1464 20.922,81.6857 25.7651,82.2355 C 30.7144,82.7975 35.8061,83.3823 41.0182,83.9783 L 41.0182,83.9783 z"
+   style="fill: rgb(77, 77, 77);" />
+  </g>
+  
+ </g>
+<g
+   id="g3723"><path
+     id="path3313"
+     transform="scale(0.282222)"
+     d="M 270.4375,44.3125 C 252.48604,45.0775 234.94178,45.830454 217.75,46.5625 C 217.7585,48.457815 217.74114,50.354683 217.75,52.25 C 223.44268,52.027126 227.50984,52.739056 229.875,54.375 C 232.04917,55.839803 233.23653,58.605641 233.25,62.21875 C 233.2585,64.465915 232.26332,68.843079 230.09375,74.96875 C 219.87698,95.652096 209.86096,116.06002 199.96875,136.15625 C 191.39891,116.05153 182.89616,96.129507 174.46875,76.3125 C 172.53977,72.028996 171.55959,68.039407 171.53125,64.5 C 171.44763,57.50941 176.31855,53.81628 185.96875,53.4375 C 185.95564,51.577972 185.9506,49.734528 185.9375,47.875 C 165.24742,48.756575 145.12808,49.594762 125.46875,50.375 C 125.48895,52.166142 125.51034,53.959212 125.53125,55.75 C 131.52192,55.572126 136.15902,57.013692 139.5,60.15625 C 142.75807,63.316171 146.09882,69.310226 149.84375,78.40625 C 155.82131,92.543336 161.87342,106.87112 167.90625,121.1875 C 172.39627,131.84272 176.95007,142.60154 181.5,153.34375 L 207.40625,153.34375 C 206.74
 188,151.
 80903 206.07025,150.2505 205.40625,148.71875 C 216.36641,126.59611 227.48483,104.09526 238.78125,81.15625 C 245.5596,67.398297 250.50628,58.886616 254.15625,55.625 C 257.80798,52.256732 263.06494,50.507884 270.4375,50.21875 C 270.43537,48.263907 270.43997,46.298525 270.4375,44.3125 z"
+     style="fill: url(#linearGradient3720) rgb(0, 0, 0); fill-opacity: 1;" /><g
+     style="fill: url(#linearGradient3595) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3315">
+    <path
+   style="fill: url(#linearGradient3593) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3317"
+   class="fil0"
+   d="M 8.7887,15.7146 C 12.5976,15.4493 16.4523,15.1534 20.3992,14.8738 C 24.4001,14.5904 28.4927,14.2764 32.6622,13.9686 C 32.6686,14.4949 32.675,15.0132 32.6889,15.5236 C 28.5099,15.556 24.4222,15.5875 20.411,15.6181 C 16.4683,15.6482 12.6019,15.6853 8.7887,15.7146 z" />
+   </g><g
+     style="fill: url(#linearGradient3599) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3319">
+    <path
+   style="fill: url(#linearGradient3597) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3321"
+   class="fil0"
+   d="M 8.858,19.2982 C 12.6631,19.058 16.522,18.8138 20.4576,18.5722 C 24.4546,18.327 28.5436,18.0679 32.7169,17.8041 C 32.7212,18.1469 32.7254,18.4979 32.7297,18.8407 C 33.7237,18.8325 34.71,18.8164 35.7116,18.8 C 35.7803,18.7979 35.8492,18.7955 35.9257,18.793 C 35.9791,18.7914 36.0327,18.7896 36.0938,18.7877 C 36.1398,18.8021 36.2012,18.8162 36.2625,18.8303 C 36.316,18.8287 36.3696,18.827 36.4307,18.8248 C 36.4844,18.8392 36.5457,18.8534 36.607,18.8595 C 36.6454,18.8744 36.6914,18.8891 36.7298,18.9037 C 36.7682,18.9186 36.8067,18.9334 36.8525,18.94 C 36.891,18.955 36.9371,18.9697 36.983,18.9843 C 37.0139,18.9995 37.0446,19.0146 37.0677,19.0298 C 37.0908,19.0452 37.1216,19.0604 37.1522,19.0674 C 37.1753,19.0829 37.2061,19.098 37.2368,19.1132 C 37.26,19.1286 37.2907,19.1437 37.3214,19.167 C 37.3369,19.1827 37.3524,19.1982 37.3602,19.2058 C 37.3832,19.2213 37.414,19.2364 37.4448,19.2516 C 37.4449,19.2677 37.4451,19.2838 37.4452,19.292 C 37.4605,19.2914 37.4757,19.291 37.4911
 ,19.2906
  C 32.4524,19.2963 27.5049,19.3017 22.71,19.3067 C 17.9836,19.3116 13.3788,19.3009 8.858,19.2982 L 8.858,19.2982 z" />
+   </g><g
+     style="fill: url(#linearGradient3603) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3323">
+    <path
+   style="fill: url(#linearGradient3601) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3325"
+   class="fil0"
+   d="M 8.9354,22.9122 C 13.6223,22.6595 18.4243,22.3933 23.3257,22.121 C 28.3345,21.8428 33.4735,21.5411 38.7427,21.2485 C 38.7818,21.3283 38.8284,21.4079 38.8751,21.4795 C 38.9222,21.5993 38.9846,21.7191 39.047,21.8388 C 39.1018,21.9669 39.1566,22.087 39.2189,22.2068 C 39.2739,22.343 39.3364,22.4791 39.3989,22.6072 C 39.4538,22.7516 39.5087,22.888 39.5712,23.0242 C 39.5946,23.0724 39.6257,23.1202 39.6567,23.16 C 34.2106,23.1141 28.9163,23.0726 23.752,23.04 C 18.6939,23.0081 13.7651,22.9538 8.9354,22.9122 L 8.9354,22.9122 z" />
+   </g><g
+     style="fill: url(#linearGradient3607) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3327">
+    <path
+   style="fill: url(#linearGradient3605) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3329"
+   class="fil0"
+   d="M 9.004,26.4657 C 13.9153,26.2415 18.9492,26.0004 24.1054,25.7609 C 29.3843,25.5157 34.8008,25.2479 40.3703,24.9774 C 40.6443,25.6541 40.9336,26.3314 41.2302,27.0014 C 35.5147,26.9202 29.9433,26.8288 24.5167,26.7398 C 19.2191,26.6529 14.0507,26.5525 9.004,26.4657 L 9.004,26.4657 z" />
+   </g><g
+     style="fill: url(#linearGradient3611) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3331">
+    <path
+   style="fill: url(#linearGradient3609) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3333"
+   class="fil0"
+   d="M 9.0729,30.0419 C 14.2083,29.8503 19.4811,29.6459 24.8766,29.452 C 30.4097,29.2532 36.0957,29.0328 41.9346,28.8146 C 42.2234,29.504 42.5122,30.1942 42.8084,30.8852 C 36.8163,30.7397 30.9681,30.586 25.2874,30.4439 C 19.7509,30.3055 14.336,30.1778 9.0729,30.0419 L 9.0729,30.0419 z" />
+   </g><g
+     style="fill: url(#linearGradient3615) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3335">
+    <path
+   style="fill: url(#linearGradient3613) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3337"
+   class="fil0"
+   d="M 9.1345,33.6257 C 14.5008,33.4629 19.997,33.2883 25.646,33.1241 C 31.4328,32.956 37.4028,32.7745 43.518,32.5881 C 43.8221,33.3395 44.1336,34.0753 44.445,34.8204 C 38.1538,34.6051 32.0375,34.3918 26.0802,34.1995 C 20.2903,34.0126 14.6363,33.8145 9.1345,33.6257 L 9.1345,33.6257 z" />
+   </g><g
+     style="fill: url(#linearGradient3619) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3339">
+    <path
+   style="fill: url(#linearGradient3617) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3341"
+   class="fil0"
+   d="M 9.2029,37.1716 C 11.9786,37.122 14.7923,37.0525 17.6368,36.9976 C 20.5192,36.9418 23.4475,36.8657 26.4065,36.8082 C 29.4111,36.7499 32.4691,36.6705 35.5579,36.6105 C 38.6999,36.5495 41.8954,36.4712 45.1138,36.3958 C 45.4404,37.1769 45.7592,37.951 46.0855,38.726 C 42.7681,38.5965 39.4962,38.4486 36.2698,38.3188 C 33.0891,38.1909 29.9458,38.0566 26.8635,37.9284 C 23.819,37.8019 20.812,37.6733 17.8513,37.5461 C 14.9431,37.4212 12.0427,37.2973 9.2029,37.1716 L 9.2029,37.1716 z" />
+   </g><g
+     style="fill: url(#linearGradient3623) rgb(0, 0, 0); fill-opacity: 1;"
+     id="g3343">
+    <path
+   style="fill: url(#linearGradient3621) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3345"
+   class="fil0"
+   d="M 9.271,40.7025 C 12.1506,40.6782 15.0757,40.6344 18.0315,40.6056 C 21.0405,40.5763 24.0954,40.5388 27.1808,40.5044 C 30.3119,40.4696 33.4964,40.4223 36.7343,40.3904 C 40.0103,40.358 43.3395,40.3005 46.7147,40.2626 C 47.056,41.0576 47.3972,41.8538 47.7457,42.6512 C 44.2795,42.4817 40.8509,42.2983 37.4833,42.1338 C 34.1686,41.9719 30.8838,41.7997 27.6677,41.6387 C 24.4891,41.4797 21.3559,41.3191 18.2686,41.1644 C 15.2341,41.0125 12.2224,40.8619 9.271,40.7025 L 9.271,40.7025 z" />
+   </g><path
+     id="path3383"
+     transform="scale(0.282222)"
+     d="M 268.3125,6.3125 C 267.93192,6.3171642 267.54106,6.3502079 267.15625,6.375 C 244.94751,7.806496 223.34763,9.1734544 202.28125,10.53125 C 181.75771,11.853967 161.68574,13.151565 142.25,14.40625 C 123.11295,15.639675 104.43963,16.860541 86.28125,18.03125 C 68.50377,19.17751 51.176947,20.281536 34.1875,21.375 C 25.135413,21.959646 18.099193,31.056103 18.3125,41.5 C 18.706516,60.823779 19.109172,80.053713 19.5,99.21875 C 19.869428,117.31637 20.226864,135.36362 20.59375,153.34375 L 24.03125,153.34375 C 23.676634,135.72073 23.292935,118.02179 22.9375,100.3125 C 22.558012,81.448642 22.194115,62.461161 21.8125,43.4375 C 21.626476,34.191595 27.956337,26.183209 36,25.6875 C 52.712008,24.66065 69.808139,23.606645 87.28125,22.53125 C 105.13491,21.432116 123.47691,20.281536 142.28125,19.125 C 161.33007,17.951457 181.04834,16.723504 201.15625,15.5 C 221.72834,14.248504 242.94791,12.963307 264.6875,11.625 C 275.53002,10.957795 284.55859,19.488041 284.5625,30.46875 C 284.56959,52.9
 29773 28
 4.61791,75.226704 284.625,97.46875 C 284.63098,116.18414 284.67537,134.78093 284.6875,153.34375 L 289.75,153.34375 C 289.75,134.32005 289.74999,115.2714 289.75,96.09375 C 289.75,73.409853 289.74999,50.62368 289.75,27.6875 C 289.75,15.590749 280.1105,6.1679092 268.3125,6.3125 z"
+     style="fill: url(#linearGradient3666) rgb(0, 0, 0); fill-opacity: 1;" /></g><g
+   id="g4001"
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"><path
+     sodipodi:nodetypes="cccc"
+     id="rect3296"
+     d="M 33.38491,70.707314 L 34.790051,70.798579 L 33.401665,71.586967 L 33.38491,70.707314 z"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" /><path
+     id="path3844"
+     transform="scale(0.282222)"
+     d="M 181.5,153.34375 C 183.08243,157.0798 184.63603,160.80058 186.21875,164.53125 C 179.59879,178.35334 173.01508,192.05357 166.5,205.53125 C 160.05189,218.86968 153.72794,232.09356 147.4375,245.1875 C 144.51215,251.78478 141.45965,256.13965 138.46875,258.59375 C 135.55863,261.01525 132.04737,262.08441 128.09375,261.71875 C 128.11288,263.39615 128.10586,265.07296 128.125,266.75 C 141.74441,268.05075 155.58259,269.37334 169.65625,270.71875 C 169.64208,268.9967 169.63917,267.28456 169.625,265.5625 C 160.4085,264.71246 155.87416,261.09983 155.8125,254.53125 C 155.78061,251.14562 157.21893,246.75224 160.03125,241.5 C 170.36672,220.46906 180.92591,199.12176 191.59375,177.40625 C 201.37753,200.14578 211.27545,223.12077 221.1875,246.28125 C 224.21667,253.84656 225.89455,259.0347 225.90625,261.875 C 225.94629,264.8985 224.73866,267.15732 222.5,268.28125 C 220.20925,269.5781 216.4367,269.86753 211.09375,269.375 C 211.10332,271.14169 211.11543,272.92079 211.125,274.6875 C 231.100
 39,276.5
 938 251.59923,278.52894 272.5625,280.53125 C 272.56073,278.6983 272.56426,276.86385 272.5625,275.03125 C 267.88711,274.59861 263.7342,272.3299 260.28125,268.625 C 256.87932,264.72098 252.90207,257.93058 248.4375,248.375 C 241.13333,231.50035 233.90174,214.74907 226.71875,198.09375 C 220.25921,183.11589 213.83241,168.18851 207.40625,153.34375 L 181.5,153.34375 z"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;" /><g
+     id="g3878"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3880"
+   class="fil0"
+   d="M 9.3389,44.2183 C 12.3297,44.2136 15.3735,44.2051 18.4481,44.2042 C 21.5684,44.2032 24.7417,44.1829 27.9609,44.1737 C 31.2181,44.1644 34.5441,44.1509 37.9002,44.1411 C 41.3252,44.1312 44.7958,44.1129 48.335,44.0985 C 48.6446,44.8241 48.9541,45.534 49.271,46.2533 C 49.2264,46.3677 49.1817,46.4737 49.1445,46.5801 C 45.5374,46.3684 41.9904,46.1644 38.4894,45.9629 C 35.0563,45.7653 31.669,45.5459 28.3414,45.3503 C 25.0526,45.157 21.8235,44.9789 18.6322,44.7873 C 15.4945,44.5989 12.3938,44.4052 9.3389,44.2183 L 9.3389,44.2183 z" />
+   </g><g
+     id="g3882"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3884"
+   class="fil0"
+   d="M 9.4073,47.7566 C 12.4103,47.7777 15.4511,47.7878 18.5379,47.8055 C 21.6701,47.8236 24.8482,47.8265 28.0795,47.8408 C 31.3488,47.8553 34.6793,47.8741 38.0475,47.8848 C 41.4691,47.8957 44.9592,47.8989 48.5026,47.8978 C 48.1072,48.7178 47.7193,49.52 47.3393,50.321 C 43.9174,50.0866 40.5406,49.8671 37.225,49.6437 C 33.9542,49.4231 30.714,49.2051 27.5493,48.9955 C 24.415,48.7879 21.3258,48.5719 18.2818,48.3666 C 15.2837,48.1644 12.3226,47.9647 9.4073,47.7566 L 9.4073,47.7566 z" />
+   </g><g
+     id="g3886"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4116) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3888"
+   class="fil0"
+   d="M 9.4751,51.2723 C 12.3314,51.3205 15.2483,51.3582 18.1881,51.396 C 21.1658,51.4342 24.197,51.4659 27.266,51.5092 C 30.3733,51.5531 33.5334,51.5937 36.7396,51.6428 C 39.9987,51.6928 43.3112,51.7192 46.6541,51.766 C 46.2968,52.515 45.9396,53.2708 45.5827,54.0173 C 42.3459,53.7789 39.1393,53.5235 35.9856,53.2878 C 32.8776,53.0555 29.807,52.8179 26.7888,52.5884 C 23.8019,52.3614 20.8592,52.1414 17.9622,51.9247 C 15.0959,51.7105 12.2665,51.492 9.4751,51.2723 L 9.4751,51.2723 z" />
+   </g><g
+     id="g3890"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3892"
+   class="fil0"
+   d="M 9.543,54.7881 C 15.0381,54.9049 20.6775,55.0251 26.4615,55.1556 C 32.4051,55.2898 38.5309,55.4038 44.8238,55.5288 C 44.4898,56.2642 44.1557,56.974 43.8218,57.6827 C 37.7251,57.1749 31.7788,56.6677 26.007,56.1827 C 20.3779,55.7097 14.8927,55.2485 9.543,54.7881 L 9.543,54.7881 z" />
+   </g><g
+     id="g3894"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3896"
+   class="fil0"
+   d="M 9.6114,58.3412 C 14.8367,58.5046 20.1988,58.6609 25.6896,58.8282 C 31.3249,58.9998 37.1193,59.1522 43.0657,59.3284 C 42.7318,59.9929 42.3979,60.6565 42.0717,61.3107 C 36.306,60.7894 30.6911,60.2729 25.2271,59.7783 C 19.8839,59.2947 14.6986,58.8089 9.6114,58.3412 z" />
+   </g><g
+     id="g3898"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3900"
+   class="fil0"
+   d="M 9.8812,72.3136 C 13.6329,72.5533 17.4457,72.7897 21.3253,73.0379 C 25.2818,73.2909 29.3202,73.5331 33.435,73.796 C 33.4411,74.2984 33.4473,74.8007 33.4534,75.295 C 29.3368,74.7731 25.2885,74.2642 21.3368,73.7666 C 17.4463,73.2767 13.6371,72.7893 9.8812,72.3136 L 9.8812,72.3136 z" />
+   </g><g
+     id="g3902"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3904"
+   class="fil0"
+   d="M 9.8143,68.8431 C 14.1801,69.0811 18.6374,69.3242 23.1847,69.5724 C 27.8387,69.8263 32.5977,70.0697 37.4633,70.3348 C 37.4486,70.3658 37.4339,70.3967 37.4265,70.4203 C 37.3965,70.434 37.3666,70.4475 37.3439,70.4538 C 37.3142,70.4834 37.2843,70.5131 37.262,70.5428 C 37.232,70.5564 37.2021,70.57 37.1795,70.5762 C 37.1647,70.6071 37.15,70.63 37.1353,70.6609 C 37.1053,70.6744 37.0752,70.6881 37.0527,70.6942 C 37.0378,70.7091 37.0229,70.7239 37.008,70.7387 C 36.9853,70.7362 36.9551,70.7337 36.9325,70.7318 C 36.9025,70.7454 36.8726,70.7589 36.8499,70.7651 C 36.8351,70.7799 36.8202,70.7948 36.8052,70.8096 C 36.7753,70.8231 36.7453,70.8366 36.7228,70.8508 C 36.7077,70.8496 36.6926,70.8483 36.685,70.8471 C 36.655,70.8607 36.6251,70.8742 36.6026,70.8804 C 36.5724,70.8779 36.5422,70.8753 36.5196,70.8734 C 36.5044,70.8721 36.4894,70.8709 36.4742,70.8696 C 36.4442,70.8832 36.4143,70.8967 36.3918,70.9109 C 36.3691,70.9084 36.3389,70.9059 36.3163,70.904 C 36.2861,70.9015 36.2559,70.
 899 36.2
 257,70.8964 C 35.2753,70.8313 34.3323,70.7662 33.3969,70.7021 C 33.4006,70.9972 33.4041,71.2842 33.4077,71.5793 C 29.28,71.1082 25.2349,70.6376 21.2802,70.177 C 17.3931,69.7242 13.566,69.2797 9.8143,68.8431 L 9.8143,68.8431 z" />
+   </g><g
+     id="g3906"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3908"
+   class="fil0"
+   d="M 9.7462,65.3199 C 14.4335,65.5452 19.2272,65.7764 24.1337,66.0124 C 29.1471,66.2535 34.2885,66.4923 39.5589,66.738 C 39.4114,67.0576 39.2562,67.369 39.1087,67.6888 C 39.0494,67.7972 38.9827,67.889 38.9308,67.9898 C 38.8942,68.0913 38.85,68.1927 38.8134,68.2948 C 38.7689,68.3719 38.7244,68.433 38.6874,68.5026 C 33.5818,67.945 28.5964,67.4008 23.7317,66.8696 C 18.9646,66.3489 14.3026,65.8248 9.7462,65.3199 L 9.7462,65.3199 z" />
+   </g><g
+     id="g3910"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;">
+    <path
+   style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;"
+   id="path3912"
+   class="fil0"
+   d="M 9.6788,61.8268 C 14.6273,62.0229 19.7049,62.2052 24.8956,62.4069 C 30.2237,62.6138 35.6796,62.8171 41.2801,63.022 C 40.9842,63.6509 40.7036,64.2802 40.423,64.9 C 34.9878,64.3619 29.6732,63.8327 24.5011,63.3166 C 19.4505,62.8127 14.5041,62.3194 9.6788,61.8268 L 9.6788,61.8268 z" />
+   </g><path
+     id="path3914"
+     transform="scale(0.282222)"
+     d="M 20.59375,153.34375 C 20.614297,154.35073 20.63571,155.36847 20.65625,156.375 C 21.043533,175.35366 21.428406,194.30508 21.8125,213.125 C 22.195886,231.91835 22.58749,250.65634 22.96875,269.34375 C 23.174262,279.41631 30.378268,288.33823 39.25,289.375 C 55.927992,291.32524 72.987065,293.30102 90.4375,295.34375 C 108.26104,297.43076 126.59696,299.58049 145.40625,301.78125 C 164.50857,304.01814 184.19749,306.33546 204.3125,308.6875 C 224.96006,311.10156 246.13036,313.55602 267.84375,316.09375 C 279.77973,317.49229 289.74999,309.07904 289.75,297.125 C 289.75,275.06791 289.74999,252.93187 289.75,230.78125 C 289.75,208.53637 289.74999,186.15249 289.75,163.71875 C 289.75,160.27703 289.75,156.79128 289.75,153.34375 L 284.6875,153.34375 C 284.68974,156.78015 284.68639,160.25711 284.6875,163.6875 C 284.69423,185.64856 284.68076,207.5077 284.6875,229.3125 C 284.69459,251.05459 284.71168,272.72675 284.71875,294.34375 C 284.72229,304.88651 275.93343,312.4849 265.40625,311.28125
  C 244.1
 3968,308.85231 223.35665,306.46258 203.15625,304.15625 C 183.40834,301.90129 164.10557,299.70477 145.34375,297.5625 C 126.87568,295.45069 108.81814,293.36635 91.28125,291.375 C 74.12066,289.42689 57.29185,287.53137 40.875,285.65625 C 32.98689,284.75625 26.492499,276.70394 26.3125,267.75 C 25.942933,249.36449 25.558838,230.89841 25.1875,212.40625 C 24.814744,193.86164 24.468633,175.21375 24.09375,156.5625 C 24.072238,155.49374 24.052773,154.41336 24.03125,153.34375 L 20.59375,153.34375 z"
+     style="fill: url(#linearGradient4030) rgb(0, 0, 0); fill-opacity: 1;" /></g></svg>
\ No newline at end of file
diff --git a/icons/PyHoca/scalable/x2go-logo-ubuntu.svg b/icons/PyHoca/scalable/x2go-logo-ubuntu.svg
new file mode 100644
index 0000000..04c15f4
--- /dev/null
+++ b/icons/PyHoca/scalable/x2go-logo-ubuntu.svg
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="128"
+   height="128"
+   sodipodi:docname="x2go-logo-ubuntu.svg"
+   sodipodi:docbase="/Users/h1/Documents/Projekte/x2go/x2go"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   inkscape:export-filename="/home/h1/Desktop/x2go-logo.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata87">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs85">
+    <linearGradient
+       id="linearGradient3453">
+      <stop
+         style="stop-color:#2b0000;stop-opacity:1;"
+         offset="0"
+         id="stop3455" />
+      <stop
+         id="stop3461"
+         offset="0.5"
+         style="stop-color:#950000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffe400;stop-opacity:1;"
+         offset="1"
+         id="stop3457" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2637" />
+    <linearGradient
+       id="linearGradient4665">
+      <stop
+         style="stop-color:#162d50;stop-opacity:1;"
+         offset="0"
+         id="stop4667" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4669" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       x="-0.20268817"
+       width="1.4053763"
+       y="-0.4560484"
+       height="1.9120969"
+       id="filter3580">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="15.201613"
+         id="feGaussianBlur3582" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4659">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.82806857"
+         id="feGaussianBlur4661" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4665"
+       id="linearGradient4671"
+       x1="400"
+       y1="100"
+       x2="400"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1,1.1)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3453"
+       id="linearGradient3459"
+       x1="0"
+       y1="3"
+       x2="0"
+       y2="128"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="816"
+     inkscape:window-width="1503"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10000"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:grid-points="true"
+     inkscape:guide-points="true"
+     width="800px"
+     height="600px"
+     inkscape:zoom="4.625"
+     inkscape:cx="37.664865"
+     inkscape:cy="66.782471"
+     inkscape:window-x="0"
+     inkscape:window-y="22"
+     inkscape:current-layer="svg2"
+     units="mm"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <sodipodi:guide
+       orientation="vertical"
+       position="100"
+       id="guide2393" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="700"
+       id="guide2395" />
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="1px"
+       spacingy="1px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <rect
+     style="fill:url(#linearGradient3459);fill-opacity:1;opacity:0.5"
+     id="rect2681"
+     width="128"
+     height="128"
+     x="0"
+     y="-7.1054274e-15"
+     ry="10.162162" />
+  <path
+     sodipodi:type="arc"
+     style="opacity:0.11693546;fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1;filter:url(#filter3580)"
+     id="path2397"
+     sodipodi:cx="410"
+     sodipodi:cy="150"
+     sodipodi:rx="90"
+     sodipodi:ry="40"
+     d="M 500,150 A 90,40 0 1 1 320,150 A 90,40 0 1 1 500,150 z"
+     transform="matrix(0.888889,0,0,0.75,-224.4445,38.25)" />
+  <g
+     style="fill:#ffffff"
+     id="g4"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 90,977.626 L 103.32,951.85 C 104.256,949.33 104.688,947.53 104.688,946.594 C 104.688,945.082 104.184,943.93 103.248,943.282 C 102.24,942.562 100.512,942.202 98.064,942.202 L 98.064,939.826 L 120.168,939.826 L 120.168,942.202 C 117.144,942.202 114.984,942.85 113.472,944.146 C 111.96,945.442 109.872,948.898 106.992,954.514 L 92.376,982.954 L 110.808,1024.498 C 112.68,1028.386 114.336,1031.122 115.776,1032.634 C 117.216,1034.074 118.944,1034.866 120.888,1034.866 L 120.888,1037.17 L 94.536,1037.17 L 94.536,1034.866 C 96.912,1034.866 98.568,1034.578 99.576,1033.93 C 100.584,1033.354 101.088,1032.346 101.088,1031.05 C 101.088,1029.826 100.368,1027.666 99.072,1024.498 L 86.112,995.482 L 71.28,1024.498 C 69.912,1026.946 69.192,1028.962 69.192,1030.474 C 69.192,1033.426 71.352,1034.866 75.672,1034.866 L 75.672,1037.17 L 55.728,1037.17 L 55.728,1034.866 C 57.672,1034.866 59.4,1034.218 60.84,1032.994 C 62.28,1031.77 63.792,1029.682 65.232,1026.586 L 83.736,990.01 L 67.248,9
 52.498 C
  65.52,948.466 63.936,945.802 62.424,944.362 C 60.84,942.922 58.608,942.202 55.728,942.202 L 55.728,939.826 L 84.024,939.826 L 84.024,942.202 C 79.632,942.202 77.4,943.714 77.4,946.738 C 77.4,948.25 77.832,949.978 78.696,951.85 L 90,977.626 z"
+       id="path6" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g8"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,940.474 L 50.976,939.25 L 50.976,941.698 L 6.984,940.474 z"
+       id="path10" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g12"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,946.45 L 50.976,945.298 L 50.976,946.954 L 56.16,947.026 L 56.52,947.026 L 56.808,947.026 L 57.096,947.098 L 57.384,947.098 L 57.672,947.17 L 57.888,947.242 L 58.104,947.314 L 58.32,947.386 L 58.464,947.458 L 58.608,947.53 L 58.752,947.602 L 58.896,947.674 L 58.968,947.746 L 59.112,947.818 L 59.112,947.89 L 59.184,947.89 L 6.984,946.45 z"
+       id="path14" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g16"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,952.498 L 61.272,950.986 L 61.488,951.346 L 61.776,951.922 L 62.064,952.498 L 62.352,953.146 L 62.64,953.794 L 62.784,954.01 L 6.984,952.498 z"
+       id="path18" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g20"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,958.474 L 63.936,956.89 L 65.376,960.058 L 6.984,958.474 z"
+       id="path22" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g24"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,964.45 L 66.528,962.866 L 67.968,966.106 L 6.984,964.45 z"
+       id="path26" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g28"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,970.498 L 69.12,968.77 L 70.632,972.226 L 6.984,970.498 z"
+       id="path30" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g32"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,976.474 L 71.712,974.674 L 73.296,978.274 L 6.984,976.474 z"
+       id="path34" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g36"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,982.45 L 74.304,980.65 L 75.96,984.322 L 6.984,982.45 z"
+       id="path38" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g40"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,988.426 L 76.896,986.554 L 78.408,989.866 L 78.192,990.37 L 6.984,988.426 z"
+       id="path42" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g44"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,994.402 L 77.112,992.458 L 75.168,996.274 L 6.984,994.402 z"
+       id="path46" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g48"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1000.378 L 74.016,998.578 L 72.216,1002.178 L 6.984,1000.378 z"
+       id="path50" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g52"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1006.354 L 70.92,1004.626 L 69.192,1008.082 L 6.984,1006.354 z"
+       id="path54" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g56"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1012.402 L 67.896,1010.746 L 66.168,1013.986 L 6.984,1012.402 z"
+       id="path58" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g60"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1036.378 L 50.976,1035.154 L 50.976,1037.602 L 6.984,1036.378 z"
+       id="path62" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g64"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1030.402 L 58.104,1028.962 L 58.032,1029.106 L 57.888,1029.178 L 57.744,1029.322 L 57.6,1029.394 L 57.528,1029.538 L 57.384,1029.61 L 57.312,1029.682 L 57.168,1029.682 L 57.024,1029.754 L 56.952,1029.826 L 56.808,1029.898 L 56.736,1029.898 L 56.592,1029.97 L 56.448,1029.97 L 56.376,1029.97 L 56.232,1030.042 L 56.088,1030.042 L 55.944,1030.042 L 50.976,1030.114 L 50.976,1031.554 L 6.984,1030.402 z"
+       id="path66" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g68"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1024.354 L 61.776,1022.914 L 60.984,1024.498 L 60.696,1025.002 L 60.48,1025.506 L 60.264,1025.866 L 6.984,1024.354 z"
+       id="path70" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g72"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1018.378 L 64.8,1016.794 L 63.288,1019.89 L 6.984,1018.378 z"
+       id="path74" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g76"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 63.936,924.49 L 118.872,924.49 C 123.84,924.49 127.872,928.522 127.872,933.49 L 127.872,1043.362 C 127.872,1048.33 123.84,1052.362 118.872,1052.362 L 63.936,1052.362 L 63.936,1050.418 L 117.864,1050.418 C 122.256,1050.418 125.856,1046.818 125.856,1042.426 L 125.856,934.498 C 125.856,930.106 122.256,926.506 117.864,926.506 L 63.936,926.506 L 63.936,924.49 z"
+       id="path78" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g80"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 9,924.49 L 63.936,924.49 L 63.936,926.506 L 9.936,926.506 C 5.544,926.506 1.944,930.106 1.944,934.498 L 1.944,1042.426 C 1.944,1046.818 5.544,1050.418 9.936,1050.418 L 63.936,1050.418 L 63.936,1052.362 L 9,1052.362 C 4.032,1052.362 0,1048.33 0,1043.362 L 0,933.49 C 0,928.522 4.032,924.49 9,924.49 z"
+       id="path82" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/x2go-logo-white-bg.svg b/icons/PyHoca/scalable/x2go-logo-white-bg.svg
new file mode 100644
index 0000000..f1e4dd6
--- /dev/null
+++ b/icons/PyHoca/scalable/x2go-logo-white-bg.svg
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   width="128"
+   height="128"
+   sodipodi:docname="x2go-logo-white-bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   inkscape:export-filename=""
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata87">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs85">
+    <linearGradient
+       id="linearGradient3453">
+      <stop
+         style="stop-color:#2b0000;stop-opacity:1;"
+         offset="0"
+         id="stop3455" />
+      <stop
+         id="stop3461"
+         offset="0.5"
+         style="stop-color:#950000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffe400;stop-opacity:1;"
+         offset="1"
+         id="stop3457" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2637" />
+    <linearGradient
+       id="linearGradient4665">
+      <stop
+         style="stop-color:#162d50;stop-opacity:1;"
+         offset="0"
+         id="stop4667" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4669" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       x="-0.20268817"
+       width="1.4053763"
+       y="-0.4560484"
+       height="1.9120969"
+       id="filter3580">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="15.201613"
+         id="feGaussianBlur3582" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4665"
+       id="linearGradient4671"
+       x1="400"
+       y1="100"
+       x2="400"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1,1.1)" />
+    <inkscape:perspective
+       id="perspective46"
+       inkscape:persp3d-origin="64 : 42.666667 : 1"
+       inkscape:vp_z="128 : 64 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 64 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter4218">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0924925"
+         id="feGaussianBlur4220" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="709"
+     inkscape:window-width="1366"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10000"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:grid-points="true"
+     inkscape:guide-points="true"
+     width="800px"
+     height="600px"
+     inkscape:zoom="3.640625"
+     inkscape:cx="64"
+     inkscape:cy="64"
+     inkscape:window-x="-4"
+     inkscape:window-y="-3"
+     inkscape:current-layer="svg2"
+     units="mm"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       orientation="vertical"
+       position="100"
+       id="guide2393" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="700"
+       id="guide2395" />
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="1px"
+       spacingy="1px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <rect
+     style="fill:#ffffff;fill-opacity:1;opacity:1"
+     id="rect2681"
+     width="128"
+     height="128"
+     x="0"
+     y="-7.1054274e-15"
+     ry="10.162162" />
+  <g
+     id="g3246"
+     style="fill:#4d4d4d;fill-opacity:1">
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g4"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path6"
+         d="M 90,977.626 L 103.32,951.85 C 104.256,949.33 104.688,947.53 104.688,946.594 C 104.688,945.082 104.184,943.93 103.248,943.282 C 102.24,942.562 100.512,942.202 98.064,942.202 L 98.064,939.826 L 120.168,939.826 L 120.168,942.202 C 117.144,942.202 114.984,942.85 113.472,944.146 C 111.96,945.442 109.872,948.898 106.992,954.514 L 92.376,982.954 L 110.808,1024.498 C 112.68,1028.386 114.336,1031.122 115.776,1032.634 C 117.216,1034.074 118.944,1034.866 120.888,1034.866 L 120.888,1037.17 L 94.536,1037.17 L 94.536,1034.866 C 96.912,1034.866 98.568,1034.578 99.576,1033.93 C 100.584,1033.354 101.088,1032.346 101.088,1031.05 C 101.088,1029.826 100.368,1027.666 99.072,1024.498 L 86.112,995.482 L 71.28,1024.498 C 69.912,1026.946 69.192,1028.962 69.192,1030.474 C 69.192,1033.426 71.352,1034.866 75.672,1034.866 L 75.672,1037.17 L 55.728,1037.17 L 55.728,1034.866 C 57.672,1034.866 59.4,1034.218 60.84,1032.994 C 62.28,1031.77 63.792,1029.682 65.232,1026.586 L 83.736,990.01 L 67.248
 ,952.498
  C 65.52,948.466 63.936,945.802 62.424,944.362 C 60.84,942.922 58.608,942.202 55.728,942.202 L 55.728,939.826 L 84.024,939.826 L 84.024,942.202 C 79.632,942.202 77.4,943.714 77.4,946.738 C 77.4,948.25 77.832,949.978 78.696,951.85 L 90,977.626 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g8"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path10"
+         d="M 6.984,940.474 L 50.976,939.25 L 50.976,941.698 L 6.984,940.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g12"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path14"
+         d="M 6.984,946.45 L 50.976,945.298 L 50.976,946.954 L 56.16,947.026 L 56.52,947.026 L 56.808,947.026 L 57.096,947.098 L 57.384,947.098 L 57.672,947.17 L 57.888,947.242 L 58.104,947.314 L 58.32,947.386 L 58.464,947.458 L 58.608,947.53 L 58.752,947.602 L 58.896,947.674 L 58.968,947.746 L 59.112,947.818 L 59.112,947.89 L 59.184,947.89 L 6.984,946.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g16"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path18"
+         d="M 6.984,952.498 L 61.272,950.986 L 61.488,951.346 L 61.776,951.922 L 62.064,952.498 L 62.352,953.146 L 62.64,953.794 L 62.784,954.01 L 6.984,952.498 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g20"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path22"
+         d="M 6.984,958.474 L 63.936,956.89 L 65.376,960.058 L 6.984,958.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g24"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path26"
+         d="M 6.984,964.45 L 66.528,962.866 L 67.968,966.106 L 6.984,964.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g28"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path30"
+         d="M 6.984,970.498 L 69.12,968.77 L 70.632,972.226 L 6.984,970.498 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g32"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path34"
+         d="M 6.984,976.474 L 71.712,974.674 L 73.296,978.274 L 6.984,976.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g36"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path38"
+         d="M 6.984,982.45 L 74.304,980.65 L 75.96,984.322 L 6.984,982.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g40"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path42"
+         d="M 6.984,988.426 L 76.896,986.554 L 78.408,989.866 L 78.192,990.37 L 6.984,988.426 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g44"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path46"
+         d="M 6.984,994.402 L 77.112,992.458 L 75.168,996.274 L 6.984,994.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g48"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path50"
+         d="M 6.984,1000.378 L 74.016,998.578 L 72.216,1002.178 L 6.984,1000.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g52"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path54"
+         d="M 6.984,1006.354 L 70.92,1004.626 L 69.192,1008.082 L 6.984,1006.354 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g56"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path58"
+         d="M 6.984,1012.402 L 67.896,1010.746 L 66.168,1013.986 L 6.984,1012.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g60"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path62"
+         d="M 6.984,1036.378 L 50.976,1035.154 L 50.976,1037.602 L 6.984,1036.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g64"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path66"
+         d="M 6.984,1030.402 L 58.104,1028.962 L 58.032,1029.106 L 57.888,1029.178 L 57.744,1029.322 L 57.6,1029.394 L 57.528,1029.538 L 57.384,1029.61 L 57.312,1029.682 L 57.168,1029.682 L 57.024,1029.754 L 56.952,1029.826 L 56.808,1029.898 L 56.736,1029.898 L 56.592,1029.97 L 56.448,1029.97 L 56.376,1029.97 L 56.232,1030.042 L 56.088,1030.042 L 55.944,1030.042 L 50.976,1030.114 L 50.976,1031.554 L 6.984,1030.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g68"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path70"
+         d="M 6.984,1024.354 L 61.776,1022.914 L 60.984,1024.498 L 60.696,1025.002 L 60.48,1025.506 L 60.264,1025.866 L 6.984,1024.354 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g72"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path74"
+         d="M 6.984,1018.378 L 64.8,1016.794 L 63.288,1019.89 L 6.984,1018.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+  </g>
+  <path
+     sodipodi:type="arc"
+     style="opacity:0.11693546;fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1;filter:url(#filter3580)"
+     id="path2397"
+     sodipodi:cx="410"
+     sodipodi:cy="150"
+     sodipodi:rx="90"
+     sodipodi:ry="40"
+     d="M 500,150 A 90,40 0 1 1 320,150 A 90,40 0 1 1 500,150 z"
+     transform="matrix(0.888889,0,0,0.75,-224.4445,38.25)" />
+  <g
+     style="fill:#4d4d4d;fill-opacity:1"
+     id="g76"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#4d4d4d;fill-opacity:1"
+       d="M 63.936,924.49 L 118.872,924.49 C 123.84,924.49 127.872,928.522 127.872,933.49 L 127.872,1043.362 C 127.872,1048.33 123.84,1052.362 118.872,1052.362 L 63.936,1052.362 L 63.936,1050.418 L 117.864,1050.418 C 122.256,1050.418 125.856,1046.818 125.856,1042.426 L 125.856,934.498 C 125.856,930.106 122.256,926.506 117.864,926.506 L 63.936,926.506 L 63.936,924.49 z"
+       id="path78" />
+  </g>
+  <g
+     style="fill:#4d4d4d;fill-opacity:1"
+     id="g80"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#4d4d4d;fill-opacity:1"
+       d="M 9,924.49 L 63.936,924.49 L 63.936,926.506 L 9.936,926.506 C 5.544,926.506 1.944,930.106 1.944,934.498 L 1.944,1042.426 C 1.944,1046.818 5.544,1050.418 9.936,1050.418 L 63.936,1050.418 L 63.936,1052.362 L 9,1052.362 C 4.032,1052.362 0,1048.33 0,1043.362 L 0,933.49 C 0,928.522 4.032,924.49 9,924.49 z"
+       id="path82" />
+  </g>
+</svg>
diff --git a/icons/PyHoca/scalable/x2go.svg b/icons/PyHoca/scalable/x2go.svg
new file mode 100644
index 0000000..f1e4dd6
--- /dev/null
+++ b/icons/PyHoca/scalable/x2go.svg
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   width="128"
+   height="128"
+   sodipodi:docname="x2go-logo-white-bg.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   inkscape:export-filename=""
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata87">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs85">
+    <linearGradient
+       id="linearGradient3453">
+      <stop
+         style="stop-color:#2b0000;stop-opacity:1;"
+         offset="0"
+         id="stop3455" />
+      <stop
+         id="stop3461"
+         offset="0.5"
+         style="stop-color:#950000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffe400;stop-opacity:1;"
+         offset="1"
+         id="stop3457" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2637" />
+    <linearGradient
+       id="linearGradient4665">
+      <stop
+         style="stop-color:#162d50;stop-opacity:1;"
+         offset="0"
+         id="stop4667" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4669" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       x="-0.20268817"
+       width="1.4053763"
+       y="-0.4560484"
+       height="1.9120969"
+       id="filter3580">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="15.201613"
+         id="feGaussianBlur3582" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4665"
+       id="linearGradient4671"
+       x1="400"
+       y1="100"
+       x2="400"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1,1.1)" />
+    <inkscape:perspective
+       id="perspective46"
+       inkscape:persp3d-origin="64 : 42.666667 : 1"
+       inkscape:vp_z="128 : 64 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 64 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <filter
+       inkscape:collect="always"
+       id="filter4218">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.0924925"
+         id="feGaussianBlur4220" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="709"
+     inkscape:window-width="1366"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10000"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:grid-points="true"
+     inkscape:guide-points="true"
+     width="800px"
+     height="600px"
+     inkscape:zoom="3.640625"
+     inkscape:cx="64"
+     inkscape:cy="64"
+     inkscape:window-x="-4"
+     inkscape:window-y="-3"
+     inkscape:current-layer="svg2"
+     units="mm"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1">
+    <sodipodi:guide
+       orientation="vertical"
+       position="100"
+       id="guide2393" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="700"
+       id="guide2395" />
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="1px"
+       spacingy="1px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <rect
+     style="fill:#ffffff;fill-opacity:1;opacity:1"
+     id="rect2681"
+     width="128"
+     height="128"
+     x="0"
+     y="-7.1054274e-15"
+     ry="10.162162" />
+  <g
+     id="g3246"
+     style="fill:#4d4d4d;fill-opacity:1">
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g4"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path6"
+         d="M 90,977.626 L 103.32,951.85 C 104.256,949.33 104.688,947.53 104.688,946.594 C 104.688,945.082 104.184,943.93 103.248,943.282 C 102.24,942.562 100.512,942.202 98.064,942.202 L 98.064,939.826 L 120.168,939.826 L 120.168,942.202 C 117.144,942.202 114.984,942.85 113.472,944.146 C 111.96,945.442 109.872,948.898 106.992,954.514 L 92.376,982.954 L 110.808,1024.498 C 112.68,1028.386 114.336,1031.122 115.776,1032.634 C 117.216,1034.074 118.944,1034.866 120.888,1034.866 L 120.888,1037.17 L 94.536,1037.17 L 94.536,1034.866 C 96.912,1034.866 98.568,1034.578 99.576,1033.93 C 100.584,1033.354 101.088,1032.346 101.088,1031.05 C 101.088,1029.826 100.368,1027.666 99.072,1024.498 L 86.112,995.482 L 71.28,1024.498 C 69.912,1026.946 69.192,1028.962 69.192,1030.474 C 69.192,1033.426 71.352,1034.866 75.672,1034.866 L 75.672,1037.17 L 55.728,1037.17 L 55.728,1034.866 C 57.672,1034.866 59.4,1034.218 60.84,1032.994 C 62.28,1031.77 63.792,1029.682 65.232,1026.586 L 83.736,990.01 L 67.248
 ,952.498
  C 65.52,948.466 63.936,945.802 62.424,944.362 C 60.84,942.922 58.608,942.202 55.728,942.202 L 55.728,939.826 L 84.024,939.826 L 84.024,942.202 C 79.632,942.202 77.4,943.714 77.4,946.738 C 77.4,948.25 77.832,949.978 78.696,951.85 L 90,977.626 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g8"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path10"
+         d="M 6.984,940.474 L 50.976,939.25 L 50.976,941.698 L 6.984,940.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g12"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path14"
+         d="M 6.984,946.45 L 50.976,945.298 L 50.976,946.954 L 56.16,947.026 L 56.52,947.026 L 56.808,947.026 L 57.096,947.098 L 57.384,947.098 L 57.672,947.17 L 57.888,947.242 L 58.104,947.314 L 58.32,947.386 L 58.464,947.458 L 58.608,947.53 L 58.752,947.602 L 58.896,947.674 L 58.968,947.746 L 59.112,947.818 L 59.112,947.89 L 59.184,947.89 L 6.984,946.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g16"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path18"
+         d="M 6.984,952.498 L 61.272,950.986 L 61.488,951.346 L 61.776,951.922 L 62.064,952.498 L 62.352,953.146 L 62.64,953.794 L 62.784,954.01 L 6.984,952.498 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g20"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path22"
+         d="M 6.984,958.474 L 63.936,956.89 L 65.376,960.058 L 6.984,958.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g24"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path26"
+         d="M 6.984,964.45 L 66.528,962.866 L 67.968,966.106 L 6.984,964.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g28"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path30"
+         d="M 6.984,970.498 L 69.12,968.77 L 70.632,972.226 L 6.984,970.498 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g32"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path34"
+         d="M 6.984,976.474 L 71.712,974.674 L 73.296,978.274 L 6.984,976.474 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g36"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path38"
+         d="M 6.984,982.45 L 74.304,980.65 L 75.96,984.322 L 6.984,982.45 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g40"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path42"
+         d="M 6.984,988.426 L 76.896,986.554 L 78.408,989.866 L 78.192,990.37 L 6.984,988.426 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g44"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path46"
+         d="M 6.984,994.402 L 77.112,992.458 L 75.168,996.274 L 6.984,994.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g48"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path50"
+         d="M 6.984,1000.378 L 74.016,998.578 L 72.216,1002.178 L 6.984,1000.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g52"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path54"
+         d="M 6.984,1006.354 L 70.92,1004.626 L 69.192,1008.082 L 6.984,1006.354 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g56"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path58"
+         d="M 6.984,1012.402 L 67.896,1010.746 L 66.168,1013.986 L 6.984,1012.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g60"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path62"
+         d="M 6.984,1036.378 L 50.976,1035.154 L 50.976,1037.602 L 6.984,1036.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g64"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path66"
+         d="M 6.984,1030.402 L 58.104,1028.962 L 58.032,1029.106 L 57.888,1029.178 L 57.744,1029.322 L 57.6,1029.394 L 57.528,1029.538 L 57.384,1029.61 L 57.312,1029.682 L 57.168,1029.682 L 57.024,1029.754 L 56.952,1029.826 L 56.808,1029.898 L 56.736,1029.898 L 56.592,1029.97 L 56.448,1029.97 L 56.376,1029.97 L 56.232,1030.042 L 56.088,1030.042 L 55.944,1030.042 L 50.976,1030.114 L 50.976,1031.554 L 6.984,1030.402 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g68"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path70"
+         d="M 6.984,1024.354 L 61.776,1022.914 L 60.984,1024.498 L 60.696,1025.002 L 60.48,1025.506 L 60.264,1025.866 L 6.984,1024.354 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+    <g
+       transform="matrix(1.001001,0,0,1.001001,0,-925.41541)"
+       id="g72"
+       style="fill:#4d4d4d;fill-opacity:1">
+      <path
+         id="path74"
+         d="M 6.984,1018.378 L 64.8,1016.794 L 63.288,1019.89 L 6.984,1018.378 z"
+         style="fill:#4d4d4d;fill-opacity:1" />
+    </g>
+  </g>
+  <path
+     sodipodi:type="arc"
+     style="opacity:0.11693546;fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1;filter:url(#filter3580)"
+     id="path2397"
+     sodipodi:cx="410"
+     sodipodi:cy="150"
+     sodipodi:rx="90"
+     sodipodi:ry="40"
+     d="M 500,150 A 90,40 0 1 1 320,150 A 90,40 0 1 1 500,150 z"
+     transform="matrix(0.888889,0,0,0.75,-224.4445,38.25)" />
+  <g
+     style="fill:#4d4d4d;fill-opacity:1"
+     id="g76"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#4d4d4d;fill-opacity:1"
+       d="M 63.936,924.49 L 118.872,924.49 C 123.84,924.49 127.872,928.522 127.872,933.49 L 127.872,1043.362 C 127.872,1048.33 123.84,1052.362 118.872,1052.362 L 63.936,1052.362 L 63.936,1050.418 L 117.864,1050.418 C 122.256,1050.418 125.856,1046.818 125.856,1042.426 L 125.856,934.498 C 125.856,930.106 122.256,926.506 117.864,926.506 L 63.936,926.506 L 63.936,924.49 z"
+       id="path78" />
+  </g>
+  <g
+     style="fill:#4d4d4d;fill-opacity:1"
+     id="g80"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#4d4d4d;fill-opacity:1"
+       d="M 9,924.49 L 63.936,924.49 L 63.936,926.506 L 9.936,926.506 C 5.544,926.506 1.944,930.106 1.944,934.498 L 1.944,1042.426 C 1.944,1046.818 5.544,1050.418 9.936,1050.418 L 63.936,1050.418 L 63.936,1052.362 L 9,1052.362 C 4.032,1052.362 0,1048.33 0,1043.362 L 0,933.49 C 0,928.522 4.032,924.49 9,924.49 z"
+       id="path82" />
+  </g>
+</svg>
diff --git a/img/pyhoca-about-logo.png b/img/pyhoca-about-logo.png
new file mode 100644
index 0000000..42899a9
Binary files /dev/null and b/img/pyhoca-about-logo.png differ
diff --git a/img/pyhoca-splash.png b/img/pyhoca-splash.png
new file mode 100644
index 0000000..5f4f46e
Binary files /dev/null and b/img/pyhoca-splash.png differ
diff --git a/man/pyhoca-gui.1 b/man/pyhoca-gui.1
new file mode 100644
index 0000000..b60bf95
--- /dev/null
+++ b/man/pyhoca-gui.1
@@ -0,0 +1,159 @@
+'\" -*- coding: utf-8 -*-
+.if \n(.g .ds T< \\FC
+.if \n(.g .ds T> \\F[\n[.fam]]
+.de URL
+\\$2 \(la\\$1\(ra\\$3
+..
+.if \n(.g .mso www.tmac
+.TH pyhoca-gui 1 "31 Dec 2010" "Version 0.0.21" "X2go Application"
+.SH NAME
+pyhoca-gui \- graphical X2go client applet written in Python
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBpyhoca-gui\fR \kx
+.if (\nx>(\n(.l/2)) .nr x (\n(.l/5)
+'in \n(.iu+\nxu
+[
+\fIoptions\fR
+]
+'in \n(.iu-\nxu
+.ad b
+'hy
+.SH DESCRIPTION
+\fBpyhoca-gui\fR is a cross-platform (Windows, MacOS X, Linux) graphical X2go client applet that
+docks to your desktop's system tray.
+.PP
+From your desktop's system tray you can start/resume/share pre-configured X2go sessions. You can manage the
+pre-configured session profiles in the X2go profile manager and also configure the basic setup of
+\fBpyhoca-gui\fR.
+.PP
+\fBpyhoca-gui\fR uses the same set of config files (\fBsettings\fR, \fBprinting\fR and \fBsessions\fR in ~/.x2goclient) as the original 
+X2go Client application (by Heinz-M. Graesing and Oleksandr Schneydr) does.
+.PP
+On Windows systems \fBpyhoca-gui\fR uses the same set of Windows registry keys and values as the original X2go Client application.
+.PP
+See the included README and TODO for further information on \fBpyhoca-gui\fR.
+.SH COMMON OPTIONS
+\fBpyhoca-gui\fR accepts the following common options:
+.TP
+\*(T<\fB\-h, \-\-help\fR\*(T> 
+Display a help with all available command line options and exit.
+.TP 
+\*(T<\fB\-V, \-\-version\fR\*(T> 
+Output version information and exit.
+.TP 
+\*(T<\fB\-d, \-\-quiet\fR\*(T> 
+No output to stdout at all! Use this option on Windows!!!
+.TP 
+\*(T<\fB\-d, \-\-debug\fR\*(T> 
+Enable debugging output.
+.TP 
+\*(T<\fB\-\-libdebug\fR\*(T> 
+Enable debugging code of the unterlying Python X2go module.
+.TP 
+\*(T<\fB\-\-libdebug-sftpxfer\fR\*(T> 
+Enable debugging code of Python X2go's sFTP server code (very verbose, and it may even reveal promiscuous data).
+.SH GUI OPTIONS
+.TP 
+\*(T<\fB\-u, \-\-username\fR \fI<USERNAME>\fR\*(T> 
+Username for the session (default: currently logged in user).
+.TP 
+\*(T<\fB\-P, \-\-session-profile\fR\*(T>
+The name of the session profile to be used to make the connection. You can actually pass a komma-separated list of
+session profile names to this option.
+.TP 
+\*(T<\fB\-\-show-profile-metatypes\fR\*(T>
+Show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging).
+.TP 
+\*(T<\fB\-\-auto-connect\fR\*(T>
+Connect sessions via SSH public key authentication on application startup, if possible.
+.TP 
+\*(T<\fB\-\-start-on-connect\fR\*(T>
+Start a session directly after authentication (only if no suspended sessions are available).
+.TP 
+\*(T<\fB\-\-resume-on-connect, \-\-resume-newest-on-connect\fR\*(T>
+After authentication directly auto-resume the newest available running/suspended session.
+.TP 
+\*(T<\fB\-\-resume-oldest-on-connect\fR\*(T>
+After authentication directly auto-resume the oldest available running/suspended session.
+.TP 
+\*(T<\fB\-\-resume-all-on-connect\fR\*(T>
+After authentication directly auto-resume all available running/suspended session.
+.TP 
+\*(T<\fB\-\-disable-options\fR\*(T>
+Grey-out the ,,Options'' menu item and thus disable the client configuration window.
+.TP 
+\*(T<\fB\-\-disable-profilemanager\fR\*(T>
+Grey-out the profile manager menu items and thus disable all profile management functionalities.B
+.TP 
+\*(T<\fB\-\-display <hostname>:<screennumber>\fR\*(T>
+Set the DISPLAY environment variable to <hostname>:<screennumber>.
+.SH BACKEND OPTIONS
+\fBpyhoca-gui\fR supports transparent use of different data backends. For configuration three backends are common:
+FILE, GCONF (Linux only) and WINREG (Windows only). The default backend currently is the FILE backend 
+on all platforms.
+.PP
+For client-server communication the only yet implemented backend is the STDOUT backend (as X2go server commands
+print their execution results to /dev/stdout. (But other communication backends might be possible in the future...).
+.PP
+In the same way we are focusing on a successor of the current NX3 agent/proxy tool. A change in the proxy backend
+will also be implemented as a backend.
+.TP 
+\*(T<\fB\-\-backend-controlsession <CONTROLSESSION_BACKEND>\fR\*(T>
+Force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing).
+.TP 
+\*(T<\fB\-\-backend-terminalsession <TERMINALSESSION_BACKEND>\fR\*(T>
+Force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing).
+.TP 
+\*(T<\fB\-\-backend-serversessioninfo <SERVERSESSIONINFO_BACKEND>\fR\*(T>
+Force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing).
+.TP 
+\*(T<\fB\-\-backend-serversessionlist <SERVERSESSIONLIST_BACKEND>\fR\*(T>
+Force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing).
+.TP 
+\*(T<\fB\-\-backend-proxy <PROXY_BACKEND>\fR\*(T>
+Force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing).
+.TP 
+\*(T<\fB\-\-backend-sessionprofiles <SESSIONPROFILES_BACKEND>\fR\*(T>
+Use given backend for accessing session profiles, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
+.TP 
+\*(T<\fB\-\-backend-clientsettings <CLIENTSETTINGS_BACKEND>\fR\*(T>
+Use given backend for accessing the client settings configuration, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
+.TP 
+\*(T<\fB\-\-backend-clientprinting <CLIENTPRINTING_BACKEND>\fR\*(T>
+Use given backend for accessing the client printing configuration, available backends on Linux: FILES, GCONF; on Windows: FILES, WINREG.
+.SH PORTABLE OPTIONS
+.TP 
+\*(T<\fB\-\-client-rootdir <CLIENT_ROOTDIR>\fR\*(T>
+Define an alternative location where to find plain text config files (default: <HOME>/.x2goclient).
+This option will set ,,--backend-profiles FILE'', ,,--backend-clientsettings FILE'' and ,,--backend-clientprinting FILE''
+.TP 
+\*(T<\fB\-\-sessions-rootdir <SESSIONS_ROOTDIR>\fR\*(T>
+Define an alternative location for session runtime files (default: <HOME>/.x2go).
+.TP 
+\*(T<\fB\-\-ssh-rootdir <SSH_ROOTDIR>\fR\*(T>
+Define an alternative location for user SSH files (default: <HOME>/.ssh).
+.SH WINDOWS OPTIONS
+There are some options that are only available on Windows:
+.TP 
+\*(T<\fB\-\-start-xserver\fR\*(T>
+Start an  XServer (if available) before starting \fBpyhoca-gui\fR. The application will detect the best 
+suitable XServer automatically, if more than one XServer is installed on your system (currently known:
+Xming, Cygwin-X).
+.TP
+\*(T<\fB\-\-preferred-xserver <XSERVER_NAME>\fR\*(T>
+Start either of the currently supported XServers: Xming, Cygwin-X -- make sure your preferred XServer is installed 
+on your system.
+.TP 
+\*(T<\fB\-\-start-pulseaudio\fR\*(T>
+Start the PulseAudio server before starting \fBpyhoca-gui\fR. This option is needed to get X2go audio working. However, it is
+not enabled by default.
+.TP 
+\*(T<\fB\-\-lang [en|de|nl|es]\fR\*(T>
+Select the GUI language.
+.SH "SEE ALSO"
+\fB/usr/share/doc/pyhoca-gui\fR
+.SH AUTHOR
+This manual has been written by Dick Kniep <dick.kniep at lindix.nl> and Mike Gabriel <m.gabriel at das-netzwerkteam.de>.
diff --git a/pixmaps/pyhoca-gui.ico b/pixmaps/pyhoca-gui.ico
new file mode 100644
index 0000000..ffe7520
Binary files /dev/null and b/pixmaps/pyhoca-gui.ico differ
diff --git a/pixmaps/pyhoca_x2go-logo-ubuntu.ico b/pixmaps/pyhoca_x2go-logo-ubuntu.ico
new file mode 100644
index 0000000..209495c
Binary files /dev/null and b/pixmaps/pyhoca_x2go-logo-ubuntu.ico differ
diff --git a/pixmaps/pyhoca_x2go-logo-ubuntu.svg b/pixmaps/pyhoca_x2go-logo-ubuntu.svg
new file mode 100644
index 0000000..04c15f4
--- /dev/null
+++ b/pixmaps/pyhoca_x2go-logo-ubuntu.svg
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   width="128"
+   height="128"
+   sodipodi:docname="x2go-logo-ubuntu.svg"
+   sodipodi:docbase="/Users/h1/Documents/Projekte/x2go/x2go"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   inkscape:export-filename="/home/h1/Desktop/x2go-logo.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata87">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs85">
+    <linearGradient
+       id="linearGradient3453">
+      <stop
+         style="stop-color:#2b0000;stop-opacity:1;"
+         offset="0"
+         id="stop3455" />
+      <stop
+         id="stop3461"
+         offset="0.5"
+         style="stop-color:#950000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffe400;stop-opacity:1;"
+         offset="1"
+         id="stop3457" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 300 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="800 : 300 : 1"
+       inkscape:persp3d-origin="400 : 200 : 1"
+       id="perspective2637" />
+    <linearGradient
+       id="linearGradient4665">
+      <stop
+         style="stop-color:#162d50;stop-opacity:1;"
+         offset="0"
+         id="stop4667" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop4669" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       x="-0.20268817"
+       width="1.4053763"
+       y="-0.4560484"
+       height="1.9120969"
+       id="filter3580">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="15.201613"
+         id="feGaussianBlur3582" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter4659">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.82806857"
+         id="feGaussianBlur4661" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4665"
+       id="linearGradient4671"
+       x1="400"
+       y1="100"
+       x2="400"
+       y2="0"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1,1.1)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3453"
+       id="linearGradient3459"
+       x1="0"
+       y1="3"
+       x2="0"
+       y2="128"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="816"
+     inkscape:window-width="1503"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10000"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:grid-points="true"
+     inkscape:guide-points="true"
+     width="800px"
+     height="600px"
+     inkscape:zoom="4.625"
+     inkscape:cx="37.664865"
+     inkscape:cy="66.782471"
+     inkscape:window-x="0"
+     inkscape:window-y="22"
+     inkscape:current-layer="svg2"
+     units="mm"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <sodipodi:guide
+       orientation="vertical"
+       position="100"
+       id="guide2393" />
+    <sodipodi:guide
+       orientation="vertical"
+       position="700"
+       id="guide2395" />
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0px"
+       originy="0px"
+       spacingx="1px"
+       spacingy="1px"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <rect
+     style="fill:url(#linearGradient3459);fill-opacity:1;opacity:0.5"
+     id="rect2681"
+     width="128"
+     height="128"
+     x="0"
+     y="-7.1054274e-15"
+     ry="10.162162" />
+  <path
+     sodipodi:type="arc"
+     style="opacity:0.11693546;fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1;filter:url(#filter3580)"
+     id="path2397"
+     sodipodi:cx="410"
+     sodipodi:cy="150"
+     sodipodi:rx="90"
+     sodipodi:ry="40"
+     d="M 500,150 A 90,40 0 1 1 320,150 A 90,40 0 1 1 500,150 z"
+     transform="matrix(0.888889,0,0,0.75,-224.4445,38.25)" />
+  <g
+     style="fill:#ffffff"
+     id="g4"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 90,977.626 L 103.32,951.85 C 104.256,949.33 104.688,947.53 104.688,946.594 C 104.688,945.082 104.184,943.93 103.248,943.282 C 102.24,942.562 100.512,942.202 98.064,942.202 L 98.064,939.826 L 120.168,939.826 L 120.168,942.202 C 117.144,942.202 114.984,942.85 113.472,944.146 C 111.96,945.442 109.872,948.898 106.992,954.514 L 92.376,982.954 L 110.808,1024.498 C 112.68,1028.386 114.336,1031.122 115.776,1032.634 C 117.216,1034.074 118.944,1034.866 120.888,1034.866 L 120.888,1037.17 L 94.536,1037.17 L 94.536,1034.866 C 96.912,1034.866 98.568,1034.578 99.576,1033.93 C 100.584,1033.354 101.088,1032.346 101.088,1031.05 C 101.088,1029.826 100.368,1027.666 99.072,1024.498 L 86.112,995.482 L 71.28,1024.498 C 69.912,1026.946 69.192,1028.962 69.192,1030.474 C 69.192,1033.426 71.352,1034.866 75.672,1034.866 L 75.672,1037.17 L 55.728,1037.17 L 55.728,1034.866 C 57.672,1034.866 59.4,1034.218 60.84,1032.994 C 62.28,1031.77 63.792,1029.682 65.232,1026.586 L 83.736,990.01 L 67.248,9
 52.498 C
  65.52,948.466 63.936,945.802 62.424,944.362 C 60.84,942.922 58.608,942.202 55.728,942.202 L 55.728,939.826 L 84.024,939.826 L 84.024,942.202 C 79.632,942.202 77.4,943.714 77.4,946.738 C 77.4,948.25 77.832,949.978 78.696,951.85 L 90,977.626 z"
+       id="path6" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g8"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,940.474 L 50.976,939.25 L 50.976,941.698 L 6.984,940.474 z"
+       id="path10" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g12"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,946.45 L 50.976,945.298 L 50.976,946.954 L 56.16,947.026 L 56.52,947.026 L 56.808,947.026 L 57.096,947.098 L 57.384,947.098 L 57.672,947.17 L 57.888,947.242 L 58.104,947.314 L 58.32,947.386 L 58.464,947.458 L 58.608,947.53 L 58.752,947.602 L 58.896,947.674 L 58.968,947.746 L 59.112,947.818 L 59.112,947.89 L 59.184,947.89 L 6.984,946.45 z"
+       id="path14" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g16"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,952.498 L 61.272,950.986 L 61.488,951.346 L 61.776,951.922 L 62.064,952.498 L 62.352,953.146 L 62.64,953.794 L 62.784,954.01 L 6.984,952.498 z"
+       id="path18" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g20"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,958.474 L 63.936,956.89 L 65.376,960.058 L 6.984,958.474 z"
+       id="path22" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g24"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,964.45 L 66.528,962.866 L 67.968,966.106 L 6.984,964.45 z"
+       id="path26" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g28"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,970.498 L 69.12,968.77 L 70.632,972.226 L 6.984,970.498 z"
+       id="path30" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g32"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,976.474 L 71.712,974.674 L 73.296,978.274 L 6.984,976.474 z"
+       id="path34" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g36"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,982.45 L 74.304,980.65 L 75.96,984.322 L 6.984,982.45 z"
+       id="path38" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g40"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,988.426 L 76.896,986.554 L 78.408,989.866 L 78.192,990.37 L 6.984,988.426 z"
+       id="path42" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g44"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,994.402 L 77.112,992.458 L 75.168,996.274 L 6.984,994.402 z"
+       id="path46" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g48"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1000.378 L 74.016,998.578 L 72.216,1002.178 L 6.984,1000.378 z"
+       id="path50" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g52"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1006.354 L 70.92,1004.626 L 69.192,1008.082 L 6.984,1006.354 z"
+       id="path54" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g56"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1012.402 L 67.896,1010.746 L 66.168,1013.986 L 6.984,1012.402 z"
+       id="path58" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g60"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1036.378 L 50.976,1035.154 L 50.976,1037.602 L 6.984,1036.378 z"
+       id="path62" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g64"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1030.402 L 58.104,1028.962 L 58.032,1029.106 L 57.888,1029.178 L 57.744,1029.322 L 57.6,1029.394 L 57.528,1029.538 L 57.384,1029.61 L 57.312,1029.682 L 57.168,1029.682 L 57.024,1029.754 L 56.952,1029.826 L 56.808,1029.898 L 56.736,1029.898 L 56.592,1029.97 L 56.448,1029.97 L 56.376,1029.97 L 56.232,1030.042 L 56.088,1030.042 L 55.944,1030.042 L 50.976,1030.114 L 50.976,1031.554 L 6.984,1030.402 z"
+       id="path66" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g68"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1024.354 L 61.776,1022.914 L 60.984,1024.498 L 60.696,1025.002 L 60.48,1025.506 L 60.264,1025.866 L 6.984,1024.354 z"
+       id="path70" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g72"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 6.984,1018.378 L 64.8,1016.794 L 63.288,1019.89 L 6.984,1018.378 z"
+       id="path74" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g76"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 63.936,924.49 L 118.872,924.49 C 123.84,924.49 127.872,928.522 127.872,933.49 L 127.872,1043.362 C 127.872,1048.33 123.84,1052.362 118.872,1052.362 L 63.936,1052.362 L 63.936,1050.418 L 117.864,1050.418 C 122.256,1050.418 125.856,1046.818 125.856,1042.426 L 125.856,934.498 C 125.856,930.106 122.256,926.506 117.864,926.506 L 63.936,926.506 L 63.936,924.49 z"
+       id="path78" />
+  </g>
+  <g
+     style="fill:#ffffff"
+     id="g80"
+     transform="matrix(1.001001,0,0,1.001001,0,-925.41541)">
+    <path
+       style="fill:#ffffff"
+       d="M 9,924.49 L 63.936,924.49 L 63.936,926.506 L 9.936,926.506 C 5.544,926.506 1.944,930.106 1.944,934.498 L 1.944,1042.426 C 1.944,1046.818 5.544,1050.418 9.936,1050.418 L 63.936,1050.418 L 63.936,1052.362 L 9,1052.362 C 4.032,1052.362 0,1048.33 0,1043.362 L 0,933.49 C 0,928.522 4.032,924.49 9,924.49 z"
+       id="path82" />
+  </g>
+</svg>
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..1bf078d
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,11 @@
+pyhoca/__init__.py
+pyhoca/wxgui/notify.py
+pyhoca/wxgui/logon.py
+pyhoca/wxgui/taskbar.py
+pyhoca/wxgui/__init__.py
+pyhoca/wxgui/profilemanager.py
+pyhoca/wxgui/menus_taskbar.py
+pyhoca/wxgui/about.py
+pyhoca/wxgui/basepath.py
+pyhoca/wxgui/frontend.py
+pyhoca-gui
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..31188fd
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,855 @@
+# PyHoca-GUI / i18n.
+# Copyright (C) 2010-2011 Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#                         Dick Kniep <dick.kniep at lindix.nl>
+# This file is distributed under the same license as the PyHoca-GUI package.
+# Mike Gabriel <m.gabriel at das-netzwerkteam.de>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PyHoca-GUI VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-22 13:01+0100\n"
+"PO-Revision-Date: 2011-02-22 13:01+0100\n"
+"Last-Translator: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>\n"
+"Language-Team: de <m.gabriel at das-netzwerkteam.de>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../pyhoca/wxgui/logon.py:80
+#, python-format
+msgid "%s (via %s)"
+msgstr "%s (via %s)"
+
+#: ../pyhoca/wxgui/logon.py:82 ../pyhoca/wxgui/logon.py:92
+msgid "Username"
+msgstr "Benutzername"
+
+#: ../pyhoca/wxgui/logon.py:84 ../pyhoca/wxgui/logon.py:94
+msgid "Password"
+msgstr "Kennwort"
+
+#: ../pyhoca/wxgui/logon.py:87
+msgid "Authenticate"
+msgstr "Anmelden"
+
+#: ../pyhoca/wxgui/logon.py:97
+msgid "  Start SSH tunnel  "
+msgstr "SSH Tunnel aufbauen"
+
+#: ../pyhoca/wxgui/logon.py:103
+msgid "Session login"
+msgstr "Sitzungslogin"
+
+#: ../pyhoca/wxgui/logon.py:104
+msgid "SSH proxy server login"
+msgstr "Anmeldung an SSH Proxy"
+
+#: ../pyhoca/wxgui/logon.py:115 ../pyhoca/wxgui/profilemanager.py:258
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../pyhoca/wxgui/logon.py:235 ../pyhoca/wxgui/logon.py:267
+#: ../pyhoca/wxgui/frontend.py:309
+#, python-format
+msgid "%s - connect failure"
+msgstr "%s - Verbindung fehlgeschlagen"
+
+#: ../pyhoca/wxgui/logon.py:236 ../pyhoca/wxgui/frontend.py:309
+msgid "User is not allowed to start X2go sessions!"
+msgstr "Benutzer darf keine X2go Sitzungen starten!"
+
+#: ../pyhoca/wxgui/logon.py:241 ../pyhoca/wxgui/frontend.py:313
+#, python-format
+msgid "%s - connect"
+msgstr "%s - verbinden"
+
+#: ../pyhoca/wxgui/logon.py:242
+msgid "Authentication has been successful."
+msgstr "Anmeldung war erfolgreich."
+
+#: ../pyhoca/wxgui/logon.py:263
+msgid "SSH tunnel started"
+msgstr "SSH Tunnel gestartet"
+
+#: ../pyhoca/wxgui/logon.py:268
+msgid "Authentication failed!"
+msgstr "Anmeldung fehlgeschlagen!"
+
+#: ../pyhoca/wxgui/logon.py:273
+#, python-format
+msgid "%s - ssh proxy"
+msgstr "%s - SSH Proxy"
+
+#: ../pyhoca/wxgui/logon.py:274
+msgid "Authentication to the SSH proxy server failed!"
+msgstr "Anmeldung am SSH Proxy Server ist fehlgeschlagen"
+
+#: ../pyhoca/wxgui/logon.py:280 ../pyhoca/wxgui/logon.py:286
+#: ../pyhoca/wxgui/logon.py:295 ../pyhoca/wxgui/frontend.py:326
+#: ../pyhoca/wxgui/frontend.py:329 ../pyhoca/wxgui/frontend.py:332
+#: ../pyhoca/wxgui/frontend.py:335
+#, python-format
+msgid "%s - connect error"
+msgstr "%s - Verbindungsfehler"
+
+#: ../pyhoca/wxgui/logon.py:291 ../pyhoca/wxgui/frontend.py:338
+#, python-format
+msgid "%s - key error"
+msgstr "%s - ungültiger Schlüssel"
+
+#: ../pyhoca/wxgui/logon.py:296
+msgid "An unknown error occured during authentication!"
+msgstr "Ein unbekannter Fehler ist während der Serveranmeldung aufgetreten!"
+
+#: ../pyhoca/wxgui/taskbar.py:94
+#, python-format
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+msgstr ""
+"PyHoca-GUI\n"
+"Verbinde mit ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:97
+#, python-format
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Verbindungsaufbau zu X2go server ,,%s'' läuft"
+
+#: ../pyhoca/wxgui/taskbar.py:102
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+msgstr "Verbindlich mit X2go ..."
+
+#: ../pyhoca/wxgui/taskbar.py:105
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Verbindungen zu entferntem X2go server aufbauen"
+
+#: ../pyhoca/wxgui/profilemanager.py:61
+msgid "GNOME Desktop (GNOME)"
+msgstr "GNOME Desktop (GNOME)"
+
+#: ../pyhoca/wxgui/profilemanager.py:62
+msgid "K Desktop Environment (KDE)"
+msgstr "K Desktop Environment (KDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:63
+msgid "Lightweight X Desktop (LXDE)"
+msgstr "Lightweight X Desktop (LXDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:64
+msgid "XDMCP Query"
+msgstr "XDMCP-Serveranfrage (Query)"
+
+#. 'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+#: ../pyhoca/wxgui/profilemanager.py:66
+msgid "Windows Terminal Server (RDP-proxy)"
+msgstr "Windows Terminalserver (RDP-proxy)"
+
+#. 'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+#: ../pyhoca/wxgui/profilemanager.py:68
+msgid "Single Application"
+msgstr "Einzelne Anwendung"
+
+#: ../pyhoca/wxgui/profilemanager.py:69 ../pyhoca/wxgui/profilemanager.py:152
+msgid "Custom command"
+msgstr "Benutzerdef. Kommando"
+
+#: ../pyhoca/wxgui/profilemanager.py:72
+msgid "Internet Browser"
+msgstr "Internetbrowser"
+
+#: ../pyhoca/wxgui/profilemanager.py:73
+msgid "Email Client"
+msgstr "E-Mail Programm"
+
+#: ../pyhoca/wxgui/profilemanager.py:74
+msgid "Openoffice.org"
+msgstr "Openoffice.org"
+
+#: ../pyhoca/wxgui/profilemanager.py:75
+msgid "Terminal"
+msgstr "Terminalkonsole"
+
+#: ../pyhoca/wxgui/profilemanager.py:89
+msgid "Open file with system's default application"
+msgstr "Mit Standardanwendung des Systems öffnen"
+
+#: ../pyhoca/wxgui/profilemanager.py:90
+msgid "Open application chooser dialog"
+msgstr "Auswahldialog öffnen, um Anwendung auszuwählen"
+
+#: ../pyhoca/wxgui/profilemanager.py:91
+msgid "Save incoming file as ..."
+msgstr "Eingehende Datei speichern unter ..."
+
+#: ../pyhoca/wxgui/profilemanager.py:123
+msgid "Server"
+msgstr "Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:124
+msgid "Connection Link Speed"
+msgstr "Verbindungsgeschwindigkeit"
+
+#: ../pyhoca/wxgui/profilemanager.py:125
+msgid "Compression"
+msgstr "Komprimierung"
+
+#: ../pyhoca/wxgui/profilemanager.py:126
+msgid "Display"
+msgstr "Anzeige"
+
+#: ../pyhoca/wxgui/profilemanager.py:127
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: ../pyhoca/wxgui/profilemanager.py:128
+msgid "Sound"
+msgstr "Audio"
+
+#: ../pyhoca/wxgui/profilemanager.py:129
+msgid "Printing"
+msgstr "Drucken"
+
+#: ../pyhoca/wxgui/profilemanager.py:130
+msgid "Folder Exports"
+msgstr "Ordnerfreigabe"
+
+#: ../pyhoca/wxgui/profilemanager.py:131
+msgid "File Import"
+msgstr "Dateiimport"
+
+#. ##
+#. ## widgets for the SESSION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:136
+msgid "Profile name"
+msgstr "Profilname"
+
+#: ../pyhoca/wxgui/profilemanager.py:146
+msgid "Profile icon"
+msgstr "Profilsymbol"
+
+#: ../pyhoca/wxgui/profilemanager.py:148
+msgid "Session type"
+msgstr "Sitzungstyp"
+
+#: ../pyhoca/wxgui/profilemanager.py:150
+msgid "Application"
+msgstr "Anwendung"
+
+#: ../pyhoca/wxgui/profilemanager.py:154
+msgid "RDP settings"
+msgstr "RDP Einstellungen"
+
+#: ../pyhoca/wxgui/profilemanager.py:155
+msgid "RDP server"
+msgstr "RDP Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:157
+msgid "RDP options"
+msgstr "RDP Optionen"
+
+#: ../pyhoca/wxgui/profilemanager.py:159
+msgid "XDMCP server"
+msgstr "XDMCP Server"
+
+#. ##
+#. ## widgets for the CONNECTION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:165 ../pyhoca/wxgui/profilemanager.py:175
+msgid "User"
+msgstr "Benutzer"
+
+#: ../pyhoca/wxgui/profilemanager.py:167
+msgid "Host"
+msgstr "Hostname"
+
+#: ../pyhoca/wxgui/profilemanager.py:169
+msgid "Port"
+msgstr "Port"
+
+#: ../pyhoca/wxgui/profilemanager.py:171
+msgid "RSA/DSA private key"
+msgstr "Privater RSA/DSA Schlüssel"
+
+#: ../pyhoca/wxgui/profilemanager.py:174
+msgid "Server behind SSH proxy"
+msgstr "Server hinter SSH-Proxy"
+
+#: ../pyhoca/wxgui/profilemanager.py:177
+msgid "Key file"
+msgstr "Schlüssel"
+
+#: ../pyhoca/wxgui/profilemanager.py:180
+msgid "Host[:Port]"
+msgstr "Hostname[:Port]"
+
+#: ../pyhoca/wxgui/profilemanager.py:182
+msgid "SSH Proxy Tunnel"
+msgstr "SSH-Proxytunnel"
+
+#: ../pyhoca/wxgui/profilemanager.py:190
+msgid "Modem"
+msgstr "Modem"
+
+#: ../pyhoca/wxgui/profilemanager.py:191
+msgid "ISDN"
+msgstr "ISDN"
+
+#: ../pyhoca/wxgui/profilemanager.py:192
+msgid "ADSL"
+msgstr "ADSL"
+
+#: ../pyhoca/wxgui/profilemanager.py:193
+msgid "WAN"
+msgstr "WAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:194
+msgid "LAN"
+msgstr "LAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:196
+msgid "Method"
+msgstr "Methode"
+
+#: ../pyhoca/wxgui/profilemanager.py:198
+msgid "Image quality"
+msgstr "Bildqualität"
+
+#. ##
+#. ## wigdets for the SETTINGS tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:204
+msgid "Fullscreen"
+msgstr "Vollbild"
+
+#: ../pyhoca/wxgui/profilemanager.py:205
+msgid "Custom Size"
+msgstr "Benutzerdefinierte Größe"
+
+#: ../pyhoca/wxgui/profilemanager.py:210
+msgid "Set display DPI"
+msgstr "DPI-Wert für Anzeige setzen"
+
+#: ../pyhoca/wxgui/profilemanager.py:212
+msgid "Keep current keyboard settings"
+msgstr "Aktuelle Tastatureinstellungen beibehalten"
+
+#: ../pyhoca/wxgui/profilemanager.py:213
+msgid "Keyboard layout"
+msgstr "Tastaturlayout"
+
+#: ../pyhoca/wxgui/profilemanager.py:215
+msgid "Keyboard model"
+msgstr "Tastaturmodell"
+
+#: ../pyhoca/wxgui/profilemanager.py:217
+msgid "Enable sound support"
+msgstr "Audiounterstützung aktivieren"
+
+#: ../pyhoca/wxgui/profilemanager.py:218
+msgid "Pulse Audio"
+msgstr "Pulse Audio"
+
+#. Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+#. However, config files can contain an Arts configuration, so we will honour this
+#: ../pyhoca/wxgui/profilemanager.py:222
+msgid "Arts (not supported)"
+msgstr "Arts (nicht unterstützt)"
+
+#: ../pyhoca/wxgui/profilemanager.py:225
+msgid "esd"
+msgstr "esd"
+
+#: ../pyhoca/wxgui/profilemanager.py:226
+msgid "Use default sound port"
+msgstr "Standard Audio-Port verwenden"
+
+#: ../pyhoca/wxgui/profilemanager.py:227
+msgid "Custom sound port"
+msgstr "Benutzerdefinierter Audio-Port"
+
+#: ../pyhoca/wxgui/profilemanager.py:229
+msgid "Client Side printing"
+msgstr "Unterstützung für lokale Druckeranbindung"
+
+#: ../pyhoca/wxgui/profilemanager.py:231
+msgid "Use local folder sharing"
+msgstr "Lokale Ordnerfreigabe verwenden"
+
+#: ../pyhoca/wxgui/profilemanager.py:232
+msgid "Path"
+msgstr "Pfad"
+
+#: ../pyhoca/wxgui/profilemanager.py:235 ../pyhoca/wxgui/profilemanager.py:252
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: ../pyhoca/wxgui/profilemanager.py:237
+msgid "Delete"
+msgstr "Entfernen"
+
+#: ../pyhoca/wxgui/profilemanager.py:239
+msgid "Convert between client and server encodings"
+msgstr "Zeichenkodierung zwischen Server und Client übersetzen"
+
+#: ../pyhoca/wxgui/profilemanager.py:240
+msgid "Client encoding"
+msgstr "Zeichenkodierung Client"
+
+#: ../pyhoca/wxgui/profilemanager.py:242
+msgid "Server encoding"
+msgstr "Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:245
+msgid "Use file dropbox for local file import"
+msgstr "Datei-Dropbox für lokalen Dateiimport verwenden"
+
+#: ../pyhoca/wxgui/profilemanager.py:246
+msgid "Extensions"
+msgstr "Erweiterungen"
+
+#: ../pyhoca/wxgui/profilemanager.py:248
+msgid "Action"
+msgstr "Aktion"
+
+#: ../pyhoca/wxgui/profilemanager.py:253
+msgid "Defaults"
+msgstr "Standardwerte"
+
+#: ../pyhoca/wxgui/profilemanager.py:255
+msgid "Save"
+msgstr "Speichern"
+
+#: ../pyhoca/wxgui/profilemanager.py:256
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#: ../pyhoca/wxgui/profilemanager.py:293
+msgid "PyHoca-GUI Profile Manager - new profile"
+msgstr "PyHoca-GUI Profilmanager - neues Sitzungsprofil"
+
+#: ../pyhoca/wxgui/profilemanager.py:295
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s (connected)"
+msgstr "PyHoca-GUI Profilmanager - %s (verbunden)"
+
+#: ../pyhoca/wxgui/profilemanager.py:297
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s"
+msgstr "PyHoca-GUI Profilmanager - %s"
+
+#: ../pyhoca/wxgui/profilemanager.py:613
+msgid "Session Profile"
+msgstr "Sitzungsprofil"
+
+#: ../pyhoca/wxgui/profilemanager.py:614
+msgid "Connection"
+msgstr "Verbindung"
+
+#: ../pyhoca/wxgui/profilemanager.py:615
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: ../pyhoca/wxgui/profilemanager.py:616
+msgid "Sharing"
+msgstr "Ordnerfreigabe"
+
+#: ../pyhoca/wxgui/profilemanager.py:980
+msgid "Icon Files (*.png)|*.png|All files (*.*)|*"
+msgstr "Icon Dateien (*.png)|*.png|Alle Dateien (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:983
+msgid "Choose an icon for this session profile"
+msgstr "Sitzungs-Icon für dieses Sitzungsprofil auswählen"
+
+#: ../pyhoca/wxgui/profilemanager.py:1091
+msgid "All files (*.*)|*"
+msgstr "Alle Dateien (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:1093
+#: ../pyhoca/wxgui/profilemanager.py:1108
+msgid "Choose a public SSH key"
+msgstr "Öffentlichen SSH-Schlüssel auswählen"
+
+#: ../pyhoca/wxgui/profilemanager.py:1242
+msgid "Choose a folder to share within a session"
+msgstr "Ordner zur Freigabe für Sitzungen auswählen"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307 ../pyhoca/wxgui/menus_taskbar.py:86
+msgid "Profile Manager"
+msgstr "Profilmanager"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307
+msgid "Profile name is missing, profile unusable!!!"
+msgstr "Der Profilname fehlt, Profil so nicht verwendbar!!!"
+
+#: ../pyhoca/wxgui/profilemanager.py:1329
+#, python-format
+msgid "%s - profile added"
+msgstr "%s - Profil hinzugefügt"
+
+#: ../pyhoca/wxgui/profilemanager.py:1330
+msgid "A new session profile has been added."
+msgstr "Ein neues Sitzungsprofil wurde hinzugefügt."
+
+#: ../pyhoca/wxgui/profilemanager.py:1334
+#, python-format
+msgid "%s - modified"
+msgstr "%s - modifiziert"
+
+#: ../pyhoca/wxgui/profilemanager.py:1335
+msgid "Changes to profile have been saved."
+msgstr "Änderungen am Profil wurden übernommen."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:55
+msgid "Edit Profile"
+msgstr "Sitzungsprofil bearbeiten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:57
+msgid "Delete Profile"
+msgstr "Sitzungsprofil löschen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:79 ../pyhoca/wxgui/about.py:55
+#: ../pyhoca/wxgui/about.py:57
+#, python-format
+msgid "About %s ..."
+msgstr "Über %s ..."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:97
+msgid "Client Options"
+msgstr "Optionen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:105 ../pyhoca/wxgui/menus_taskbar.py:328
+msgid "E&xit"
+msgstr "&Beenden"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:142
+msgid "Resume Session"
+msgstr "Sitzung fortsetzen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:145
+msgid "Transfer Session"
+msgstr "Sitzung übernehmen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:146
+msgid "Suspend Session"
+msgstr "Sitzung anhalten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:148
+msgid "Terminate Session"
+msgstr "Sitzung beenden"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:186
+msgid "Start &new Session"
+msgstr "&Neue Sitzung starten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:199
+msgid "Running"
+msgstr "aktiv"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:201
+msgid "Suspended"
+msgstr "angehalten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:211
+msgid "&Clean all sessions"
+msgstr "Alle Sitzungen beenden"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:213
+msgid "Customize &profile"
+msgstr "Sitzungsprofil anpassen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:215
+msgid "Share local &folder"
+msgstr "Lokalen Ordner verbinden"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:220
+msgid "&Disconnect from Server"
+msgstr "Von Server trennen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:248
+msgid "Add Profile"
+msgstr "Sitzungsprofil hinzufügen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:274
+msgid "No session profiles defined"
+msgstr "keine Sitzungsprofile definiert"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Start/Resume Session"
+msgstr "Sitzung starten/fortsetzen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Connect Server"
+msgstr "Serververbindung aufbauen"
+
+#: ../pyhoca/wxgui/frontend.py:313
+msgid "Public SSH key authentication has been successful."
+msgstr "Authentifizierung mit öffentlichem SSH Schlüssel war erfolgreich."
+
+#: ../pyhoca/wxgui/frontend.py:335
+msgid "Authentication protocol communication incomplete! Try again..."
+msgstr ""
+"Kommunikation während Authentifizierungsprotokoll unvollständig! Nochmal "
+"versuchen..."
+
+#: ../pyhoca/wxgui/frontend.py:414
+msgid "Cleaning X2go sessions..."
+msgstr "Beende X2go Sitzungen..."
+
+#: ../pyhoca/wxgui/frontend.py:434
+#, python-format
+msgid "%s - disconnect"
+msgstr "%s - trennen"
+
+#: ../pyhoca/wxgui/frontend.py:434
+msgid "X2go Profile is now disconnected."
+msgstr "X2go Profil ist nun nicht mehr verbunden."
+
+#: ../pyhoca/wxgui/frontend.py:442
+msgid "New Session Profile"
+msgstr "Neues Sitzungsprofil"
+
+#: ../pyhoca/wxgui/frontend.py:471
+#, python-format
+msgid "%s - profile deleted"
+msgstr "%s - Profil gelöscht"
+
+#: ../pyhoca/wxgui/frontend.py:471
+msgid "The session profile has been deleted."
+msgstr "Das Sitzungsprofil wurde gelöscht."
+
+#: ../pyhoca/wxgui/frontend.py:486
+#, python-format
+msgid "%s - share local folder with sessions of this profile"
+msgstr "%s - lokalen Ordner für dieses Sitzungsprofile freigeben"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid "%s - channel error"
+msgstr "%s - Verbindungsfehler"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+msgstr ""
+"Die Verbindung zum Server %s wurde unerwartet unterbrochen! Bitte versuchen "
+"Sie, sich neu am Server anzumelden..."
+
+#: ../pyhoca/wxgui/frontend.py:531 ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid "%s - session failure"
+msgstr "%s - Verbindung fehlgeschlagen"
+
+#: ../pyhoca/wxgui/frontend.py:531
+#, python-format
+msgid ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+msgstr ""
+"Der Befehl ,,%s'' ist auf dem X2go Server nicht  verfügbar\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid "%s - session warning"
+msgstr "%s - Sitzungsfunktion eingeschränkt"
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+msgstr ""
+"Eine Reverse TCP Port Weiterleitungsanfrage für Sitzung %s an Serverport %s "
+"wurde vom X2go Server abgelehnt. Leider kann dieses Problem aufgrund der SSH "
+"Implementation häufiger vorkommen. Falls administrativ die Möglichkeit "
+"besteht, wird es helfen, den SSH-Server Prozess auf dem X2go Server neu zu "
+"starten."
+
+#: ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+msgstr ""
+"SSH Forwarding Tunnel zu [%s]:%s wurde für Sitzung %s vom X2go/SSH Server "
+"verweigert. Die Sitzung konnte nicht gestartet werden."
+
+#: ../pyhoca/wxgui/frontend.py:537
+#, python-format
+msgid "%s - audio warning"
+msgstr "%s - Warnung Audiosystem"
+
+#: ../pyhoca/wxgui/frontend.py:537
+msgid ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+msgstr ""
+"Das X2go PulseAudio System ist innerhalb von Remote Desktop Sitzungen nicht "
+"verfügbar."
+
+#: ../pyhoca/wxgui/frontend.py:539 ../pyhoca/wxgui/frontend.py:541
+#, python-format
+msgid "%s - audio error"
+msgstr "%s - Audiofehler"
+
+#: ../pyhoca/wxgui/frontend.py:539
+msgid "The X2go PulseAudio system could not be started."
+msgstr "Das X2go PulseAudio System konnte nicht gestartet werden."
+
+#: ../pyhoca/wxgui/frontend.py:541
+msgid "The X2go PulseAudio system has died unexpectedly."
+msgstr "Das X2go PulseAudio System ist soeben abgestürzt."
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid "%s - audio problem"
+msgstr "%s - Audioproblem"
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+msgstr ""
+"Die Audio-Verbindung für diese Sitzung konnte nicht aufgebaut werden.\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid "%s - print job"
+msgstr "%s - Druckauftrag"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+msgstr ""
+"Druckdialog für eingehende Druckaufträge ist bislang nicht implementiert!!!\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid "%s - print error"
+msgstr "%s - Druckfehler"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid ""
+"%s\n"
+"...caused by session\n"
+"%s"
+msgstr ""
+"%s\n"
+"...verursacht von Sitzung\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:570 ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid "%s - start"
+msgstr "%s - starten"
+
+#: ../pyhoca/wxgui/frontend.py:570
+#, python-format
+msgid ""
+"New X2go session starting up...\n"
+"%s"
+msgstr ""
+"Neue X2go Sitzung wird gestartet...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid ""
+"Another client started X2go session\n"
+"%s"
+msgstr ""
+"Ein anderes X2go Programm hat diese Sitzung gestartet\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:574 ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid "%s - resume"
+msgstr "%s - fortsetzen"
+
+#: ../pyhoca/wxgui/frontend.py:574
+#, python-format
+msgid ""
+"Resuming X2go session...\n"
+"%s"
+msgstr ""
+"X2go Sitzung wird fortgesetzt...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid ""
+"Another client resumed X2go session\n"
+"%s"
+msgstr ""
+"Eine andere X2go Anwendung hat die Sitzung fortgesetzt\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid "%s - running"
+msgstr "%s - aktiv"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid ""
+"Found already running session\n"
+"%s"
+msgstr ""
+"Bereits aktive Sitzung gefunden\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid "%s - suspend"
+msgstr "%s - anhalten"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid ""
+"X2go Session has been suspended\n"
+"%s"
+msgstr ""
+"X2go Sitzung wurde angehalten\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid "%s - terminate"
+msgstr "%s - beenden"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid ""
+"X2go Session has terminated\n"
+"%s"
+msgstr ""
+"X2go Sitzung wurde beendet\n"
+"%s"
+
+#~ msgid "Arts"
+#~ msgstr "Arts"
diff --git a/po/en.po b/po/en.po
new file mode 100644
index 0000000..e998472
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,852 @@
+# PyHoca-GUI / i18n.
+# Copyright (C) 2010-2011 Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#                         Dick Kniep <dick.kniep at lindix.nl>
+# This file is distributed under the same license as the PyHoca-GUI package.
+# Mike Gabriel <m.gabriel at das-netzwerkteam.de>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PyHoca-GUI VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-22 13:01+0100\n"
+"PO-Revision-Date: 2011-02-22 13:00+0100\n"
+"Last-Translator: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>\n"
+"Language-Team: en <m.gabriel at das-netzwerkteam.de>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: English\n"
+"X-Poedit-Country: UNITED STATES\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../pyhoca/wxgui/logon.py:80
+#, python-format
+msgid "%s (via %s)"
+msgstr "%s (via %s)"
+
+#: ../pyhoca/wxgui/logon.py:82 ../pyhoca/wxgui/logon.py:92
+msgid "Username"
+msgstr "Username"
+
+#: ../pyhoca/wxgui/logon.py:84 ../pyhoca/wxgui/logon.py:94
+msgid "Password"
+msgstr "Password"
+
+#: ../pyhoca/wxgui/logon.py:87
+msgid "Authenticate"
+msgstr "Authenticate"
+
+#: ../pyhoca/wxgui/logon.py:97
+msgid "  Start SSH tunnel  "
+msgstr "  Start SSH tunnel  "
+
+#: ../pyhoca/wxgui/logon.py:103
+msgid "Session login"
+msgstr "Session login"
+
+#: ../pyhoca/wxgui/logon.py:104
+msgid "SSH proxy server login"
+msgstr "SSH proxy server login"
+
+#: ../pyhoca/wxgui/logon.py:115 ../pyhoca/wxgui/profilemanager.py:258
+msgid "Cancel"
+msgstr "Cancel"
+
+#: ../pyhoca/wxgui/logon.py:235 ../pyhoca/wxgui/logon.py:267
+#: ../pyhoca/wxgui/frontend.py:309
+#, python-format
+msgid "%s - connect failure"
+msgstr "%s - connect failure"
+
+#: ../pyhoca/wxgui/logon.py:236 ../pyhoca/wxgui/frontend.py:309
+msgid "User is not allowed to start X2go sessions!"
+msgstr "User is not allowed to start X2go sessions!"
+
+#: ../pyhoca/wxgui/logon.py:241 ../pyhoca/wxgui/frontend.py:313
+#, python-format
+msgid "%s - connect"
+msgstr "%s - connect"
+
+#: ../pyhoca/wxgui/logon.py:242
+msgid "Authentication has been successful."
+msgstr "Authentication has been successful."
+
+#: ../pyhoca/wxgui/logon.py:263
+msgid "SSH tunnel started"
+msgstr "SSH tunnel started"
+
+#: ../pyhoca/wxgui/logon.py:268
+msgid "Authentication failed!"
+msgstr "Authentication failed!"
+
+#: ../pyhoca/wxgui/logon.py:273
+#, python-format
+msgid "%s - ssh proxy"
+msgstr "%s - ssh proxy"
+
+#: ../pyhoca/wxgui/logon.py:274
+msgid "Authentication to the SSH proxy server failed!"
+msgstr "Authentication to the SSH proxy server failed!"
+
+#: ../pyhoca/wxgui/logon.py:280 ../pyhoca/wxgui/logon.py:286
+#: ../pyhoca/wxgui/logon.py:295 ../pyhoca/wxgui/frontend.py:326
+#: ../pyhoca/wxgui/frontend.py:329 ../pyhoca/wxgui/frontend.py:332
+#: ../pyhoca/wxgui/frontend.py:335
+#, python-format
+msgid "%s - connect error"
+msgstr "%s - connect error"
+
+#: ../pyhoca/wxgui/logon.py:291 ../pyhoca/wxgui/frontend.py:338
+#, python-format
+msgid "%s - key error"
+msgstr "%s - key error"
+
+#: ../pyhoca/wxgui/logon.py:296
+msgid "An unknown error occured during authentication!"
+msgstr "An unknown error occured during authentication!"
+
+#: ../pyhoca/wxgui/taskbar.py:94
+#, python-format
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+msgstr ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:97
+#, python-format
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:102
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+msgstr ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+
+#: ../pyhoca/wxgui/taskbar.py:105
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+
+#: ../pyhoca/wxgui/profilemanager.py:61
+msgid "GNOME Desktop (GNOME)"
+msgstr "GNOME Desktop (GNOME)"
+
+#: ../pyhoca/wxgui/profilemanager.py:62
+msgid "K Desktop Environment (KDE)"
+msgstr "K Desktop Environment (KDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:63
+msgid "Lightweight X Desktop (LXDE)"
+msgstr "Lightweight X Desktop (LXDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:64
+msgid "XDMCP Query"
+msgstr "XDMCP Query"
+
+#. 'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+#: ../pyhoca/wxgui/profilemanager.py:66
+msgid "Windows Terminal Server (RDP-proxy)"
+msgstr "Windows Terminal Server (RDP-proxy)"
+
+#. 'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+#: ../pyhoca/wxgui/profilemanager.py:68
+msgid "Single Application"
+msgstr "Single Application"
+
+#: ../pyhoca/wxgui/profilemanager.py:69 ../pyhoca/wxgui/profilemanager.py:152
+msgid "Custom command"
+msgstr "Custom command"
+
+#: ../pyhoca/wxgui/profilemanager.py:72
+msgid "Internet Browser"
+msgstr "Internet Browser"
+
+#: ../pyhoca/wxgui/profilemanager.py:73
+msgid "Email Client"
+msgstr "Email Client"
+
+#: ../pyhoca/wxgui/profilemanager.py:74
+msgid "Openoffice.org"
+msgstr "Openoffice.org"
+
+#: ../pyhoca/wxgui/profilemanager.py:75
+msgid "Terminal"
+msgstr "Terminal"
+
+#: ../pyhoca/wxgui/profilemanager.py:89
+msgid "Open file with system's default application"
+msgstr "Open file with system's default application"
+
+#: ../pyhoca/wxgui/profilemanager.py:90
+msgid "Open application chooser dialog"
+msgstr "Open application chooser dialog"
+
+#: ../pyhoca/wxgui/profilemanager.py:91
+msgid "Save incoming file as ..."
+msgstr "Save incoming file as ..."
+
+#: ../pyhoca/wxgui/profilemanager.py:123
+msgid "Server"
+msgstr "Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:124
+msgid "Connection Link Speed"
+msgstr "Connection Link Speed"
+
+#: ../pyhoca/wxgui/profilemanager.py:125
+msgid "Compression"
+msgstr "Compression"
+
+#: ../pyhoca/wxgui/profilemanager.py:126
+msgid "Display"
+msgstr "Display"
+
+#: ../pyhoca/wxgui/profilemanager.py:127
+msgid "Keyboard"
+msgstr "Keyboard"
+
+#: ../pyhoca/wxgui/profilemanager.py:128
+msgid "Sound"
+msgstr "Sound"
+
+#: ../pyhoca/wxgui/profilemanager.py:129
+msgid "Printing"
+msgstr "Printing"
+
+#: ../pyhoca/wxgui/profilemanager.py:130
+msgid "Folder Exports"
+msgstr "Folder Exports"
+
+#: ../pyhoca/wxgui/profilemanager.py:131
+msgid "File Import"
+msgstr "File Import"
+
+#. ##
+#. ## widgets for the SESSION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:136
+msgid "Profile name"
+msgstr "Profile name"
+
+#: ../pyhoca/wxgui/profilemanager.py:146
+msgid "Profile icon"
+msgstr "Profile icon"
+
+#: ../pyhoca/wxgui/profilemanager.py:148
+msgid "Session type"
+msgstr "Session type"
+
+#: ../pyhoca/wxgui/profilemanager.py:150
+msgid "Application"
+msgstr "Application"
+
+#: ../pyhoca/wxgui/profilemanager.py:154
+msgid "RDP settings"
+msgstr "RDP settings"
+
+#: ../pyhoca/wxgui/profilemanager.py:155
+msgid "RDP server"
+msgstr "RDP server"
+
+#: ../pyhoca/wxgui/profilemanager.py:157
+msgid "RDP options"
+msgstr "RDP options"
+
+#: ../pyhoca/wxgui/profilemanager.py:159
+msgid "XDMCP server"
+msgstr "XDMCP server"
+
+#. ##
+#. ## widgets for the CONNECTION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:165 ../pyhoca/wxgui/profilemanager.py:175
+msgid "User"
+msgstr "User"
+
+#: ../pyhoca/wxgui/profilemanager.py:167
+msgid "Host"
+msgstr "Host"
+
+#: ../pyhoca/wxgui/profilemanager.py:169
+msgid "Port"
+msgstr "Port"
+
+#: ../pyhoca/wxgui/profilemanager.py:171
+msgid "RSA/DSA private key"
+msgstr "RSA/DSA private key"
+
+#: ../pyhoca/wxgui/profilemanager.py:174
+msgid "Server behind SSH proxy"
+msgstr "Server behind SSH proxy"
+
+#: ../pyhoca/wxgui/profilemanager.py:177
+msgid "Key file"
+msgstr "Key file"
+
+#: ../pyhoca/wxgui/profilemanager.py:180
+msgid "Host[:Port]"
+msgstr "Host[:Port]"
+
+#: ../pyhoca/wxgui/profilemanager.py:182
+msgid "SSH Proxy Tunnel"
+msgstr "SSH Proxy Tunnel"
+
+#: ../pyhoca/wxgui/profilemanager.py:190
+msgid "Modem"
+msgstr "Modem"
+
+#: ../pyhoca/wxgui/profilemanager.py:191
+msgid "ISDN"
+msgstr "ISDN"
+
+#: ../pyhoca/wxgui/profilemanager.py:192
+msgid "ADSL"
+msgstr "ADSL"
+
+#: ../pyhoca/wxgui/profilemanager.py:193
+msgid "WAN"
+msgstr "WAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:194
+msgid "LAN"
+msgstr "LAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:196
+msgid "Method"
+msgstr "Method"
+
+#: ../pyhoca/wxgui/profilemanager.py:198
+msgid "Image quality"
+msgstr "Image quality"
+
+#. ##
+#. ## wigdets for the SETTINGS tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:204
+msgid "Fullscreen"
+msgstr "Fullscreen"
+
+#: ../pyhoca/wxgui/profilemanager.py:205
+msgid "Custom Size"
+msgstr "Custom Size"
+
+#: ../pyhoca/wxgui/profilemanager.py:210
+msgid "Set display DPI"
+msgstr "Set display DPI"
+
+#: ../pyhoca/wxgui/profilemanager.py:212
+msgid "Keep current keyboard settings"
+msgstr "Keep current keyboard settings"
+
+#: ../pyhoca/wxgui/profilemanager.py:213
+msgid "Keyboard layout"
+msgstr "Keyboard layout"
+
+#: ../pyhoca/wxgui/profilemanager.py:215
+msgid "Keyboard model"
+msgstr "Keyboard model"
+
+#: ../pyhoca/wxgui/profilemanager.py:217
+msgid "Enable sound support"
+msgstr "Enable sound support"
+
+#: ../pyhoca/wxgui/profilemanager.py:218
+msgid "Pulse Audio"
+msgstr "Pulse Audio"
+
+#. Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+#. However, config files can contain an Arts configuration, so we will honour this
+#: ../pyhoca/wxgui/profilemanager.py:222
+msgid "Arts (not supported)"
+msgstr "Arts (not supported)"
+
+#: ../pyhoca/wxgui/profilemanager.py:225
+msgid "esd"
+msgstr "esd"
+
+#: ../pyhoca/wxgui/profilemanager.py:226
+msgid "Use default sound port"
+msgstr "Use default sound port"
+
+#: ../pyhoca/wxgui/profilemanager.py:227
+msgid "Custom sound port"
+msgstr "Custom sound port"
+
+#: ../pyhoca/wxgui/profilemanager.py:229
+msgid "Client Side printing"
+msgstr "Client Side printing"
+
+#: ../pyhoca/wxgui/profilemanager.py:231
+msgid "Use local folder sharing"
+msgstr "Use local folder sharing"
+
+#: ../pyhoca/wxgui/profilemanager.py:232
+msgid "Path"
+msgstr "Path"
+
+#: ../pyhoca/wxgui/profilemanager.py:235 ../pyhoca/wxgui/profilemanager.py:252
+msgid "Add"
+msgstr "Add"
+
+#: ../pyhoca/wxgui/profilemanager.py:237
+msgid "Delete"
+msgstr "Delete"
+
+#: ../pyhoca/wxgui/profilemanager.py:239
+msgid "Convert between client and server encodings"
+msgstr "Convert between client and server encodings"
+
+#: ../pyhoca/wxgui/profilemanager.py:240
+msgid "Client encoding"
+msgstr "Client encoding"
+
+#: ../pyhoca/wxgui/profilemanager.py:242
+msgid "Server encoding"
+msgstr "Server encoding"
+
+#: ../pyhoca/wxgui/profilemanager.py:245
+msgid "Use file dropbox for local file import"
+msgstr "Use file dropbox for local file import"
+
+#: ../pyhoca/wxgui/profilemanager.py:246
+msgid "Extensions"
+msgstr "Extensions"
+
+#: ../pyhoca/wxgui/profilemanager.py:248
+msgid "Action"
+msgstr "Action"
+
+#: ../pyhoca/wxgui/profilemanager.py:253
+msgid "Defaults"
+msgstr "Defaults"
+
+#: ../pyhoca/wxgui/profilemanager.py:255
+msgid "Save"
+msgstr "Save"
+
+#: ../pyhoca/wxgui/profilemanager.py:256
+msgid "Reset"
+msgstr "Reset"
+
+#: ../pyhoca/wxgui/profilemanager.py:293
+msgid "PyHoca-GUI Profile Manager - new profile"
+msgstr "PyHoca-GUI Profile Manager - new profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:295
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s (connected)"
+msgstr "PyHoca-GUI Profile Manager - %s (connected)"
+
+#: ../pyhoca/wxgui/profilemanager.py:297
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s"
+msgstr "PyHoca-GUI Profile Manager - %s"
+
+#: ../pyhoca/wxgui/profilemanager.py:613
+msgid "Session Profile"
+msgstr "Session Profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:614
+msgid "Connection"
+msgstr "Connection"
+
+#: ../pyhoca/wxgui/profilemanager.py:615
+msgid "Settings"
+msgstr "Settings"
+
+#: ../pyhoca/wxgui/profilemanager.py:616
+msgid "Sharing"
+msgstr "Sharing"
+
+#: ../pyhoca/wxgui/profilemanager.py:980
+msgid "Icon Files (*.png)|*.png|All files (*.*)|*"
+msgstr "Icon Files (*.png)|*.png|All files (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:983
+msgid "Choose an icon for this session profile"
+msgstr "Choose an icon for this session profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:1091
+msgid "All files (*.*)|*"
+msgstr "All files (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:1093
+#: ../pyhoca/wxgui/profilemanager.py:1108
+msgid "Choose a public SSH key"
+msgstr "Choose a public SSH key"
+
+#: ../pyhoca/wxgui/profilemanager.py:1242
+msgid "Choose a folder to share within a session"
+msgstr "Choose a folder to share within a session"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307 ../pyhoca/wxgui/menus_taskbar.py:86
+msgid "Profile Manager"
+msgstr "Profile Manager"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307
+msgid "Profile name is missing, profile unusable!!!"
+msgstr "Profile name is missing, profile unusable!!!"
+
+#: ../pyhoca/wxgui/profilemanager.py:1329
+#, python-format
+msgid "%s - profile added"
+msgstr "%s - profile added"
+
+#: ../pyhoca/wxgui/profilemanager.py:1330
+msgid "A new session profile has been added."
+msgstr "A new session profile has been added."
+
+#: ../pyhoca/wxgui/profilemanager.py:1334
+#, python-format
+msgid "%s - modified"
+msgstr "%s - modified"
+
+#: ../pyhoca/wxgui/profilemanager.py:1335
+msgid "Changes to profile have been saved."
+msgstr "Changes to profile have been saved."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:55
+msgid "Edit Profile"
+msgstr "Edit Profile"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:57
+msgid "Delete Profile"
+msgstr "Delete Profile"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:79 ../pyhoca/wxgui/about.py:55
+#: ../pyhoca/wxgui/about.py:57
+#, python-format
+msgid "About %s ..."
+msgstr "About %s ..."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:97
+msgid "Client Options"
+msgstr "Client Options"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:105 ../pyhoca/wxgui/menus_taskbar.py:328
+msgid "E&xit"
+msgstr "E&xit"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:142
+msgid "Resume Session"
+msgstr "Resume Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:145
+msgid "Transfer Session"
+msgstr "Transfer Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:146
+msgid "Suspend Session"
+msgstr "Suspend Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:148
+msgid "Terminate Session"
+msgstr "Terminate Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:186
+msgid "Start &new Session"
+msgstr "Start &new Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:199
+msgid "Running"
+msgstr "Running"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:201
+msgid "Suspended"
+msgstr "Suspended"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:211
+msgid "&Clean all sessions"
+msgstr "&Clean all sessions"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:213
+msgid "Customize &profile"
+msgstr "Customize &profile"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:215
+msgid "Share local &folder"
+msgstr "Share local &folder"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:220
+msgid "&Disconnect from Server"
+msgstr "&Disconnect from Server"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:248
+msgid "Add Profile"
+msgstr "Add Profile"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:274
+msgid "No session profiles defined"
+msgstr "No session profiles defined"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Start/Resume Session"
+msgstr "Start/Resume Session"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Connect Server"
+msgstr "Connect Server"
+
+#: ../pyhoca/wxgui/frontend.py:313
+msgid "Public SSH key authentication has been successful."
+msgstr "Public SSH key authentication has been successful."
+
+#: ../pyhoca/wxgui/frontend.py:335
+msgid "Authentication protocol communication incomplete! Try again..."
+msgstr "Authentication protocol communication incomplete! Try again..."
+
+#: ../pyhoca/wxgui/frontend.py:414
+msgid "Cleaning X2go sessions..."
+msgstr "Cleaning X2go sessions..."
+
+#: ../pyhoca/wxgui/frontend.py:434
+#, python-format
+msgid "%s - disconnect"
+msgstr "%s - disconnect"
+
+#: ../pyhoca/wxgui/frontend.py:434
+msgid "X2go Profile is now disconnected."
+msgstr "X2go Profile is now disconnected."
+
+#: ../pyhoca/wxgui/frontend.py:442
+msgid "New Session Profile"
+msgstr "New Session Profile"
+
+#: ../pyhoca/wxgui/frontend.py:471
+#, python-format
+msgid "%s - profile deleted"
+msgstr "%s - profile deleted"
+
+#: ../pyhoca/wxgui/frontend.py:471
+msgid "The session profile has been deleted."
+msgstr "The session profile has been deleted."
+
+#: ../pyhoca/wxgui/frontend.py:486
+#, python-format
+msgid "%s - share local folder with sessions of this profile"
+msgstr "%s - share local folder with sessions of this profile"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid "%s - channel error"
+msgstr "%s - channel error"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+msgstr ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+
+#: ../pyhoca/wxgui/frontend.py:531 ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid "%s - session failure"
+msgstr "%s - session failure"
+
+#: ../pyhoca/wxgui/frontend.py:531
+#, python-format
+msgid ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+msgstr ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid "%s - session warning"
+msgstr "%s - session warning"
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+msgstr ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+
+#: ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+msgstr ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+
+#: ../pyhoca/wxgui/frontend.py:537
+#, python-format
+msgid "%s - audio warning"
+msgstr "%s - audio warning"
+
+#: ../pyhoca/wxgui/frontend.py:537
+msgid ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+msgstr ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+
+#: ../pyhoca/wxgui/frontend.py:539 ../pyhoca/wxgui/frontend.py:541
+#, python-format
+msgid "%s - audio error"
+msgstr "%s - audio error"
+
+#: ../pyhoca/wxgui/frontend.py:539
+msgid "The X2go PulseAudio system could not be started."
+msgstr "The X2go PulseAudio system could not be started."
+
+#: ../pyhoca/wxgui/frontend.py:541
+msgid "The X2go PulseAudio system has died unexpectedly."
+msgstr "The X2go PulseAudio system has died unexpectedly."
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid "%s - audio problem"
+msgstr "%s - audio problem"
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+msgstr ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid "%s - print job"
+msgstr "%s - print job"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+msgstr ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid "%s - print error"
+msgstr "%s - print error"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid ""
+"%s\n"
+"...caused by session\n"
+"%s"
+msgstr ""
+"%s\n"
+"...caused by session\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:570 ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid "%s - start"
+msgstr "%s - start"
+
+#: ../pyhoca/wxgui/frontend.py:570
+#, python-format
+msgid ""
+"New X2go session starting up...\n"
+"%s"
+msgstr ""
+"New X2go session starting up...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid ""
+"Another client started X2go session\n"
+"%s"
+msgstr ""
+"Another client started X2go session\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:574 ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid "%s - resume"
+msgstr "%s - resume"
+
+#: ../pyhoca/wxgui/frontend.py:574
+#, python-format
+msgid ""
+"Resuming X2go session...\n"
+"%s"
+msgstr ""
+"Resuming X2go session...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid ""
+"Another client resumed X2go session\n"
+"%s"
+msgstr ""
+"Another client resumed X2go session\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid "%s - running"
+msgstr "%s - running"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid ""
+"Found already running session\n"
+"%s"
+msgstr ""
+"Found already running session\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid "%s - suspend"
+msgstr "%s - suspend"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid ""
+"X2go Session has been suspended\n"
+"%s"
+msgstr ""
+"X2go Session has been suspended\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid "%s - terminate"
+msgstr "%s - terminate"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid ""
+"X2go Session has terminated\n"
+"%s"
+msgstr ""
+"X2go Session has terminated\n"
+"%s"
+
+#~ msgid "Arts"
+#~ msgstr "Arts"
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..05af93d
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,843 @@
+# PyHoca-GUI / i18n.
+# Copyright (C) 2010-2011 Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#                         Dick Kniep <dick.kniep at lindix.nl>
+# This file is distributed under the same license as the PyHoca-GUI package.
+# Mike Gabriel <m.gabriel at das-netzwerkteam.de>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PyHoca-GUI VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-22 13:01+0100\n"
+"PO-Revision-Date: 2011-01-11 14:24+0100\n"
+"Last-Translator: Mike Gabriel <m.gabriel at das-netzwerkteam.de>\n"
+"Language-Team: es <oceanosoftlapalma at gmail.com>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"X-Poedit-Country: SPAIN\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../pyhoca/wxgui/logon.py:80
+#, python-format
+msgid "%s (via %s)"
+msgstr "%s (vía %s)"
+
+#: ../pyhoca/wxgui/logon.py:82 ../pyhoca/wxgui/logon.py:92
+msgid "Username"
+msgstr "Nombre de usuario"
+
+#: ../pyhoca/wxgui/logon.py:84 ../pyhoca/wxgui/logon.py:94
+msgid "Password"
+msgstr "Contraseña"
+
+#: ../pyhoca/wxgui/logon.py:87
+msgid "Authenticate"
+msgstr "Autenticar"
+
+#: ../pyhoca/wxgui/logon.py:97
+msgid "  Start SSH tunnel  "
+msgstr "  Iniciar tunerl SSH   "
+
+#: ../pyhoca/wxgui/logon.py:103
+msgid "Session login"
+msgstr "Inicio de sesión"
+
+#: ../pyhoca/wxgui/logon.py:104
+msgid "SSH proxy server login"
+msgstr "Inicio de sesión en el servidor proxy SSH"
+
+#: ../pyhoca/wxgui/logon.py:115 ../pyhoca/wxgui/profilemanager.py:258
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: ../pyhoca/wxgui/logon.py:235 ../pyhoca/wxgui/logon.py:267
+#: ../pyhoca/wxgui/frontend.py:309
+#, python-format
+msgid "%s - connect failure"
+msgstr "%s - fallo en la conexión"
+
+#: ../pyhoca/wxgui/logon.py:236 ../pyhoca/wxgui/frontend.py:309
+msgid "User is not allowed to start X2go sessions!"
+msgstr "El usuario no tiene permisos para iniciar X2go sesiones!"
+
+#: ../pyhoca/wxgui/logon.py:241 ../pyhoca/wxgui/frontend.py:313
+#, python-format
+msgid "%s - connect"
+msgstr "%s - conectado"
+
+#: ../pyhoca/wxgui/logon.py:242
+msgid "Authentication has been successful."
+msgstr "Inicio de sesión correcto."
+
+#: ../pyhoca/wxgui/logon.py:263
+msgid "SSH tunnel started"
+msgstr "Iniciado tunel SSH"
+
+#: ../pyhoca/wxgui/logon.py:268
+msgid "Authentication failed!"
+msgstr "Error en el nombre de usuario o contraseña!"
+
+#: ../pyhoca/wxgui/logon.py:273
+#, python-format
+msgid "%s - ssh proxy"
+msgstr "%s - proxy ssh"
+
+#: ../pyhoca/wxgui/logon.py:274
+msgid "Authentication to the SSH proxy server failed!"
+msgstr "Nombre de usuario o cantraseña erróneo en el servidor proxy SSH!"
+
+#: ../pyhoca/wxgui/logon.py:280 ../pyhoca/wxgui/logon.py:286
+#: ../pyhoca/wxgui/logon.py:295 ../pyhoca/wxgui/frontend.py:326
+#: ../pyhoca/wxgui/frontend.py:329 ../pyhoca/wxgui/frontend.py:332
+#: ../pyhoca/wxgui/frontend.py:335
+#, python-format
+msgid "%s - connect error"
+msgstr "%s - error en la conexión"
+
+#: ../pyhoca/wxgui/logon.py:291 ../pyhoca/wxgui/frontend.py:338
+#, fuzzy, python-format
+msgid "%s - key error"
+msgstr "%s - error en la conexión"
+
+#: ../pyhoca/wxgui/logon.py:296
+msgid "An unknown error occured during authentication!"
+msgstr ""
+"Error desconocido al tratar de validad el nombre de usuario y la contraseña!"
+
+#: ../pyhoca/wxgui/taskbar.py:94
+#, python-format
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+msgstr ""
+"PyHoca-GUI\n"
+"Conectándote a ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:97
+#, python-format
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Conectandote a tu servidor X2go ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:102
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+msgstr ""
+"PyHoca-GUI\n"
+"Conectándote a X2go..."
+
+#: ../pyhoca/wxgui/taskbar.py:105
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Cliente para conexiones remotas a servidores X2go"
+
+#: ../pyhoca/wxgui/profilemanager.py:61
+msgid "GNOME Desktop (GNOME)"
+msgstr "GNOME Desktop (GNOME)"
+
+#: ../pyhoca/wxgui/profilemanager.py:62
+msgid "K Desktop Environment (KDE)"
+msgstr "K Desktop Environment (KDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:63
+msgid "Lightweight X Desktop (LXDE)"
+msgstr "Lightweight X Desktop (LXDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:64
+msgid "XDMCP Query"
+msgstr "XDMCP Query"
+
+#. 'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+#: ../pyhoca/wxgui/profilemanager.py:66
+msgid "Windows Terminal Server (RDP-proxy)"
+msgstr "Windows Terminal Server (RDP-proxy)"
+
+#. 'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+#: ../pyhoca/wxgui/profilemanager.py:68
+msgid "Single Application"
+msgstr "Aplicación"
+
+#: ../pyhoca/wxgui/profilemanager.py:69 ../pyhoca/wxgui/profilemanager.py:152
+msgid "Custom command"
+msgstr "Comando personalizado"
+
+#: ../pyhoca/wxgui/profilemanager.py:72
+msgid "Internet Browser"
+msgstr "Navegador web"
+
+#: ../pyhoca/wxgui/profilemanager.py:73
+msgid "Email Client"
+msgstr "Cliente de Correo"
+
+#: ../pyhoca/wxgui/profilemanager.py:74
+msgid "Openoffice.org"
+msgstr "Openoffice.org"
+
+#: ../pyhoca/wxgui/profilemanager.py:75
+msgid "Terminal"
+msgstr "Terminal"
+
+#: ../pyhoca/wxgui/profilemanager.py:89
+msgid "Open file with system's default application"
+msgstr "Abrir archivo con la aplicación por defecto"
+
+#: ../pyhoca/wxgui/profilemanager.py:90
+msgid "Open application chooser dialog"
+msgstr "Abrir selector de aplicaciones"
+
+#: ../pyhoca/wxgui/profilemanager.py:91
+msgid "Save incoming file as ..."
+msgstr "Guardar archivo recibido como ..."
+
+#: ../pyhoca/wxgui/profilemanager.py:123
+msgid "Server"
+msgstr "Servidor"
+
+#: ../pyhoca/wxgui/profilemanager.py:124
+msgid "Connection Link Speed"
+msgstr "Velocidad de conexión"
+
+#: ../pyhoca/wxgui/profilemanager.py:125
+msgid "Compression"
+msgstr "Compresión"
+
+#: ../pyhoca/wxgui/profilemanager.py:126
+msgid "Display"
+msgstr "Pantalla"
+
+#: ../pyhoca/wxgui/profilemanager.py:127
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: ../pyhoca/wxgui/profilemanager.py:128
+msgid "Sound"
+msgstr "Sonido"
+
+#: ../pyhoca/wxgui/profilemanager.py:129
+msgid "Printing"
+msgstr "Impresora"
+
+#: ../pyhoca/wxgui/profilemanager.py:130
+msgid "Folder Exports"
+msgstr "Exportaciones de Carpeta"
+
+#: ../pyhoca/wxgui/profilemanager.py:131
+msgid "File Import"
+msgstr "Importar Archivo"
+
+#. ##
+#. ## widgets for the SESSION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:136
+msgid "Profile name"
+msgstr "Nombre del perfil"
+
+#: ../pyhoca/wxgui/profilemanager.py:146
+msgid "Profile icon"
+msgstr "Icono del perfil"
+
+#: ../pyhoca/wxgui/profilemanager.py:148
+msgid "Session type"
+msgstr "Tipo de sesión"
+
+#: ../pyhoca/wxgui/profilemanager.py:150
+msgid "Application"
+msgstr "Aplicación"
+
+#: ../pyhoca/wxgui/profilemanager.py:154
+msgid "RDP settings"
+msgstr "Parámetros RDP"
+
+#: ../pyhoca/wxgui/profilemanager.py:155
+msgid "RDP server"
+msgstr "Servidor RDP"
+
+#: ../pyhoca/wxgui/profilemanager.py:157
+msgid "RDP options"
+msgstr "Opciones RDP"
+
+#: ../pyhoca/wxgui/profilemanager.py:159
+msgid "XDMCP server"
+msgstr "Servidor XDMCP"
+
+#. ##
+#. ## widgets for the CONNECTION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:165 ../pyhoca/wxgui/profilemanager.py:175
+msgid "User"
+msgstr "Usuario"
+
+#: ../pyhoca/wxgui/profilemanager.py:167
+msgid "Host"
+msgstr "Host"
+
+#: ../pyhoca/wxgui/profilemanager.py:169
+msgid "Port"
+msgstr "Puerto"
+
+#: ../pyhoca/wxgui/profilemanager.py:171
+msgid "RSA/DSA private key"
+msgstr "Clave privada RSA/DSA"
+
+#: ../pyhoca/wxgui/profilemanager.py:174
+msgid "Server behind SSH proxy"
+msgstr "Servidor detrás del proxy SSH"
+
+#: ../pyhoca/wxgui/profilemanager.py:177
+msgid "Key file"
+msgstr "Clave"
+
+#: ../pyhoca/wxgui/profilemanager.py:180
+msgid "Host[:Port]"
+msgstr "Host[:Puerto]"
+
+#: ../pyhoca/wxgui/profilemanager.py:182
+msgid "SSH Proxy Tunnel"
+msgstr "Tunel Proxy SSH"
+
+#: ../pyhoca/wxgui/profilemanager.py:190
+msgid "Modem"
+msgstr "Módem"
+
+#: ../pyhoca/wxgui/profilemanager.py:191
+msgid "ISDN"
+msgstr "ISDN"
+
+#: ../pyhoca/wxgui/profilemanager.py:192
+msgid "ADSL"
+msgstr "ADSL"
+
+#: ../pyhoca/wxgui/profilemanager.py:193
+msgid "WAN"
+msgstr "WAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:194
+msgid "LAN"
+msgstr "LAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:196
+msgid "Method"
+msgstr "Método"
+
+#: ../pyhoca/wxgui/profilemanager.py:198
+msgid "Image quality"
+msgstr "Calidad de imagen"
+
+#. ##
+#. ## wigdets for the SETTINGS tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:204
+msgid "Fullscreen"
+msgstr "Pantalla Completa"
+
+#: ../pyhoca/wxgui/profilemanager.py:205
+msgid "Custom Size"
+msgstr "Tamaño Personalizado"
+
+#: ../pyhoca/wxgui/profilemanager.py:210
+msgid "Set display DPI"
+msgstr "Establecer DPI"
+
+#: ../pyhoca/wxgui/profilemanager.py:212
+msgid "Keep current keyboard settings"
+msgstr "Mantener configuración actual del teclado"
+
+#: ../pyhoca/wxgui/profilemanager.py:213
+msgid "Keyboard layout"
+msgstr "Máscara de teclado"
+
+#: ../pyhoca/wxgui/profilemanager.py:215
+msgid "Keyboard model"
+msgstr "Modelo de teclado"
+
+#: ../pyhoca/wxgui/profilemanager.py:217
+msgid "Enable sound support"
+msgstr "Activar soporte de sonido"
+
+#: ../pyhoca/wxgui/profilemanager.py:218
+msgid "Pulse Audio"
+msgstr "Pulse Audio"
+
+#. Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+#. However, config files can contain an Arts configuration, so we will honour this
+#: ../pyhoca/wxgui/profilemanager.py:222
+msgid "Arts (not supported)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:225
+msgid "esd"
+msgstr "esd"
+
+#: ../pyhoca/wxgui/profilemanager.py:226
+msgid "Use default sound port"
+msgstr "Usar puerto de sonido por defecto"
+
+#: ../pyhoca/wxgui/profilemanager.py:227
+msgid "Custom sound port"
+msgstr "Puerto de sonido personalizado"
+
+#: ../pyhoca/wxgui/profilemanager.py:229
+msgid "Client Side printing"
+msgstr "Impresión local"
+
+#: ../pyhoca/wxgui/profilemanager.py:231
+msgid "Use local folder sharing"
+msgstr "Compartir carpetas locales"
+
+#: ../pyhoca/wxgui/profilemanager.py:232
+msgid "Path"
+msgstr "Ruta"
+
+#: ../pyhoca/wxgui/profilemanager.py:235 ../pyhoca/wxgui/profilemanager.py:252
+msgid "Add"
+msgstr "Añadir"
+
+#: ../pyhoca/wxgui/profilemanager.py:237
+msgid "Delete"
+msgstr "Eliminar"
+
+#: ../pyhoca/wxgui/profilemanager.py:239
+msgid "Convert between client and server encodings"
+msgstr "Convertir codificaciones entre cliente y servidor"
+
+#: ../pyhoca/wxgui/profilemanager.py:240
+msgid "Client encoding"
+msgstr "Codificación del cliente"
+
+#: ../pyhoca/wxgui/profilemanager.py:242
+msgid "Server encoding"
+msgstr "Del Servidor"
+
+#: ../pyhoca/wxgui/profilemanager.py:245
+msgid "Use file dropbox for local file import"
+msgstr "Usar arrastar archivos para la importar archivos locales"
+
+#: ../pyhoca/wxgui/profilemanager.py:246
+msgid "Extensions"
+msgstr "Extensiones"
+
+#: ../pyhoca/wxgui/profilemanager.py:248
+msgid "Action"
+msgstr "Acción"
+
+#: ../pyhoca/wxgui/profilemanager.py:253
+msgid "Defaults"
+msgstr "Valores por defecto"
+
+#: ../pyhoca/wxgui/profilemanager.py:255
+msgid "Save"
+msgstr "Guardar"
+
+#: ../pyhoca/wxgui/profilemanager.py:256
+msgid "Reset"
+msgstr "Reiniciar"
+
+#: ../pyhoca/wxgui/profilemanager.py:293
+msgid "PyHoca-GUI Profile Manager - new profile"
+msgstr "PyHoca-GUI Gestor de Perfiles - nuevo perfil"
+
+#: ../pyhoca/wxgui/profilemanager.py:295
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s (connected)"
+msgstr "PyHoca-GUI Gestor de Perfiles - %s (conectado)"
+
+#: ../pyhoca/wxgui/profilemanager.py:297
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s"
+msgstr "PyHoca-GUI Gestor de Perfiles - %s"
+
+#: ../pyhoca/wxgui/profilemanager.py:613
+msgid "Session Profile"
+msgstr "Perfil de Sesión"
+
+#: ../pyhoca/wxgui/profilemanager.py:614
+msgid "Connection"
+msgstr "Conexión"
+
+#: ../pyhoca/wxgui/profilemanager.py:615
+msgid "Settings"
+msgstr "Opciones"
+
+#: ../pyhoca/wxgui/profilemanager.py:616
+msgid "Sharing"
+msgstr "Compartir"
+
+#: ../pyhoca/wxgui/profilemanager.py:980
+msgid "Icon Files (*.png)|*.png|All files (*.*)|*"
+msgstr "Iconos (*.png)|*.png|Todos (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:983
+msgid "Choose an icon for this session profile"
+msgstr "Elige un icono para este perfil de sesión"
+
+#: ../pyhoca/wxgui/profilemanager.py:1091
+msgid "All files (*.*)|*"
+msgstr "Todos (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:1093
+#: ../pyhoca/wxgui/profilemanager.py:1108
+msgid "Choose a public SSH key"
+msgstr "Elige una clave pública SSH"
+
+#: ../pyhoca/wxgui/profilemanager.py:1242
+msgid "Choose a folder to share within a session"
+msgstr "Elige la carpeta que quieres compartir en la conexión"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307 ../pyhoca/wxgui/menus_taskbar.py:86
+msgid "Profile Manager"
+msgstr "Gestor de Sesiones"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307
+msgid "Profile name is missing, profile unusable!!!"
+msgstr "Nombre de pefil no encontrado o no válido!!!"
+
+#: ../pyhoca/wxgui/profilemanager.py:1329
+#, python-format
+msgid "%s - profile added"
+msgstr "%s - añadido el perfil"
+
+#: ../pyhoca/wxgui/profilemanager.py:1330
+msgid "A new session profile has been added."
+msgstr "Se ha añadido un nuevo perfil de sesión."
+
+#: ../pyhoca/wxgui/profilemanager.py:1334
+#, python-format
+msgid "%s - modified"
+msgstr "%s - modificado"
+
+#: ../pyhoca/wxgui/profilemanager.py:1335
+msgid "Changes to profile have been saved."
+msgstr "Se han guardado los cambios en el perfil."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:55
+msgid "Edit Profile"
+msgstr "Editar Perfil"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:57
+msgid "Delete Profile"
+msgstr "Borrar Perfil"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:79 ../pyhoca/wxgui/about.py:55
+#: ../pyhoca/wxgui/about.py:57
+#, python-format
+msgid "About %s ..."
+msgstr "Acerca de %s ..."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:97
+msgid "Client Options"
+msgstr "Opciones del Cliente"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:105 ../pyhoca/wxgui/menus_taskbar.py:328
+msgid "E&xit"
+msgstr "S&alir"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:142
+msgid "Resume Session"
+msgstr "Retomar Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:145
+msgid "Transfer Session"
+msgstr "Transferir Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:146
+msgid "Suspend Session"
+msgstr "Suspender Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:148
+msgid "Terminate Session"
+msgstr "Finalizar Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:186
+msgid "Start &new Session"
+msgstr "Iniciar &nueva Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:199
+msgid "Running"
+msgstr "Activa"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:201
+msgid "Suspended"
+msgstr "Suspendida"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:211
+msgid "&Clean all sessions"
+msgstr "&Limpiar el registro de sesiones"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:213
+msgid "Customize &profile"
+msgstr "Configurar &perfil"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:215
+msgid "Share local &folder"
+msgstr "Comporarti &Carpeta local"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:220
+msgid "&Disconnect from Server"
+msgstr "&Desconectar del servidor"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:248
+msgid "Add Profile"
+msgstr "Añadir Perfil"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:274
+msgid "No session profiles defined"
+msgstr "No se han definido perfiles de sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Start/Resume Session"
+msgstr "Iniciar/Retomar Sesión"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Connect Server"
+msgstr "Conectar con el Servidor"
+
+#: ../pyhoca/wxgui/frontend.py:313
+msgid "Public SSH key authentication has been successful."
+msgstr "Se ha iniciado sesión con éxito usando la clave pública SSH."
+
+#: ../pyhoca/wxgui/frontend.py:335
+msgid "Authentication protocol communication incomplete! Try again..."
+msgstr "¡El protocolo de comunicaciones está incompleto! Inténtalo otra vez..."
+
+#: ../pyhoca/wxgui/frontend.py:414
+msgid "Cleaning X2go sessions..."
+msgstr "Limpieado sesiones X2go..."
+
+#: ../pyhoca/wxgui/frontend.py:434
+#, python-format
+msgid "%s - disconnect"
+msgstr "%s - desconectado"
+
+#: ../pyhoca/wxgui/frontend.py:434
+msgid "X2go Profile is now disconnected."
+msgstr "Se ha desconectado el Perfil X2go."
+
+#: ../pyhoca/wxgui/frontend.py:442
+msgid "New Session Profile"
+msgstr "Nuevo Perfil de Sesión"
+
+#: ../pyhoca/wxgui/frontend.py:471
+#, python-format
+msgid "%s - profile deleted"
+msgstr "%s - perfil eliminado"
+
+#: ../pyhoca/wxgui/frontend.py:471
+msgid "The session profile has been deleted."
+msgstr "Se ha eliminado el perfil de sesión."
+
+#: ../pyhoca/wxgui/frontend.py:486
+#, python-format
+msgid "%s - share local folder with sessions of this profile"
+msgstr "%s - compartir carpetas locales con las sesiones de este perfil"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid "%s - channel error"
+msgstr "%s - error en el canal"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+msgstr ""
+"La conexión con el servidor %s ha finalizado inesperadamente! Intenta "
+"iniciar sesión nuevamente..."
+
+#: ../pyhoca/wxgui/frontend.py:531 ../pyhoca/wxgui/frontend.py:535
+#, fuzzy, python-format
+msgid "%s - session failure"
+msgstr "%s - fallo en la conexión"
+
+#: ../pyhoca/wxgui/frontend.py:531
+#, python-format
+msgid ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, fuzzy, python-format
+msgid "%s - session warning"
+msgstr "%s - fallo en la conexión"
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:537
+#, fuzzy, python-format
+msgid "%s - audio warning"
+msgstr "%s - fallo en la conexión"
+
+#: ../pyhoca/wxgui/frontend.py:537
+msgid ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:539 ../pyhoca/wxgui/frontend.py:541
+#, fuzzy, python-format
+msgid "%s - audio error"
+msgstr "%s - error de impresión"
+
+#: ../pyhoca/wxgui/frontend.py:539
+msgid "The X2go PulseAudio system could not be started."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:541
+msgid "The X2go PulseAudio system has died unexpectedly."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid "%s - audio problem"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid "%s - print job"
+msgstr "%s - imprimir"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+msgstr ""
+"¡¡¡El cuadro de diálogo de imprimir no ha sido desarrollado todavía!!!\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid "%s - print error"
+msgstr "%s - error de impresión"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid ""
+"%s\n"
+"...caused by session\n"
+"%s"
+msgstr ""
+"%s\n"
+"...provocado por la sesión\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:570 ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid "%s - start"
+msgstr "%s - inicio"
+
+#: ../pyhoca/wxgui/frontend.py:570
+#, python-format
+msgid ""
+"New X2go session starting up...\n"
+"%s"
+msgstr ""
+"Iniciaciando nueva sesión X2go...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid ""
+"Another client started X2go session\n"
+"%s"
+msgstr ""
+"Otro cliente ha iniciado sesión X2go\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:574 ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid "%s - resume"
+msgstr "%s - retornar a la sesión"
+
+#: ../pyhoca/wxgui/frontend.py:574
+#, python-format
+msgid ""
+"Resuming X2go session...\n"
+"%s"
+msgstr ""
+"Retornando sesión X2go...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid ""
+"Another client resumed X2go session\n"
+"%s"
+msgstr ""
+"Otro cliente retornó a la sesión X2go\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid "%s - running"
+msgstr "%s - en ejecución"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid ""
+"Found already running session\n"
+"%s"
+msgstr ""
+"La sesión ya está en ejecución\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid "%s - suspend"
+msgstr "%s - suspender"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid ""
+"X2go Session has been suspended\n"
+"%s"
+msgstr ""
+"Se ha suspendido la Sesión X2go\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid "%s - terminate"
+msgstr "%s - finalizar"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid ""
+"X2go Session has terminated\n"
+"%s"
+msgstr ""
+"Se ha finalizado la sesión X2go\n"
+"%s"
+
+#~ msgid "Arts"
+#~ msgstr "Arts"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..eaeb20b
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,840 @@
+# PyHoca-GUI / i18n.
+# Copyright (C) 2010-2011 Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#                         Dick Kniep <dick.kniep at lindix.nl>
+# This file is distributed under the same license as the PyHoca-GUI package.
+# Mike Gabriel <m.gabriel at das-netzwerkteam.de>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PyHoca-GUI VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-22 13:01+0100\n"
+"PO-Revision-Date: 2011-01-10 17:32+0100\n"
+"Last-Translator: Dick Kniep <dick.kniep at lindix.nl>\n"
+"Language-Team: nl <dick.kniep at lindix.nl>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Dutch\n"
+"X-Poedit-Country: NETHERLANDS\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: ../pyhoca/wxgui/logon.py:80
+#, python-format
+msgid "%s (via %s)"
+msgstr "%s (via %s)"
+
+#: ../pyhoca/wxgui/logon.py:82 ../pyhoca/wxgui/logon.py:92
+msgid "Username"
+msgstr "Gebruiker"
+
+#: ../pyhoca/wxgui/logon.py:84 ../pyhoca/wxgui/logon.py:94
+msgid "Password"
+msgstr "Wachtwoord"
+
+#: ../pyhoca/wxgui/logon.py:87
+msgid "Authenticate"
+msgstr "Aanmelden"
+
+#: ../pyhoca/wxgui/logon.py:97
+msgid "  Start SSH tunnel  "
+msgstr "  Start SSH Tunnel  "
+
+#: ../pyhoca/wxgui/logon.py:103
+msgid "Session login"
+msgstr "Sessie login"
+
+#: ../pyhoca/wxgui/logon.py:104
+msgid "SSH proxy server login"
+msgstr "Login via SSH Proxy"
+
+#: ../pyhoca/wxgui/logon.py:115 ../pyhoca/wxgui/profilemanager.py:258
+msgid "Cancel"
+msgstr "Afbreken"
+
+#: ../pyhoca/wxgui/logon.py:235 ../pyhoca/wxgui/logon.py:267
+#: ../pyhoca/wxgui/frontend.py:309
+#, python-format
+msgid "%s - connect failure"
+msgstr "%s - verbinden mislukt"
+
+#: ../pyhoca/wxgui/logon.py:236 ../pyhoca/wxgui/frontend.py:309
+msgid "User is not allowed to start X2go sessions!"
+msgstr "Gebruiker mag geen X2go sessie starten!"
+
+#: ../pyhoca/wxgui/logon.py:241 ../pyhoca/wxgui/frontend.py:313
+#, python-format
+msgid "%s - connect"
+msgstr "%s - verbinden"
+
+#: ../pyhoca/wxgui/logon.py:242
+msgid "Authentication has been successful."
+msgstr "Authenticatie is gelukt."
+
+#: ../pyhoca/wxgui/logon.py:263
+msgid "SSH tunnel started"
+msgstr "SSH Tunnel gestart"
+
+#: ../pyhoca/wxgui/logon.py:268
+msgid "Authentication failed!"
+msgstr "Authenticatie mislukt!"
+
+#: ../pyhoca/wxgui/logon.py:273
+#, python-format
+msgid "%s - ssh proxy"
+msgstr "%s - SSH Proxy"
+
+#: ../pyhoca/wxgui/logon.py:274
+msgid "Authentication to the SSH proxy server failed!"
+msgstr "Authenticatie via SSH Proxy Server mislukt!"
+
+#: ../pyhoca/wxgui/logon.py:280 ../pyhoca/wxgui/logon.py:286
+#: ../pyhoca/wxgui/logon.py:295 ../pyhoca/wxgui/frontend.py:326
+#: ../pyhoca/wxgui/frontend.py:329 ../pyhoca/wxgui/frontend.py:332
+#: ../pyhoca/wxgui/frontend.py:335
+#, python-format
+msgid "%s - connect error"
+msgstr "%s - Verbindingsfout"
+
+#: ../pyhoca/wxgui/logon.py:291 ../pyhoca/wxgui/frontend.py:338
+#, fuzzy, python-format
+msgid "%s - key error"
+msgstr "%s - Verbindingsfout"
+
+#: ../pyhoca/wxgui/logon.py:296
+msgid "An unknown error occured during authentication!"
+msgstr "Een onbekende fout is bij de authenticatie opgetreden"
+
+#: ../pyhoca/wxgui/taskbar.py:94
+#, python-format
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+msgstr ""
+"PyHoca-GUI\n"
+"Verbinden met ,,%s''"
+
+#: ../pyhoca/wxgui/taskbar.py:97
+#, python-format
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Verbinding met X2go server ,,%s'' wordt gemaakt"
+
+#: ../pyhoca/wxgui/taskbar.py:102
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+msgstr "Bezig je te verbinden met X2go ..."
+
+#: ../pyhoca/wxgui/taskbar.py:105
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+msgstr ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Verbinding met remote X2go server aan het opbouwen"
+
+#: ../pyhoca/wxgui/profilemanager.py:61
+msgid "GNOME Desktop (GNOME)"
+msgstr "GNOME Desktop (GNOME)"
+
+#: ../pyhoca/wxgui/profilemanager.py:62
+msgid "K Desktop Environment (KDE)"
+msgstr "K Desktop Environment (KDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:63
+msgid "Lightweight X Desktop (LXDE)"
+msgstr "Lightweight X Desktop (LXDE)"
+
+#: ../pyhoca/wxgui/profilemanager.py:64
+msgid "XDMCP Query"
+msgstr "XDMCP Query"
+
+#. 'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+#: ../pyhoca/wxgui/profilemanager.py:66
+msgid "Windows Terminal Server (RDP-proxy)"
+msgstr "Windows Terminalserver (RDP-proxy)"
+
+#. 'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+#: ../pyhoca/wxgui/profilemanager.py:68
+msgid "Single Application"
+msgstr "Enkelvoudige Applicatie"
+
+#: ../pyhoca/wxgui/profilemanager.py:69 ../pyhoca/wxgui/profilemanager.py:152
+msgid "Custom command"
+msgstr "Speciaal Commando"
+
+#: ../pyhoca/wxgui/profilemanager.py:72
+msgid "Internet Browser"
+msgstr "Internetbrowser"
+
+#: ../pyhoca/wxgui/profilemanager.py:73
+msgid "Email Client"
+msgstr "E-Mail Programma"
+
+#: ../pyhoca/wxgui/profilemanager.py:74
+msgid "Openoffice.org"
+msgstr "Openoffice.org"
+
+#: ../pyhoca/wxgui/profilemanager.py:75
+msgid "Terminal"
+msgstr "Terminal"
+
+#: ../pyhoca/wxgui/profilemanager.py:89
+msgid "Open file with system's default application"
+msgstr "Open bestand met het geassocieerde programma"
+
+#: ../pyhoca/wxgui/profilemanager.py:90
+msgid "Open application chooser dialog"
+msgstr "Open dialoog, om Applicatie te kiezen"
+
+#: ../pyhoca/wxgui/profilemanager.py:91
+msgid "Save incoming file as ..."
+msgstr "Opslaan bestand als ..."
+
+#: ../pyhoca/wxgui/profilemanager.py:123
+msgid "Server"
+msgstr "Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:124
+msgid "Connection Link Speed"
+msgstr "Verbindings snelheid"
+
+#: ../pyhoca/wxgui/profilemanager.py:125
+msgid "Compression"
+msgstr "Compressie"
+
+#: ../pyhoca/wxgui/profilemanager.py:126
+msgid "Display"
+msgstr "Display"
+
+#: ../pyhoca/wxgui/profilemanager.py:127
+msgid "Keyboard"
+msgstr "Toetsenbord"
+
+#: ../pyhoca/wxgui/profilemanager.py:128
+msgid "Sound"
+msgstr "Geluid"
+
+#: ../pyhoca/wxgui/profilemanager.py:129
+msgid "Printing"
+msgstr "Afdrukken"
+
+#: ../pyhoca/wxgui/profilemanager.py:130
+msgid "Folder Exports"
+msgstr "Map export"
+
+#: ../pyhoca/wxgui/profilemanager.py:131
+msgid "File Import"
+msgstr "Bestands import"
+
+#. ##
+#. ## widgets for the SESSION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:136
+msgid "Profile name"
+msgstr "Profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:146
+msgid "Profile icon"
+msgstr "Profile icon"
+
+#: ../pyhoca/wxgui/profilemanager.py:148
+msgid "Session type"
+msgstr "Sessie type"
+
+#: ../pyhoca/wxgui/profilemanager.py:150
+msgid "Application"
+msgstr "Applicatie"
+
+#: ../pyhoca/wxgui/profilemanager.py:154
+msgid "RDP settings"
+msgstr "RDP instellingen"
+
+#: ../pyhoca/wxgui/profilemanager.py:155
+msgid "RDP server"
+msgstr "RDP Server"
+
+#: ../pyhoca/wxgui/profilemanager.py:157
+msgid "RDP options"
+msgstr "RDP Opties"
+
+#: ../pyhoca/wxgui/profilemanager.py:159
+msgid "XDMCP server"
+msgstr "XDMCP Server"
+
+#. ##
+#. ## widgets for the CONNECTION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:165 ../pyhoca/wxgui/profilemanager.py:175
+msgid "User"
+msgstr "Gebruiker"
+
+#: ../pyhoca/wxgui/profilemanager.py:167
+msgid "Host"
+msgstr "Host"
+
+#: ../pyhoca/wxgui/profilemanager.py:169
+msgid "Port"
+msgstr "Port"
+
+#: ../pyhoca/wxgui/profilemanager.py:171
+msgid "RSA/DSA private key"
+msgstr "Private RSA/DSA Key"
+
+#: ../pyhoca/wxgui/profilemanager.py:174
+msgid "Server behind SSH proxy"
+msgstr "Server achter SSH-Proxy"
+
+#: ../pyhoca/wxgui/profilemanager.py:177
+msgid "Key file"
+msgstr "Key"
+
+#: ../pyhoca/wxgui/profilemanager.py:180
+msgid "Host[:Port]"
+msgstr "Host[:Port]"
+
+#: ../pyhoca/wxgui/profilemanager.py:182
+msgid "SSH Proxy Tunnel"
+msgstr "SSH Proxy Tunnel"
+
+#: ../pyhoca/wxgui/profilemanager.py:190
+msgid "Modem"
+msgstr "Modem"
+
+#: ../pyhoca/wxgui/profilemanager.py:191
+msgid "ISDN"
+msgstr "ISDN"
+
+#: ../pyhoca/wxgui/profilemanager.py:192
+msgid "ADSL"
+msgstr "ADSL"
+
+#: ../pyhoca/wxgui/profilemanager.py:193
+msgid "WAN"
+msgstr "WAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:194
+msgid "LAN"
+msgstr "LAN"
+
+#: ../pyhoca/wxgui/profilemanager.py:196
+msgid "Method"
+msgstr "Methode"
+
+#: ../pyhoca/wxgui/profilemanager.py:198
+msgid "Image quality"
+msgstr "Beeldkwaliteit"
+
+#. ##
+#. ## wigdets for the SETTINGS tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:204
+msgid "Fullscreen"
+msgstr "Fullscreen"
+
+#: ../pyhoca/wxgui/profilemanager.py:205
+msgid "Custom Size"
+msgstr "Grootte instellen"
+
+#: ../pyhoca/wxgui/profilemanager.py:210
+msgid "Set display DPI"
+msgstr "DPI-waarde instellen"
+
+#: ../pyhoca/wxgui/profilemanager.py:212
+msgid "Keep current keyboard settings"
+msgstr "Huidige toetsenbord-instellingen behouden"
+
+#: ../pyhoca/wxgui/profilemanager.py:213
+msgid "Keyboard layout"
+msgstr "Toetsenbord layout"
+
+#: ../pyhoca/wxgui/profilemanager.py:215
+msgid "Keyboard model"
+msgstr "Toetsenbord model"
+
+#: ../pyhoca/wxgui/profilemanager.py:217
+msgid "Enable sound support"
+msgstr "Geluid gebruiken"
+
+#: ../pyhoca/wxgui/profilemanager.py:218
+msgid "Pulse Audio"
+msgstr "Pulse Audio"
+
+#. Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+#. However, config files can contain an Arts configuration, so we will honour this
+#: ../pyhoca/wxgui/profilemanager.py:222
+msgid "Arts (not supported)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:225
+msgid "esd"
+msgstr "esd"
+
+#: ../pyhoca/wxgui/profilemanager.py:226
+msgid "Use default sound port"
+msgstr "Standaard Audio-Port gebruiken"
+
+#: ../pyhoca/wxgui/profilemanager.py:227
+msgid "Custom sound port"
+msgstr "Speciale Audio-Port"
+
+#: ../pyhoca/wxgui/profilemanager.py:229
+msgid "Client Side printing"
+msgstr "Client Side printen"
+
+#: ../pyhoca/wxgui/profilemanager.py:231
+msgid "Use local folder sharing"
+msgstr "Delen van lokale mappen"
+
+#: ../pyhoca/wxgui/profilemanager.py:232
+msgid "Path"
+msgstr "Pad"
+
+#: ../pyhoca/wxgui/profilemanager.py:235 ../pyhoca/wxgui/profilemanager.py:252
+msgid "Add"
+msgstr "Toevoegen"
+
+#: ../pyhoca/wxgui/profilemanager.py:237
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: ../pyhoca/wxgui/profilemanager.py:239
+msgid "Convert between client and server encodings"
+msgstr "Encoding tussen client en server vertalen"
+
+#: ../pyhoca/wxgui/profilemanager.py:240
+msgid "Client encoding"
+msgstr "Client encoding"
+
+#: ../pyhoca/wxgui/profilemanager.py:242
+msgid "Server encoding"
+msgstr "Server encoding"
+
+#: ../pyhoca/wxgui/profilemanager.py:245
+msgid "Use file dropbox for local file import"
+msgstr "Importeren lokale bestanden via dropbox"
+
+#: ../pyhoca/wxgui/profilemanager.py:246
+msgid "Extensions"
+msgstr "Uitbreidingen"
+
+#: ../pyhoca/wxgui/profilemanager.py:248
+msgid "Action"
+msgstr "Actie"
+
+#: ../pyhoca/wxgui/profilemanager.py:253
+msgid "Defaults"
+msgstr "Standaardwaarden"
+
+#: ../pyhoca/wxgui/profilemanager.py:255
+msgid "Save"
+msgstr "Opslaan"
+
+#: ../pyhoca/wxgui/profilemanager.py:256
+msgid "Reset"
+msgstr "Reset"
+
+#: ../pyhoca/wxgui/profilemanager.py:293
+msgid "PyHoca-GUI Profile Manager - new profile"
+msgstr "PyHoca-GUI Profile manager - nieuw profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:295
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s (connected)"
+msgstr "PyHoca-GUI Profile manager - %s (verbonden)"
+
+#: ../pyhoca/wxgui/profilemanager.py:297
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s"
+msgstr "PyHoca-GUI Profile manager - %s"
+
+#: ../pyhoca/wxgui/profilemanager.py:613
+msgid "Session Profile"
+msgstr "Sessie Profile"
+
+#: ../pyhoca/wxgui/profilemanager.py:614
+msgid "Connection"
+msgstr "Verbinding"
+
+#: ../pyhoca/wxgui/profilemanager.py:615
+msgid "Settings"
+msgstr "Instellingen"
+
+#: ../pyhoca/wxgui/profilemanager.py:616
+msgid "Sharing"
+msgstr "Delen"
+
+#: ../pyhoca/wxgui/profilemanager.py:980
+msgid "Icon Files (*.png)|*.png|All files (*.*)|*"
+msgstr "Icon Bestanden (*.png)|*.png|Alle Bestanden (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:983
+msgid "Choose an icon for this session profile"
+msgstr "Icon voor dit Profile kiezen"
+
+#: ../pyhoca/wxgui/profilemanager.py:1091
+msgid "All files (*.*)|*"
+msgstr "Alle Bestanden (*.*)|*"
+
+#: ../pyhoca/wxgui/profilemanager.py:1093
+#: ../pyhoca/wxgui/profilemanager.py:1108
+msgid "Choose a public SSH key"
+msgstr "Kies een public SSH-key"
+
+#: ../pyhoca/wxgui/profilemanager.py:1242
+msgid "Choose a folder to share within a session"
+msgstr "Kies een map om te delen"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307 ../pyhoca/wxgui/menus_taskbar.py:86
+msgid "Profile Manager"
+msgstr "Profile manager"
+
+#: ../pyhoca/wxgui/profilemanager.py:1307
+msgid "Profile name is missing, profile unusable!!!"
+msgstr "Profile naam ontbreekt, kan niet gebruikt worden!!!"
+
+#: ../pyhoca/wxgui/profilemanager.py:1329
+#, python-format
+msgid "%s - profile added"
+msgstr "%s - Profile toegevoegd"
+
+#: ../pyhoca/wxgui/profilemanager.py:1330
+msgid "A new session profile has been added."
+msgstr "Een nieuw Profile is toegevoegd"
+
+#: ../pyhoca/wxgui/profilemanager.py:1334
+#, python-format
+msgid "%s - modified"
+msgstr "%s - gewijzigd"
+
+#: ../pyhoca/wxgui/profilemanager.py:1335
+msgid "Changes to profile have been saved."
+msgstr "Wijzigingen in het profile zijn opgeslagen."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:55
+msgid "Edit Profile"
+msgstr "Profile bijwerken"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:57
+msgid "Delete Profile"
+msgstr "Profile verwijderen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:79 ../pyhoca/wxgui/about.py:55
+#: ../pyhoca/wxgui/about.py:57
+#, python-format
+msgid "About %s ..."
+msgstr "About %s ..."
+
+#: ../pyhoca/wxgui/menus_taskbar.py:97
+msgid "Client Options"
+msgstr "Opties"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:105 ../pyhoca/wxgui/menus_taskbar.py:328
+msgid "E&xit"
+msgstr "&Beeindigen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:142
+msgid "Resume Session"
+msgstr "Sessie hervatten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:145
+msgid "Transfer Session"
+msgstr "Sessie overnemen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:146
+msgid "Suspend Session"
+msgstr "Suspend Sessie"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:148
+msgid "Terminate Session"
+msgstr "Sessie beeindigen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:186
+msgid "Start &new Session"
+msgstr "&Nieuwe Sessie starten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:199
+msgid "Running"
+msgstr "aktief"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:201
+msgid "Suspended"
+msgstr "hervatten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:211
+msgid "&Clean all sessions"
+msgstr "Alle Sessies beeindigen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:213
+msgid "Customize &profile"
+msgstr "Sessieprofile wijzigen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:215
+msgid "Share local &folder"
+msgstr "Delen lokale &map"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:220
+msgid "&Disconnect from Server"
+msgstr "&Verbinding verbreken"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:248
+msgid "Add Profile"
+msgstr "Profile toevoegen"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:274
+msgid "No session profiles defined"
+msgstr "Geen Profile gedefinieerd"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Start/Resume Session"
+msgstr "Sessie starten/hervatten"
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Connect Server"
+msgstr "Verbinden met Server"
+
+#: ../pyhoca/wxgui/frontend.py:313
+msgid "Public SSH key authentication has been successful."
+msgstr "Public SSH-key authenticatie is gelukt."
+
+#: ../pyhoca/wxgui/frontend.py:335
+msgid "Authentication protocol communication incomplete! Try again..."
+msgstr "Authenticatie was niet volledig! Opnieuw proberen..."
+
+#: ../pyhoca/wxgui/frontend.py:414
+msgid "Cleaning X2go sessions..."
+msgstr "Eindig X2go Sessies..."
+
+#: ../pyhoca/wxgui/frontend.py:434
+#, python-format
+msgid "%s - disconnect"
+msgstr "%s - verbinding verbreken"
+
+#: ../pyhoca/wxgui/frontend.py:434
+msgid "X2go Profile is now disconnected."
+msgstr "X2go Profil is nu niet meer verbonden."
+
+#: ../pyhoca/wxgui/frontend.py:442
+msgid "New Session Profile"
+msgstr "Nieuw Profile"
+
+#: ../pyhoca/wxgui/frontend.py:471
+#, python-format
+msgid "%s - profile deleted"
+msgstr "%s - Profile verwijderd"
+
+#: ../pyhoca/wxgui/frontend.py:471
+msgid "The session profile has been deleted."
+msgstr "Het Profile wordt verwijderd."
+
+#: ../pyhoca/wxgui/frontend.py:486
+#, python-format
+msgid "%s - share local folder with sessions of this profile"
+msgstr "%s - deel lokale map met dit Profile"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid "%s - channel error"
+msgstr "%s - Verbindingsfout"
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+msgstr ""
+"De Verbinding met de server %s werd onverwacht verbroken! Probeer om u "
+"opnieuw aan te melden..."
+
+#: ../pyhoca/wxgui/frontend.py:531 ../pyhoca/wxgui/frontend.py:535
+#, fuzzy, python-format
+msgid "%s - session failure"
+msgstr "%s - verbinden mislukt"
+
+#: ../pyhoca/wxgui/frontend.py:531
+#, python-format
+msgid ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, fuzzy, python-format
+msgid "%s - session warning"
+msgstr "%s - verbinden mislukt"
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:537
+#, fuzzy, python-format
+msgid "%s - audio warning"
+msgstr "%s - verbinden mislukt"
+
+#: ../pyhoca/wxgui/frontend.py:537
+msgid ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:539 ../pyhoca/wxgui/frontend.py:541
+#, fuzzy, python-format
+msgid "%s - audio error"
+msgstr "%s - Printfout"
+
+#: ../pyhoca/wxgui/frontend.py:539
+msgid "The X2go PulseAudio system could not be started."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:541
+msgid "The X2go PulseAudio system has died unexpectedly."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid "%s - audio problem"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid "%s - print job"
+msgstr "%s - print job"
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+msgstr ""
+"De Print job dialog is nog niet geimplementeerd!!!\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid "%s - print error"
+msgstr "%s - Printfout"
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid ""
+"%s\n"
+"...caused by session\n"
+"%s"
+msgstr ""
+"%s\n"
+"...veroorzaakt door sessie\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:570 ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid "%s - start"
+msgstr "%s - Start"
+
+#: ../pyhoca/wxgui/frontend.py:570
+#, python-format
+msgid ""
+"New X2go session starting up...\n"
+"%s"
+msgstr ""
+"Neue X2go sessie wordt gestart...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid ""
+"Another client started X2go session\n"
+"%s"
+msgstr ""
+"Een andere X2go-client heeft deze sessie gestart\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:574 ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid "%s - resume"
+msgstr "%s - hervatten"
+
+#: ../pyhoca/wxgui/frontend.py:574
+#, python-format
+msgid ""
+"Resuming X2go session...\n"
+"%s"
+msgstr ""
+"X2go Sessie wordt hervat...\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid ""
+"Another client resumed X2go session\n"
+"%s"
+msgstr ""
+"Een andere X2go-client heeft de Sessie hervat\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid "%s - running"
+msgstr "%s - actief"
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid ""
+"Found already running session\n"
+"%s"
+msgstr ""
+"Reeds actieve sessie gevonden\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid "%s - suspend"
+msgstr "%s - suspend"
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid ""
+"X2go Session has been suspended\n"
+"%s"
+msgstr ""
+"X2go Sessie is suspended\n"
+"%s"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid "%s - terminate"
+msgstr "%s - beeindigen"
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid ""
+"X2go Session has terminated\n"
+"%s"
+msgstr ""
+"X2go Sessie wordt beeindigd\n"
+"%s"
+
+#~ msgid "Arts"
+#~ msgstr "Arts"
diff --git a/po/pyhoca-gui.pot b/po/pyhoca-gui.pot
new file mode 100644
index 0000000..4861bd7
--- /dev/null
+++ b/po/pyhoca-gui.pot
@@ -0,0 +1,807 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-02-22 13:03+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../pyhoca/wxgui/logon.py:80
+#, python-format
+msgid "%s (via %s)"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:82 ../pyhoca/wxgui/logon.py:92
+msgid "Username"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:84 ../pyhoca/wxgui/logon.py:94
+msgid "Password"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:87
+msgid "Authenticate"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:97
+msgid "  Start SSH tunnel  "
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:103
+msgid "Session login"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:104
+msgid "SSH proxy server login"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:115 ../pyhoca/wxgui/profilemanager.py:258
+msgid "Cancel"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:235 ../pyhoca/wxgui/logon.py:267
+#: ../pyhoca/wxgui/frontend.py:309
+#, python-format
+msgid "%s - connect failure"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:236 ../pyhoca/wxgui/frontend.py:309
+msgid "User is not allowed to start X2go sessions!"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:241 ../pyhoca/wxgui/frontend.py:313
+#, python-format
+msgid "%s - connect"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:242
+msgid "Authentication has been successful."
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:263
+msgid "SSH tunnel started"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:268
+msgid "Authentication failed!"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:273
+#, python-format
+msgid "%s - ssh proxy"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:274
+msgid "Authentication to the SSH proxy server failed!"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:280 ../pyhoca/wxgui/logon.py:286
+#: ../pyhoca/wxgui/logon.py:295 ../pyhoca/wxgui/frontend.py:326
+#: ../pyhoca/wxgui/frontend.py:329 ../pyhoca/wxgui/frontend.py:332
+#: ../pyhoca/wxgui/frontend.py:335
+#, python-format
+msgid "%s - connect error"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:291 ../pyhoca/wxgui/frontend.py:338
+#, python-format
+msgid "%s - key error"
+msgstr ""
+
+#: ../pyhoca/wxgui/logon.py:296
+msgid "An unknown error occured during authentication!"
+msgstr ""
+
+#: ../pyhoca/wxgui/taskbar.py:94
+#, python-format
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to ,,%s''"
+msgstr ""
+
+#: ../pyhoca/wxgui/taskbar.py:97
+#, python-format
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Currently connecting you to remote X2go server ,,%s''"
+msgstr ""
+
+#: ../pyhoca/wxgui/taskbar.py:102
+msgid ""
+"PyHoca-GUI\n"
+"Connecting you to X2go..."
+msgstr ""
+
+#: ../pyhoca/wxgui/taskbar.py:105
+msgid ""
+"PyHoca-GUI (Python X2goClient)\n"
+"Client for connecting you to a remote X2go server"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:61
+msgid "GNOME Desktop (GNOME)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:62
+msgid "K Desktop Environment (KDE)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:63
+msgid "Lightweight X Desktop (LXDE)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:64
+msgid "XDMCP Query"
+msgstr ""
+
+#. 'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+#: ../pyhoca/wxgui/profilemanager.py:66
+msgid "Windows Terminal Server (RDP-proxy)"
+msgstr ""
+
+#. 'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+#: ../pyhoca/wxgui/profilemanager.py:68
+msgid "Single Application"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:69 ../pyhoca/wxgui/profilemanager.py:152
+msgid "Custom command"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:72
+msgid "Internet Browser"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:73
+msgid "Email Client"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:74
+msgid "Openoffice.org"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:75
+msgid "Terminal"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:89
+msgid "Open file with system's default application"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:90
+msgid "Open application chooser dialog"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:91
+msgid "Save incoming file as ..."
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:123
+msgid "Server"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:124
+msgid "Connection Link Speed"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:125
+msgid "Compression"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:126
+msgid "Display"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:127
+msgid "Keyboard"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:128
+msgid "Sound"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:129
+msgid "Printing"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:130
+msgid "Folder Exports"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:131
+msgid "File Import"
+msgstr ""
+
+#. ##
+#. ## widgets for the SESSION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:136
+msgid "Profile name"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:146
+msgid "Profile icon"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:148
+msgid "Session type"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:150
+msgid "Application"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:154
+msgid "RDP settings"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:155
+msgid "RDP server"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:157
+msgid "RDP options"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:159
+msgid "XDMCP server"
+msgstr ""
+
+#. ##
+#. ## widgets for the CONNECTION tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:165 ../pyhoca/wxgui/profilemanager.py:175
+msgid "User"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:167
+msgid "Host"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:169
+msgid "Port"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:171
+msgid "RSA/DSA private key"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:174
+msgid "Server behind SSH proxy"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:177
+msgid "Key file"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:180
+msgid "Host[:Port]"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:182
+msgid "SSH Proxy Tunnel"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:190
+msgid "Modem"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:191
+msgid "ISDN"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:192
+msgid "ADSL"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:193
+msgid "WAN"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:194
+msgid "LAN"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:196
+msgid "Method"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:198
+msgid "Image quality"
+msgstr ""
+
+#. ##
+#. ## wigdets for the SETTINGS tab
+#. ##
+#: ../pyhoca/wxgui/profilemanager.py:204
+msgid "Fullscreen"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:205
+msgid "Custom Size"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:210
+msgid "Set display DPI"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:212
+msgid "Keep current keyboard settings"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:213
+msgid "Keyboard layout"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:215
+msgid "Keyboard model"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:217
+msgid "Enable sound support"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:218
+msgid "Pulse Audio"
+msgstr ""
+
+#. Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+#. However, config files can contain an Arts configuration, so we will honour this
+#: ../pyhoca/wxgui/profilemanager.py:222
+msgid "Arts (not supported)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:225
+msgid "esd"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:226
+msgid "Use default sound port"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:227
+msgid "Custom sound port"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:229
+msgid "Client Side printing"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:231
+msgid "Use local folder sharing"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:232
+msgid "Path"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:235 ../pyhoca/wxgui/profilemanager.py:252
+msgid "Add"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:237
+msgid "Delete"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:239
+msgid "Convert between client and server encodings"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:240
+msgid "Client encoding"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:242
+msgid "Server encoding"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:245
+msgid "Use file dropbox for local file import"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:246
+msgid "Extensions"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:248
+msgid "Action"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:253
+msgid "Defaults"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:255
+msgid "Save"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:256
+msgid "Reset"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:293
+msgid "PyHoca-GUI Profile Manager - new profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:295
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s (connected)"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:297
+#, python-format
+msgid "PyHoca-GUI Profile Manager - %s"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:613
+msgid "Session Profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:614
+msgid "Connection"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:615
+msgid "Settings"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:616
+msgid "Sharing"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:980
+msgid "Icon Files (*.png)|*.png|All files (*.*)|*"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:983
+msgid "Choose an icon for this session profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1091
+msgid "All files (*.*)|*"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1093
+#: ../pyhoca/wxgui/profilemanager.py:1108
+msgid "Choose a public SSH key"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1242
+msgid "Choose a folder to share within a session"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1307 ../pyhoca/wxgui/menus_taskbar.py:86
+msgid "Profile Manager"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1307
+msgid "Profile name is missing, profile unusable!!!"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1329
+#, python-format
+msgid "%s - profile added"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1330
+msgid "A new session profile has been added."
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1334
+#, python-format
+msgid "%s - modified"
+msgstr ""
+
+#: ../pyhoca/wxgui/profilemanager.py:1335
+msgid "Changes to profile have been saved."
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:55
+msgid "Edit Profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:57
+msgid "Delete Profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:79 ../pyhoca/wxgui/about.py:55
+#: ../pyhoca/wxgui/about.py:57
+#, python-format
+msgid "About %s ..."
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:97
+msgid "Client Options"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:105 ../pyhoca/wxgui/menus_taskbar.py:328
+msgid "E&xit"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:142
+msgid "Resume Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:145
+msgid "Transfer Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:146
+msgid "Suspend Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:148
+msgid "Terminate Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:186
+msgid "Start &new Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:199
+msgid "Running"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:201
+msgid "Suspended"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:211
+msgid "&Clean all sessions"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:213
+msgid "Customize &profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:215
+msgid "Share local &folder"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:220
+msgid "&Disconnect from Server"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:248
+msgid "Add Profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:274
+msgid "No session profiles defined"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Start/Resume Session"
+msgstr ""
+
+#: ../pyhoca/wxgui/menus_taskbar.py:305
+msgid "Connect Server"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:313
+msgid "Public SSH key authentication has been successful."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:335
+msgid "Authentication protocol communication incomplete! Try again..."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:414
+msgid "Cleaning X2go sessions..."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:434
+#, python-format
+msgid "%s - disconnect"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:434
+msgid "X2go Profile is now disconnected."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:442
+msgid "New Session Profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:471
+#, python-format
+msgid "%s - profile deleted"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:471
+msgid "The session profile has been deleted."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:486
+#, python-format
+msgid "%s - share local folder with sessions of this profile"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid "%s - channel error"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:528
+#, python-format
+msgid ""
+"Lost connection to server %s unexpectedly! Try to re-authenticate to the "
+"server..."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:531 ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid "%s - session failure"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:531
+#, python-format
+msgid ""
+"The command ,,%s'' is not available on X2go server\n"
+"%s)."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid "%s - session warning"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:533
+#, python-format
+msgid ""
+"Reverse TCP port forwarding request for session %s to server port %s has "
+"been denied by the X2go server. This is a common issue with SSH, it might "
+"help to restart the X2go server's SSH daemon."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:535
+#, python-format
+msgid ""
+"Forwarding tunnel request to [%s]:%s for session %s was denied by remote "
+"X2go/SSH server. Session startup failed."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:537
+#, python-format
+msgid "%s - audio warning"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:537
+msgid ""
+"The X2go PulseAudio system is not available within Remote Desktop sessions."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:539 ../pyhoca/wxgui/frontend.py:541
+#, python-format
+msgid "%s - audio error"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:539
+msgid "The X2go PulseAudio system could not be started."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:541
+msgid "The X2go PulseAudio system has died unexpectedly."
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid "%s - audio problem"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:543
+#, python-format
+msgid ""
+"The audio connection could not be set up for this session.\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid "%s - print job"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:547
+#, python-format
+msgid ""
+"Opening print job dialog not implemented yet!!!\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid "%s - print error"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:568
+#, python-format
+msgid ""
+"%s\n"
+"...caused by session\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:570 ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid "%s - start"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:570
+#, python-format
+msgid ""
+"New X2go session starting up...\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:572
+#, python-format
+msgid ""
+"Another client started X2go session\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:574 ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid "%s - resume"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:574
+#, python-format
+msgid ""
+"Resuming X2go session...\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:576
+#, python-format
+msgid ""
+"Another client resumed X2go session\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid "%s - running"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:578
+#, python-format
+msgid ""
+"Found already running session\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid "%s - suspend"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:580
+#, python-format
+msgid ""
+"X2go Session has been suspended\n"
+"%s"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid "%s - terminate"
+msgstr ""
+
+#: ../pyhoca/wxgui/frontend.py:588
+#, python-format
+msgid ""
+"X2go Session has terminated\n"
+"%s"
+msgstr ""
diff --git a/pyhoca-gui b/pyhoca-gui
new file mode 100755
index 0000000..1438b88
--- /dev/null
+++ b/pyhoca-gui
@@ -0,0 +1,304 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+modules ={}
+
+import gevent
+import gevent.monkey
+gevent.monkey.patch_all()
+
+import subprocess
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+except: pass
+try:
+    import wxversion
+    wxversion.select('2.8')
+except: pass
+
+import argparse
+import os
+import sys
+import exceptions
+import locale
+import gettext
+
+PROG_NAME = os.path.basename(sys.argv[0])
+PROG_PID  = os.getpid()
+
+from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS
+
+if _X2GOCLIENT_OS in ('Linux', 'Mac'):
+    import setproctitle
+    setproctitle.setproctitle(PROG_NAME)
+
+app = sys.argv[0]
+if app.startswith('./') or os.path.dirname(PROG_NAME).endswith('trunk'):
+    sys.path.insert(0, os.path.join(os.path.dirname(PROG_NAME)))
+    os.environ['PYHOCAGUI_DEVELOPMENT'] = '1'
+    print '### PyHoca-GUI running in development mode ###'
+else:
+    if _X2GOCLIENT_OS == 'Windows':
+        sys.stdout = open(os.path.join(os.environ['TEMP'], '%s_stdout.log' % PROG_NAME), 'w')
+        sys.stderr = open(os.path.join(os.environ['TEMP'], '%s_stderr.log' % PROG_NAME), 'w')
+
+from pyhoca.wxgui.basepath import locale_basepath
+
+# Python X2go modules
+from x2go import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
+if _X2GOCLIENT_OS == 'Windows':
+    from x2go import X2goClientXConfig as _X2goClientXConfig
+from x2go import X2goLogger as _X2goLogger
+from x2go import x2go_cleanup as _x2go_cleanup
+
+# X2go backends
+from x2go.defaults import BACKENDS_CONTROLSESSION, BACKEND_CONTROLSESSION_DEFAULT
+from x2go.defaults import BACKENDS_TERMINALSESSION, BACKEND_TERMINALSESSION_DEFAULT
+from x2go.defaults import BACKENDS_SERVERSESSIONINFO, BACKEND_SERVERSESSIONINFO_DEFAULT
+from x2go.defaults import BACKENDS_SERVERSESSIONLIST, BACKEND_SERVERSESSIONLIST_DEFAULT
+from x2go.defaults import BACKENDS_PROXY, BACKEND_PROXY_DEFAULT
+from x2go.defaults import BACKENDS_SESSIONPROFILES, BACKEND_SESSIONPROFILES_DEFAULT
+from x2go.defaults import BACKENDS_CLIENTSETTINGS, BACKEND_CLIENTSETTINGS_DEFAULT
+from x2go.defaults import BACKENDS_CLIENTPRINTING, BACKEND_CLIENTPRINTING_DEFAULT
+
+from pyhoca.wxgui import __VERSION__ as _version
+from pyhoca.wxgui import PyHocaGUI
+
+if _X2GOCLIENT_OS == 'Windows':
+    from pyhoca.wxgui.basepath import nxproxy_binary
+    os.environ.update({'NXPROXY_BINARY': nxproxy_binary, })
+
+__author__ = "Mike Gabriel, Dick Kniep"
+__version__ = _version
+
+# version information
+VERSION=_version
+VERSION_TEXT="""
+%s[%s] - an X2go GUI client written in Python
+----------------------------------------------------------------------
+developed by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+sponsored by Dick Kniep <dick.kniep at lindix.nl> (2010-2011)
+
+VERSION: %s
+
+""" % (PROG_NAME, PROG_PID, VERSION)
+
+def check_running():
+    if _X2GOCLIENT_OS  in ('Linux', 'Mac'):
+        p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
+        psA_out = p.communicate()
+        return psA_out[0].count(PROG_NAME) > 1
+    elif _X2GOCLIENT_OS == 'Windows':
+        import wmi
+        w = wmi.WMI()
+        _p_names = []
+        for process in w.Win32_Process():
+            _p_names.append(process.Name)
+        return len([ _p_name for _p_name in _p_names if _p_name == PROG_NAME]) > 1
+
+
+def version():
+    # print version text and exit
+    sys.stderr.write ("%s\n" % VERSION_TEXT)
+    sys.exit(0)
+
+
+# sometimes we have to fail...
+def runtime_error(m, parser=None, exitcode=-1):
+    """\
+    STILL UNDOCUMENTED
+    """
+    if parser is not None:
+        parser.print_usage()
+    sys.stderr.write ("%s: error: %s\n" % (PROG_NAME, m))
+    sys.exit(exitcode)
+
+
+if _X2GOCLIENT_OS == 'Windows':
+    _x = _X2goClientXConfig()
+    _known_xservers = _x.known_xservers
+    _installed_xservers = _x.installed_xservers
+
+
+if _X2GOCLIENT_OS == 'Windows':
+    _config_backends = ('FILE', 'WINREG')
+elif _X2GOCLIENT_OS == 'Linux':
+    _config_backends = ('FILE', 'GCONF')
+else:
+    _config_backends = ('FILE')
+
+for _profiles_backend_default in _config_backends:
+    if BACKENDS_SESSIONPROFILES[_profiles_backend_default] == BACKEND_SESSIONPROFILES_DEFAULT:
+        break
+for _settings_backend_default in _config_backends:
+    if BACKENDS_CLIENTSETTINGS[_settings_backend_default] == BACKEND_CLIENTSETTINGS_DEFAULT:
+        break
+for _printing_backend_default in _config_backends:
+    if BACKENDS_CLIENTPRINTING[_printing_backend_default] == BACKEND_CLIENTPRINTING_DEFAULT:
+        break
+
+# debug options...
+debug_options =  [
+                   {'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', },
+                   {'args':['--quiet'], 'default': False, 'action': 'store_true', 'help': 'disable any kind of log output', },
+                   {'args':['--libdebug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2go module', },
+                   {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2go\'s sFTP server code (very verbose, and even promiscuous)', },
+                   {'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', },
+                 ]
+x2go_gui_options = [
+                   {'args':['-u','--username'], 'default': None, 'help': 'username for the session (default: current user)', },
+                   {'args':['-P','--session-profile'], 'default': None, 'help': 'directly connect to a session profile', },
+                   {'args':['--auto-connect'], 'default': False, 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', },
+                   {'args':['--show-profile-metatypes'], 'default': False, 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', },
+                   {'args':['--start-on-connect'], 'default': False, 'action': 'store_true', 'help': 'start a session directly after authentication', },
+                   {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': False, 'action': 'store_true', 'help': ' on connect auto-resume the newest suspended session', },
+                   {'args':['--resume-oldest-on-connect'], 'default': False, 'action': 'store_true', 'help': ' on connect auto-resume the oldest suspended session', },
+                   {'args':['--resume-all-on-connect'], 'default': False, 'action': 'store_true', 'help': 'auto-resume all suspended session on connect', },
+                   {'args':['--disable-options'], 'default': False, 'action': 'store_true', 'help': 'disable the client options configuration window', },
+                   {'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', },
+                   {'args':['--display'], 'default': None, 'metavar': '<hostname>:<screennumber>', 'help': 'set the DISPLAY environment variable to <hostname>:<screennumber>', },
+                 ]
+if _X2GOCLIENT_OS == 'Windows':
+    x2go_gui_options.append(
+                   {'args':['--lang'], 'default': None, 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', },
+        )
+
+backend_options = [
+                   {'args':['--backend-controlsession'], 'default': None, 'metavar': 'CONTROLSESSION_BACKEND', 'choices': BACKENDS_CONTROLSESSION.keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', },
+                   {'args':['--backend-terminalsession'], 'default': None, 'metavar': 'TERMINALSESSION_BACKEND', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', },
+                   {'args':['--backend-serversessioninfo'], 'default': None, 'metavar': 'SERVERSESSIONINFO_BACKEND', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', },
+                   {'args':['--backend-serversessionlist'], 'default': None, 'metavar': 'SERVERSESSIONLIST_BACKEND', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', },
+                   {'args':['--backend-proxy'], 'default': None, 'metavar': 'PROXY_BACKEND', 'choices': BACKENDS_PROXY.keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', },
+                   {'args':['--backend-sessionprofiles'], 'default': None, 'metavar': 'SESSIONPROFILES_BACKEND', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), },
+                   {'args':['--backend-clientsettings'], 'default': None, 'metavar': 'CLIENTSETTINGS_BACKEND', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), },
+                   {'args':['--backend-clientprinting'], 'default': None, 'metavar': 'CLIENTPRINTING_BACKEND', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), },
+                  ]
+
+if _X2GOCLIENT_OS == 'Windows':
+    contrib_options = [
+                       {'args':['--start-xserver'], 'default': False, 'action': 'store_true', 'help': 'start the XServer before starting PyHoca-GUI, detect best XServer automatically, if more than one XServer is installed on your system', },
+                       {'args':['-X', '--preferred-xserver'], 'default': None, 'metavar': 'XSERVER', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, },
+                       {'args':['--start-pulseaudio'], 'default': False, 'action': 'store_true', 'help': 'start the PulseAudio server before starting PyHoca-GUI', },
+                      ]
+
+portable_options = [
+                   {'args':['--client-rootdir'], 'default': None, 'help': 'define an alternative location where to find plain text config files (default: <HOME>/.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', },
+                   {'args':['--sessions-rootdir'], 'default': None, 'help': 'define an alternative location for session runtime files'},
+                   {'args':['--ssh-rootdir'], 'default': None, 'help': 'define an alternative location for SSH files', },
+                  ]
+
+
+def parseargs():
+
+    global DEBUG
+    global print_action_args
+
+    p = argparse.ArgumentParser(description='Graphical X2go client implemented in (wx)Python.',\
+                                formatter_class=argparse.RawDescriptionHelpFormatter, \
+                                add_help=True, argument_default=None)
+    p_debugopts = p.add_argument_group('Debug options')
+    p_guiopts = p.add_argument_group('PyHoca-GUI options')
+    p_portableopts = p.add_argument_group('Portable application support')
+    p_backendopts = p.add_argument_group('Python X2go backend options (for experts only)')
+
+    if _X2GOCLIENT_OS == 'Windows':
+        p_contribopts = p.add_argument_group('XServer options (MS Windows only)')
+        p_portableopts = p.add_argument_group('File locations for portable setups (MS Windows only)')
+        _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_contribopts, contrib_options), (p_portableopts, portable_options), (p_backendopts, backend_options), )
+    else:
+        _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options),  (p_portableopts, portable_options), (p_backendopts, backend_options), )
+    for (p_group, opts) in _option_groups:
+        required = False
+        for opt in opts:
+
+            args = opt['args']
+            del opt['args']
+            p_group.add_argument(*args, **opt)
+
+    a = p.parse_args()
+
+    logger = _X2goLogger(tag='PyHoca-GUI')
+    liblogger = _X2goLogger()
+
+    if a.debug:
+        logger.set_loglevel_debug()
+
+    if a.libdebug:
+        liblogger.set_loglevel_debug()
+
+    if a.quiet:
+        logger.set_loglevel_quiet()
+        liblogger.set_loglevel_quiet()
+
+    if a.libdebug_sftpxfer:
+        liblogger.enable_debug_sftpxfer()
+
+    if a.version:
+        version()
+
+    if a.username is None:
+        a.username = _CURRENT_LOCAL_USER
+
+    if _X2GOCLIENT_OS == 'Windows' and a.preferred_xserver:
+        if a.preferred_xserver not in _installed_xservers:
+            runtime_error('Xserver ,,%s\'\' is not installed on your Windows system' % a.preferred_xserver, parser=p)
+        a.start_xserver = a.preferred_xserver
+
+    if _X2GOCLIENT_OS == 'Windows' and a.start_xserver and a.display:
+        runtime_error('You can tell PyHoca-GUI to handle XServer startup and then specify a DISPLAY environment variable!', parser=p)
+
+    if a.display:
+        os.environ.update({'DISPLAY': a.display})
+    else:
+        if _X2GOCLIENT_OS == 'Windows' and not a.start_xserver:
+            os.environ.update({'DISPLAY': 'localhost:0'})
+
+    if a.client_rootdir:
+        a.backend_sessionprofiles='FILE'
+        a.backend_clientsettings='FILE'
+        a.backend_clientprinting='FILE'
+
+    return a, logger, liblogger
+
+def main():
+    args, logger, liblogger = parseargs()
+    if _X2GOCLIENT_OS == 'Windows':
+        if args.lang:
+            lang = gettext.translation('pyhoca-gui', localedir=locale_basepath, languages=[args.lang], )
+        else:
+            lang = gettext.translation('pyhoca-gui', localedir=locale_basepath, languages=['en'], )
+        lang.install(unicode=True)
+    else:
+        gettext.install('pyhoca-gui', localedir=locale_basepath, unicode=True)
+
+    if check_running(): 
+        sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (PROG_NAME, _CURRENT_LOCAL_USER))
+        version()
+    try:
+        thisPyHocaGUI = PyHocaGUI(args, logger, liblogger)
+        thisPyHocaGUI.MainLoop()
+    except KeyboardInterrupt:
+        _x2go_cleanup()
+
+if __name__ == '__main__':
+    main()
diff --git a/pyhoca-gui_0.0.27.0.orig.tar.gz.delta b/pyhoca-gui_0.0.27.0.orig.tar.gz.delta
deleted file mode 100644
index 0c15069..0000000
Binary files a/pyhoca-gui_0.0.27.0.orig.tar.gz.delta and /dev/null differ
diff --git a/pyhoca-gui_0.0.27.0.orig.tar.gz.id b/pyhoca-gui_0.0.27.0.orig.tar.gz.id
deleted file mode 100644
index 224d3da..0000000
--- a/pyhoca-gui_0.0.27.0.orig.tar.gz.id
+++ /dev/null
@@ -1 +0,0 @@
-98b591c127312c76f50968d9f5604d3fe08733cc
diff --git a/pyhoca/__init__.py b/pyhoca/__init__.py
new file mode 100644
index 0000000..e7fc640
--- /dev/null
+++ b/pyhoca/__init__.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
diff --git a/pyhoca/wxgui/__init__.py b/pyhoca/wxgui/__init__.py
new file mode 100644
index 0000000..14e27f4
--- /dev/null
+++ b/pyhoca/wxgui/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+__VERSION__ = '0.0.27'
+
+from frontend import *
diff --git a/pyhoca/wxgui/about.py b/pyhoca/wxgui/about.py
new file mode 100644
index 0000000..7014774
--- /dev/null
+++ b/pyhoca/wxgui/about.py
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+modules ={}
+
+import os
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+except: pass
+
+try:
+    import wxversion
+    wxversion.select('2.8')
+except: pass
+
+# Python X2go
+import x2go
+
+# wxPython
+import wx
+
+# PyHoca-GUI modules
+import basepath
+
+class PyHocaGUI_AboutFrame(wx.Frame):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None): 
+
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        if x2go.X2GOCLIENT_OS == 'Windows':
+            wx.Frame.__init__(self, None, -1, _('About %s ...') % 'PyHoca-GUI', size=(403,319))
+        else:
+            wx.Frame.__init__(self, None, -1, _('About %s ...') % 'PyHoca-GUI', size=(400,298))
+        self.Bind(wx.EVT_CLOSE, self.OnHide)
+
+        _logo_bitmap = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(os.path.join(basepath.images_basepath, 'pyhoca-about-logo.png')), (0, 0))
+        self.bitmap = _logo_bitmap
+
+        if x2go.X2GOCLIENT_OS == 'Windows':
+            _icon = wx.Bitmap(os.path.join(basepath.icons_basepath, os.path.normpath('PyHoca/16x16/pyhoca-winicon.png')))
+        elif x2go.X2GOCLIENT_OS == 'Mac':
+            _icon = wx.Bitmap(os.path.join(basepath.icons_basepath, os.path.normpath('PyHoca/128x128/pyhoca-winicon.png')))
+        else:
+            _icon = wx.Bitmap(os.path.join(basepath.icons_basepath, os.path.normpath('PyHoca/22x22/pyhoca-winicon.png')))
+        self.icon = self.SetIcon(wx.IconFromBitmap(_icon))
+
+        self.CenterOnScreen()
+
+    def OnHide(self, evt):
+        self.Show(False)
+
+
diff --git a/pyhoca/wxgui/basepath.py b/pyhoca/wxgui/basepath.py
new file mode 100644
index 0000000..9b11e0a
--- /dev/null
+++ b/pyhoca/wxgui/basepath.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+import os
+from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS
+
+if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1':
+    _base_location = os.path.abspath(os.path.curdir)
+    _icons_location = os.path.join(_base_location, 'icons')
+    _images_location = os.path.join(_base_location, 'img')
+    if _X2GOCLIENT_OS != 'Windows':
+        _locale_location = os.path.join(_base_location, 'locale')
+    else:
+        _locale_location = os.path.join(_base_location, 'build', 'mo')
+        _nxproxy_location = os.path.join(_base_location, 'contrib', 'nxproxy-mswin', 'nxproxy.exe')
+else:
+    if _X2GOCLIENT_OS == 'Windows':
+        _base_location = os.path.abspath(os.path.curdir)
+        _icons_location = os.path.join(_base_location, 'icons')
+        _images_location = os.path.join(_base_location, 'img')
+        _locale_location = os.path.join(_base_location, 'mo')
+        _nxproxy_location = os.path.join(_base_location, 'nxproxy', 'nxproxy.exe')
+    else:
+        _icons_location = '/usr/share/icons'
+        _images_location = '/usr/share/pyhoca/img'
+        _locale_location = '/usr/share/locale'
+
+icons_basepath = _icons_location
+images_basepath = _images_location
+if _X2GOCLIENT_OS == 'Windows':
+    nxproxy_binary = _nxproxy_location
+locale_basepath = _locale_location
diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py
new file mode 100644
index 0000000..9201c1a
--- /dev/null
+++ b/pyhoca/wxgui/frontend.py
@@ -0,0 +1,588 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+modules ={}
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+    #print 'USING wxPython 2.9'
+
+except: pass
+
+try:
+    import wxversion
+    wxversion.select('2.8')
+    #print 'USING wxPython 2.8'
+
+except: pass
+
+    
+# Python X2go
+import x2go
+
+import os
+import gevent
+import gevent.monkey
+gevent.monkey.patch_all()
+
+import wx
+
+import time
+import sys
+import platform
+import types
+import copy
+import threading
+
+# PyHoca-GUI modules
+import about
+import logon
+import taskbar
+import menus_taskbar
+import profilemanager
+import notify
+import basepath
+
+wx.SetDefaultPyEncoding("utf-8")
+
+class PyHocaGUI(wx.App, x2go.X2goClient):
+
+    def __init__(self, args, logger, liblogger, 
+                 appname='PyHoca-GUI', 
+                 vendorname='Open Source Software Foundation',):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.appname = appname
+        self.vendorname = vendorname
+
+        self.args = args
+        if logger is None:
+            self._pyhoca_logger = x2go.X2goLogger(tag=self.appname)
+        else:
+            self._pyhoca_logger = copy.deepcopy(logger)
+            self._pyhoca_logger.tag = self.appname
+
+        if liblogger is None:
+            self._pyhoca_liblogger = x2go.X2goLogger()
+        else:
+            self._pyhoca_liblogger = copy.deepcopy(liblogger)
+
+        wx.App.__init__(self)
+        self.Bind(wx.EVT_IDLE, self.OnIdle)
+
+    def OnInit(self):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        wx.BeginBusyCursor()
+
+        splash_bitmap = wx.Bitmap(os.path.join(basepath.images_basepath, 'pyhoca-splash.png'), wx.BITMAP_TYPE_PNG)
+        wx.SplashScreen(splash_bitmap, wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT, 3000, None, style=wx.SIMPLE_BORDER|wx.STAY_ON_TOP)
+        wx.Yield()
+
+        _x2goclient_kwargs = {
+            'use_listsessions_cache': True,
+            'auto_update_listsessions_cache': True,
+            'auto_update_sessionregistry': True,
+            'auto_register_sessions': True,
+            'logger': self._pyhoca_liblogger,
+        }
+        if self.args.backend_controlsession is not None:
+            _x2goclient_kwargs['control_backend'] = self.args.backend_controlsession
+        if self.args.backend_terminalsession is not None:
+            _x2goclient_kwargs['terminal_backend'] = self.args.backend_terminalsession
+        if self.args.backend_serversessioninfo is not None:
+            _x2goclient_kwargs['info_backend'] = self.args.backend_serversessioninfo
+        if self.args.backend_serversessionlist is not None:
+            _x2goclient_kwargs['list_backend'] = self.args.backend_serversessionlist
+        if self.args.backend_proxy is not None:
+            _x2goclient_kwargs['proxy_backend'] = self.args.backend_proxy
+        if self.args.backend_sessionprofiles is not None:
+            _x2goclient_kwargs['profiles_backend'] = self.args.backend_sessionprofiles
+        if self.args.backend_clientsettings is not None:
+            _x2goclient_kwargs['settings_backend'] = self.args.backend_clientsettings
+        if self.args.backend_clientprinting is not None:
+            _x2goclient_kwargs['printing_backend'] = self.args.backend_clientprinting
+
+        if self.args.client_rootdir is not None:
+            _x2goclient_kwargs['client_rootdir'] = self.args.client_rootdir
+        if self.args.sessions_rootdir is not None:
+            _x2goclient_kwargs['sessions_rootdir'] = self.args.sessions_rootdir
+        if self.args.ssh_rootdir is not None:
+            _x2goclient_kwargs['ssh_rootdir'] = self.args.ssh_rootdir
+
+        if x2go.X2GOCLIENT_OS == 'Windows':
+            _x2goclient_kwargs['start_xserver'] = self.args.start_xserver
+            _x2goclient_kwargs['start_pulseaudio'] = self.args.start_pulseaudio
+            
+        if x2go.X2GOCLIENT_OS == 'Windows' and self.args.start_pulseaudio and os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1':
+            _x2goclient_kwargs['pulseaudio_installdir'] = os.path.normpath('../../contrib/pulseaudio-mswin/pulseaudio-0.9.6')
+        x2go.X2goClient.__init__(self, **_x2goclient_kwargs)
+        self.SetAppName(self.appname)
+        self.SetVendorName(self.vendorname)
+        self.startGUI()
+        wx.EndBusyCursor()
+        return True
+
+    def OnIdle(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        gevent.sleep(.04)
+        evt.RequestMore()
+        return True
+
+    def startGUI(self):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+
+        # cmd line options
+        self.start_on_connect = self.args.start_on_connect
+        self.resume_newest_on_connect = self.args.resume_newest_on_connect
+        self.resume_oldest_on_connect = self.args.resume_oldest_on_connect
+        self.resume_all_on_connect = self.args.resume_all_on_connect
+        self.show_profile_metatypes = self.args.show_profile_metatypes
+
+        self._pyhoca_logger('PyHoca GUI is starting up', loglevel=x2go.log.loglevel_INFO, )
+        self._pyhoca_logger('registering PyHocaGUI control sessions', loglevel=x2go.log.loglevel_INFO, )
+
+        self.about = about.PyHocaGUI_AboutFrame(self)
+        self.about.Show(False)
+
+        self.taskbar = taskbar.PyHocaGUI_TaskBarIcon(self.about)
+        self.taskbar.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, lambda _Show: self.about.Show(True))
+        self.taskbar.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.taskbar.CreateSessionManagerPopupMenu)
+
+        if x2go.X2GOCLIENT_OS in ('Linux', 'Mac'):
+            self.notifier = notify.libnotify_NotifierPopup(self)
+        if x2go.X2GOCLIENT_OS in ('Windows'):
+            self.notifier = notify.notificationmessage_NotifierPopup(self.about)
+
+        self._sub_windows = []
+        self._hide_notifications_map = {}
+        self._eventid_profilenames_map = {}
+        self._eventid_sessionnames_map = {}
+        self._temp_disabled_profile_names = []
+
+        # We register one session per available session profile.
+        # These registered sessions will be used to access the profile's 
+        # ,,control'' sessions at first. Later, any session can be used
+        # to access the profile's control session.
+        self.register_all_session_profiles(return_objects=True)
+
+        if self.args.auto_connect:
+
+            for session_uuid in self._X2goClient__client_registered_sessions:
+                self._pyhoca_logger('auto-connecting to %s session profile' % s.get_profile_name(), loglevel=x2go.log.loglevel_NOTICE)
+                gevent.spawn(self._auto_connect, session_uuid)
+
+        self.profilemanager_disabled = self.args.disable_profilemanager
+
+        ###
+        ### disable functionality for release versions
+        ###
+        if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1':
+            self.options_disabled = self.args.disable_options
+        else:
+            self._pyhoca_logger('the current release of %s does not support client configuration' % self.appname, loglevel=x2go.log.loglevel_WARN)
+            self.options_disabled = True
+
+        if self.args.session_profile:
+            for profile_name in self.args.session_profile.split(','):
+                if not self._X2goClient__client_registered_sessions_of_profile_name(profile_name):
+                    continue
+                _dummy_id = wx.NewId()
+                self._eventid_profilenames_map[_dummy_id] = profile_name
+                evt = wx.CommandEvent()
+                evt.SetId(_dummy_id)
+                self.start_on_connect = True
+                self.resume_newest_on_connect = True
+                self._pyhoca_logger('opening default session profile %s' % profile_name, loglevel=x2go.log.loglevel_NOTICE)
+                self.OnSessionAuthenticate(evt)
+
+    def _auto_connect(self, session_uuid):
+
+        try:
+            self._X2goClient__connect_session(session_uuid)
+            self._pyhoca_logger('auto-connected session profile %s' % self._X2goClient__get_session_profile_name(session_uuid), loglevel=x2go.log.loglevel_NOTICE)
+        except x2go.AuthenticationException:
+            self._pyhoca_logger('no pubkey authentication available for session profile %s' % self._X2goClient__get_session_profile_name(session_uuid), loglevel=x2go.log.loglevel_NOTICE)
+
+    # wx.App's OnExit method
+    def OnExit(self):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        x2go.x2go_cleanup()
+        # close open password dialogs (or other remaining windows)
+        for _win in self._sub_windows:
+            _win.Close()
+            _win.Destroy()
+        self.taskbar.Close()
+        self.taskbar.Destroy()
+        self.about.Close()
+        self.about.Destroy()
+
+    # the taskbar's OnExit method...
+    def OnTaskbarExit(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._pyhoca_logger('exit application', loglevel=x2go.log.loglevel_INFO, )
+        self.Exit()
+
+    def _start_on_connect(self, evt, session_uuid):
+        if not self._X2goClient__list_sessions(session_uuid):
+            self.OnSessionStart(evt)
+
+    def _resume_newest_on_connect(self, evt, session_uuid):
+        session_infos = self._X2goClient__list_sessions(session_uuid)
+        if session_infos: 
+            newest_session_name = x2go.utils.session_names_by_timestamp(session_infos)[-1]
+            self._resume_on_connect(evt, session_uuid, newest_session_name)
+            return True
+        return False
+
+    def _resume_oldest_on_connect(self, evt, session_uuid):
+        session_infos = self._X2goClient__list_sessions(session_uuid)
+        if session_infos:
+            newest_session_name = x2go.utils.session_names_by_timestamp(session_infos)[0]
+            self._resume_on_connect(evt, session_uuid, newest_session_name)
+            return True
+        return False
+
+    def _resume_all_on_connect(self, evt, session_uuid):
+        session_infos = self._X2goClient__list_sessions(session_uuid)
+        if session_infos:
+            for session_name in session_infos.keys():
+                self._resume_on_connect(evt, session_uuid, session_name)
+            return True
+        return False
+
+    def _resume_on_connect(self, evt, session_uuid, session_name):
+        self._eventid_sessionnames_map[evt.GetId()] = session_name
+        self.OnSessionResume(evt)
+
+    def _post_authenticate(self, evt, session_uuid):
+
+        _resumed = False
+        if self.resume_newest_on_connect:
+            _resumed = self._resume_newest_on_connect(evt, session_uuid)
+        elif self.resume_oldest_on_connect:
+            _resumed = self._resume_oldest_on_connect(evt, session_uuid)
+        elif self.resume_all_on_connect:
+            _resumed = self._resume_all_on_connect(evt, session_uuid)
+        if not _resumed and self.start_on_connect:
+            self._start_on_connect(evt, session_uuid)
+
+    def _do_authenticate(self, evt, session_uuid):
+        profile_name = self.current_profile_name
+        try:
+            self._X2goClient__connect_session(session_uuid, add_to_known_hosts=True)
+            if not self._X2goClient__server_valid_x2gouser(session_uuid):
+                self.notifier.send(_(u'%s - connect failure') % profile_name, _(u'User is not allowed to start X2go sessions!'), icon='session_warning', timeout=10000)
+                self._X2goClient__disconnect_profile(profile_name)
+                self._temp_disabled_profile_names.remove(profile_name)
+            else:
+                self.notifier.send(_(u'%s - connect') % profile_name, _(u'Public SSH key authentication has been successful.'), icon='auth_success', timeout=4000)
+                _dummy = self._X2goClient__list_sessions(session_uuid, refresh_cache=True)
+                self._post_authenticate(evt, session_uuid)
+                self._temp_disabled_profile_names.remove(profile_name)
+        except x2go.AuthenticationException:
+            self._pyhoca_logger('public SSH key authentication to server failed, trying next auth-mechanism', loglevel=x2go.log.loglevel_INFO, )
+            _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self )
+            self._sub_windows.append(_logon_window)
+        except x2go.X2goSSHProxyAuthenticationException:
+            self._pyhoca_logger('public SSH key authentication for SSH proxy failed, trying next auth-mechanism', loglevel=x2go.log.loglevel_INFO, )
+            _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=True )
+            self._sub_windows.append(_logon_window)
+        except x2go.SSHException, e:
+            self.notifier.send(_(u'%s - connect error') % profile_name, '%s!' % str(e), icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        except gevent.dns.DNSError, e:
+            self.notifier.send(_(u'%s - connect error') % profile_name, '%s!' % e.strerror, icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        except gevent.socket.error, e:
+            self.notifier.send(_(u'%s - connect error') % profile_name, '%s!' % e.strerror, icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        except EOFError, e:
+            self.notifier.send(_(u'%s - connect error') % profile_name, _(u'Authentication protocol communication incomplete! Try again...'), icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        except x2go.X2goSSHProxyException, e:
+            self.notifier.send(_(u'%s - key error') % profile_name, '%s!' % str(e), icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        except:
+            self.notifier.send('%s - connect error' % profile_name, 'An unknown error occurred during authentication!', icon='auth_error', timeout=4000)
+            self._temp_disabled_profile_names.remove(profile_name)
+        self.taskbar.SetIconIdle()
+
+
+    def OnSessionAuthenticate(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        self.taskbar.SetIconConnecting(self.current_profile_name)
+        session_uuid = self._X2goClient__register_session(profile_name=self.current_profile_name)
+        self._temp_disabled_profile_names.append(self.current_profile_name)
+        gevent.spawn(self._do_authenticate, evt, session_uuid)
+
+    def OnSessionStart(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        _query_session = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        session_uuid = self._X2goClient__register_session(profile_name=self.current_profile_name)
+        if self._X2goClient__server_is_alive(session_uuid):
+            gevent.spawn(self._X2goClient__start_session, session_uuid)
+            _dummy = self._X2goClient__list_sessions(session_uuid, refresh_cache=True)
+
+    def OnSessionResume(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        session_name = self._eventid_sessionnames_map[evt.GetId()]
+        if self._X2goClient__server_is_alive(session_uuid):
+            gevent.spawn(self._X2goClient__resume_session, session_name=session_name)
+            _dummy = self._X2goClient__list_sessions(session_uuid, refresh_cache=True)
+        self._eventid_sessionnames_map = {}
+
+    def OnSessionSuspend(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        session_name = self._eventid_sessionnames_map[evt.GetId()]
+        gevent.spawn(self._X2goClient__suspend_session, session_uuid, session_name=session_name)
+        self._eventid_sessionnames_map = {}
+
+    def OnSessionTerminate(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        session_name = self._eventid_sessionnames_map[evt.GetId()]
+        gevent.spawn(self._X2goClient__terminate_session, session_uuid, session_name=session_name)
+        self._eventid_sessionnames_map = {}
+
+    def OnCleanSessions(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        session_names = self._X2goClient__server_running_sessions(session_uuid) + self._X2goClient__server_suspended_sessions(session_uuid)
+        if self._X2goClient__server_is_alive(session_uuid):
+            if session_names:
+                _notify_text = _(u'Cleaning X2go sessions...')
+                self._hide_notifications_map[self.current_profile_name] = []
+                for session_name in session_names:
+                    _notify_text += '\n%s' % session_name
+                    self._hide_notifications_map[self.current_profile_name].append(session_name)
+                self.notifier.send(self.current_profile_name, _notify_text, icon='session_cleanall', timeout=10000)
+            gevent.spawn(self._X2goClient__clean_sessions, session_uuid)
+
+    def OnSessionDisconnect(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        # disconnect all profile sessions
+        if self._X2goClient__server_is_alive(session_uuid):
+            self._X2goClient__disconnect_profile(self.current_profile_name)
+            gevent.sleep(2)
+            if not self._X2goClient__is_session_connected(session_uuid):
+                self.notifier.send(_(u'%s - disconnect') % self.current_profile_name, _(u'X2go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000)
+
+    def OnProfileAdd(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._pyhoca_logger('adding new X2go session profile', loglevel=x2go.log.loglevel_INFO, )
+        profilemanager.PyHocaGUI_ProfileManager(self, 'ADD', profile_name=_(u'New Session Profile'))
+
+    def OnProfileEdit(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        self._pyhoca_logger('editing session profile %s' % self.current_profile_name, loglevel=x2go.log.loglevel_INFO, )
+        profilemanager.PyHocaGUI_ProfileManager(self, 'EDIT', profile_name=self.current_profile_name)
+
+    def OnProfileEditWhileConnected(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        self._pyhoca_logger('editing session profile %s' % self.current_profile_name, loglevel=x2go.log.loglevel_INFO, )
+        profilemanager.PyHocaGUI_ProfileManager(self, 'EDIT_CONNECTED', profile_name=self.current_profile_name)
+
+    def OnProfileDelete(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        self._pyhoca_logger('deleting session profile %s' % self.current_profile_name, loglevel=x2go.log.loglevel_INFO, )
+        try:
+            self.session_profiles.delete_profile(self.current_profile_name)
+            self.notifier.send(title=_(u'%s - profile deleted') % self.current_profile_name, text=_(u'The session profile has been deleted.'), icon='profile_delete')
+        except:
+            pass
+
+    def OnShareLocalFolder(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
+        self._pyhoca_logger('Evoking file dialog for ,,Share Local Folder\'\' menu item action', loglevel=x2go.log.loglevel_NOTICE, )
+        shared_folder = os.path.expanduser('~')
+        if not os.path.exists(shared_folder):
+            shared_folder = os.getcwd()
+        dlg = wx.DirDialog(
+            self.about, message=_(u"%s - share local folder with sessions of this profile") % self.current_profile_name, style=1, defaultPath=shared_folder)
+        # Show the dialog and retrieve the user response. If it is the OK response,
+        # process the data.
+        if dlg.ShowModal() == wx.ID_OK:
+            # This returns a Python list of files that were selected.
+            self._X2goClient__share_local_folder_with_session(profile_name=self.current_profile_name, folder_name=str(dlg.GetPath()))
+
+    def OnListSessions(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._pyhoca_logger('The ,,List Sessions\'\' information window is not implemented yet', loglevel=x2go.log.loglevel_WARN, )
+
+    def OnAbout(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._pyhoca_logger('Showing the ,,About...\'\' window', loglevel=x2go.log.loglevel_INFO, )
+        self.about.Show(True)
+
+    def OnOptions(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._pyhoca_logger('The ,,Options\'\' configuration window is not implemented yet', loglevel=x2go.log.loglevel_WARN, )
+
+    def OnClose(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.OnExit(evt)
+
+    ##
+    ## Python X2go (X2goClient) notification HOOK's...
+    ##
+
+    # this hook gets called from Python X2go classes if profile_name's control session has died...
+    def HOOK_on_control_session_death(self, profile_name):
+        self.notifier.send(_(u'%s - channel error') % profile_name, _(u'Lost connection to server %s unexpectedly! Try to re-authenticate to the server...') % profile_name, icon='session_warning', timeout=10000)
+
+    def HOOK_no_such_command(self, cmd, profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - session failure') % profile_name, _('The command ,,%s\'\' is not available on X2go server\n%s).') % (cmd, session_name), icon='session_error', timeout=10000)
+    def HOOK_rforward_request_denied(self, profile_name='UNKNOWN', session_name='UNKNOWN', server_port=0):
+        self.notifier.send(_(u'%s - session warning') % profile_name, _(u'Reverse TCP port forwarding request for session %s to server port %s has been denied by the X2go server. This is a common issue with SSH, it might help to restart the X2go server\'s SSH daemon.') % (session_name, server_port), icon='session_warning', timeout=10000)
+    def HOOK_forwarding_tunnel_setup_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN', chain_host='UNKNOWN', chain_port=0):
+        self.notifier.send(_(u'%s - session failure') % profile_name, _(u'Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2go/SSH server. Session startup failed.') % (chain_host, chain_port, session_name), icon='session_error', timeout=10000)
+    def HOOK_pulseaudio_not_supported_in_RDPsession(self):
+        self.notifier.send(_(u'%s - audio warning') % self.appname, _(u'The X2go PulseAudio system is not available within Remote Desktop sessions.'), icon='audio_error', timeout=10000)
+    def HOOK_pulseaudio_server_startup_failed(self):
+        self.notifier.send(_(u'%s - audio error') % self.appname, _(u'The X2go PulseAudio system could not be started.'), icon='audio_error', timeout=10000)
+    def HOOK_pulseaudio_server_died(self):
+        self.notifier.send(_(u'%s - audio error') % self.appname, _(u'The X2go PulseAudio system has died unexpectedly.'), icon='audio_error', timeout=10000)
+    def HOOK_on_sound_tunnel_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - audio problem') % profile_name, _(u'The audio connection could not be set up for this session.\n%s') % session_name, icon='session_warning', timeout=5000)
+
+    # this hook gets called from Python X2go classes if a print job is coming in and the print action is ,,DIALOG''...
+    def HOOK_open_print_dialog(self, filename, profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - print job') % profile_name, _(u'Opening print job dialog not implemented yet!!!\n%s')  % session_name, icon='session_printing', timeout=5000)
+
+        #_p = wx.Dialog(None, -1, '%s (%s)' % (session_name, profile_name), size=(450,380))
+        #print 1
+        #_p_data = wx.PrintData()
+        #print 2
+        #_p_data.SetFilename(filename)
+        #print 3
+        #_p_dialogdata = wx.PrintDialogData(_p_data)
+        #print 4
+        ##_p_dialog = wx.PrintDialog(_p, _p_dialogdata)
+        #print 5
+        ##_p_dialog.ShowModal()
+        #print 6
+        ##_p.Fit()
+        #print 7
+        ##_p.Layout()
+        #print 8
+        ##_p.Show(True)
+        #print 9
+    def HOOK_printaction_error(self, filename, profile_name='UNKNOWN', session_name='UNKNOWN', err_msg='GENERIC_ERROR'):
+        self.notifier.send(_(u'%s - print error') % profile_name, _(u'%s\n...caused by session\n%s')  % (err_msg, session_name), icon='session_error', timeout=5000)
+    def HOOK_on_session_has_started_by_me(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - start') % profile_name, _(u'New X2go session starting up...\n%s') % session_name, icon='session_start', timeout=5000)
+    def HOOK_on_session_has_started_by_other(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - start') % profile_name, _(u'Another client started X2go session\n%s') % session_name, icon='session_start', timeout=5000)
+    def HOOK_on_session_has_resumed_by_me(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - resume') % profile_name, _(u'Resuming X2go session...\n%s') % session_name, icon='session_resume', timeout=5000)
+    def HOOK_on_session_has_resumed_by_other(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - resume') % profile_name, _(u'Another client resumed X2go session\n%s') % session_name, icon='session_resume', timeout=5000)
+    def HOOK_on_found_session_running_after_connect(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        gevent.spawn_later(5, self.notifier.send, _(u'%s - running') % profile_name, _(u'Found already running session\n%s') %  session_name, icon='session_resume', timeout=5000)
+    def HOOK_on_session_has_been_suspended(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        self.notifier.send(_(u'%s - suspend') % profile_name, _(u'X2go Session has been suspended\n%s') % session_name, icon='session_suspend', timeout=5000)
+    def HOOK_on_session_has_terminated(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN'):
+        # avoid notification if X2goClient.clean_sessions has been used to terminate sessions
+        if self._hide_notifications_map.has_key(profile_name) and session_name in self._hide_notifications_map[profile_name]:
+            self._hide_notifications_map[profile_name].remove(session_name)
+            if not self._hide_notifications_map[profile_name]:
+                del self._hide_notifications_map[profile_name]
+        else:
+            self.notifier.send(_(u'%s - terminate') % profile_name, _(u'X2go Session has terminated\n%s') % session_name, icon='session_terminate', timeout=5000)
diff --git a/pyhoca/wxgui/logon.py b/pyhoca/wxgui/logon.py
new file mode 100644
index 0000000..a42c238
--- /dev/null
+++ b/pyhoca/wxgui/logon.py
@@ -0,0 +1,323 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+modules ={}
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+except: pass
+
+try:
+    import wxversion
+    wxversion.select('2.8')
+except: pass
+
+# Python X2go
+import x2go
+
+import gevent
+import gevent.monkey
+gevent.monkey.patch_all()
+
+import wx
+import wx.lib.scrolledpanel as scrolled
+import wx.lib.mixins.listctrl as listmix
+
+import time
+import os
+import sys
+import platform
+import types
+import copy
+import threading
+
+# PyHoca-GUI modules
+# ... NONE ...
+
+if os.environ.has_key('DESKTOP_SESSION'):
+    WINDOW_MANAGER = os.environ['DESKTOP_SESSION']
+else:
+    WINDOW_MANAGER = 'generic'
+
+class PyHocaGUI_DialogBoxPassword(wx.Dialog):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, profile_name, caller=None, sshproxy_auth=False): 
+
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+        self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, )
+
+        self.sshproxy_auth = sshproxy_auth
+
+        self.current_profile_name = profile_name
+        self.current_profile_config = self._PyHocaGUI.session_profiles.get_profile_config(profile_name)
+
+        wx.Dialog.__init__(self, None, -1, profile_name)
+
+        if self.sshproxy_auth:
+            self.sshproxy_started = False
+            self.SetTitle(_(u'%s (via %s)') % (profile_name, self.current_profile_config['sshproxyhost']))
+
+        self.userLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) 
+        self.userTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) 
+        self.passwordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) 
+        self.passwordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) 
+        self.passwordTxt.SetFocus()
+        self.loginBtn = wx.Button(self, wx.ID_OK, _(u'Authenticate'))
+        self.loginBtn.SetDefault()
+
+        # widgets 
+        if self.sshproxy_auth:
+            self.sshProxyUserLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) 
+            self.sshProxyUserTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) 
+            self.sshProxyPasswordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) 
+            self.sshProxyPasswordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) 
+            self.sshProxyPasswordTxt.SetFocus()
+            self.sshProxyLoginBtn = wx.Button(self, wx.ID_OK, _(u'  Start SSH tunnel  '))
+            self.sshProxyLoginBtn.SetDefault()
+
+            headerWidth = max(self.userLbl.GetSize().GetWidth(), self.passwordLbl.GetSize().GetWidth()) + 150
+            sshProxyHeaderWidth = max(self.sshProxyUserLbl.GetSize().GetWidth(), self.sshProxyPasswordLbl.GetSize().GetWidth()) + 150
+
+            self.headerLbl = wx.StaticText(self, wx.ID_ANY, _(u'Session login')+':', size=(headerWidth, -1))
+            self.sshProxyHeaderLbl = wx.StaticText(self, wx.ID_ANY, _(u'SSH proxy server login')+':', size=(sshProxyHeaderWidth, -1))
+            self.headerLbl.SetFont(wx.Font(-1, wx.DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
+            self.sshProxyHeaderLbl.SetFont(wx.Font(-1, wx.DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD, 0, ""))
+
+            self.headerLbl.Enable(False)
+            self.userLbl.Enable(False)
+            self.userTxt.Enable(False)
+            self.passwordLbl.Enable(False)
+            self.passwordTxt.Enable(False)
+            self.loginBtn.Enable(False)
+
+        self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'))
+
+        if self.sshproxy_auth:
+            self.Bind(wx.EVT_BUTTON, self.OnLogin, self.sshProxyLoginBtn)
+            self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.sshProxyUserTxt)
+            self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.sshProxyPasswordTxt)
+
+        self.Bind(wx.EVT_BUTTON, self.OnLogin, self.loginBtn)
+        self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.userTxt)
+        self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.passwordTxt)
+        self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelBtn)
+
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        if not self.sshproxy_auth:
+            credSizer = wx.GridBagSizer(hgap=2, vgap=2)
+        mainSizer = wx.BoxSizer(wx.VERTICAL)
+
+        # sizer / layout 
+        if self.sshproxy_auth:
+
+            credSizer = wx.GridBagSizer(hgap=4, vgap=2)
+
+            credSizer.Add(self.sshProxyHeaderLbl, pos=(0,0), span=(1,2), flag=wx.ALL|wx.EXPAND, border=5)
+            credSizer.Add(self.headerLbl, pos=(0,2), span=(1,2), flag=wx.ALL|wx.EXPAND, border=5)
+
+            credSizer.Add(self.sshProxyUserLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5)
+            credSizer.Add(self.sshProxyUserTxt, pos=(1,1), flag=wx.ALL, border=5)
+
+            credSizer.Add(self.userLbl, pos=(1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) 
+            credSizer.Add(self.userTxt, pos=(1,3), flag=wx.ALL, border=5) 
+
+        else:
+            credSizer.Add(self.userLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) 
+            credSizer.Add(self.userTxt, pos=(0,1), flag=wx.ALL, border=5) 
+
+        if self.sshproxy_auth:
+
+            credSizer.Add(self.sshProxyPasswordLbl, pos=(2,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5)
+            credSizer.Add(self.sshProxyPasswordTxt, pos=(2,1), flag=wx.ALL, border=5)
+
+            credSizer.Add(self.passwordLbl, pos=(2,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) 
+            credSizer.Add(self.passwordTxt, pos=(2,3), flag=wx.ALL, border=5)
+
+        else:
+            credSizer.Add(self.passwordLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) 
+            credSizer.Add(self.passwordTxt, pos=(1,1), flag=wx.ALL, border=5)
+
+        if self.sshproxy_auth:
+            btnSizer.Add(self.sshProxyLoginBtn, 0, wx.ALL, 5)
+        btnSizer.Add(self.loginBtn, 0, wx.ALL, 5) 
+        btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) 
+
+        mainSizer.Add(credSizer, 0, wx.ALL, 5) 
+        mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5)
+
+        if self.current_profile_config.has_key('user'):
+            self.userTxt.SetValue(self.current_profile_config['user'])
+        else:
+            self.userTxt.SetValue(self._PyHocaGUI.args.username)
+
+        if self.sshproxy_auth:
+
+            if self.current_profile_config.has_key('sshproxyuser'):
+                self.sshProxyUserTxt.SetValue(self.current_profile_config['sshproxyuser'])
+
+        # Logged in variable 
+        self.loggedIn = False
+
+        self.SetSizerAndFit(mainSizer) 
+        self.Layout()
+
+        maxX, maxY = wx.GetDisplaySize()
+
+        if (x2go.X2GOCLIENT_OS == 'Linux') and (WINDOW_MANAGER == 'gnome'):
+            self.Move((maxX - (self.GetSize().GetWidth() + 20), 35))
+        else:
+            self.Move((maxX - (self.GetSize().GetWidth() + 20), maxY - (self.GetSize().GetHeight() + 70), ))
+
+        self.Show()
+
+    def OnLogin(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        username = self.userTxt.GetValue()
+        password = self.passwordTxt.GetValue()
+        if self.sshproxy_auth:
+            sshproxy_user = self.sshProxyUserTxt.GetValue()
+            sshproxy_password = self.sshProxyPasswordTxt.GetValue()
+            if len(sshproxy_user) == 0:
+                return
+            if len(sshproxy_password) == 0:
+                return
+        else:
+            sshproxy_user = sshproxy_password = None
+
+        if (not self.sshproxy_auth) or self.sshproxy_started:
+            if len(username) == 0:
+                return
+            if len(password) == 0:
+                return
+
+        if self.sshproxy_auth and (not self.sshproxy_started):
+            force_password_auth=False
+        else:
+            force_password_auth=True
+
+        session_uuid = self._PyHocaGUI._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
+        try:
+            wx.BeginBusyCursor()
+            self._PyHocaGUI._X2goClient__connect_session(session_uuid, 
+                                                         username=username, 
+                                                         password=password, 
+                                                         force_password_auth=force_password_auth, 
+                                                         add_to_known_hosts=True,
+                                                         sshproxy_user=sshproxy_user, 
+                                                         sshproxy_password=sshproxy_password)
+            if not self._PyHocaGUI._X2goClient__server_valid_x2gouser(session_uuid):
+                self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                                 title=_(u'%s - connect failure') % self.current_profile_name, 
+                                                 text=_(u'User is not allowed to start X2go sessions!'),
+                                                 icon='auth_error')
+                self._PyHocaGUI._X2goClient__disconnect_profile(self.current_profile_name)
+            else:
+                self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                             title=_(u'%s - connect') % self.current_profile_name,
+                                             text=_(u'Authentication has been successful.'),
+                                             icon='auth_success')
+
+        except x2go.AuthenticationException:
+            if self.sshproxy_auth and (not self.sshproxy_started):
+                wx.EndBusyCursor()
+                self.sshproxy_started = True
+                self.headerLbl.Enable(True)
+                self.userLbl.Enable(True)
+                self.userTxt.Enable(True)
+                self.passwordLbl.Enable(True)
+                self.passwordTxt.Enable(True)
+                self.passwordTxt.SetFocus()
+                self.loginBtn.Enable(True)
+                self.loginBtn.SetDefault()
+                self.sshProxyHeaderLbl.Enable(False)
+                self.sshProxyUserLbl.Enable(False)
+                self.sshProxyUserTxt.Enable(False)
+                self.sshProxyPasswordLbl.Enable(False)
+                self.sshProxyPasswordTxt.Enable(False)
+                self.sshProxyLoginBtn.Enable(False)
+                self.sshProxyLoginBtn.SetLabel(_(u'SSH tunnel started'))
+                return
+            else:
+                self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                                 title=_(u'%s - connect failure') % self.current_profile_name, 
+                                                 text=_(u'Authentication failed!'),
+                                                 icon='auth_failed')
+        except x2go.X2goSSHProxyAuthenticationException:
+            wx.EndBusyCursor()
+            self.sshProxyPasswordTxt.SetValue('')
+            self._PyHocaGUI.notifier.send(title=_(u'%s - ssh proxy') % self.current_profile_name, 
+                                          text=_(u'Authentication to the SSH proxy server failed!'),
+                                          icon='auth_failed')
+            return
+
+        except gevent.dns.DNSError, e:
+            self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                             title=_(u'%s - connect error') % self.current_profile_name, 
+                                             text='%s!' % e.strerror,
+                                             icon='auth_error')
+
+        except gevent.socket.error, e:
+            self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                             title=_(u'%s - connect error') % self.current_profile_name, 
+                                             text='%s!' % e.strerror,
+                                             icon='auth_error')
+
+        except x2go.X2goSSHProxyException, e:
+            self._PyHocaGUI.notifier.prepare(_(u'%s - key error') % profile_name, '%s!' % str(e), icon='auth_error', timeout=4000)
+
+        except:
+            self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, 
+                                             title=_(u'%s - connect error') % self.current_profile_name, 
+                                             text=_(u'An unknown error occured during authentication!'),
+                                             icon='auth_error')
+
+        self._PyHocaGUI.notifier.send(self.current_profile_name, context='AUTH_%s' % self.current_profile_name, timeout=4000)
+        wx.SetCursor(wx.StockCursor(wx.CURSOR_ARROW))
+        wx.EndBusyCursor()
+        if self._PyHocaGUI._X2goClient__is_session_connected(session_uuid):
+            _dummy = self._PyHocaGUI.list_sessions(session_uuid, refresh_cache=True)
+            self._PyHocaGUI._post_authenticate(evt, session_uuid)
+        self.sshproxy_started = False
+        self.Destroy()
+
+    def OnCancel(self, evt):
+        self.Destroy()
+
+    def Destroy(self):
+        try:
+            self._PyHocaGUI._sub_windows.remove(self)
+        except ValueError:
+            pass
+        try:
+            self._PyHocaGUI._temp_disabled_profile_names.remove(self.current_profile_name)
+        except ValueError:
+            pass
+        wx.Dialog.Destroy(self)
+
+
+
diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py
new file mode 100644
index 0000000..4b8075c
--- /dev/null
+++ b/pyhoca/wxgui/menus_taskbar.py
@@ -0,0 +1,331 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+except: pass
+
+try:
+    import wxversion
+    wxversion.select('2.8')
+except: pass
+
+import wx
+
+class PyHocaGUI_Menu_TaskbarManageProfile(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None, profile_name=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        wx.Menu.__init__(self)
+
+        ID_EDITPROFILE = wx.NewId()
+        ID_DELETEPROFILE = wx.NewId()
+
+        # preparing profile_name information for the main PyHocaGUI instance
+        self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILE] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_DELETEPROFILE] = profile_name
+
+        self.Append(text=_(u"Edit Profile"), id=ID_EDITPROFILE)
+        self.AppendSeparator()
+        self.Append(text=_(u"Delete Profile"), id=ID_DELETEPROFILE)
+
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEdit, id=ID_EDITPROFILE)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileDelete, id=ID_DELETEPROFILE)
+
+
+class PyHocaGUI_Menu_TaskbarOptionsManager(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        wx.Menu.__init__(self)
+
+        ID_ABOUT = wx.NewId()
+        self.Append(id=ID_ABOUT, text=_(u"About %s ...") % self._PyHocaGUI.appname)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnAbout, id=ID_ABOUT)
+
+        self.AppendSeparator()
+
+        ID_PROFILEMANAGER = wx.NewId()
+        _maintain_profiles_item = self.AppendMenu(id=ID_PROFILEMANAGER, 
+                        text=_(u"Profile Manager"), 
+                        submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, 
+                                                                   caller=self,
+                                                                   disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True),
+                                                                   submenu=PyHocaGUI_Menu_TaskbarManageProfile))
+        if self._PyHocaGUI.profilemanager_disabled:
+            _maintain_profiles_item.Enable(False)
+
+        self.AppendSeparator()
+
+        ID_OPTIONS = wx.NewId()
+        _options_item = self.Append(id=ID_OPTIONS, text=_(u"Client Options"))
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnOptions, id=ID_OPTIONS)
+        if self._PyHocaGUI.options_disabled:
+            _options_item.Enable(False)
+
+        self.AppendSeparator()
+
+        ID_EXIT = wx.NewId()
+        self.Append(id=ID_EXIT, text=_("E&xit"))
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
+
+
+class PyHocaGUI_Menu_TaskbarSessionActions(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None, profile_name=None, session_name=None, status=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        wx.Menu.__init__(self)
+
+        ID_TRANSFERSESSION = wx.NewId()
+        ID_RESUMESESSION = wx.NewId()
+        ID_SUSPENDSESSION = wx.NewId()
+        ID_TERMINATESESSION = wx.NewId()
+
+        # preparing profile_name information for the main PyHocaGUI instance
+        self._PyHocaGUI._eventid_profilenames_map[ID_TRANSFERSESSION] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_RESUMESESSION] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_SUSPENDSESSION] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_TERMINATESESSION] = profile_name
+
+        # preparing session_name information for the main PyHocaGUI instance
+        self._PyHocaGUI._eventid_sessionnames_map[ID_TRANSFERSESSION] = \
+            self._PyHocaGUI._eventid_sessionnames_map[ID_RESUMESESSION] = \
+            self._PyHocaGUI._eventid_sessionnames_map[ID_SUSPENDSESSION] = \
+            self._PyHocaGUI._eventid_sessionnames_map[ID_TERMINATESESSION] = session_name
+
+        if status == 'S':
+            self.Append(text=_("Resume Session"), id=ID_RESUMESESSION)
+        elif status == 'R':
+            if not session_name in self._PyHocaGUI.client_associated_sessions_of_profile_name(profile_name, return_session_names=True):
+                self.Append(text=_(u"Transfer Session"), id=ID_TRANSFERSESSION)
+            self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION)
+
+        self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION)
+
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionResume, id=ID_RESUMESESSION)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionResume, id=ID_TRANSFERSESSION)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionSuspend, id=ID_SUSPENDSESSION)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionTerminate, id=ID_TERMINATESESSION)
+
+
+class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None, profile_name=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        wx.Menu.__init__(self)
+
+        ID_SESSIONSTART=wx.NewId()
+        ID_CLEANSESSIONS = wx.NewId()
+        ID_EDITPROFILEWHILECONNECTED = wx.NewId()
+        ID_SHARELOCALFOLDER = wx.NewId()
+        ID_DISCONNECT = wx.NewId()
+
+        current_profile_config = self._PyHocaGUI.get_profile_config(profile_name)
+
+        # preparing profile_name information for the main PyHocaGUI instance
+        self._PyHocaGUI._eventid_profilenames_map[ID_SESSIONSTART] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_CLEANSESSIONS] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILEWHILECONNECTED] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_SHARELOCALFOLDER] = \
+            self._PyHocaGUI._eventid_profilenames_map[ID_DISCONNECT] = profile_name
+
+        self.Append(id=ID_SESSIONSTART, text=_(u"Start &new Session"))
+        self.AppendSeparator()
+
+        _query_session_uuid = self._PyHocaGUI.client_connected_sessions_of_profile_name(profile_name, return_objects=False)[0]
+        _session_list = self._PyHocaGUI.list_sessions(_query_session_uuid)
+
+        if _session_list:
+
+            for session_name in _session_list.keys():
+
+                _s_id = wx.NewId()
+
+                if _session_list[session_name].status == 'R':
+                    state = _(u'Running')
+                elif _session_list[session_name].status == 'S':
+                    state = _(u'Suspended')
+                self.AppendMenu(id=_s_id, text=u'%s: »%s«' % (state, session_name), 
+                                submenu=PyHocaGUI_Menu_TaskbarSessionActions(self._PyHocaGUI, caller=self,
+                                                                             profile_name=profile_name,
+                                                                             session_name=session_name,
+                                                                             status=_session_list[session_name].status,
+                                                                            )
+                               )
+
+        if _session_list.keys():
+            self.Append(id=ID_CLEANSESSIONS, text=_(u"&Clean all sessions"))
+            self.AppendSeparator()
+        self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"Customize &profile"))
+        if current_profile_config['useexports']:
+            _share_folder = self.Append(id=ID_SHARELOCALFOLDER, text=_(u"Share local &folder"))
+            if not self._PyHocaGUI._X2goClient__client_associated_sessions_of_profile_name(profile_name, return_objects=False):
+                _share_folder.Enable(False)
+
+        self.AppendSeparator()
+        self.Append(id=ID_DISCONNECT, text=_(u"&Disconnect from Server"))
+
+        self._PyHocaGUI.current_profile_name = profile_name
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnCleanSessions, id=ID_CLEANSESSIONS)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEditWhileConnected, id=ID_EDITPROFILEWHILECONNECTED)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShareLocalFolder, id=ID_SHARELOCALFOLDER)
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionDisconnect, id=ID_DISCONNECT)
+
+
+class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None, filter_profiles=None, disabled_profiles=None, bind_method=None, submenu=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+
+        wx.Menu.__init__(self)
+
+        if type(caller) == PyHocaGUI_Menu_TaskbarOptionsManager:
+            ID_ADDPROFILE = wx.NewId()
+            self.Append(id=ID_ADDPROFILE, text=_(u"Add Profile"))
+            self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileAdd, id=ID_ADDPROFILE)
+
+            self.AppendSeparator()
+
+        _profile_names = self._PyHocaGUI.session_profiles.profile_names
+        _profile_names.sort()
+        if filter_profiles:
+            _profile_names = [ p for p in _profile_names if p not in filter_profiles ]
+        for profile_name in _profile_names:
+            _this_id = wx.NewId()
+            self._PyHocaGUI._eventid_profilenames_map[_this_id] = profile_name
+            _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (profile_name, self._PyHocaGUI.get_profile_metatype(profile_name)) or profile_name
+            if submenu is not None:
+                _sub = self.AppendMenu(text=_menu_profile_name, id=_this_id, submenu=submenu(self._PyHocaGUI, caller=self, profile_name=profile_name))
+                if disabled_profiles and profile_name in disabled_profiles:
+                    _sub.Enable(False)
+            else:
+                _item = self.Append(text=_menu_profile_name, id=_this_id)
+                if disabled_profiles and profile_name in disabled_profiles:
+                    _item.Enable(False)
+                if bind_method is not None:
+                    self._PyHocaGUI.Bind(wx.EVT_MENU, bind_method, id=_this_id)
+                    self._PyHocaGUI.Bind(wx.EVT_UPDATE_UI, self.OnUpdateUI, id=_this_id)
+
+        if not _profile_names:
+            _dummy = self.Append(text=_('No session profiles defined'), id=wx.NewId())
+            _dummy.Enable(False)
+
+    def OnUpdateUI(self, evt):
+        profile_name = self._PyHocaGUI._eventid_profilenames_map[evt.GetId()]
+        if profile_name in self._PyHocaGUI._temp_disabled_profile_names:
+            self._pyhoca_logger('Updating UI, temporarily disabling session profile %s' % profile_name)
+            self.Enable(id=evt.GetId(), enable=False)
+        elif profile_name not in self._PyHocaGUI._temp_disabled_profile_names:
+            self._pyhoca_logger('Updating UI, re-enabling session profile %s' % profile_name)
+            self.Enable(id=evt.GetId(), enable=True)
+
+
+class PyHocaGUI_Menu_TaskbarSessionManager(wx.Menu):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, caller=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        wx.Menu.__init__(self)
+
+        ID_AUTHENTICATE = wx.NewId()
+        ID_EXIT = wx.NewId()
+
+        _auth_menu_text = self._PyHocaGUI.start_on_connect and _(u'Start/Resume Session') or _(u'Connect Server')
+        self.AppendMenu(id=ID_AUTHENTICATE, 
+                        text=_auth_menu_text, 
+                        submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, 
+                                                                   caller=self,
+                                                                   filter_profiles=self._PyHocaGUI.client_connected_sessions(return_profile_names=True),
+                                                                   bind_method=self._PyHocaGUI.OnSessionAuthenticate))
+        self.AppendSeparator()
+
+        _connected_sessions = False
+        for profile_name in self._PyHocaGUI.session_profiles.profile_names:
+            if profile_name in self._PyHocaGUI._X2goClient__client_connected_sessions(return_profile_names=True):
+                _connected_sessions = True
+                _this_id = wx.NewId()
+
+                _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (profile_name, self._PyHocaGUI.get_profile_metatype(profile_name)) or profile_name
+                self.AppendMenu(text=_menu_profile_name, 
+                                id=_this_id, 
+                                submenu=PyHocaGUI_Menu_TaskbarSessionProfile(self._PyHocaGUI, caller=self, profile_name=profile_name))
+
+        if _connected_sessions:
+            self.AppendSeparator()
+
+        self.Append(id=ID_EXIT, text=_(u"E&xit"))
+        self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT)
+
+
diff --git a/pyhoca/wxgui/notify.py b/pyhoca/wxgui/notify.py
new file mode 100644
index 0000000..5f17abc
--- /dev/null
+++ b/pyhoca/wxgui/notify.py
@@ -0,0 +1,173 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+import os
+import wx
+from x2go import X2GOCLIENT_OS
+from x2go import log
+if X2GOCLIENT_OS in ('Linux', 'Mac'):
+    import pynotify
+import exceptions
+import basepath
+
+_icons_location = basepath.icons_basepath
+
+class NotSupportedException(exceptions.StandardError): pass
+class PyHocaNotificationException(exceptions.StandardError): pass
+
+class libnotify_NotifierPopup(object):
+
+    title = {}
+    text = {}
+    icon = {}
+
+    def __init__(self, _PyHocaGUI):
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        if not pynotify.init("PyHocaGUI"):
+            raise NotSupportedException
+
+    def prepare(self, context, title=None, text=None, icon=None):
+        if title is not None:
+            self.title[context] = title
+        if text is not None:
+            self.text[context] = text
+        if icon is not None:
+            self.icon[context] = icon
+
+    def send(self, title=None, text=None, context=None, icon=None, timeout=8000):
+        if context is not None:
+            try:
+                title = self.title[context]
+                del self.title[context]
+            except KeyError:
+                pass
+            try:
+                text = self.text[context]
+                del self.text[context]
+            except KeyError:
+                pass
+            try:
+                icon = self.icon[context]
+                del self.icon[context]
+            except KeyError:
+                pass
+
+        icon = 'file://%s/PyHoca/32x32/%s.png' % (_icons_location, icon)
+
+        n = pynotify.Notification(title, text, icon)
+        n.set_urgency(pynotify.URGENCY_NORMAL)
+        n.set_timeout(timeout)
+
+        self._pyhoca_logger('[%s] %s' % (title, text), loglevel=log.loglevel_NOTICE)
+        if not n.show():
+            raise PyHocaNotificationException('could not notify user')
+
+
+    def Close(self):
+        pass
+
+    def Destroy(self):
+        pass
+
+
+class notificationmessage_NotifierPopup(object):
+
+    title = {}
+    text = {}
+    icon = {}
+
+    def __init__(self, _about):
+        self._PyHocaGUI = _about._PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+        self.taskbar = self._PyHocaGUI.taskbar
+
+    def prepare(self, context, title=None, text=None, icon=None):
+        if title is not None:
+            self.title[context] = title
+        if text is not None:
+            self.text[context] = text
+        if icon is not None:
+            self.icon[context] = icon
+
+    def send(self, title=None, text=None, context=None, icon=None, timeout=8000):
+        if context is not None:
+            try:
+                title = self.title[context]
+                del self.title[context]
+            except KeyError:
+                pass
+            try:
+                text = self.text[context]
+                del self.text[context]
+            except KeyError:
+                pass
+            try:
+                icon = self.icon[context]
+                del self.icon[context]
+            except KeyError:
+                pass
+
+        _icon_map_wx = {
+            'audio_error': wx.ICON_ERROR,
+            'auth_success': wx.ICON_INFORMATION,
+            'auth_failed': wx.ICON_WARNING,
+            'auth_error': wx.ICON_ERROR,
+            'auth_disconnect': wx.ICON_INFORMATION,
+            'profile_add': wx.ICON_INFORMATION,
+            'profile_delete': wx.ICON_INFORMATION,
+            'profile_edit': wx.ICON_INFORMATION,
+            'profile_save': wx.ICON_INFORMATION,
+            'profile_error': wx.ICON_ERROR,
+            'session_cleanall': wx.ICON_INFORMATION,
+            'session_error': wx.ICON_ERROR,
+            'session_pause': wx.ICON_INFORMATION,
+            'session_printing': wx.ICON_INFORMATION,
+            'session_resume': wx.ICON_INFORMATION,
+            'session_start': wx.ICON_INFORMATION,
+            'session_terminate': wx.ICON_INFORMATION,
+            'session_warning': wx.ICON_WARNING,
+        }
+        if icon in _icon_map_wx.keys():
+           icon = _icon_map_wx[icon]
+        else:
+           icon = wx.ICON_INFORMATION
+
+        try:
+            # you will need wxPython >= 2.9 for this
+            _notification_msg = wx.NotificationMessage()
+            _notification_msg.SetTitle(title)
+            _notification_msg.SetMessage(text)
+            _notification_msg.SetParent(self._PyHocaGUI.about)
+            _notification_msg.SetFlags(icon)
+            _notification_msg.Show(timeout=1)
+        except:
+            # if we are running wxPython 2.8, we ignore missing 
+            # wx.NotificationMessage class
+            pass
+
+        self._pyhoca_logger('[%s] %s' % (title, text), loglevel=log.loglevel_NOTICE)
+
+    def Close(self):
+        pass
+
+    def Destroy(self):
+        pass
diff --git a/pyhoca/wxgui/profilemanager.py b/pyhoca/wxgui/profilemanager.py
new file mode 100644
index 0000000..aed9bf2
--- /dev/null
+++ b/pyhoca/wxgui/profilemanager.py
@@ -0,0 +1,1352 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+import wx
+import os 
+import copy
+
+import sys
+import locale
+
+import x2go.log as log
+import x2go.utils as utils
+from x2go import X2GOCLIENT_OS
+
+from x2go import defaults
+
+import notify
+import basepath
+
+_icons_location = basepath.icons_basepath
+_known_encodings = utils.known_encodings()
+
+class PyHocaGUI_ProfileManager(wx.Dialog):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _PyHocaGUI, action, profile_id=None, profile_name=None):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self._PyHocaGUI = _PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+
+        self._pyhoca_logger('starting profile manager, action is: %s' % action, loglevel=log.loglevel_INFO)
+
+        wx.Dialog.__init__(self, None, -1, style=wx.DEFAULT_DIALOG_STYLE, size=wx.Size(550,450))
+
+        self.profileManagerDefaults = defaults.X2GO_SESSIONPROFILE_DEFAULTS
+        self.success = False
+
+        self.sessionChoices = {
+            'GNOME': _(u'GNOME Desktop (GNOME)'),
+            'KDE': _(u'K Desktop Environment (KDE)'),
+            'LXDE': _(u'Lightweight X Desktop (LXDE)'),
+            'XDMCP': _(u'XDMCP Query'),
+            #'EMBEDDED_MENU': _(u'Embedded Application Menu'),
+            'RDP': _(u'Windows Terminal Server (RDP-proxy)'),
+            #'DirectRDP': 'Windows Terminal Server (RDP-direct)',
+            'APPLICATION': _(u'Single Application'),
+            'CUSTOM': _(u'Custom command'),
+            }
+        self.applicationChoices = {
+            'WWWBROWSER': _(u'Internet Browser'),
+            'MAILCLIENT': _(u'Email Client'),
+            'OFFICE': _(u'Openoffice.org'), 
+            'TERMINAL': _(u'Terminal'), 
+            }
+        self.linkChoices = {
+            0: 'MODEM',
+            1: 'ISDN',
+            2: 'ADSL',
+            3: 'WAN',
+            4: 'LAN',
+        }
+        self.audioPorts = {
+            'esd': 16001,
+            'pulse': 4713,
+        }
+        self.dropboxactionChoices = {
+            'OPEN': _(u'Open file with system\'s default application'),
+            'OPENWITH': _(u'Open application chooser dialog'),
+            'SAVEAS': _(u'Save incoming file as ...'),
+        }
+        _compressions = ["4k-jpeg", "32k-jpeg", "64k-jpeg", "256k-jpeg", "2m-jpeg", "16m-jpeg"]
+        self.compressionChoices = {}
+        for _comp in _compressions:
+            self.compressionChoices[_comp] = _comp
+
+        self.session_profiles = self._PyHocaGUI.session_profiles
+        self.action = action
+
+        if self.action in ('EDIT', 'EDIT_CONNECTED'):
+            if profile_id is not None:
+                self.profile_id = profile_id
+            elif profile_name is not None:
+                self.profile_id = self.session_profiles.check_profile_id_or_name(profile_name)
+            self.profile_config = self.session_profiles.get_profile_config(self.profile_id)
+
+        if self.action == 'ADD':
+            self.profile_config = self.session_profiles.default_profile_config()
+
+        # we create a backup dict of our profile_config immediately (for being able to reset erroneously made changes)
+        self.profile_config_bak = copy.deepcopy(self.profile_config)
+
+        self.X2goTabs = wx.Notebook(self, -1, style=0)
+        self.tab_Session = wx.Panel(self.X2goTabs, -1)
+        self.tab_Connection = wx.Panel(self.X2goTabs, -1)
+        self.tab_Settings = wx.Panel(self.X2goTabs, -1)
+        self.tab_SharedFilesAndFolders = wx.Panel(self.X2goTabs, -1)
+
+        # boxes for all tabs
+        self.staticbox_Profile = wx.StaticBox(self.tab_Session, -1, '')
+        self.staticbox_SessionType = wx.StaticBox(self.tab_Session, -1, '')
+        self.staticbox_Server = wx.StaticBox(self.tab_Connection, -1, _(u"Server"))
+        self.staticbox_LinkSpeed = wx.StaticBox(self.tab_Connection, -1, _(u"Connection Link Speed"))
+        self.staticbox_Compression = wx.StaticBox(self.tab_Connection, -1, _(u"Compression"))
+        self.staticbox_Display = wx.StaticBox(self.tab_Settings, -1, _(u"Display"))
+        self.staticbox_Keyboard = wx.StaticBox(self.tab_Settings, -1, _(u"Keyboard"))
+        self.staticbox_Sound = wx.StaticBox(self.tab_Settings, -1, _(u"Sound"))
+        self.staticbox_Printing = wx.StaticBox(self.tab_Settings, -1, _(u"Printing"))
+        self.staticbox_FolderSharing = wx.StaticBox(self.tab_SharedFilesAndFolders, -1, _(u"Folder Exports"))
+        self.staticbox_FileDropbox = wx.StaticBox(self.tab_SharedFilesAndFolders, -1, _(u"File Import"))
+
+        ###
+        ### widgets for the SESSION tab
+        ###
+        self.ProfileNameLabel = wx.StaticText(self.tab_Session, -1, _(u"Profile name")+":")
+        self.ProfileName = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(200,20))
+        _share_location = os.path.split(_icons_location)[0]
+        if 'icon' in self.profile_config:
+            path_to_icon = self.profile_config['icon']
+            path_to_icon = path_to_icon.lstrip(':')
+            path_to_icon = os.path.join(os.path.normpath(_share_location), os.path.normpath(path_to_icon))
+        if not os.path.exists(path_to_icon) or not 'icon' in self.profile_config:
+            path_to_icon = os.path.normpath('%s/icons/PyHoca/128x128/pyhoca-session.png' % _share_location)
+        self.IconPath = path_to_icon
+        self.IconButtonLabel = wx.StaticText(self.tab_Session, -1, _(u"Profile icon")+':')
+        self.IconButton = wx.BitmapButton(self.tab_Session, -1, wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY))
+        self.SessionTypeLabel = wx.StaticText(self.tab_Session, -1, _(u"Session type")+':')
+        self.SessionType = wx.ComboBox(self.tab_Session, -1, choices=self.sessionChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY)
+        self.ApplicationLabel = wx.StaticText(self.tab_Session, -1, _(u"Application")+':')
+        self.Application = wx.ComboBox(self.tab_Session, -1, choices=self.applicationChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY)
+        self.CommandLabel = wx.StaticText(self.tab_Session, -1, _(u"Custom command")+':')
+        self.Command = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(200,20))
+        self.RDPSettingsLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP settings")+':')
+        self.RDPServerLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP server")+':')
+        self.RDPServer = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20))
+        self.RDPOptionsLabel = wx.StaticText(self.tab_Session, -1, _(u"RDP options")+':')
+        self.RDPOptions = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20))
+        self.XDMCPServerLabel = wx.StaticText(self.tab_Session, -1, _(u"XDMCP server")+':')
+        self.XDMCPServer = wx.TextCtrl(self.tab_Session, -1, "", size=wx.Size(160,20))
+
+        ###
+        ### widgets for the CONNECTION tab
+        ###
+        self.UserNameLabel = wx.StaticText(self.tab_Connection, -1, _(u"User")+':')
+        self.UserName = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(200,20))
+        self.HostLabel = wx.StaticText(self.tab_Connection, -1, _(u"Host")+':')
+        self.Host = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(200,20))
+        self.SSHPortLabel = wx.StaticText(self.tab_Connection, -1, _(u"Port")+':')
+        self.SSHPort = wx.SpinCtrl(self.tab_Connection, -1, "0", min=22, max=64000)
+        self.SSHKeyFileLabel = wx.StaticText(self.tab_Connection, -1, _(u"RSA/DSA private key")+':')
+        self.SSHKeyFile = wx.TextCtrl(self.tab_Connection, -1, style=wx.TE_PROCESS_ENTER)
+        self.SSHKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY))
+        self.UseSSHProxy = wx.CheckBox(self.tab_Connection, -1, _(u"Server behind SSH proxy"))
+        self.SSHProxyUserLabel = wx.StaticText(self.tab_Connection, -1, _(u"User")+':')
+        self.SSHProxyUser = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(80,20))
+        self.SSHProxyKeyFileLabel = wx.StaticText(self.tab_Connection, -1, _(u"Key file")+':')
+        self.SSHProxyKeyFile = wx.TextCtrl(self.tab_Connection, -1, style=wx.TE_PROCESS_ENTER)
+        self.SSHProxyKeyFileBrowseButton = wx.BitmapButton(self.tab_Connection, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY))
+        self.SSHProxyHostLabel = wx.StaticText(self.tab_Connection, -1, _(u"Host[:Port]")+':')
+        self.SSHProxyHost = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(80,20))
+        self.SSHProxyTunnelLabel = wx.StaticText(self.tab_Connection, -1, _(u"SSH Proxy Tunnel")+':')
+        self.SSHProxyTunnelFromHost = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(200,20))
+        self.SSHProxyTunnelFromPort = wx.SpinCtrl(self.tab_Connection, -1, "0", min=22, max=64000)
+        self.SSHProxyTunnelBetweenLabel = wx.StaticText(self.tab_Connection, -1, " -> ")
+        self.SSHProxyTunnelToHost = wx.TextCtrl(self.tab_Connection, -1, "", size=wx.Size(200,20))
+        self.SSHProxyTunnelToPort = wx.SpinCtrl(self.tab_Connection, -1, "0", min=22, max=64000)
+
+        self.LinkSpeed = wx.Slider(self.tab_Connection, -1, 0, 0, 4)
+        self.ModemLabel = wx.StaticText(self.tab_Connection, -1, "|\n "+_(u"Modem"), style=wx.ALIGN_CENTRE)
+        self.ISDNLabel = wx.StaticText(self.tab_Connection, -1, "|\n "+_(u"ISDN"), style=wx.ALIGN_CENTRE)
+        self.ADSLLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"ADSL"), style=wx.ALIGN_CENTRE)
+        self.WANLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"WAN"), style=wx.ALIGN_CENTRE)
+        self.LANLabel = wx.StaticText(self.tab_Connection, -1, "|\n"+_(u"LAN"), style=wx.ALIGN_CENTRE)
+
+        self.CompressionLabel = wx.StaticText(self.tab_Connection, -1, _(u"Method")+':')
+        self.Compression = wx.ComboBox(self.tab_Connection, -1, choices=self.compressionChoices.values(), style=wx.CB_DROPDOWN)
+        self.ImageQualityLabel = wx.StaticText(self.tab_Connection, -1, _(u"Image quality")+':')
+        self.ImageQuality = wx.SpinCtrl(self.tab_Connection, -1, "9", min=0, max=9)
+
+        ###
+        ### wigdets for the SETTINGS tab
+        ###
+        self.DisplayTypeFullscreen = wx.RadioButton(self.tab_Settings, -1, _(u"Fullscreen"), style=wx.RB_GROUP)
+        self.DisplayTypeCustom = wx.RadioButton(self.tab_Settings, -1, _(u"Custom Size")+':')
+        self.ScreenWidthLabel = wx.StaticText(self.tab_Settings, -1, '')
+        self.ScreenWidth = wx.SpinCtrl(self.tab_Settings, -1, "800", min=400, max=3000)
+        self.ScreenHeightLabel = wx.StaticText(self.tab_Settings, -1, "x")
+        self.ScreenHeight = wx.SpinCtrl(self.tab_Settings, -1, "600", min=500, max=3000)
+        self.SetDisplayDPI = wx.CheckBox(self.tab_Settings, -1, _(u"Set display DPI")+':')
+        self.DisplayDPI = wx.SpinCtrl(self.tab_Settings, -1, "96", min=32, max=512)
+        self.CurrentKeyBoard = wx.CheckBox(self.tab_Settings, -1, _(u"Keep current keyboard settings"))
+        self.KeyboardLayoutLabel = wx.StaticText(self.tab_Settings, -1, _(u"Keyboard layout")+':')
+        self.KeyboardLayout = wx.TextCtrl(self.tab_Settings, -1, "")
+        self.KeyboardModelLabel = wx.StaticText(self.tab_Settings, -1, _(u"Keyboard model")+':')
+        self.KeyboardModel = wx.TextCtrl(self.tab_Settings, -1, "")
+        self.EnableSound = wx.CheckBox(self.tab_Settings, -1, _(u"Enable sound support"))
+        self.PulseAudio = wx.RadioButton(self.tab_Settings, -1, _(u"Pulse Audio"), style=wx.RB_GROUP)
+
+        # Arts daemon is not supported by PyHoca-GUI / Python X2go as it is outdated.
+        # However, config files can contain an Arts configuration, so we will honour this
+        self.Arts = wx.RadioButton(self.tab_Settings, -1, _(u"Arts (not supported)"))
+        self.Arts.Enable(False)
+
+        self.Esd = wx.RadioButton(self.tab_Settings, -1, _(u"esd"))
+        self.DefaultSoundPort = wx.CheckBox(self.tab_Settings, -1, _(u"Use default sound port"))
+        self.SoundPortLabel = wx.StaticText(self.tab_Settings, -1, _(u"Custom sound port")+':')
+        self.SoundPort = wx.SpinCtrl(self.tab_Settings, -1, "4713", min=23, max=64889)
+        self.ClientSidePrinting = wx.CheckBox(self.tab_Settings, -1, _(u"Client Side printing"))
+
+        self.UseLocalFolderSharing = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Use local folder sharing"))
+        self.SharedFolderPathLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Path")+':')
+        self.SharedFolderPath = wx.TextCtrl(self.tab_SharedFilesAndFolders, -1, "", style=wx.TE_PROCESS_ENTER)
+        self.SharedFolderPathBrowseButton = wx.BitmapButton(self.tab_SharedFilesAndFolders, -1, wx.Bitmap('%s/PyHoca/16x16/system-search.png' % _icons_location, wx.BITMAP_TYPE_ANY))
+        self.AddSharedFolderPathButton = wx.Button(self.tab_SharedFilesAndFolders, -1, _(u"Add"))
+        self.SharedFoldersList = wx.ListCtrl(self.tab_SharedFilesAndFolders, -1, style=wx.LC_LIST|wx.SUNKEN_BORDER|wx.LC_SINGLE_SEL|wx.LC_VRULES)
+        self.DeleteSharedFolderPathButton = wx.Button(self.tab_SharedFilesAndFolders, -1, _(u"Delete"))
+
+        self.UseEncodingConverter = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Convert between client and server encodings"))
+        self.ClientEncodingLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Client encoding")+':')
+        self.ClientEncoding = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY)
+        self.ServerEncodingLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Server encoding")+':')
+        self.ServerEncoding = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=_known_encodings, style=wx.CB_DROPDOWN|wx.CB_READONLY)
+
+        self.UseFileDropbox = wx.CheckBox(self.tab_SharedFilesAndFolders, -1, _(u"Use file dropbox for local file import"))
+        self.FileDropboxExtensionsLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Extensions")+':')
+        self.FileDropboxExtensions = wx.TextCtrl(self.tab_SharedFilesAndFolders, -1, "", style=wx.TE_PROCESS_ENTER)
+        self.FileDropboxActionLabel = wx.StaticText(self.tab_SharedFilesAndFolders, -1, _(u"Action")+':')
+        self.FileDropboxAction = wx.ComboBox(self.tab_SharedFilesAndFolders, -1, choices=self.dropboxactionChoices.values(), style=wx.CB_DROPDOWN|wx.CB_READONLY)
+
+        if self.action == 'ADD':
+            self.OKButton = wx.Button(self, -1, _(u"Add"))
+            self.DefaultButton = wx.Button(self, -1, _(u'Defaults'))
+        else:
+            self.OKButton = wx.Button(self, -1, _(u"Save"))
+            self.DefaultButton = wx.Button(self, -1, _(u'Reset'))
+        self.OKButton.SetDefault()
+        self.CancelButton = wx.Button(self, -1, _(u"Cancel"))
+
+        self.__set_properties()
+        self.__update_fields()
+        self.__do_layout()
+
+        self.Bind(wx.EVT_BUTTON, self.OnIconChange, self.IconButton)
+        self.Bind(wx.EVT_COMBOBOX, self.OnSessionTypeSelected, self.SessionType)
+        self.Bind(wx.EVT_BUTTON, self.OnSSHKeyFileBrowse, self.SSHKeyFileBrowseButton)
+        self.Bind(wx.EVT_BUTTON, self.OnSSHProxyKeyFileBrowse, self.SSHProxyKeyFileBrowseButton)
+        self.Bind(wx.EVT_CHECKBOX, self.OnUseSSHProxy, self.UseSSHProxy)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnSetDisplayFullscreen, self.DisplayTypeFullscreen)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnSetDisplayCustom, self.DisplayTypeCustom)
+        self.Bind(wx.EVT_CHECKBOX, self.OnSetDisplayDPI, self.SetDisplayDPI)
+        self.Bind(wx.EVT_CHECKBOX, self.OnKeepKeyboard, self.CurrentKeyBoard)
+        self.Bind(wx.EVT_CHECKBOX, self.OnSoundEnable, self.EnableSound)
+        self.Bind(wx.EVT_CHECKBOX, self.OnDefaultSoundPort, self.DefaultSoundPort)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnPulseAudio, self.PulseAudio)
+        self.Bind(wx.EVT_RADIOBUTTON, self.OnEsd, self.Esd)
+        self.Bind(wx.EVT_BUTTON, self.OnSelectSharedFolderPath, self.SharedFolderPathBrowseButton)
+        self.Bind(wx.EVT_BUTTON, self.OnAddSharedFolderPath, self.AddSharedFolderPathButton)
+        self.Bind(wx.EVT_BUTTON, self.OnDeleteSharedFolderPath, self.DeleteSharedFolderPathButton)
+        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnSharedFolderListItemSelected, self.SharedFoldersList)
+        self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnSharedFolderListItemDeselected, self.SharedFoldersList)
+        self.Bind(wx.EVT_TEXT, self.OnSharedFolderPathKeyPressed, self.SharedFolderPath)
+        self.Bind(wx.EVT_TEXT_ENTER, self.OnAddSharedFolderPath, self.SharedFolderPath)
+        self.Bind(wx.EVT_CHECKBOX, self.OnToggleEncodingConverter, self.UseEncodingConverter)
+        self.Bind(wx.EVT_CHECKBOX, self.OnToggleLocalFolderSharing, self.UseLocalFolderSharing)
+        self.Bind(wx.EVT_CHECKBOX, self.OnToggleFileDropbox, self.UseFileDropbox)
+        self.Bind(wx.EVT_BUTTON, self.OnOKButton, self.OKButton)
+        self.Bind(wx.EVT_BUTTON, self.OnCancel, self.CancelButton)
+        self.Bind(wx.EVT_BUTTON, self.OnDefault, self.DefaultButton)
+
+    def __set_properties(self):
+        if self.action == 'ADD':
+            self.SetTitle(_(u"PyHoca-GUI Profile Manager - new profile"))
+        elif self.action == 'EDIT_CONNECTED':
+            self.SetTitle(_(u"PyHoca-GUI Profile Manager - %s (connected)") % self.profile_config['name'])
+        else:
+            self.SetTitle(_(u"PyHoca-GUI Profile Manager - %s") % self.profile_config['name'])
+        self.SetFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        _textfield_height = self.SSHKeyFileBrowseButton.GetBestSize().GetHeight()-2
+
+        self.ProfileNameLabel.SetMinSize((120, 16))
+        self.ProfileName.SetMinSize((180, _textfield_height))
+        self.IconButton.SetSize(self.IconButton.GetBestSize())
+        self.SessionTypeLabel.SetMinSize((120, 16))
+        self.SessionType.SetMinSize((-1, _textfield_height))
+        self.SessionType.SetSelection(5)
+        self.ApplicationLabel.SetMinSize((120, 16))
+        self.Application.SetMinSize((-1, _textfield_height))
+        self.Application.SetSelection(0)
+        self.Command.SetMinSize((-1, _textfield_height))
+        self.XDMCPServerLabel.SetMinSize((120, 16))
+        self.XDMCPServer.SetMinSize((-1, _textfield_height))
+        self.RDPSettingsLabel.SetMinSize((120, 16))
+        self.RDPServerLabel.SetMinSize((180, 16))
+        self.RDPServer.SetMinSize((180, _textfield_height))
+        self.RDPOptionsLabel.SetMinSize((120, 16))
+        self.RDPOptions.SetMinSize((120, _textfield_height))
+
+        self.HostLabel.SetMinSize((110, 16))
+        self.Host.SetMinSize((180, _textfield_height))
+        self.UserNameLabel.SetMinSize((110, 16))
+        self.UserName.SetMinSize((180, _textfield_height))
+        self.SSHPortLabel.SetMinSize((110, 16))
+        self.SSHPort.SetMinSize((65, _textfield_height))
+        self.SSHKeyFileLabel.SetMinSize((-1, 16))
+        self.SSHKeyFile.SetMinSize((152, _textfield_height))
+        self.SSHKeyFileBrowseButton.SetSize(self.SSHKeyFileBrowseButton.GetBestSize())
+        self.SSHProxyUserLabel.SetMinSize((110, 16))
+        self.SSHProxyUser.SetMinSize((180, _textfield_height))
+        self.SSHProxyHostLabel.SetMinSize((110, 16))
+        self.SSHProxyHost.SetMinSize((180, _textfield_height))
+        self.SSHProxyKeyFile.SetMinSize((120, _textfield_height))
+        self.SSHProxyKeyFileBrowseButton.SetSize(self.SSHProxyKeyFileBrowseButton.GetBestSize())
+        self.SSHProxyTunnelLabel.SetMinSize((110, 16))
+        self.SSHProxyTunnelFromPort.SetMinSize((60, _textfield_height))
+        self.SSHProxyTunnelToPort.SetMinSize((60, _textfield_height))
+        self.SSHProxyTunnelFromHost.SetMinSize((120, _textfield_height))
+        self.SSHProxyTunnelToHost.SetMinSize((120, _textfield_height))
+        if X2GOCLIENT_OS == 'Windows':
+            self.LinkSpeed.SetMinSize((425, _textfield_height))
+        else:
+            self.LinkSpeed.SetMinSize((440, _textfield_height))
+        self.ModemLabel.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        self.ISDNLabel.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        self.ADSLLabel.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        self.WANLabel.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        self.LANLabel.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
+        self.CompressionLabel.SetMinSize((120, 16))
+        self.Compression.SetMinSize((180, _textfield_height))
+        self.Compression.SetSelection(0)
+        self.ImageQualityLabel.SetMinSize((120, 16))
+        self.ImageQuality.SetMinSize((180, _textfield_height))
+        self.DisplayTypeFullscreen.SetMinSize((-1, _textfield_height))
+        self.ScreenWidth.SetMinSize((60, _textfield_height))
+        self.ScreenHeight.SetMinSize((60, _textfield_height))
+        self.SetDisplayDPI.SetMinSize((-1, _textfield_height))
+        self.DisplayDPI.SetMinSize((60, _textfield_height))
+        self.KeyboardLayoutLabel.SetMinSize((120, 16))
+        self.KeyboardLayout.SetMinSize((120, _textfield_height))
+        self.KeyboardModelLabel.SetMinSize((120, 16))
+        self.KeyboardModel.SetMinSize((120, _textfield_height))
+        self.PulseAudio.SetMinSize((-1, _textfield_height))
+        self.Arts.SetMinSize((-1, _textfield_height))
+        self.Esd.SetMinSize((-1, _textfield_height))
+        self.DefaultSoundPort.SetMinSize((-1, _textfield_height))
+        self.SoundPort.SetMinSize((-1, _textfield_height))
+        self.ClientSidePrinting.SetMinSize((-1, _textfield_height))
+        self.SharedFolderPath.SetMinSize((220, _textfield_height))
+        self.SharedFolderPathBrowseButton.SetSize(self.SharedFolderPathBrowseButton.GetBestSize())
+        self.SharedFoldersList.SetMinSize((-1, 180))
+
+        self.ClientEncoding.SetMinSize((140, _textfield_height))
+        self.ServerEncoding.SetMinSize((140, _textfield_height))
+
+        self.FileDropboxExtensions.SetMinSize((140, _textfield_height))
+        self.FileDropboxAction.SetMinSize((180, _textfield_height))
+
+        self.OKButton.SetMinSize((-1, 30))
+        self.CancelButton.SetMinSize((-1, 30))
+        self.DefaultButton.SetMinSize((-1, 30))
+
+    def __do_layout(self):
+
+        # SESSION TAB
+        sizer_1 = wx.BoxSizer(wx.VERTICAL)
+        sizer_1_1 = wx.StaticBoxSizer(self.staticbox_Profile, wx.VERTICAL)
+        sizer_1_1_1 = wx.FlexGridSizer(2, 2, 7, 9)
+        sizer_1_1_1.Add(self.ProfileNameLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_1_1_1.Add(self.ProfileName, 0, 0, 0)
+        sizer_1_1_1.Add(self.IconButtonLabel, 0, wx.TOP, 0)
+        sizer_1_1_1.Add(self.IconButton, 0, 0, 0)
+        sizer_1_1.Add(sizer_1_1_1, 0, wx.EXPAND, 0)
+
+        sizer_1_2 = wx.StaticBoxSizer(self.staticbox_SessionType, wx.VERTICAL)
+        sizer_1_2_1 = wx.GridBagSizer(hgap=3,vgap=6)
+        sizer_1_2_1.Add(self.SessionTypeLabel, pos=(0,0), flag=wx.ALIGN_CENTRE_VERTICAL, )
+        sizer_1_2_1.Add(self.SessionType, pos=(0,1), span=(1,2), flag=wx.EXPAND, )
+        sizer_1_2_1.Add(self.ApplicationLabel, pos=(1,0), flag=wx.ALIGN_CENTRE_VERTICAL, )
+        sizer_1_2_1.Add(self.Application, pos=(1,1), span=(1,2), flag=wx.EXPAND, )
+        sizer_1_2_1.Add(self.CommandLabel, pos=(2,0), flag=wx.ALIGN_CENTRE_VERTICAL, )
+        sizer_1_2_1.Add(self.Command, pos=(2, 1), span=(1,2), flag=wx.EXPAND, )
+        sizer_1_2_1.Add(self.XDMCPServerLabel, (3,0), flag=wx.ALIGN_CENTRE_VERTICAL, )
+        sizer_1_2_1.Add(self.XDMCPServer, pos=(3,1), span=(1,2), flag=wx.EXPAND, )
+        sizer_1_2_1.Add(self.RDPServerLabel, pos=(4,1), flag=wx.ALIGN_BOTTOM, )
+        sizer_1_2_1.Add(self.RDPOptionsLabel, pos=(4,2), flag=wx.ALIGN_BOTTOM, )
+        sizer_1_2_1.Add(self.RDPSettingsLabel, pos=(5,0), flag=wx.ALIGN_CENTRE_VERTICAL, )
+        sizer_1_2_1.Add(self.RDPServer, pos=(5, 1), )
+        sizer_1_2_1.Add(self.RDPOptions, pos=(5,2), )
+        sizer_1_2.Add(sizer_1_2_1, 0, wx.EXPAND, 0)
+
+        sizer_1.Add(sizer_1_1, 1, wx.EXPAND, 0)
+        sizer_1.Add(sizer_1_2, 1, wx.EXPAND, 0)
+        self.tab_Session.SetSizerAndFit(sizer_1)
+        self.tab_Session.Layout()
+
+        ## CONNECTION TAB
+        sizer_2 = wx.BoxSizer(wx.VERTICAL)
+        sizer_2_1 = wx.StaticBoxSizer(self.staticbox_Server, wx.VERTICAL)
+        sizer_2_1_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_1.Add(self.UserNameLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_1.Add(self.UserName, 0, 0, 0)
+        sizer_2_1_1.Add((0,32))
+        sizer_2_1_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_2.Add(self.HostLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_2.Add(self.Host, 0, 0, 0)
+        sizer_2_1_2.Add((0,32))
+        sizer_2_1_3 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_3.Add(self.SSHPortLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_3.Add(self.SSHPort, 0, 0, 0)
+        sizer_2_1_3.Add((16,0))
+        sizer_2_1_3.Add(self.SSHKeyFileLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_3.Add((8,0))
+        sizer_2_1_3.Add(self.SSHKeyFile, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_3.Add(self.SSHKeyFileBrowseButton, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_3.Add((0,32))
+        sizer_2_1_4 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_4.Add(self.UseSSHProxy, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_5.Add(self.SSHProxyUserLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5.Add(self.SSHProxyUser, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5.Add((16,0))
+        sizer_2_1_5.Add(self.SSHProxyKeyFileLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5.Add((8,0))
+        sizer_2_1_5.Add(self.SSHProxyKeyFile, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5.Add(self.SSHProxyKeyFileBrowseButton, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_5.Add((0,32))
+        sizer_2_1_6 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_6.Add(self.SSHProxyHostLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_6.Add(self.SSHProxyHost, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_6.Add((0,32))
+        sizer_2_1_7 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_1_7.Add(self.SSHProxyTunnelLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_7.Add(self.SSHProxyTunnelFromHost, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_7.Add((4, 0))
+        sizer_2_1_7.Add(self.SSHProxyTunnelFromPort, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_7.Add((8, 0))
+        sizer_2_1_7.Add(self.SSHProxyTunnelBetweenLabel, 0, wx.ALIGN_CENTRE_VERTICAL|wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_1_7.Add((8, 0))
+        sizer_2_1_7.Add(self.SSHProxyTunnelToHost, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_7.Add((4, 0))
+        sizer_2_1_7.Add(self.SSHProxyTunnelToPort, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_1_7.Add((0,32))
+        sizer_2_1.Add(sizer_2_1_1, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_2, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_3, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_4, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_5, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_6, 0, wx.EXPAND, 0)
+        sizer_2_1.Add(sizer_2_1_7, 0, wx.EXPAND, 0)
+
+        sizer_2_2 = wx.StaticBoxSizer(self.staticbox_LinkSpeed, wx.VERTICAL)
+        sizer_2_2_1 = wx.BoxSizer(wx.VERTICAL)
+        sizer_2_2_1.Add(self.LinkSpeed, 0, 0, 0)
+        sizer_2_2_2 = wx.GridSizer(1,5,0,0)
+        sizer_2_2_2.SetMinSize((454/5*6 - 30, -1))
+        sizer_2_2_2.Add(self.ModemLabel, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2_2.Add(self.ISDNLabel, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2_2.Add(self.ADSLLabel, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2_2.Add(self.WANLabel, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2_2.Add(self.LANLabel, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2.Add(sizer_2_2_1, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+        sizer_2_2.Add(sizer_2_2_2, 0, wx.ALIGN_CENTRE_HORIZONTAL, 0)
+
+        sizer_2_3 = wx.StaticBoxSizer(self.staticbox_Compression, wx.VERTICAL)
+        sizer_2_3_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_3_1.Add(self.CompressionLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_3_1.Add(self.Compression, 0, 0, 0)
+        sizer_2_3_1.Add((0,32))
+        sizer_2_3_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_2_3_2.Add(self.ImageQualityLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_2_3_2.Add(self.ImageQuality, 0, 0, 0)
+        sizer_2_3.Add(sizer_2_3_1, 1, wx.EXPAND, 0)
+        sizer_2_3.Add(sizer_2_3_2, 1, wx.EXPAND, 0)
+
+        sizer_2.Add(sizer_2_1, 0, wx.EXPAND, 0)
+        sizer_2.Add(sizer_2_2, 1, wx.EXPAND, 0)
+        sizer_2.Add(sizer_2_3, 0, wx.EXPAND, 0)
+        self.tab_Connection.SetSizerAndFit(sizer_2)
+        self.tab_Connection.Layout()
+
+        ## SETTINGS TAB
+        sizer_3 = wx.BoxSizer(wx.VERTICAL)
+        sizer_3_1 = wx.StaticBoxSizer(self.staticbox_Display, wx.VERTICAL)
+        sizer_3_1_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3_1_1.Add(self.DisplayTypeFullscreen, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1_1.Add((16, 0))
+        sizer_3_1_1.Add(self.DisplayTypeCustom, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1_1.Add(self.ScreenWidthLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1_1.Add((8,0))
+        sizer_3_1_1.Add(self.ScreenWidth, 0, 0, 0)
+        sizer_3_1_1.Add((8,0))
+        sizer_3_1_1.Add(self.ScreenHeightLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1_1.Add((8,0))
+        sizer_3_1_1.Add(self.ScreenHeight, 0, 0, 0)
+        sizer_3_1_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3_1_2.Add((-1,48))
+        sizer_3_1_2.Add(self.SetDisplayDPI, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1_2.Add((8,0))
+        sizer_3_1_2.Add(self.DisplayDPI, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_1.Add(sizer_3_1_1, 0, 0, 0)
+        sizer_3_1.Add(sizer_3_1_2, 0, 0, 0)
+
+        sizer_3_2 = wx.StaticBoxSizer(self.staticbox_Keyboard, wx.VERTICAL)
+        sizer_3_2_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3_2_1.Add(self.CurrentKeyBoard, 0, wx.ALIGN_TOP, 0)
+        sizer_3_2_1.Add((0, 32))
+        sizer_3_2_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3_2_2.Add((32,0))
+        sizer_3_2_2_1 = wx.BoxSizer(wx.VERTICAL)
+        sizer_3_2_2_1.Add(self.KeyboardLayoutLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_2_2_1.Add(self.KeyboardLayout, 0, wx.EXPAND, 0)
+        sizer_3_2_2_2 = wx.BoxSizer(wx.VERTICAL)
+        sizer_3_2_2_2.Add(self.KeyboardModelLabel, 0, 0, 0)
+        sizer_3_2_2_2.Add(self.KeyboardModel, 0, wx.EXPAND, 0)
+        sizer_3_2_2.Add(sizer_3_2_2_1, 0, 0, 0)
+        sizer_3_2_2.Add((32,0))
+        sizer_3_2_2.Add(sizer_3_2_2_2, 0, 0, 0)
+        sizer_3_2.Add(sizer_3_2_1, 0, 0, 0)
+        sizer_3_2.Add(sizer_3_2_2, 0, 0, 0)
+
+        sizer_3_3 = wx.StaticBoxSizer(self.staticbox_Sound, wx.VERTICAL)
+        sizer_3_3_1 = wx.GridBagSizer(vgap=4, hgap=2)
+        sizer_3_3_1.Add(self.EnableSound, pos=(0,0), span=(1,2), border=16, )
+        sizer_3_3_1.Add(self.PulseAudio, pos=(1,0), flag=wx.RIGHT, border=16, )
+        sizer_3_3_1.Add(self.Arts, pos=(2,0), flag=wx.RIGHT, border=16, )
+        sizer_3_3_1.Add(self.Esd, pos=(3,0), flag=wx.RIGHT, border=16, )
+        sizer_3_3_1.Add(self.DefaultSoundPort, pos=(1,1), )
+        sizer_3_3_1_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_3_3_1_1.Add(self.SoundPortLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_3_1_1.Add((8, -1))
+        sizer_3_3_1_1.Add(self.SoundPort, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_3_3_1.Add(sizer_3_3_1_1, pos=(2,1), )
+        sizer_3_3.Add(sizer_3_3_1, 0, 0, 0)
+
+        sizer_3_4 = wx.StaticBoxSizer(self.staticbox_Printing, wx.VERTICAL)
+        sizer_3_4.Add(self.ClientSidePrinting, 0, 0, 0)
+
+        sizer_3.Add(sizer_3_1, 0, wx.EXPAND, 0)
+        sizer_3.Add(sizer_3_2, 1, wx.EXPAND, 0)
+        sizer_3.Add(sizer_3_3, 1, wx.EXPAND, 0)
+        sizer_3.Add(sizer_3_4, 0, wx.EXPAND, 0)
+        self.tab_Settings.SetSizerAndFit(sizer_3)
+        self.tab_Settings.Layout()
+
+        # FOLDERSHARING TAB
+        sizer_4 = wx.BoxSizer(wx.VERTICAL)
+        sizer_4_1 = wx.StaticBoxSizer(self.staticbox_FolderSharing, wx.VERTICAL)
+        sizer_4_1_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_1_1.Add(self.UseLocalFolderSharing, 0, 0, 0)
+        sizer_4_1_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_1_2.Add(self.SharedFolderPathLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_2.Add(self.SharedFolderPath, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_2.Add(self.SharedFolderPathBrowseButton, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_2.Add(self.AddSharedFolderPathButton, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_2.Add(self.DeleteSharedFolderPathButton, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_3 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_1_3.Add(self.SharedFoldersList, 1, wx.EXPAND, 0)
+        sizer_4_1_4 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_1_4.Add(self.UseEncodingConverter, 0, 0, 0)
+        sizer_4_1_5 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_1_5.Add(self.ClientEncodingLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_5.Add((8,0))
+        sizer_4_1_5.Add(self.ClientEncoding, 0, 0, 0)
+        sizer_4_1_5.Add((16,0))
+        sizer_4_1_5.Add(self.ServerEncodingLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_1_5.Add((8,0))
+        sizer_4_1_5.Add(self.ServerEncoding, 0, 0, 0)
+        sizer_4_1.Add(sizer_4_1_1, 0, wx.EXPAND, 0)
+        sizer_4_1.Add(sizer_4_1_2, 0, wx.EXPAND, 0)
+        sizer_4_1.Add(sizer_4_1_3, 0, wx.EXPAND, 0)
+        sizer_4_1.Add(sizer_4_1_4, 0, wx.EXPAND, 0)
+        sizer_4_1.Add(sizer_4_1_5, 0, wx.EXPAND, 0)
+
+        sizer_4_2 = wx.StaticBoxSizer(self.staticbox_FileDropbox, wx.VERTICAL)
+        sizer_4_2_1 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_2_1.Add(self.UseFileDropbox, 0, 0, 0)
+        sizer_4_2_2 = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_4_2_2.Add(self.FileDropboxExtensionsLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_2_2.Add((8,0))
+        sizer_4_2_2.Add(self.FileDropboxExtensions, 0, 0, 0)
+        sizer_4_2_2.Add((16,0))
+        sizer_4_2_2.Add(self.FileDropboxActionLabel, 0, wx.ALIGN_CENTRE_VERTICAL, 0)
+        sizer_4_2_2.Add((8,0))
+        sizer_4_2_2.Add(self.FileDropboxAction, 0, 0, 0)
+        sizer_4_2.Add(sizer_4_2_1, 0, wx.EXPAND, 0)
+        sizer_4_2.Add(sizer_4_2_2, 0, wx.EXPAND, 0)
+
+        sizer_4.Add(sizer_4_1, 0, wx.EXPAND, 0)
+        sizer_4.Add(sizer_4_2, 1, wx.EXPAND, 0)
+        self.tab_SharedFilesAndFolders.SetSizerAndFit(sizer_4)
+        self.tab_SharedFilesAndFolders.Layout()
+
+        self.X2goTabs.AddPage(self.tab_Session, _(u"Session Profile"))
+        self.X2goTabs.AddPage(self.tab_Connection, _(u"Connection"))
+        self.X2goTabs.AddPage(self.tab_Settings, _(u"Settings"))
+        self.X2goTabs.AddPage(self.tab_SharedFilesAndFolders, _(u"Sharing"))
+
+        # the bottom area with OK, Defaults and Cancel buttons
+        sizer_B = wx.BoxSizer(wx.HORIZONTAL)
+        sizer_B_1 = wx.GridSizer(1, 3, 7, 14)
+        sizer_B_1.Add(self.OKButton, 0, 0, 0)
+        sizer_B_1.Add(self.DefaultButton, 0, 0, 0)
+        sizer_B_1.Add(self.CancelButton, 0, 0, 0)
+        sizer_B.Add(sizer_B_1, 1, wx.EXPAND, 0)
+
+        # put it all together...
+        MainSizer = wx.BoxSizer(wx.VERTICAL)
+        MainSizer.Add(self.X2goTabs, 1, wx.EXPAND|wx.FIXED_MINSIZE, 0)
+        MainSizer.Add(sizer_B, 0, wx.ALIGN_RIGHT, 0)
+        self.SetSizerAndFit(MainSizer)
+
+        max1_x, max1_y = self.tab_Session.GetBestSize()
+        max2_x, max2_y = self.tab_Connection.GetBestSize()
+        max3_x, max3_y = self.tab_Settings.GetBestSize()
+        max4_x, max4_y = self.tab_SharedFilesAndFolders.GetBestSize()
+        sizer_B_x, sizer_B_y = sizer_B.GetSize()
+
+        self.SetSize((max(max1_x, max2_x, max3_x, max4_x) * 1.05, (max(max1_y, max2_y, max3_y, max4_y) + sizer_B_y) * 1.2))
+
+        self.SetAutoLayout(True)
+        self.Layout()
+        self.CentreOnScreen()
+        self.Show(True)
+
+    def __update_fields(self):
+
+        self.ProfileName.SetValue(self.profile_config['name'])
+        self.Host.SetValue(self.profile_config['host'])
+        self.UserName.SetValue(self.profile_config['user'])
+        self.SSHPort.SetValue(self.profile_config['sshport'])
+        self.SSHKeyFile.SetValue(self.profile_config['key'])
+        self.UseSSHProxy.SetValue(self.profile_config['usesshproxy'])
+
+        _ssh_proxy = self.profile_config['usesshproxy']
+        self.SSHProxyHost.SetValue(self.profile_config['sshproxyhost'])
+        self.SSHProxyUser.SetValue(self.profile_config['sshproxyuser'])
+        self.SSHProxyKeyFile.SetValue(self.profile_config['sshproxykeyfile'])
+        _from_host = _from_port = _to_host = _to_port = None
+        if self.profile_config['sshproxytunnel'].count(':') == 2:
+            _from_port, _to_host, _to_port = self.profile_config['sshproxytunnel'].split(':')
+            _from_host = 'localhost'
+        elif self.profile_config['sshproxytunnel'].count(':') == 3:
+            _from_host, _from_port, _to_host, _to_port = self.profile_config['sshproxytunnel'].split(':')
+
+        if _from_host: self.SSHProxyTunnelFromHost.SetValue(_from_host)
+        if _from_port: self.SSHProxyTunnelFromPort.SetValue(int(_from_port))
+        if _to_host: self.SSHProxyTunnelToHost.SetValue(_to_host)
+        if _to_port: self.SSHProxyTunnelToPort.SetValue(int(_to_port))
+        if _ssh_proxy:
+            self.SSHProxyHostLabel.Enable(True)
+            self.SSHProxyHost.Enable(True)
+            self.SSHProxyUserLabel.Enable(True)
+            self.SSHProxyUser.Enable(True)
+            self.SSHProxyKeyFileLabel.Enable(True)
+            self.SSHProxyKeyFile.Enable(True)
+            self.SSHProxyKeyFileBrowseButton.Enable(True)
+            self.SSHProxyTunnelLabel.Enable(True)
+            self.SSHProxyTunnelFromHost.Enable(True)
+            self.SSHProxyTunnelFromPort.Enable(True)
+            self.SSHProxyTunnelBetweenLabel.Enable(True)
+            self.SSHProxyTunnelToHost.Enable(True)
+            self.SSHProxyTunnelToPort.Enable(True)
+        else:
+            self.SSHProxyHostLabel.Enable(False)
+            self.SSHProxyHost.Enable(False)
+            self.SSHProxyUserLabel.Enable(False)
+            self.SSHProxyUser.Enable(False)
+            self.SSHProxyKeyFileLabel.Enable(False)
+            self.SSHProxyKeyFile.Enable(False)
+            self.SSHProxyKeyFileBrowseButton.Enable(False)
+            self.SSHProxyTunnelLabel.Enable(False)
+            self.SSHProxyTunnelFromHost.Enable(False)
+            self.SSHProxyTunnelFromPort.Enable(False)
+            self.SSHProxyTunnelBetweenLabel.Enable(False)
+            self.SSHProxyTunnelToHost.Enable(False)
+            self.SSHProxyTunnelToPort.Enable(False)
+
+        _command = self.profile_config['command']
+
+        # disable all command relevant widgets first
+        self.ApplicationLabel.Enable(False)
+        self.Application.Enable(False)
+        self.CommandLabel.Enable(False)
+        self.Command.Enable(False)
+        self.XDMCPServerLabel.Enable(False)
+        self.XDMCPServer.Enable(False)
+
+        if _command in self.sessionChoices.keys():
+            self.SessionType.SetValue(self.sessionChoices[_command])
+            self.Application.SetValue('')
+            self.Command.SetValue('')
+        elif _command in self.applicationChoices.keys():
+            self.SessionType.SetValue(self.sessionChoices['APPLICATION'])
+            self.ApplicationLabel.Enable(True)
+            self.Application.Enable(True)
+            self.Application.SetValue(self.applicationChoices[_command])
+            self.Command.SetValue('')
+        else:
+            self.SessionType.SetValue(self.sessionChoices['CUSTOM'])
+            self.Command.Enable(True)
+            self.Command.SetValue(_command)
+
+        if _command == 'XDMCP':
+            self.XDMCPServerLabel.Enable(True)
+            self.XDMCPServer.Enable(True)
+
+        if _command in ('RDP', 'DirectRDP'):
+            self.RDPSettingsLabel.Enable(True)
+            self.RDPServerLabel.Enable(True)
+            self.RDPServer.Enable(True)
+            self.RDPOptionsLabel.Enable(True)
+            self.RDPOptions.Enable(True)
+        else:
+            self.RDPSettingsLabel.Enable(False)
+            self.RDPServerLabel.Enable(False)
+            self.RDPServer.Enable(False)
+            self.RDPOptionsLabel.Enable(False)
+            self.RDPOptions.Enable(False)
+
+        if _command == 'DirectRDP':
+            self.enable_DirectRDP()
+        else:
+            self.disable_DirectRDP()
+
+        self.RDPServer.SetValue(self.profile_config['rdpserver'])
+        self.RDPOptions.SetValue(self.profile_config['rdpoptions'])
+
+        self.XDMCPServer.SetValue(self.profile_config['xdmcpserver'])
+
+        if 0 < self.profile_config['speed'] <= 5:
+            _link_speed = self.profile_config['speed']
+        else:
+            _link_speed = self.profileManagerDefaults['speed']
+        self.LinkSpeed.SetValue(_link_speed)
+
+        self.Compression.SetValue(self.profile_config['pack'])
+        self.ImageQuality.SetValue(self.profile_config['quality'])
+        self.DisplayTypeFullscreen.SetValue(self.profile_config['fullscreen'])
+        self.DisplayTypeCustom.SetValue(not self.profile_config['fullscreen'])
+        self.ScreenWidth.SetValue(self.profile_config['width'])
+        self.ScreenHeight.SetValue(self.profile_config['height'])
+        if self.profile_config['fullscreen']:
+            self.ScreenWidth.Enable(False)
+            self.ScreenHeight.Enable(False)
+        else:
+            self.ScreenWidth.Enable(True)
+            self.ScreenHeight.Enable(True)
+
+        self.SetDisplayDPI.SetValue(self.profile_config['setdpi'])
+        self.DisplayDPI.SetValue(self.profile_config['dpi'])
+        if not self.profile_config['setdpi']:
+            self.DisplayDPI.Enable(False)
+        else:
+            self.DisplayDPI.Enable(True)
+
+        # TODO Fill in the actual DPI
+        self.CurrentKeyBoard.SetValue(self.profile_config['usekbd'])
+        self.KeyboardLayout.SetValue(self.profile_config['layout'])
+        self.KeyboardModel.SetValue(self.profile_config['type'])
+        if self.profile_config['usekbd']:
+            self.KeyboardLayoutLabel.Enable(False)
+            self.KeyboardModelLabel.Enable(False)
+            self.KeyboardLayout.Enable(False)
+            self.KeyboardModel.Enable(False)
+        else:
+            self.KeyboardLayoutLabel.Enable(True)
+            self.KeyboardModelLabel.Enable(True)
+            self.KeyboardLayout.Enable(True)
+            self.KeyboardModel.Enable(True)
+
+        self.EnableSound.SetValue(self.profile_config['sound'])
+        self.DefaultSoundPort.SetValue(self.profile_config['defsndport'])
+        self.SoundPort.SetValue(self.profile_config['sndport'])
+        if self.profile_config['soundsystem'] == 'pulse':
+            self.PulseAudio.SetValue(True)
+        elif self.profile_config['soundsystem'] == 'arts':
+            self.Arts.SetValue(True)
+        elif self.profile_config['soundsystem'] == 'esd':
+            self.Esd.SetValue(True)
+        if self.profile_config['sound']:
+            self.PulseAudio.Enable(True)
+            self.Esd.Enable(True)
+            self.DefaultSoundPort.Enable(True)
+            if not self.profile_config['defsndport']:
+                self.SoundPortLabel.Enable(True)
+                self.SoundPort.Enable(True)
+            else:
+                self.SoundPortLabel.Enable(False)
+                self.SoundPort.Enable(False)
+        else:
+            self.PulseAudio.Enable(False)
+            self.Esd.Enable(False)
+            self.DefaultSoundPort.Enable(False)
+            self.SoundPortLabel.Enable(False)
+            self.SoundPort.Enable(False)
+
+        self.ClientSidePrinting.SetValue(self.profile_config['print'])
+
+        self.UseLocalFolderSharing.SetValue(self.profile_config['useexports'])
+        self._toggle_localFolderSharing()
+
+        self.SharedFoldersList.DeleteAllItems()
+        _shared_folders = self.profile_config['export'].strip().strip(',').strip()
+        for _shared_folder_path in [ sf.strip() for sf in _shared_folders.split(',') ]:
+            if self.SharedFoldersList.FindItem(0, _shared_folder_path) == -1:
+                _item = wx.ListItem()
+                _item.SetData(wx.NewId())
+                _item.SetText(_shared_folder_path)
+                self.SharedFoldersList.InsertItem(_item)
+        self.AddSharedFolderPathButton.Enable(False)
+        self.DeleteSharedFolderPathButton.Enable(False)
+
+        self.UseEncodingConverter.SetValue(self.profile_config['useiconv'])
+        self.ClientEncoding.SetValue(self.profile_config['iconvfrom'])
+        self.ServerEncoding.SetValue(self.profile_config['iconvto'])
+        self._toggle_useEncodingConverter()
+
+        self.UseFileDropbox.SetValue(self.profile_config['usedropbox'])
+        self.FileDropboxExtensions.SetValue(self.profile_config['dropboxextensions'])
+        if self.profile_config['dropboxaction'] in self.dropboxactionChoices.keys():
+            self.FileDropboxAction.SetValue(self.dropboxactionChoices[self.profile_config['dropboxaction']])
+        else:
+            self.FileDropboxAction.SetValue(self.dropboxactionChoices['OPEN'])
+        self._toggle_useFileDropbox()
+
+        self.disable_EditConnected_options()
+
+    def disable_EditConnected_options(self):
+        # disable widgets when editing connected sessions
+        if self.action == 'EDIT_CONNECTED':
+
+            self.staticbox_Profile.Enable(False)
+            self.ProfileNameLabel.Enable(False)
+            self.ProfileName.Enable(False)
+            self.IconButton.Enable(False)
+            self.IconButtonLabel.Enable(False)
+            self.HostLabel.Enable(False)
+            self.Host.Enable(False)
+            self.UserNameLabel.Enable(False)
+            self.UserName.Enable(False)
+            self.staticbox_Server.Enable(False)
+            self.SSHPortLabel.Enable(False)
+            self.SSHPort.Enable(False)
+            self.SSHKeyFileLabel.Enable(False)
+            self.SSHKeyFile.Enable(False)
+            self.UseSSHProxy.Enable(False)
+            self.SSHProxyHostLabel.Enable(False)
+            self.SSHProxyHost.Enable(False)
+            self.SSHProxyUserLabel.Enable(False)
+            self.SSHProxyUser.Enable(False)
+            self.SSHProxyKeyFileLabel.Enable(False)
+            self.SSHProxyKeyFile.Enable(False)
+            self.SSHProxyKeyFileBrowseButton.Enable(False)
+            self.SSHProxyTunnelLabel.Enable(False)
+            self.SSHProxyTunnelFromHost.Enable(False)
+            self.SSHProxyTunnelFromPort.Enable(False)
+            self.SSHProxyTunnelBetweenLabel.Enable(False)
+            self.SSHProxyTunnelToHost.Enable(False)
+            self.SSHProxyTunnelToPort.Enable(False)
+            self.tab_SharedFilesAndFolders.Enable(False)
+
+    def __update_from_screen(self):
+        self.profile_config['name'] = self.ProfileName.GetValue()
+        self.profile_config['icon'] = self.IconPath
+        self.profile_config['host'] = self.Host.GetValue()
+        self.profile_config['user'] = self.UserName.GetValue()
+        self.profile_config['sshport'] = self.SSHPort.GetValue()
+        self.profile_config['key'] = self.SSHKeyFile.GetValue()
+        if self.UseSSHProxy.GetValue():
+            self.profile_config['usesshproxy'] = True
+        else:
+            self.profile_config['usesshproxy'] = False
+        self.profile_config['sshproxyhost'] = self.SSHProxyHost.GetValue()
+        self.profile_config['sshproxyuser'] = self.SSHProxyUser.GetValue()
+        self.profile_config['sshproxytunnel'] = '%s:%s:%s:%s' % (self.SSHProxyTunnelFromHost.GetValue(),
+                                                                 self.SSHProxyTunnelFromPort.GetValue(),
+                                                                 self.SSHProxyTunnelToHost.GetValue(),
+                                                                 self.SSHProxyTunnelToPort.GetValue(),
+                                                                )
+        self.profile_config['sshproxykeyfile'] = self.SSHProxyKeyFile.GetValue()
+
+        _session_type = [ s for s in self.sessionChoices.keys() if self.sessionChoices[s] == self.SessionType.GetValue() ][0]
+        if _session_type == 'APPLICATION':
+            _command = [ a for a in self.applicationChoices.keys() if self.applicationChoices[a] == self.Application.GetValue() ][0]
+            self.profile_config['rootless'] = True
+        elif _session_type == 'CUSTOM':
+            _command = self.Command.GetValue()
+            self.profile_config['rootless'] = True
+        elif _session_type in ('RDP', 'EMBEDDED_MENU'):
+            _command = _session_type
+            self.profile_config['rootless'] = True
+        else:
+            _command = _session_type
+        self.profile_config['command'] = _command
+        self.profile_config['rdpserver'] = self.RDPServer.GetValue()
+        self.profile_config['rdpoptions'] = self.RDPOptions.GetValue()
+        self.profile_config['xdmcpserver'] = self.XDMCPServer.GetValue()
+
+        _link_idx = self.LinkSpeed.GetValue()
+        self.profile_config['speed'] = _link_idx
+
+        self.profile_config['pack'] = self.Compression.GetValue()
+        self.profile_config['quality'] = self.ImageQuality.GetValue()
+        self.profile_config['fullscreen'] = self.DisplayTypeFullscreen.GetValue()
+        self.profile_config['width'] = self.ScreenWidth.GetValue()
+        self.profile_config['height'] = self.ScreenHeight.GetValue()
+
+        self.profile_config['setdpi'] = self.SetDisplayDPI.GetValue()
+        self.profile_config['dpi'] = self.DisplayDPI.GetValue()
+
+        self.profile_config['usekbd'] = self.CurrentKeyBoard.GetValue()
+        self.profile_config['layout'] = self.KeyboardLayout.GetValue()
+        self.profile_config['type'] = self.KeyboardModel.GetValue()
+
+        self.profile_config['sound'] = self.EnableSound.GetValue()
+        self.profile_config['defsndport'] = self.DefaultSoundPort.GetValue()
+        self.profile_config['sndport'] = self.SoundPort.GetValue()
+        if self.PulseAudio.GetValue():
+            self.profile_config['soundsystem'] = 'pulse'
+        elif self.Arts.GetValue():
+            self.profile_config['soundsystem'] = 'arts'
+        elif self.Esd.GetValue():
+            self.profile_config['soundsystem'] = 'esd'
+
+        self.profile_config['print'] = self.ClientSidePrinting.GetValue()
+
+        self.profile_config['useexports'] = self.UseLocalFolderSharing.GetValue()
+        _shared_folders = []
+        _item_id = self.SharedFoldersList.GetTopItem()
+        while _item_id != -1 and self.SharedFoldersList.ItemCount > 0:
+            _item = self.SharedFoldersList.GetItem(_item_id)
+            _shared_folders.append(_item.GetText())
+            _item_id = self.SharedFoldersList.GetNextItem(_item_id)
+        self.profile_config['export'] = ','.join([ f for f in _shared_folders if f ])
+        self.profile_config['useiconv'] = self.UseEncodingConverter.GetValue()
+        self.profile_config['iconvfrom'] = self.ClientEncoding.GetValue()
+        self.profile_config['iconvto'] = self.ServerEncoding.GetValue()
+
+        self.profile_config['usedropbox'] = self.UseFileDropbox.GetValue()
+        _extensions = self.FileDropboxExtensions.GetValue()
+        _extensions = _extensions.replace(' ', ',').replace(';', ',')
+        _normalized_exts = []
+        for _ext in _extensions.split(','):
+            _ext = _ext.upper()
+            _ext = _ext.lstrip().lstrip('.').rstrip()
+            if _ext:
+                _normalized_exts.append(_ext)
+        self.profile_config['dropboxextensions'] = ','.join(_normalized_exts)
+        try:
+            _dropbox_action = [ a for a in self.dropboxactionChoices.keys() if self.dropboxactionChoices[a] == self.FileDropboxAction.GetValue() ][0]
+        except IndexError:
+            _dropbox_action = 'OPEN'
+        self.profile_config['dropboxaction'] = _dropbox_action
+
+    def OnIconChange(self, event):
+        _share_location = os.path.split(_icons_location)[0]
+        iconsdir = _icons_location
+        if not os.path.exists(iconsdir):
+            iconsdir = os.getcwd()
+        wildcard = _(u"Icon Files (*.png)|*.png|"     \
+           "All files (*.*)|*")
+        dlg = wx.FileDialog(
+            self, message=_(u"Choose an icon for this session profile"), defaultDir=iconsdir,
+            defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR )
+        # Show the dialog and retrieve the user response. If it is the OK response,
+        # process the data.
+        if dlg.ShowModal() == wx.ID_OK:
+            # This returns a Python list of files that were selected.
+            path_to_icon = dlg.GetPath()
+            self.IconButton.SetBitmapLabel(wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY))
+            rel_path = path_to_icon.replace('%s/' % _share_location, ':')
+            rel_path = rel_path.replace( 'icons/PyHoca/128x128/pyhoca-session.png', 'icons/128x128/x2gosession.png')
+            self.IconPath = rel_path
+
+    def enable_DirectRDP(self):
+        self.HostLabel.Enable(False)
+        self.Host.Enable(False)
+        self.SSHPortLabel.Enable(False)
+        self.SSHPort.Enable(False)
+        self.SSHKeyFileLabel.Enable(False)
+        self.SSHKeyFile.Enable(False)
+        self.staticbox_LinkSpeed.Enable(False)
+        self.LinkSpeed.Enable(False)
+        self.ModemLabel.Enable(False)
+        self.ISDNLabel.Enable(False)
+        self.ADSLLabel.Enable(False)
+        self.WANLabel.Enable(False)
+        self.LANLabel.Enable(False)
+        self.staticbox_Compression.Enable(False)
+        self.CompressionLabel.Enable(False)
+        self.Compression.Enable(False)
+        self.ImageQualityLabel.Enable(False)
+        self.ImageQuality.Enable(False)
+        self.tab_Settings.Enable(False)
+        self.tab_SharedFilesAndFolders.Enable(False)
+
+
+    def disable_DirectRDP(self):
+        self.HostLabel.Enable(True)
+        self.Host.Enable(True)
+        self.SSHPortLabel.Enable(True)
+        self.SSHPort.Enable(True)
+        self.SSHKeyFileLabel.Enable(True)
+        self.SSHKeyFile.Enable(True)
+        self.staticbox_LinkSpeed.Enable(True)
+        self.LinkSpeed.Enable(True)
+        self.ModemLabel.Enable(True)
+        self.ISDNLabel.Enable(True)
+        self.ADSLLabel.Enable(True)
+        self.WANLabel.Enable(True)
+        self.LANLabel.Enable(True)
+        self.staticbox_Compression.Enable(True)
+        self.CompressionLabel.Enable(True)
+        self.Compression.Enable(True)
+        self.ImageQualityLabel.Enable(True)
+        self.ImageQuality.Enable(True)
+        self.tab_Settings.Enable(True)
+        self.tab_SharedFilesAndFolders.Enable(True)
+
+    def OnSessionTypeSelected(self, event):
+        _session_type = [ i for i in self.sessionChoices.keys() if self.sessionChoices[i] == self.SessionType.GetValue() ][0]
+        if _session_type == 'APPLICATION':
+            self.ApplicationLabel.Enable(True)
+            self.Application.Enable(True)
+            if not self.Application.GetValue():
+                self.Application.SetValue(self.applicationChoices['TERMINAL'])
+        else:
+            self.ApplicationLabel.Enable(False)
+            self.Application.Enable(False)
+
+        if _session_type == 'CUSTOM':
+            self.CommandLabel.Enable(True)
+            self.Command.Enable(True)
+            if not self.Command.GetValue():
+                self.Command.SetValue('xterm')
+        else:
+            self.CommandLabel.Enable(False)
+            self.Command.Enable(False)
+
+        if _session_type == 'XDMCP':
+            self.XDMCPServerLabel.Enable(True)
+            self.XDMCPServer.Enable(True)
+        else:
+            self.XDMCPServerLabel.Enable(False)
+            self.XDMCPServer.Enable(False)
+
+        if _session_type in ('RDP', 'DirectRDP', ):
+            self.RDPSettingsLabel.Enable(True)
+            self.RDPServerLabel.Enable(True)
+            self.RDPServer.Enable(True)
+            self.RDPOptionsLabel.Enable(True)
+            self.RDPOptions.Enable(True)
+        else:
+            self.RDPSettingsLabel.Enable(False)
+            self.RDPServerLabel.Enable(False)
+            self.RDPServer.Enable(False)
+            self.RDPOptionsLabel.Enable(False)
+            self.RDPOptions.Enable(False)
+
+        if _session_type == 'DirectRDP':
+            self.enable_DirectRDP()
+        else:
+            self.disable_DirectRDP()
+
+        self.disable_EditConnected_options()
+
+    def OnSSHKeyFileBrowse(self, event):
+        sshdir = os.path.expanduser('~/.ssh')
+        if not os.path.exists(sshdir):
+            sshdir = os.getcwd()
+        wildcard = _(u"All files (*.*)|*")
+        dlg = wx.FileDialog(
+            self, message=_(u"Choose a public SSH key"), defaultDir=sshdir,
+            defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR )
+        # Show the dialog and retrieve the user response. If it is the OK response,
+        # process the data.
+        if dlg.ShowModal() == wx.ID_OK:
+            # This returns a Python list of files that were selected.
+            path = dlg.GetPath()
+            self.SSHKeyFile.SetValue(path)
+
+    def OnSSHProxyKeyFileBrowse(self, event):
+        sshdir = os.path.expanduser('~/.ssh')
+        if not os.path.exists(sshdir):
+            sshdir = os.getcwd()
+        wildcard = "All files (*.*)|*"
+        dlg = wx.FileDialog(
+            self, message=_(u"Choose a public SSH key"), defaultDir=sshdir,
+            defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR )
+        # Show the dialog and retrieve the user response. If it is the OK response,
+        # process the data.
+        if dlg.ShowModal() == wx.ID_OK:
+            # This returns a Python list of files that were selected.
+            path = dlg.GetPath()
+            self.SSHProxyKeyFile.SetValue(path)
+
+    def OnUseSSHProxy(self, event):
+        if self.UseSSHProxy.GetValue():
+            self.SSHProxyHostLabel.Enable(True)
+            self.SSHProxyHost.Enable(True)
+            self.SSHProxyUserLabel.Enable(True)
+            self.SSHProxyUser.Enable(True)
+            self.SSHProxyKeyFileLabel.Enable(True)
+            self.SSHProxyKeyFile.Enable(True)
+            self.SSHProxyKeyFileBrowseButton.Enable(True)
+            self.SSHProxyTunnelLabel.Enable(True)
+            self.SSHProxyTunnelFromHost.Enable(True)
+            self.SSHProxyTunnelBetweenLabel.Enable(True)
+            self.SSHProxyTunnelFromPort.Enable(True)
+            self.SSHProxyTunnelToHost.Enable(True)
+            self.SSHProxyTunnelToPort.Enable(True)
+        else:
+            self.SSHProxyHostLabel.Enable(False)
+            self.SSHProxyHost.Enable(False)
+            self.SSHProxyUserLabel.Enable(False)
+            self.SSHProxyUser.Enable(False)
+            self.SSHProxyKeyFileLabel.Enable(False)
+            self.SSHProxyKeyFile.Enable(False)
+            self.SSHProxyKeyFileBrowseButton.Enable(False)
+            self.SSHProxyTunnelLabel.Enable(False)
+            self.SSHProxyTunnelFromHost.Enable(False)
+            self.SSHProxyTunnelFromPort.Enable(False)
+            self.SSHProxyTunnelBetweenLabel.Enable(False)
+            self.SSHProxyTunnelToHost.Enable(False)
+            self.SSHProxyTunnelToPort.Enable(False)
+
+    def OnKeepKeyboard(self, event):
+        if self.CurrentKeyBoard.GetValue():
+            self.KeyboardLayoutLabel.Enable(False)
+            self.KeyboardModelLabel.Enable(False)
+            self.KeyboardLayout.Enable(False)
+            self.KeyboardModel.Enable(False)
+        else:
+            self.KeyboardLayoutLabel.Enable(True)
+            self.KeyboardModelLabel.Enable(True)
+            self.KeyboardLayout.Enable(True)
+            self.KeyboardModel.Enable(True)
+
+    def OnSoundEnable(self, event): # wxGlade: X2goMaintProfile.<event_handler>
+        if self.EnableSound.GetValue():
+            self.PulseAudio.Enable(True)
+            self.Esd.Enable(True)
+            self.DefaultSoundPort.Enable(True)
+            if self.DefaultSoundPort.GetValue() is False:
+                self.SoundPortLabel.Enable(True)
+                self.SoundPort.Enable(True)
+        else:
+            self.PulseAudio.Enable(False)
+            self.Esd.Enable(False)
+            self.DefaultSoundPort.Enable(False)
+            self.SoundPortLabel.Enable(False)
+            self.SoundPort.Enable(False)
+
+
+    def OnSetDisplayFullscreen(self, event):
+        self.ScreenWidthLabel.Enable(False)
+        self.ScreenWidth.Enable(False)
+        self.ScreenHeightLabel.Enable(False)
+        self.ScreenHeight.Enable(False)
+
+    def OnSetDisplayCustom(self, event):
+        self.ScreenWidthLabel.Enable(True)
+        self.ScreenWidth.Enable(True)
+        self.ScreenHeightLabel.Enable(True)
+        self.ScreenHeight.Enable(True)
+
+    def OnSetDisplayDPI(self, event):
+        if self.SetDisplayDPI.GetValue():
+            self.DisplayDPI.Enable(True)
+        else:
+            self.DisplayDPI.Enable(False)
+
+    def OnPulseAudio(self, event):
+        if self.DefaultSoundPort.GetValue():
+            self.SoundPort.SetValue(self.audioPorts['pulse'])
+
+    def OnEsd(self, event):
+        if self.DefaultSoundPort.GetValue():
+            self.SoundPort.SetValue(self.audioPorts['esd'])
+
+    def OnDefaultSoundPort(self, event):
+        if not self.DefaultSoundPort.GetValue():
+            self.SoundPortLabel.Enable(True)
+            self.SoundPort.Enable(True)
+        else:
+            if self.PulseAudio.GetValue():
+                self.SoundPort.SetValue(self.audioPorts['pulse'])
+            if self.Esd.GetValue():
+                self.SoundPort.SetValue(self.audioPorts['esd'])
+            self.SoundPortLabel.Enable(False)
+            self.SoundPort.Enable(False)
+
+    def _toggle_localFolderSharing(self):
+        if self.UseLocalFolderSharing.GetValue():
+            self.SharedFolderPathLabel.Enable(True)
+            self.SharedFolderPath.Enable(True)
+            self.SharedFolderPathBrowseButton.Enable(True)
+            self.SharedFoldersList.Enable(True)
+            self.UseEncodingConverter.Enable(True)
+            self._toggle_useEncodingConverter()
+        else:
+            self.AddSharedFolderPathButton.Enable(False)
+            self.DeleteSharedFolderPathButton.Enable(False)
+            self.SharedFolderPathLabel.Enable(False)
+            self.SharedFolderPath.Enable(False)
+            self.SharedFolderPathBrowseButton.Enable(False)
+            self.SharedFoldersList.Enable(False)
+            self.UseEncodingConverter.Enable(False)
+            self.ClientEncodingLabel.Enable(False)
+            self.ClientEncoding.Enable(False)
+            self.ServerEncodingLabel.Enable(False)
+            self.ServerEncoding.Enable(False)
+
+    def OnToggleLocalFolderSharing(self, event):
+        self._toggle_localFolderSharing()
+
+    def OnSelectSharedFolderPath(self, event):
+        shared_folder = os.path.expanduser('~')
+        if not os.path.exists(shared_folder):
+            shared_folder = os.getcwd()
+        dlg = wx.DirDialog(
+            self, message=_(u"Choose a folder to share within a session"), style=1, defaultPath=shared_folder)
+        # Show the dialog and retrieve the user response. If it is the OK response,
+        # process the data.
+        if dlg.ShowModal() == wx.ID_OK:
+            # This returns a Python list of files that were selected.
+            self.SharedFolderPath.SetValue(dlg.GetPath())
+
+    def OnSharedFolderListItemSelected(self, event):
+        self.DeleteSharedFolderPathButton.Enable(True)
+
+    def OnSharedFolderListItemDeselected(self, event):
+        self.DeleteSharedFolderPathButton.Enable(False)
+
+    def OnSharedFolderPathKeyPressed(self, event):
+        self.AddSharedFolderPathButton.Enable(True)
+
+    def OnAddSharedFolderPath(self, event):
+        _shared_folder_path = self.SharedFolderPath.GetValue()
+        if _shared_folder_path and (self.SharedFoldersList.FindItem(0, _shared_folder_path) == -1):
+            _item = wx.ListItem()
+            _item.SetData(wx.NewId())
+            _item.SetText(_shared_folder_path)
+            self.SharedFoldersList.InsertItem(_item)
+            self.SharedFolderPath.SetValue('')
+        self.AddSharedFolderPathButton.Enable(False)
+
+    def OnDeleteSharedFolderPath(self, event):
+        _item = self.SharedFoldersList.GetFocusedItem()
+        self.SharedFoldersList.DeleteItem(_item)
+        self.DeleteSharedFolderPathButton.Enable(False)
+
+    def _toggle_useEncodingConverter(self):
+        if self.UseEncodingConverter.GetValue():
+            self.ClientEncodingLabel.Enable(True)
+            self.ClientEncoding.Enable(True)
+            self.ServerEncodingLabel.Enable(True)
+            self.ServerEncoding.Enable(True)
+        else:
+            self.ClientEncodingLabel.Enable(False)
+            self.ClientEncoding.Enable(False)
+            self.ServerEncodingLabel.Enable(False)
+            self.ServerEncoding.Enable(False)
+
+    def OnToggleEncodingConverter(self, event):
+        self._toggle_useEncodingConverter()
+
+    def _toggle_useFileDropbox(self):
+        if self.UseFileDropbox.GetValue():
+            self.FileDropboxExtensionsLabel.Enable(True)
+            self.FileDropboxExtensions.Enable(True)
+            self.FileDropboxActionLabel.Enable(True)
+            self.FileDropboxAction.Enable(True)
+        else:
+            self.FileDropboxExtensionsLabel.Enable(False)
+            self.FileDropboxExtensions.Enable(False)
+            self.FileDropboxActionLabel.Enable(False)
+            self.FileDropboxAction.Enable(False)
+
+    def OnToggleFileDropbox(self, event):
+        self._toggle_useFileDropbox()
+
+    def __validate(self):
+        validateOk = True
+        if len(self.profile_config['name'].strip()) == 0:
+            validateOk = False
+            self._PyHocaGUI.notifier.send(title=_(u'Profile Manager'), text=_(u'Profile name is missing, profile unusable!!!'), icon='profile_error')
+        return validateOk
+
+    def OnOKButton(self, event):
+        wx.BeginBusyCursor()
+        self.__update_from_screen()
+        if self.__validate():
+
+            if self.profile_config != self.profile_config_bak:
+
+                if self.action == 'ADD':
+                    self.profile_id = self.session_profiles.add_profile()
+
+                print self.profile_id
+                for k in self.profile_config.keys():
+                    self.session_profiles.update_value(self.profile_id, k, self.profile_config[k])
+
+                self.session_profiles.write_user_config = True
+                self.session_profiles.write()
+
+                if self.action == 'ADD':
+                    print 
+                    self._PyHocaGUI.notifier.send(title=_(u'%s - profile added') % self.profile_config['name'],
+                                                  text=_(u'A new session profile has been added.'),
+                                                  icon='profile_add',
+                                                 )
+                elif self.action == 'EDIT':
+                    self._PyHocaGUI.notifier.send(title=_(u'%s - modified') % self.profile_config['name'],
+                                                  text=_(u'Changes to profile have been saved.'),
+                                                  icon='profile_save',
+                                                 )
+
+            wx.EndBusyCursor()
+            self.Close()
+            self.Destroy()
+        else:
+            wx.EndBusyCursor()
+
+    def OnCancel(self, event):
+        self.Close()
+        self.Destroy()
+
+    def OnDefault(self, event):
+        self.profile_config = copy.deepcopy(self.profile_config_bak)
+        self.__update_fields()
+
diff --git a/pyhoca/wxgui/taskbar.py b/pyhoca/wxgui/taskbar.py
new file mode 100644
index 0000000..f90c99f
--- /dev/null
+++ b/pyhoca/wxgui/taskbar.py
@@ -0,0 +1,144 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Dick Kniep <dick.kniep at lindix.nl>
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# PyHoca GUI 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.
+#
+# PyHoca GUI 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+modules ={}
+
+try:
+    import wxversion
+    wxversion.select('2.9')
+except: pass
+
+try:
+    import wxversion
+    wxversion.select('2.8')
+except: pass
+
+# Python X2go
+import x2go
+
+import gevent
+import gevent.monkey
+gevent.monkey.patch_all()
+
+import wx
+import wx.lib.scrolledpanel as scrolled
+import wx.lib.mixins.listctrl as listmix
+
+if x2go.X2GOCLIENT_OS == 'Windows':
+    import win32gui
+
+import os
+import sys
+import copy
+
+# PyHoca-GUI modules
+import menus_taskbar
+import profilemanager
+import basepath
+
+_icons_location = basepath.icons_basepath
+
+
+try:
+    from agw import knobctrl as KC
+    knobctrlavailable = True
+except ImportError: # if it's not there locally, try the wxPython lib.
+    try:
+        import wx.lib.agw.knobctrl as KC
+        knobctrlavailable = True
+    except ImportError:
+        knobctrlavailable = False
+
+import wx.lib.sized_controls as sc
+
+
+class PyHocaGUI_TaskBarIcon(wx.TaskBarIcon):
+    """\
+    STILL UNDOCUMENTED
+
+    """
+    def __init__(self, _about):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        wx.TaskBarIcon.__init__(self)
+        self._PyHocaGUI = _about._PyHocaGUI
+        self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger
+        self._pyhoca_logger('start TaskBarIcon of type: %s' % (wx.PlatformInfo, ), loglevel=x2go.loglevel_INFO)
+        self.SetIconIdle()
+        self.imgidx = 1
+        self.tooltip = ""
+
+    def SetIconConnecting(self, profile_name):
+        self.icon = self.MakeIcon(icon_name='pyhoca-trayicon')
+        if x2go.X2GOCLIENT_OS == 'Windows':
+            self.icon = self.MakeIcon(icon_name='x2go-logo-ubuntu')
+            self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to ,,%s\'\'") % profile_name)
+        else:
+            self.icon = self.MakeIcon(icon_name='pyhoca-trayicon')
+            self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2goClient)\nCurrently connecting you to remote X2go server ,,%s\'\'") % profile_name)
+
+    def SetIconIdle(self):
+        if x2go.X2GOCLIENT_OS == 'Windows':
+            self.icon = self.MakeIcon(icon_name='x2go-logo-ubuntu')
+            self.SetIcon(self.icon, _(u"PyHoca-GUI\nConnecting you to X2go..."))
+        else:
+            self.icon = self.MakeIcon(icon_name='pyhoca-trayicon')
+            self.SetIcon(self.icon, _(u"PyHoca-GUI (Python X2goClient)\nClient for connecting you to a remote X2go server"))
+
+    def CreateSessionManagerPopupMenu(self, evt):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        self.menu_sessionmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarSessionManager(self._PyHocaGUI, caller=self))
+        return self.menu_sessionmanager
+
+    def CreatePopupMenu(self):
+        """\
+        This method is called by the base class when it needs to popup
+        the menu for the default EVT_RIGHT_DOWN event.  Just create
+        the menu how you want it and return it from this function,
+        the base class takes care of the rest.
+        """
+        return self.CreateProfileManagerPopupMenu()
+
+    def CreateProfileManagerPopupMenu(self):
+        self.menu_optionsmanager = self.PopupMenu(menus_taskbar.PyHocaGUI_Menu_TaskbarOptionsManager(self._PyHocaGUI, caller=self))
+        return self.menu_optionsmanager
+
+    def MakeIcon(self, icon_name):
+        """\
+        The various platforms have different requirements for the
+        icon size...
+        """
+        if "wxMSW" in wx.PlatformInfo:
+            img = wx.Image('%s/PyHoca/16x16/%s.png' % (_icons_location, icon_name))
+        elif "wxGTK" in wx.PlatformInfo:
+            img = wx.Image('%s/PyHoca/22x22/%s.png' % (_icons_location, icon_name))
+        elif "wxMAC" in wx.PlatformInfo:
+            img = wx.Image('%s/PyHoca/128x128/%s.png' % (_icons_location, icon_name))
+        icon = wx.IconFromBitmap(img.ConvertToBitmap())
+        return icon
+
+    def Close(self):
+        self.RemoveIcon()
+
diff --git a/setup.py b/setup.py
new file mode 100755
index 0000000..63018d2
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2011 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+# 
+# PyHoca 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 2 of the License, or
+# (at your option) any later version.
+#
+# PyHoca 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 program; if not, write to the
+# Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+import gevent.monkey
+gevent.monkey.patch_all()
+
+import platform
+from setuptools import setup, find_packages
+from distutils.core import setup
+if platform.system() == 'Windows':
+    import py2exe
+if platform.system() == 'Linux':
+    from DistUtilsExtra.command import *
+from glob import glob
+
+import os
+
+# import the PyHoca-GUI
+import pyhoca.wxgui
+
+#
+# to build .exe file, run on Windows:
+# ,,python setup.py py2exe''
+#
+# to update i18n .mo files (and merge .pot file into .po files) run on Linux:
+# ,,python setup.py build_i18n -m''
+
+cmd_class = {}
+data_files = []
+
+if platform.system() == 'Windows':
+    # building from trunk
+    dll_data_files = [("Microsoft.VC90.CRT", glob(r'..\\pyhoca-contrib\\mswin\\ms-vc-runtime\\*.*'))]
+    nxproxy_files = [("nxproxy", glob(r'..\\pyhoca-contrib\\mswin\\nxproxy-mswin\\nxproxy-3.0.4-2\\*.*'))]
+    pulseaudio_files = [("pulseaudio", glob(r'..\\pyhoca-contrib\\mswin\\pulseaudio-mswin\\pulseaudio-0.9.6\\*.*'))]
+
+    icon_files = [
+        ("icons\\PyHoca\\16x16", glob(r'icons\\PyHoca\\16x16\\*.*')),
+        ("icons\\PyHoca\\22x22", glob(r'icons\\PyHoca\\22x22\\*.*')),
+        ("icons\\PyHoca\\32x32", glob(r'icons\\PyHoca\\32x32\\pyhoca-*.*')),
+        ("icons\\PyHoca\\32x32", glob(r'icons\\PyHoca\\32x32\\x2go*.*')),
+        ("icons\\PyHoca\\48x48", glob(r'icons\\PyHoca\\48x48\\*.*')),
+        ("icons\\PyHoca\\64x64", glob(r'icons\\PyHoca\\64x64\\*.*')),
+        ("icons\\PyHoca\\128x128", glob(r'icons\\PyHoca\\128x128\\*.*')),
+        ("PyHoca_GUI.egg-infocons\\PyHoca\\128x128", glob(r'icons\\PyHoca\\128x128\\*.*')),
+        ("icons", glob(r'pixmaps\\*.ico')),
+        ]
+    img_files = [("img", glob(r'img\\*.*'))]
+    i18n_files = [
+            ("mo\\en\\LC_MESSAGES", glob(r'build\\mo\\en\\LC_MESSAGES\\*.*')),
+            ("mo\\de\\LC_MESSAGES", glob(r'build\\mo\\de\\LC_MESSAGES\\*.*')),
+            ("mo\\nl\\LC_MESSAGES", glob(r'build\\mo\\nl\\LC_MESSAGES\\*.*')),
+            ("mo\\es\\LC_MESSAGES", glob(r'build\\mo\\es\\LC_MESSAGES\\*.*')),
+        ]
+
+    data_files.extend([ "pixmaps\\pyhoca-gui.ico", ] + 
+                      dll_data_files +
+                      icon_files +
+                      img_files +
+                      nxproxy_files +
+                      pulseaudio_files +
+                      i18n_files
+    )
+
+if platform.system() == 'Linux':
+    cmd_class.update(
+        {
+            "build" : build_extra.build_extra,
+            "build_i18n" :  build_i18n.build_i18n,
+            "clean": clean_i18n.clean_i18n,
+        }
+    )
+
+
+setup(
+    name = "pyhoca-gui",
+    version = pyhoca.wxgui.__VERSION__,
+    description = "PyHoca-GUI is a cross-platform (Windows, MacOS X, Linux) graphical X2go client.",
+    license = 'GPL',
+    author = 'Mike Gabriel, Dick Kniep',
+    url = 'http://www.x2go.org',
+    packages = [ 'pyhoca.wxgui', ],
+    package_dir = {'': '.'},
+    install_requires = [ 'setuptools', ],
+    cmdclass = cmd_class,
+    windows = [
+        {
+            "script": "pyhoca-gui",
+            "icon_resources": [(0, "pixmaps/pyhoca_x2go-logo-ubuntu.ico")],
+        },
+    ],
+    data_files=data_files,
+    options={
+        'py2exe': {
+            'dll_excludes': ['MSVCP90.DLL'],
+            'includes': ['greenlet'],
+            'compressed': 1,
+            'optimize': 2,
+        }
+    }
+)


hooks/post-receive
-- 
pyhoca-gui.git (Python X2Go Client (wxPython GUI))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "pyhoca-gui.git" (Python X2Go Client (wxPython GUI)).




More information about the x2go-commits mailing list