From 43e5a6e7a5215ae4b8043f0a1d58da3e42047717 Mon Sep 17 00:00:00 2001 From: Adrian Iain Lam Date: Sun, 5 Feb 2023 05:34:26 +0000 Subject: [PATCH] [v1.2] New re-design with icons only instead of labels. This is due to many non-Unity desktop environments not showing indicator labels. --- README.md | 59 +++++++++++-------------- indicator-keyboard-led-C-off.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led-C-on.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led-N-off.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led-N-on.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led-S-off.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led-S-on.svg | 91 ++++++++++++++++++++++++++++++++++++++ indicator-keyboard-led.desktop | 2 +- indicator-keyboard-led.py | 93 ++++++++++++++++++++------------------- indicator-keyboard-led.svg | 88 ------------------------------------ screenshots/sc1.png | Bin 4134 -> 1885 bytes screenshots/sc2.png | Bin 7720 -> 3486 bytes screenshots/sc3.png | Bin 2308 -> 0 bytes screenshots/sc4.png | Bin 7752 -> 1814 bytes screenshots/sc5.png | Bin 5928 -> 1325 bytes screenshots/sc6.png | Bin 4760 -> 0 bytes 16 files changed, 620 insertions(+), 168 deletions(-) create mode 100644 indicator-keyboard-led-C-off.svg create mode 100644 indicator-keyboard-led-C-on.svg create mode 100644 indicator-keyboard-led-N-off.svg create mode 100644 indicator-keyboard-led-N-on.svg create mode 100644 indicator-keyboard-led-S-off.svg create mode 100644 indicator-keyboard-led-S-on.svg delete mode 100644 indicator-keyboard-led.svg delete mode 100644 screenshots/sc3.png delete mode 100644 screenshots/sc6.png diff --git a/README.md b/README.md index efa8f2f..cf90a7b 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,6 @@ Num lock and Scroll lock) without requiring any mouse or keyboard action. It also allows the lock keys to be toggled with mouse clicks, which could be useful for keyboards without Scroll lock keys or malfunctioning keyboards. -**Note**: This indicator is known to not work on Xfce / Xubuntu. -For more details, see [#6](https://github.com/adrianiainlam/indicator-keyboard-led/issues/6). - ## Screenshots ![indicator default][sc1] @@ -19,9 +16,6 @@ off. Menu of the indicator, shown on click. The locks can be toggled by clicking the respective item in the menu. -![indicator short][sc3] -Alternative (short) appearance of the indicator. - ## Installation from Ubuntu PPA sudo add-apt-repository ppa:adrianiainlam/indicator-keyboard-led @@ -31,14 +25,6 @@ Alternative (short) appearance of the indicator. After installation the postinst script will prompt you for preferences configuration. These config are explained here: -### Short label - -The default appearance of the indicator has long labels: -![⚫Num ⚫Caps ⚫Scroll][sc1] - -On small displays it may be preferable to use short labels: -![⚫N ⚫C ⚫S][sc3] - ### Order This option allows you to reorder the locks and also to hide @@ -48,24 +34,18 @@ Use a string consisting of zero or one occurrence of the characters 'N', 'C' and 'S' to set this option. For exampe, the default order is "Num Caps Scroll". -![⚫Num ⚫Caps ⚫Scroll][sc1] +![Num Caps Scroll][sc1] **CNS** changes this to "Caps Num Scroll". -![⚫Caps ⚫Num ⚫Scroll][sc4] +![Caps Num Scroll][sc4] **NC** hides Scroll lock from the default appearance. -![⚫Num ⚫Caps][sc5] - -**C**, combined with the previous *short* option, -would give a very compact Caps lock indicator. -![⚫C][sc6] +![Num Caps][sc5] [sc1]: screenshots/sc1.png [sc2]: screenshots/sc2.png -[sc3]: screenshots/sc3.png [sc4]: screenshots/sc4.png [sc5]: screenshots/sc5.png -[sc6]: screenshots/sc6.png ### xdotool @@ -109,7 +89,7 @@ It seems to be a common problem that Scroll Lock is not usable in Ubuntu. To solve this, do the following (assuming US keyboard): > # backup your symbols file - > sudo cp /usr/share/X11/xkb/symbols/us{,.distribution} + > sudo cp /usr/share/X11/xkb/symbols/us{,.distribution} > > Add the following line in the `xkb_symbols "basic" {` section. Do not worry > if that second line is not there, it is only there for some languages and @@ -117,7 +97,7 @@ To solve this, do the following (assuming US keyboard): > > ... > modifier_map Mod3 { Scroll_Lock }; <==<< Add this line - > + > > include "level3(ralt_switch)" <==<< before this line > }; > @@ -156,13 +136,26 @@ is correct and is an executable regular file. ## Localization -As motivated by Issue #1, this script has been localized to French (with -the assistance of Wikipedia and Google Translate). Corrections to the -translation, as well as translations to other languages, are welcome. -Feel free to create a pull request or open an issue. +Unfortunately, in order to work-around labels not being shown on newer +non-Unity-based Ubuntus, I have re-designed the indicators to be based +purely on icons instead. This means there will no longer be labels to +localize, and I instead have hardcoded icons. + +The icons are SVGs so you can still manually edit them if you want. +Look for the `` tag at the end of the SVGs. + +The menu items shown on click are still localized. + +I have included a screenshot below to show the old design (version 1.1) +which you can still install manually if you wish. -![indicator default, French locale][sc7] -Default appearance in a French locale. +> As motivated by Issue #1, this script has been localized to French (with +> the assistance of Wikipedia and Google Translate). Corrections to the +> translation, as well as translations to other languages, are welcome. +> Feel free to create a pull request or open an issue. +> +> ![indicator default, French locale][sc7] +> Default appearance in a French locale. [sc7]: screenshots/sc7.png @@ -171,7 +164,7 @@ Default appearance in a French locale. The program "indicator-keyboard-led.py" is released under the MIT License. Please refer to the file for the full text of the license. -The icon "indicator-keyboard-led.svg" is released to the public domain. +The icons "indicator-keyboard-led*.svg" are released to the public domain. ## Credits @@ -179,7 +172,7 @@ I would like to thank [Tobias Schlitt](https://github.com/tobyS), who wrote [indicator-chars](https://github.com/tobyS/indicator-chars) which I used as a reference when writing this software. -The icon used in the indicator (indicator-keyboard-led.svg) is modified +The icons used in the indicator (indicator-keyboard-led*.svg) are modified from the file "emblem-readonly.svg" by [Jakub Steiner](http://jimmac.musichall.cz) who released it to the public domain for the diff --git a/indicator-keyboard-led-C-off.svg b/indicator-keyboard-led-C-off.svg new file mode 100644 index 0000000..1b43e12 --- /dev/null +++ b/indicator-keyboard-led-C-off.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + + caps lock + + + + + + + + + + + C + + diff --git a/indicator-keyboard-led-C-on.svg b/indicator-keyboard-led-C-on.svg new file mode 100644 index 0000000..3ce14c4 --- /dev/null +++ b/indicator-keyboard-led-C-on.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + + caps lock + + + + + + + + + + + C + + diff --git a/indicator-keyboard-led-N-off.svg b/indicator-keyboard-led-N-off.svg new file mode 100644 index 0000000..9dc6a25 --- /dev/null +++ b/indicator-keyboard-led-N-off.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + Caps Lock icon + caps lock + + + + + + + + + + + N + + diff --git a/indicator-keyboard-led-N-on.svg b/indicator-keyboard-led-N-on.svg new file mode 100644 index 0000000..d5dec65 --- /dev/null +++ b/indicator-keyboard-led-N-on.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + Caps Lock icon + caps lock + + + + + + + + + + + N + + diff --git a/indicator-keyboard-led-S-off.svg b/indicator-keyboard-led-S-off.svg new file mode 100644 index 0000000..0261b04 --- /dev/null +++ b/indicator-keyboard-led-S-off.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + + caps lock + + + + + + + + + + + S + + diff --git a/indicator-keyboard-led-S-on.svg b/indicator-keyboard-led-S-on.svg new file mode 100644 index 0000000..c06a5a2 --- /dev/null +++ b/indicator-keyboard-led-S-on.svg @@ -0,0 +1,91 @@ + + + + + + + + + + image/svg+xml + + + + Jakub Steiner + + + Adrian I Lam + http://jimmac.musichall.cz + + + caps lock + + + + + + + + + + + S + + diff --git a/indicator-keyboard-led.desktop b/indicator-keyboard-led.desktop index 78c9958..4eb3401 100755 --- a/indicator-keyboard-led.desktop +++ b/indicator-keyboard-led.desktop @@ -4,7 +4,7 @@ Name=indicator-keyboard-led Type=Application Exec=/usr/bin/indicator-keyboard-led.py -Icon=indicator-keyboard-led +Icon=indicator-keyboard-led-C-on Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true diff --git a/indicator-keyboard-led.py b/indicator-keyboard-led.py index 9213a83..73c897b 100755 --- a/indicator-keyboard-led.py +++ b/indicator-keyboard-led.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # indicator-keyboard-led - simulate keyboard lock keys LED -# Copyright (c) 2017 Adrian I Lam +# Copyright (c) 2017-2023 Adrian I Lam s/spam/me/ # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -10,10 +10,10 @@ # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: -# +# # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. -# +# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL @@ -38,26 +38,28 @@ gi.require_version('AppIndicator3', '0.1') from gi.repository import Gdk, Gtk, AppIndicator3 APP_NAME = 'indicator-keyboard-led' -APP_VERSION = '1.1' +APP_VERSION = '1.2' -ICON_LOCATION = '/usr/share/icons/hicolor/scalable/apps/' + APP_NAME + '.svg' +ICON_FOLDER = '/usr/share/icons/hicolor/scalable/apps/' import gettext t = gettext.translation(APP_NAME, '/usr/share/locale') _ = t.gettext class IndicatorKeyboardLED: - def __init__(self, short=False, order='NCS', xdotool=None): + def __init__(self, order='NCS', xdotool=None): self.validate_order(order) - self.indicator = AppIndicator3.Indicator.new( - APP_NAME, ICON_LOCATION, - AppIndicator3.IndicatorCategory.APPLICATION_STATUS) - self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE) + self.indicators = {} - if short: - self.locks = { 'N': _('N'), 'C': _('C'), 'S': _('S') } - else: - self.locks = { 'N': _('Num'), 'C': _('Caps'), 'S': _('Scroll') } + count = 0 + for i in order: + self.indicators[i] = AppIndicator3.Indicator.new( + '-'.join([APP_NAME, str(count), i]), + os.path.join(ICON_FOLDER, '-'.join([APP_NAME, i, 'off.svg'])), + AppIndicator3.IndicatorCategory.APPLICATION_STATUS) + self.indicators[i].set_status(AppIndicator3.IndicatorStatus.ACTIVE) + + count += 1 keymap = Gdk.Keymap.get_default() keymap.connect('state-changed', self.update_indicator, order) @@ -65,38 +67,37 @@ class IndicatorKeyboardLED: self.create_menu(xdotool, order) def create_menu(self, xdotool, order): - menu = Gtk.Menu() xdotool = xdotool or shutil.which('xdotool') - if xdotool and os.access(xdotool, os.X_OK) and os.path.isfile(xdotool): - def send_keypress(menuitem, keystroke): - subprocess.call([xdotool, 'key', keystroke]) - def new_menu_item(itemtype): - if itemtype == 'N': - item = Gtk.MenuItem.new_with_label(_('Num Lock')) - item.connect('activate', send_keypress, 'Num_Lock') - elif itemtype == 'C': - item = Gtk.MenuItem.new_with_label(_('Caps Lock')) - item.connect('activate', send_keypress, 'Caps_Lock') - elif itemtype == 'S': - item = Gtk.MenuItem.new_with_label(_('Scroll Lock')) - item.connect('activate', send_keypress, 'Scroll_Lock') - else: - raise ValueError('Invalid itemtype') - return item - - for i in order: + def send_keypress(menuitem, keystroke): + subprocess.call([xdotool, 'key', keystroke]) + def new_menu_item(itemtype): + if itemtype == 'N': + item = Gtk.MenuItem.new_with_label(_('Num Lock')) + item.connect('activate', send_keypress, 'Num_Lock') + elif itemtype == 'C': + item = Gtk.MenuItem.new_with_label(_('Caps Lock')) + item.connect('activate', send_keypress, 'Caps_Lock') + elif itemtype == 'S': + item = Gtk.MenuItem.new_with_label(_('Scroll Lock')) + item.connect('activate', send_keypress, 'Scroll_Lock') + else: + raise ValueError('Invalid itemtype') + return item + + for i in order: + menu = Gtk.Menu() + + if xdotool and os.access(xdotool, os.X_OK) and os.path.isfile(xdotool): menu.append(new_menu_item(i)) - menu.append(Gtk.SeparatorMenuItem()) - quit_item = Gtk.MenuItem.new_with_label(_('Quit')) - menu.append(quit_item) - quit_item.connect('activate', Gtk.main_quit) + quit_item = Gtk.MenuItem.new_with_label(_('Quit')) + menu.append(quit_item) + quit_item.connect('activate', Gtk.main_quit) - self.indicator.set_menu(menu) - menu.show_all() + self.indicators[i].set_menu(menu) + menu.show_all() def update_indicator(self, keymap, order): - labels = [] for i in order: if i == 'N': state = keymap.get_num_lock_state() @@ -106,8 +107,10 @@ class IndicatorKeyboardLED: state = keymap.get_scroll_lock_state() else: raise ValueError('Invalid value in ORDER') - labels += [('⚫' if state else '⚪') + self.locks[i]] - self.indicator.set_label(' '.join(labels), '') + + icon = os.path.join(ICON_FOLDER, '-'.join([APP_NAME, i, 'on.svg' if state else 'off.svg'])) + self.indicators[i].set_icon(icon) + def validate_order(self, order): order = order.upper() @@ -129,17 +132,15 @@ if __name__ == '__main__': parser = argparse.ArgumentParser( description='indicator-keyboard-led - simulate keyboard lock keys LED', formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('-s', '--short', required=False, action='store_true', - help='use short label, i.e. ⚫N ⚫C ⚫S instead of ⚫Num ⚫Caps ⚫Scroll') parser.add_argument('-o', '--order', required=False, default='NCS', help='specify the order of the locks displayed, e.g. CSN for ' - '⚫Caps ⚫Scroll ⚫Num, or NC for ⚫Num ⚫Caps without Scroll lock') + 'Caps Scroll Num, or NC for Num Caps without Scroll lock') parser.add_argument('-x', '--xdotool', required=False, help='provide full path to xdotool executable, ' 'e.g. "/usr/bin/xdotool"; ' 'if not specified, search in PATH') args = parser.parse_args() - IndicatorKeyboardLED(short=args.short, order=args.order, + IndicatorKeyboardLED(order=args.order, xdotool=args.xdotool) Gtk.main() diff --git a/indicator-keyboard-led.svg b/indicator-keyboard-led.svg deleted file mode 100644 index d711e58..0000000 --- a/indicator-keyboard-led.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - image/svg+xml - - - - Jakub Steiner - - - Adrian I Lam - http://jimmac.musichall.cz - - Caps Lock icon - caps lock - - - - - - - - - - - - diff --git a/screenshots/sc1.png b/screenshots/sc1.png index 6acfa2379a384eb3cde523b7c53ccd9ba74916a9..4b0e17e7d83e4ab8aa619f9d8affbf39fd4c648a 100644 GIT binary patch delta 1854 zcmV-E2f_HJAl(ijiBL{Q4GJ0x0000DNk~Le000180000S2m$~A0E`zTU6CO+e+KYL zL_t(oh3!~fY*fb;KJ#;b*W1__hfv2t8ycg;H8goCkQ7R-lq3Wzkb-!jiYmkdJR!gV z5(8=_REgG&8X-&YhT0d$0fK~(AHc1ZSdFMsRWwGf9h(%4ZPwIaJG*!9ou57&`^wq7 zyIy10u9SYd4|iwId~?os&fJ+DfAWjBcfkJ<0rxz=u!T~3Yi{Z ze0lJ{$+&MZuHa>CZ z?y!`a5K0IE&;T&3Mj0b3s+KPze<58`sdRbyvR|D%Syon>)s;++y#GP-f7cU_9LIWW zr&Fo)?XQM7Hw=SJZ)Xg&*8N`%u1r)e7C(FbxoWK;=i@l>6Ysqfi@5+WJT%;Y`}Y0& zNhMW0UJ{GB8(v=jN#|!u$$Z0SeD2)650hyG%Q76tG7Wl_Qyrn&V z;9gQ|$Yg@T%lyB`PjwzhscLJU1Az8Fb@cS~Oz-OJ>$~3mX8>4TTcec9$50qjDoQB; z#9Yg<&FNjXWt7Am0HBmD7JuG);hZ~;0|33fUq)?udV2xDaU9OMe-Pp^k{NPZrV-`0 zEMt5k4FFOq#^}QHbCpLIMkd=cz8|$orPGts1Ifow7)q-t28c3XssTW0O%{WnYn6Le zKQmbcQi@C_$m$J(V9LzL&2P3Sl0WbTwTy-5&%KTYhek?EC--Kli05VVN;&zGO8XBV zK3x9P(pfn@I5hHge=2Pl766Pqc$6F&%`zZ_8iok~|GGOEbDf3fC-rZ<66M|TvmGzL zw6;hmKJENV%ZDG%%I`aOlf~B<0bTXk2b#?XhUJWoufBw3*$j;l5^g0^tk6`@=2bPq`;Fkys4>)Qo4Qn_D!2MwYIi4H#f)Q@%iE} zD=TYkY&>@C*!uPB_w3oTZQHhu8#m7A{|x_+5LHiC)_(u_-~R4{caI**X;2JFKGfFM zu2`{R-@biHe<=WHYipyF+O|DDK0Yt}uImaR?%lfw0E2^rjg5`IpZ!-k%Aa>X%EF1` zM_zsXt=C?C<;54)M0<-Q$%$2~R&{rGqbP{0SFg?^|G>aNOH0e8OP6lmym{lsjceDg zp+<%IbAMl=>}92;CmP>rIC4BHHq3tgXAKW`&3u?6fB)IDXSZzG(%RZuQBiUJ{Q2lQ ziZT@SeL=kb+E1&WUHSg+o1gpO87&v_Ru%(yd#!Zr;4P zySsb7fB2KhsB1LH`+J7$!+15}xNtDQ(-vJPRQl$6<`6QYk`+X_}}yMvFEW5|R=^q?CqX2qA3S z_I;moj+GT^B!tjf`@WCoH;j-{8Uz6$#I|ir45kqPP)8gUiV~(h)MENO`i3o7f17wT z$D9R0z!)=469B^Yu($vK^+GD&_eoV%6}D1JP1D3B!#Pi<)8Pa-2j`qIhPuGCtH3aR z%d$MrLut@b2*Ek`eIGqTwy@kXnG9nLixC4xd(4FAd12W{*AB`NmcZm;YzjdTgtyMP sNCCigT?|BPjRJ)$3vaT~7%Tce6q#tqw%N-Z;{X5v07*qoM6N<$f}H}AY5)KL delta 4120 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

h)71gakFt;|-`%fCa-OaJ7ZslmnBT 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 literal 7720 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 Eg1H-c>;M1& literal 7752 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 E0QLqDtpET3 diff --git a/screenshots/sc5.png b/screenshots/sc5.png index ca10484115fefd6647f6d6552a28f0c11d4575c7..0d7ff8e2be6be78f800b4f2ac8ecc46442ec87e8 100644 GIT binary patch literal 1325 zcmV+|1=9M7P)X0ssI2<_Zd(00003b3#c}2nYz< z;ZNWI000?uMObuGZ)S9NVRB^vXKrt8Wi4}Ka%E+1b7*gL?*qR+000EQNkl zPfQ$D9LIm}&6}B>8P;w~TUse06id@0MZHLD{Zow+wQLNLqo(l)M_>!K0@1{HP;Bgh zLvKbeE!BuIgbS##jYdP$L^naUKrIM#sr=bx-|o!3_dG0Ymfe|QmwKq*%whNae(&?X z^PAtkd5hjT+XDYjkz~@`Hi>hw7K>9#ZJPstEE7Z5{C?xVGO;s05kh!pti|FBi~l@P zf8xkv)sOi70{H#=%YRNre*Ys}QC?P3qCcSTwOIV_>>^_VA&d|L5CE{qmn8{RRvh%; zZ(}`?prxf{AN2L@-W|vZMWag>FAc26S2a!DvF}8J&fHlbM3!ZgJuXQggqXfFUtLx1 z#+QyCs}Ta+E=}|IUN~nMIshy#EKbkN+`AX$jQjm1hM_-q>Y1Nz{K7f&Ab4MQXYavA zu|ZX3O;Z(FMhG#+5keSC2}%RI{Ellxbs(5kik1EY-8BOOxi@-%%kTm9pF%V&N{vcwOx=02urJ$H~db?9kNI z)acj`0C1wNmUHd_@#bTU0l?5z&8K9Ce5zbxXaIn*Mj`;9 zX&NEKw(T91Ji}BKIiIhpax6{(fH5vf*ufrmw=SWLP|7s((-M?!H~{1U@emh$lK}aI z^aB9^E(CJo6Tw|qHB%e4WXw*btemK2S(|BQdPgf(1@bM^#;Tk@-L+xn7nTBnjSZ1; zluYKL8Qb`fpytZT%E1GBi}F3cu(Y0_vaABY(*4!w(sE7$LRgj+0QhTm-q5vtJ_??B z*%96HX3MFQ4F&qRe&gpWSFaXj{qAhE@F#^pR2f$jI2(*yYQYYieq;qXHlwfVmKkSI#XGLPFg= z$z;l{Fm9Xz`ThO<7~|&V=F_K74-O6v3=H`FesBKvXPC4q4wctEe*BY9FP-o1a7-wW zI-HY>ZuPCoY=v&xd9SDS+N-bB9I3we z*+72iL3%wL4%gP!X5K*n5DJAF8XCO$MN~bl_xsLY8T>k#%Kg1QNY%sP@Z8*7XJ@Cb z>lovvrl!Wm#)*lEZL02e9Cg#)y`>krJF@$76J6YuqxSZ8!!U-1hDJw6gTY{1Tif#T zvNs>S^y0IQ7T@jaI9yfbdIwuIH9h^|M;{lMoYu-}oUuYTB}qboT_rh#u4kBUhQ531 z$$9|f7~Lu{e)E>cS;$ek=CdrjkU0oImK}Ve7oI;^)RGU63VkI#gd(c1gfS+|GGol= z^Vzn&zP`>F!x(FtMkz%I>AFrSO{G$M_UvJdnWm{IifNjZQdLzs=cZ}ew#^s=078f) zN$H)=wr$I@IOmciA%rZ;5<)17q9_WbRF-8zNIV|5ZJQ9nIk#;aW6T&Mgs7^TUequQ jNs`k4W;o~R5a;|~TvJGVzyM_}00000NkvXXu0mjfGAoD@ literal 5928 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 KMNUMnLSTZGl9_=3 diff --git a/screenshots/sc6.png b/screenshots/sc6.png deleted file mode 100644 index b7db313c51e5ba18228d02e06cb941fbda2dbc70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4760 zcmV;J5@+p+P)+Wb*(35+zAQ zK~#9!?Ob_WQ`fd$Cv!+*LMA{|Kp7Mj#R);HD1#%2tqR)u)T-^Ty|=xswY9_R?d_mG zt*y4Tef8Sf!<&u2*Ty4Qkh~@%*crF zA^kWU0^xGG^0q`$US2U^Kmdo$^6E2_NF)ZG+T0>nsWbzE10FHret!L)Tm7s*&)=gK zJC-OE?O*TQWzcJ!m7RhR(r9#H0|PZ$z02-&Iz3+?e*e9{^LRXmTWxJ^pKbqIr&TeT zbniVgj^kP#?$2X4HnqCkfA-QMlM@6A3KaI$=+CWM;TdiKaF`T^0iW;x{Hm4PKHt{8 z8p1G)LJ)``2n*r%S=b!jJ8!O~P$&Q(leM(AwgCo0fgm6tP$(4s{hf91f4Bi5i??-+ zATWX;2*MNMvQ|aX^l3C2?c}N4z<|C1-QS=8piQhu^7(vMvqcmu(m0O0Yo9iEHibel z7!CXO?U&Tl*vdmgLY6-BG?U3pn>#1x*immIZk?eA9hbE#l9Q${$y#W=Jb5ZNKrHBs zkx`GX(LMAo+ET2B+uf581R61X7yuL&UA!%k*x#zHt2mtRLKfW-G*g58{AzmYYl_gdA(>_4=+N%%e|32DzFu{pEKu69#jMw#svRwtoAw ziR(|bsRJ_V{L{8i=N2XX6Ow@lfzxJ z#cXYBG#NeE6hz>>1)qGHVJbSb^Q4R%95-*xj=?)#+H{?ulDdoqfBxIcBjx8l{qR7A zrgJJKg)Xd|t9c&DIk|V=K>+w}_byxE(&eiFz|YT*!(kmeyx&&7cHLXQTgM5628V|a zjf}Kj4hai&0NPgBTIkXQQc#yTJKUz`RxX#@1uoL*Ob$$l$LnmU(HK>#j{ZR+*Ry8E zteDTp+p^(soe=;kDsM^2>z6GIzq!8-x6YOvnl>xIT(3Q_ffdglxB-v4C-M@D4sjY8lSF}e&3|XAHFf=5@HVQ!?XYWQq1aepn z+m!zD!s>+hIBVl|YyakQ2G+Y@e!ivnYU$x4t{Dr37ZzZwI#OpK5C#B%)VE3+nR9|! zq&g)506=CB3}Hd@&3Y{Xo`VdC=q+CEYWBVd=M}QHRjJih(#>IWEEY>$U48iA@WClz z=gytqx9`APZ@vzI*$ln4HRjHacVB)a76~1+L)oF)xM?$nVe4LB>(Arb*A@$f?$pPu zZR?5dF=+UvUT2-&+w9=9JtNTb#A{CTz& zvW|_};ogaOr$=&7@~%tk2c=S3a;-FB;zVUfM{!B%w8W|0eq6g%@&Jdna{q=e)XTEo z{dzSMY3`OB-?HOugB|PB-zmJN8b9fols#(>G?D!16cP}G*=Rt10{?C-5+S13I!^Rh z?(PVKklR%Z6pKd3jIzIFbA$-9!cRE+4`hcsg|KVqJg{9GC@3t_sI@a^Bx}^#|M_^! z#fz8b%%0s{2i(J9mR~>e>GdP-pwd)k@4htbuS>Uo8J>OQ+>J&J!4M6O8P%^WJGaK3 zj}xA)3UuQY9V(4dsd6Z!DuKg{V8t3SbrYRpT`>>J@iWP)uidu=nRG(;JtQh&a_W) zZP&XWRHdgUC$D;E0R;dV6!qnoB@Bf0L~rf*)Bp9X?XyTINKc!ckv7LcQ4b&d4ggM` z$~${5{{f;T003~eq4{n@^Xa?->t*89Czd^vb+@6(Y&Ii677N~RubJqIP+=IjQex!# z1k|bbc1G&Tl@g6cU08JG(&eiFU^ZL&ar~}cy*6daRK&xcAe-y`JM) zo`w+c`SvwWp3K#1bxSfAI8^)bP)=U{SwE(q2dnLJjSueI?HqmmasM7`z1UGP2lwx} zzbz1E)p5-61cW0eOV_1^2w58=gf3qxrcjwHS7h4u+7Ab_FI_I4JUOAuEqJiwzn=m- zTDb?|b__b>d_f@)#Nw{-764=)%E>#M&tx)fT_KOLsR!aV_TVB65RRPP1jU{gqV5`K zbG0{a+$^uGo|iT!e&Tpr%gS4~&lQ~i?Pf*Hh-i17pwDAQo;{}v&>8fC!Xg4-N#;TT z$Uby5?`%Gk$>^aUSKP)qREH4qus^U)FO4D8Z5vStMBEPnbcc*YCR>XG#G<#~SQ8Q& zVqa^){It07u|k2M(`=DQ4{23;6(xW0mUKG3prDXSrU1a{ynH`D#shVtRJL=uJO{qv z@F2EA`!#4+wi5_-Sqsc&zOclp335e8fQWzJm~{OcHZ*GFh~XGu_Wl}NMe-1!8|CG< zDyzL21qE4KJKvxC`})%B^#H(RG9R>IbaYhKq6JpaowOKp8OFjeOsQ<&|HF@!x2hb8 zJ_gv-De-behgit(2Dd8{*UJmv0r~s2DO(bv}eBw=^(P%{%E&~7s05lp+Uwsej z6L)*FrB&X^RqVff@Im7xp;GSSO!C3;h{cDv5ApvD4BRnUFTI)(O7kK9hy-H>508!z z(Y>Fy3f@Xp#c1NusdHyd8Zku3#K59%uKBg-=nv=X^nIHwjd9}FZC*_~@cKtZa^mq= zT(2OGF~Ty|u1yQkR$n-~r%I{=mN+yjl#K|&x0}3zI4v}NWm-sk!Pbr6S7> zShOO2Vi=bMrjFZrUwx8u*VHR}$&O0N%uF2<+K*&xy>%hy;NjBd&aab5tcawASu@6l zaVf~qQu_VpyRO+!KPctpH?w$`KG}GvLQ6ajh%>@cCkyb3f9BlMIvth?bxrY+UFQ{A z#15IfBx~u5ZME;6YQ`~U@URG>Joo>0OSBZ;koY<2&%YVC^Zl<%J4it(e_0x*&)c*4 zCmGHX@{R4i%i^Vlq^(&um;Kv`Z$GOs31eqvt$JMyA8x8y^Xt0HFyd{bjF-bO?lhidUNa1 zTlBHZ)~;W_d^C^L>qWQk&@RH~jsoKK*UA*E_+^!(401l~m|Kc>ZP;-MAOHNT84-ToqUK}(2n-an z*?xWZyF!cnPOET2Vsi4>PzI0~96`XKs4nunE9KX3=ptsNrHC4@T$dXAC>l>Dk+eE}ON-1~ ze4Oa`^N=zm$c&mfb_Ssw`|cYS~xxPuQSMit0cK!{#1RRa9UalckUjx ze)ZC&zt(*9ld8}83I+h9MvVvz5dJ5lwdBCGf4n#A?zUHVRvG_@ryeSW($Xp~E4%57 ztN3DvzEl1q5?p%x-4~AgblfLC#C?eS#D};Kai8>ptN0RE`sUO_rMP@o0mWri8jb3M z?BT_1w)6^d48vSj^@-1p`w;hu4{;yjKJg*$L)?eBPke~`5btB5g)aK=i*3)1;*bDH zG*S4-QG-~2B)#xnHnV6{%A8q~V!}mC3=C~GH!q(#e)_ts=X?ahppZ5nE#X7l6Wo47=D)UP?x2o}g44Sttwx$CB5vBe7vCF`yLHo1iOw^47HR&M z8}k3SR>d0`Li8a|y}Bw^dwTQwT}4&(P144Onj2S(tNg~zP94W6zw}!>4zwZ5Ki;r} zRaRK3A^?Cna_yJzr>L)7tT!NXVA=;CzY;FV|3!|I`Jt;@iQew@JG!cqITeX36OzKRYi=1Hq`!_UyFNQBwE!|H6}Zo; zxL8ki|6m5lZZ+r}URk7TsBDGkp#B`vgCTD2XlcCH_=kzvdxHg7UvT3bj7QGD`1i5H zJ`h|Zl^Q`55y=3}zdZV~p$s80rDRJ85iSgrx3pEwz4u7*N?@kvPC)Bl-Qf64(wCU3($Hk8s zfVb3?mHbrRW&#pBDlsvlqvXslavaREnl^4^d}{I&3F9Mpnu?MN#pC#WpglYEb~ZD{ zpR{Jva>3;tTlf9kYWlN!P5W$S@94Ol=$opgoS5{dGSa8U4jn+LFRxYo`Cgvm_1{Qz z=PvSVdpBM`F(`U?WGGvz{?jK3Jeq7~WLDOfU9K+!pV%Sp%L?+M#@W4!lmY;3He03A m`f%~8@VHzb2tN69$iD%xc#&CVzSQmj0000