diff --git a/BUGS b/BUGS deleted file mode 100644 index b95ac04..0000000 --- a/BUGS +++ /dev/null @@ -1,33 +0,0 @@ -###################################################### -# Tcl/Tk project Manager -# Distributed under GNU Public License -# Author: Sergey Kalinin banzaj28@yandex.ru -# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru -###################################################### - -- Файл проекта, убрать расширение -- Глюки подсветки - -* Изменение размера шрифтов для редактора вступает в силу только после -перезагрузки, что не очень-то удобно. - -* При запуске приходится делать лишнее усилие по открытию root -элемента в TreeView. Сделай это по умолчанию автоматом, плиз. И чтобы -это также работало при команде refresh. - -* При вводе текста если ввести proc, то твой редактор подставит -автоматом скобки. Вообще-то это не очень правильно, к примеру я -ставлю после функции комментарий вида } ;# proc testFunct -И вот тут он вставляет не нужные мне сейчас ковычки. По идеи надо в -balloon окне показать формат этой команды (также для все остальных). -Посмотри как это сделано в VisualBasic версии > 4. А так есть еще -один баг. Если у меня перед командой proc стоят пробелы, то точно -такое же их количество должно стоять и после последней закрывающей -скобкой иначе все форматирование едит и надо править ручками. - -- При установки переменной editor(wrap) значения none на длинных строках при появлениии нижнего скролбара наблюдается глюк пока не объяснимый :( -Скрол бар начинает мерцать (то появиться то исчезнет) - - - - diff --git a/CHANGELOG b/CHANGELOG index efaa646..c9431f9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,449 +1,33 @@ -########################################################## -# Tcl/Tk Project Manager -# Distributed under GNU Public License -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru -# Author: Sergey Kalinin banzaj28@yandex.ru -########################################################## - -0.4.6 -25.05.2022 -- Added linux shell highlight -- Added "Close" button into file tab - -0.4.5 -15.03.2018 -- Added sort procedure for projects tree - -13.03.2018 -- Added small toolbar into project tree - -12.03.2018 -- Added insert base64 encoded image into source code (press "Control+I" or popup menu) - -06.03.2018 -- Added procedure arguments into tree -- Change read config procedure (error fixed) -- Fixed error when project running -- Added new Menu button into tollbar and Hide/Show options into config - -05.03.2018 -- Fixed "Add new file" toolbar button press -- Fixed "Control+S" hotkey error - -02.03.2018 -- GoToNumber entry replace - -24.02.2018 -- Fixed Add to project procedure -- Fixed hot key Cntrl+S saved prosedure when saved opened file from File Browser -- Refactoring all Tree procedures -- Added GoTo line into toolbar -- Fixed fileinfo update when tree one click -- Fixed bug with opened files have extention is a upper case - -22.02.2018 -- Refactoring Settigs procedure source code -- Some changes into messages files (localisation) -- Fixed AddToProj procedure for file browser tree -- Disable OpComplite procedure - -20.02.2018 -- Refactoring auto update file structure (tree). Now structure updated when file was saving -- Refactoring "Settings" dialog -- Fix saving "Show dot files" option -- Fixed correctly highlightning procedure names - -19.02.2018 -- Fix "New file" ctrl+n hotkey - -18.02.2018 -- Fixed edit files into root node from file browser tree -- Change "Delete project" dialog and procedure - -17.02.2018 -- Refactoring "Add New Projects" "Project Settings" (e.t.c.) dialogs -- Added "Add as new project" dialog for file browser -- Add popup menu for file browser -- Fixed some highlight bug - -14.02.2018 -- Added saving main window geometry into projman.conf file when close programm -- Fixed AutoComplite precedure for TCL/TK-projects -- Added colored icon for main window -- Fixed "Close all" procedure if opened files from projects and file browser -- Fixed parsing some procedure name like ::proc::name or proc_na::me(aa) and parameters {{} {} {}} -- Added opening last active project when project run -- Fixed Windows OS running without installation - -13.02.2018 -- Added gray theme -- Fixed work with file from directory (FileBrowser function). - - -08.02.2018 -- Auto indent added for () [] braces -- File Browser added. Now we will edited any file without project - -07.02.2018 -- Tcl, Perl, PHP highlight comment procedure fixed -- Help file Text.html utf-8 encoding -- Change hotkeys "Control+," "Control+." "Control+/" (commect selected, uncoment selected, select all) -- Add new function Comments/Uncomment selected text - -05.02.2018 -- Added binding mouse button: click on notebook tab highlight opened file name in tree -- Change "Paste from Clipboard" function -- Change popup editor menu (undo, redo, copy, paste, cut functions) -- Change Logo and About dialog -- Russian help files was conerting into utf-8 encode -- Change help file load procedure - -04.02.2018 -- Fixed paste text highlight -- Fixed setting edited flag when paste the text from buffer - -22/01/2018 -- Remove ctags support -- Added gitk (gui for git) support - -11/01/2018 -- Changes color setting dialog into "Setting" -- Actualizing information into "About" dialog -- Corrected color settings for all widgets -- Change default color scheme -- Remove ctag, change autocomplitt procedure - -0.4.4 - -19/10/2015 -- Fixed install.tcl script - -0.3.7 - -18/10/2007 --Added text encoding support from koi8-r,cpp1251,cp866 to UTF-8 - -20/02/2007 -- Fixed settings dialog -- Fixed saved settings parameter - -27/01/2006 - -- Remove SuperText widget now use native TEXT - -29/12/2005 -- Added RUBY projects support -- Fixed remove project if some files is open in editor -- Add function for added interpritator into new like #!/usr/bin/wish - -0.3.6 - -18/02/2005 -- Fixed correctly file attributes in WIN OS as like a date and time - -01/02/2005 -- Added DOT-file support - -07/12/2004 -- Added PHP projects support - -0.3.5 - -01/11/2004 -- Added Rivet and TclHttpd template files support -- Removed BWidget documentation -- Fixed bug with One Click mouse button on folder in TreeWidget - -25/10/2004 -Fixed bug with PageRise function - -27/09/2004 -- Added "Create New Directory" dialog into main and pop-up menu - -14/09/2004 -- Added image viewer -- Fixed close projman if was not opened projects - -0.3.4 -15/07/2004 -- Fixed closes "About" window with popup menu - -13/04/2004 -- Added O'Caml (ML) support (not stable) -- Fixed settings dialog - -0.3.3 - -04/12/2003 -- Fix perl source code navigation ('sub' keyword) - -22/09/2003 -- Added fortran project support -- Added STDERR output in text widget when project or file compile (running) - -10/07/2003 -- Fix buf with runing TkCVS and other modules - -07/07/2003 -- Added PERL project support -- Added "Control+ PageUp" and "Control+ PageDown" key switching editors tabs -- Added popupmenus for tabs - -0.3.2 -20/12/2002 -- Fixed "Open project" from any directoryes, now files don't copying into default projects dir -- Fixed "Delete project" procedure -- Change work dir in windows - now .projman -- Small change install dialog - -15/12/2002 -- Fixed error with delete file -06/12/2002 -- Fixed error with comments highlight in JAVA-source - -0.3.1 - -20/11/2002 -- Added comand line option in compiler string (for projects) -- Fixed file compile procedure -- Fixed add (create new) file to project procedure. Now file created in any location. - -05/11/2002 -- Fixed error with run project on press F9 key -- Fixed error with different project location -- Fixed "Select All" procedure -- Small bugs fixes in projects.tcl -- Code cleaning -- Fixed Save/Close editing file - -0.3.0 - -28/10/2002 -- Correct main menus and popup-menus ("file" and "projects" menus) - -25/10/2002 -- Fixed settings dialog - now full working :) -- Added JAVA files and project compiling - -14/10/2002 -- Remove editor.conf, now all setting placement in projman.conf need replace old ~/.projman/projman.conf file -- Fixed "Settings dialog" - -16/09/2002 -- Changed TCL highlight procedure - -10/09/2002 -- Added JAVA project support like source code highlightning, project managment, class navigation - -0.2.5 - -02/09/2002 -- New release VisualRegexp added (thanks Laurent Riesterer) - -17/06/2002 -- Bug in Help procedure (
 tag) fixed (by  Alexander Danilov) 
-
-0.2.4
-11/06/2002
-- Fixed copying french documentation files
-- Now interface language setting on $env(LANG) variable (system lacale) and HOMEPATH HOMEDRIVE vars (for windows)
-- Change Procedure Complitition proc
-- Change load modules procedure
-
-05/06/2002
-- Change tcl highlight procedure for braces and options (by Korwin)
-
-03/06/2002
-- Small GUI changes (Tree view, AboutBox)(by  Alexander Danilov)
-- Fixed help files path in install.tcl (by  Alexander Danilov)
-- Added "Close" button into toolbar
-- Change Settins dialog (now self window) - DON'T WORKING developers only
-- Code clean (procedure.tcl)
-- Changes NoteBook title (save/modify file veiew)
-
-0.2.3
-30/05/2002
-- Added icon for XML files
-- Added XML highlightning (used highlight/html.tcl)
-- Added "Select All" command into "Edit" menu
-- Fixed "Overwrite/Insert" procedure
-- Fixed On/Off toolbar
-
-
-21/05/2002
-- Rewrite all TCL and TK docs by Alexander Danilov 
-
-0.2.2
-17/05/2002
-- Fixed calling external modules procedure
-
-0.2.1
-
-14/05/2002
-- Fixed location help files
-- Added menu support into spec
-
-15/04/2002
-- Changes highlight procedure - now all highlight files puts into /highlight directory and loaded automaticaly and now creation new highlight module so easy...
-- Added TeX highlightning
-
-09/04/2002
-- Added french localisation and Tcl help by Michel SALVAGNIAC
-
-01/04/2002
-- Added german localisation by Roman Schaller 
-
-0.2.0 (26/03/2002)
-
-- Added Close opened file procedure when Delete file
-- Fix calling Ctags module if ctags package not installed
-- Added paned windows (for changes Tree size)
-
-22/03/2002
-- Autocomplitition procedure (by Alexander Dederer (aka Korwin))
-- Added procedure names and parameters complitition
-- Changed Create New File dialog
-- Fixed directory setings and created into Windows
-- Added CTags support (*nix only)
-- Fixed error with Pop-Up menu
-- Added Edit pop-up menu into editor window
-- Small fix with some keys binding
-- Small fix with quit ProjMan and saved modifing files 
-
-0.1.5 (01/03/2002)
-- Fix autoindent text procedure
-- Include updated ducumenation (by Alex Danilov)
-
-0.1.4 (20/02/2002)
-- Fix some problem with Close/Open file
-- Added bracket highlightning and corsor jumping for bracket!!! (by Korwin)
-
-07/02/2002
-- Added refresh Tree procedure and ToolBar On/Off procedure
-- Some changes menu structure
-
-05/02/2002
-- Changed GUI for installiation dialog
-- Added english ProjMan user manual
-
-04/02/2002
-- Changes documentation structure, now documentation split by chapters and languages
-- Changes Help procedure for working with new directory structure
-- Include new Tcl documentation by Alexander Danilov
-- Changes installiation procedure - added select Documentation language for install
-- Fixed problem with encoding russian documentation in Windows OS
-- Fixed problem with names like "proc::name" into Help system
-- Added Tcl/Tk and BWidget english documentation
-
-0.1.3 (31/01/2002)
-- Replase SelectDir on standart dialog tk_chooseDirectory
-- Fixed error into TkDIFF+ with convert date procedure
-- Added find history in Find dialog, and now used F3 for repeat searching
-- Fixed hot keys bindings into Find (F3, Enter) and Replace (F4, Enter) dialogs
-- Fixed changing "File modify" flag after successfully replaceing
-
-0.1.2 (29/01/2002)
-- Fix error with "Close all" procedure if raised About (Debug, Settings e.t.c.) dialog
-- Translate TODO on English
-
-24/01/2002
-- Added mouse wheel support on Tree widget (by Korwin)
-- Added "editor.conf" for change editor preferences and source highlightning colors
-
-0.1.1 (23/01/2002)
-- Fix correct cursor position viewed
-- Added highlightning comments like ";#" (by Korwin)
-
-22/01/2002
-- Added raised notebook tab when click mouse on opened file name
-- Fix correct windows path to tcl interpritator into Project Setting dialog
-- Added TkREGEXP module (aka VisualREGEXP) from Laurent Riesterer
-- Added new diff'ing module TkDIFF+ (with compare dirrectoryes) from Laurent Riesterer
-- Added TkREGEXP and TkDIFF+ documentation
-
-19/01/2002
-- Fix callback links procedure into help system (thanks Dederer)
-
-0.1.0 (17/01/2002)
-- Added graphical installiation
-- Corrected path for work in windows
-
-16/01/2002
-- Fix error with create and select directory into install.tcl
-- Some Windows bugs fix
-- Add invoke tkDiff for one or two selected files
-- Add saved all files before run project
-
-0.0.19 (15/01/2002)
-- Add "Select Directory" procedure into settings page
-- Add "Open project" procedure for adding existing project
-- Add invoke TkCVS for Active project
-- Fix error with open files with names like "some.file.name"
-- Code cleaning
-
-14/01/2001
-- Add close window procedure into "Settings" and "Project Settings" dialog
-after pushed "Save" button
-
-0.0.17 (11/01/2002)
-- Fix error with "New file" in new project procedure
-- Fix small errors
-
-10/01/2002
-- Replaced hotkey "Ctrl-T" with "Ctrl-M". And now "Control-T" reverses the order of the two
-characters to the right of the insertion cursor.
-- Fix small bug
-
-09/01/2002
-- Added "Interface Language" select procedure into "Settings" dialog
-- Fix error with close opening and modifing file procedure
-- Fix read procedure with names "Proc::Name" and "Proc_name"
-- Fix Insert/Overwrite editor mode
-
-08/01/2002
-- Fix error in notebook with mouse button click
-- Changes mouse click procedure in Tree widget
-
-07/01/2002
-- Added "Print file" command
-- Added "Print Selected text" command
-- Fix error with "Save Setting" procedure (CheckBox verify)
-- Fix error with "Find dialog" "Replace dialog", e.t.c. if no files opened
-- Added "Editor font" option
-
-04/01/2002
-- Fixed many small bugs
-- Fix error with Ctrl+T keys
-- Fix error with "Save As" procedure
-
-03/01/2002
-- Added THANKS file, and view this into About window
-- Fix problem with execute external browser from About window
-- Fix create new text file in "Add To Project" dialog
-- Fix some errors in MakeRPM procedure, but not working yet :(
-    - Fix error with select active project after creating new project
-    - Fix small error with delete project procedure
-    - Fix uncorrect cursor position counter into editor    
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
+
+20/06/2022
+    - Beginning the project
+
+13/07/2022
+    - Added open file dialog
+    - Added open folder dialog
+    - Added save file function
+    - Added a command line argument support (open file(s) or folder(s))
+    - Added TCL and BASH highlite
+    - Added a configuration file (progman.ini) and a procedure for reading/saving them
+
+14/07/2022
+    - Added On/Off viewing toolbar
+    - Added On/Off viewing line numbers bar
+    - Added a Comment/Uncomment text support
+    - Added text auto format
+
+15/07/2022
+    - Added a close file (tab) function with Ctrl+w
+    - Added a insert/remove the tabspace
+    - Fixed comment/uncomment selected text
+
+20/07/2022
+    - Fixed indent text
+    - Fixed insert " and '
+    - Added a main window geometry option into config, and autosave current geometry
diff --git a/COPYING b/COPYING
index 8ecb6c5..42a501e 100644
--- a/COPYING
+++ b/COPYING
@@ -1,341 +1,6 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-        Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    
-    Copyright (C) 19yy  
-
-    This program 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.
-
-    This program 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  , 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
diff --git a/INSTALL b/INSTALL
index bc2c2b1..42a501e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,12 +1,6 @@
-#########################################################
-#                Tcl/Tk Project Manager
-# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru
-# Author: Sergey Kalinin banzaj28@yandex.ru
-#########################################################
-
-1. Install Tcl/Tk, BWidget first
-3. Run install.tcl script for copying files, or use RedHat Package Manager
-3. Type from the command line 'projman' and enjoy
-
-
-
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
diff --git a/KNOWBUG b/KNOWBUG
deleted file mode 100644
index f248ff1..0000000
--- a/KNOWBUG
+++ /dev/null
@@ -1,12 +0,0 @@
-######################################################
-#                Tcl/Tk Project Manager
-#        Distributed under GNU Public License
-# Author: Sergey Kalinin banzaj28@yandex.ru
-# Copyright (c) "https://nuk-svk.ru", 2018, https://bitbucket.org/svk28/projman
-######################################################
-
-1. BaseALT SimplyLinux - Bwidget ScrolledWindow dont work with options:
--background
-In Debian - it's all right
-
-
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..eb02016
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,219 @@
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. 
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+0. Definitions.
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This program 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 program 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, see .
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+      Copyright (C)   
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see .
+
+The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .
diff --git a/README b/README
deleted file mode 100644
index 2460e6c..0000000
--- a/README
+++ /dev/null
@@ -1,52 +0,0 @@
-######################################################
-#              Tcl/Tk Project Manager                #
-#              Distributed under GPL                 #
-# Author: Sergey Kalinin, http://nuk-svk.ru          #
-######################################################
-
-ABOUT
-
-Tcl/Tk Project Manager is a full IDE for programming in TCL/Tk.
-It includes a project and file manager, a source editor with
-syntax highlighting and procedure navigation, a context-sensitive
-help system, and much more.
-Working an Unix (Linux tested) and Windows.
-
-![ProjMman 0.4.6](https://nuk-svk.ru/wp-content/uploads/2018/02/projman_0.4.5_small.png "ProjMan 0.4.6")
-
-INSTALLATION
-
-See INSTALL
-
-REQUIREMENTS
-
-For UNIX-like OS
-Tcl/Tk >= 8.6 http://tcl.tk
-BWidget http://sourceforge.net/projects/tcllib
-tcl-img - for image viewer
-
-For WINDOWS
-ActiveTcl http://tcl.activestate.com
-
-CREDITS
-
-Sergey Kalinin - main project programmer and coordinator
-banzaj28@gmail.com
-http://nuk-svk.ru
-
-Laurent Riesterer - VisualREGEXP and TkDIFF+ parts
-laurent.riesterer@free.fr
-http://laurent.riesterer.free.fr
-
-Alexander Danilov - rewrite all documentation
-daapp@chat.ru
-
-Alexandr Dederer (aka Korwin) - many features and bugs fixed
-dederer-a@mail.ru
-
-
-
-
-
-
-
diff --git a/README.md b/README.md
index d136533..42a501e 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,6 @@
 ######################################################
-#              Tcl/Tk Project Manager                #
-#              Distributed under GPL                 #
-# Author: Sergey Kalinin, http://nuk-svk.ru          #
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
 ######################################################
-
-ABOUT
-
-Tcl/Tk Project Manager is a full IDE for programming in TCL/Tk.
-It includes a project and file manager, a source editor with
-syntax highlighting and procedure navigation, a context-sensitive
-help system, and much more.
-Working an Unix (Linux tested) and Windows.
-
-![ProjMman 0.4.5](https://nuk-svk.ru/wp-content/uploads/2018/02/projman_0.4.5_small.png "ProjMan 0.4.5")
-
-INSTALLATION
-
-See INSTALL
-
-REQUIREMENTS
-
-For UNIX-like OS
-Tcl/Tk >= 8.6 http://tcl.tk
-BWidget http://sourceforge.net/projects/tcllib
-tcl-img - for image viewer
-
-For WINDOWS
-ActiveTcl http://tcl.activestate.com
-
-CREDITS
-
-Sergey Kalinin - main project programmer and coordinator
-banzaj28@gmail.com
-http://nuk-svk.ru
-
-Laurent Riesterer - VisualREGEXP and TkDIFF+ parts
-laurent.riesterer@free.fr
-http://laurent.riesterer.free.fr
-
-Alexander Danilov - rewrite all documentation
-daapp@chat.ru
-
-Alexandr Dederer (aka Korwin) - many features and bugs fixed
-dederer-a@mail.ru
-
-
-
-
-
-
-
diff --git a/THANKS b/THANKS
deleted file mode 100644
index 5bbea96..0000000
--- a/THANKS
+++ /dev/null
@@ -1,11 +0,0 @@
-Alexander Danilov, daapp@chat.ru (documentation rewrite)
-Laurent Riesterer, laurent.riesterer@free.fr, http://laurent.riesterer.free.fr (VisualRegexp module)
-Alexander Dederer (aka Korwin) dederer-a@mail.ru (many features and bugs fixed)
-Igor Didkovsky, ididkovsky@mail.ru, http://langos.lrn.ru/ (programm tester)
-Oleg S. Gints (pogramm tester)
-Victor Wagner (aka Vitus), http://www.ice.ru/~vitus
-Serg Oskin, http://oskin.msk.ru/
-DataX/FLORIN Inc. http://www.florin.ru (documentation)
-Peter Campbell, http://fastbase.co.nz/edit (ML-editor)
-Alexey Kakunin, http://kakunin.chat.ru/ (TCL Developer Studio)
-
diff --git a/TODO b/TODO
index e69de29..e68d068 100644
--- a/TODO
+++ b/TODO
@@ -0,0 +1,8 @@
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
+
+2. Подстветку текущей вкладки и элемента в дереве
diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml
deleted file mode 100644
index 184fa9e..0000000
--- a/bitbucket-pipelines.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-# This is a sample build configuration for Other.
-# Check our guides at https://confluence.atlassian.com/x/5Q4SMw for more examples.
-# Only use spaces to indent your .yml configuration.
-# -----
-# You can specify a custom docker image from Docker Hub as your build environment.
-#image: efrecon/tcl
-image: appropriate/curl
-
-pipelines:
-  default:
-    - step:
-        script:
-          - tar -czvf projman-latest.tgz *
-          - curl ftp://nuk-svk.ru --user $FTP_USER:$FTP_PASS --upload-file projman-latest.tgz
\ No newline at end of file
diff --git a/contributors.txt b/contributors.txt
deleted file mode 100644
index 0b688f0..0000000
--- a/contributors.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Sergey Kalinin
-
diff --git a/debian/.debhelper/generated/projman/installed-by-dh_install b/debian/.debhelper/generated/projman/installed-by-dh_install
new file mode 100644
index 0000000..59f8e3a
--- /dev/null
+++ b/debian/.debhelper/generated/projman/installed-by-dh_install
@@ -0,0 +1,19 @@
+./projman
+./lib/config.tcl
+./lib/editor.tcl
+./lib/files.tcl
+./lib/gui.tcl
+./lib/highlight.tcl
+./lib/image_library.tcl
+./lib/menu.tcl
+./lib/notebook.tcl
+./lib/procedure.tcl
+./lib/tree.tcl
+./lib/msgs/de.msg
+./lib/msgs/en.msg
+./lib/msgs/fr.msg
+./lib/msgs/ru.msg
+./theme
+./README.md
+./debian/projman.desktop
+./projman-48.png
diff --git a/debian/.debhelper/generated/projman/installed-by-dh_installdocs b/debian/.debhelper/generated/projman/installed-by-dh_installdocs
new file mode 100644
index 0000000..c2dd8f9
--- /dev/null
+++ b/debian/.debhelper/generated/projman/installed-by-dh_installdocs
@@ -0,0 +1,3 @@
+./README.md
+./CHANGELOG
+./TODO
diff --git a/debian/build-deb.sh b/debian/build-deb.sh
new file mode 100644
index 0000000..7689cf8
--- /dev/null
+++ b/debian/build-deb.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+cd projman_2
+
+VERSION=$(grep Version projman.tcl | grep -oE '\b[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}\b')
+RELEASE=$(grep Release projman.tcl | grep -oE '\b[0-9A-Za-z]{1,3}\b')
+
+mv projman.tcl projman
+
+sed -i "s+^set\ dir(lib)+set\ dir(lib)\ /usr/share/projman/lib ;#+g" projman
+   
+sed -i "s+\[pwd\]+/usr/share/projman+g" projman
+   
+tar czf ../projman_${VERSION}.orig.tar.gz .
+
+dpkg-buildpackage
+
+#cp ../projman_${VERSION}-${RELEASE}_amd64.deb /files/
+
+mv projman projman.tcl
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..349f750
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+projman (2.0.0-alpha) stable; urgency=medium
+
+  * Initial release
+
+ -- Sergey Kalinin   Wed, 20 Jul 2022 16:56:31 +0300
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+8
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d4fde27
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,14 @@
+Source: projman
+Section: Develop
+Priority: optional
+Maintainer: Sergey Kalinin svk@nuk-svk.ru
+Build-Depends: debhelper
+Standards-Version: 3.9.6
+Homepage: https://nuk-svk.ru
+Vcs-Git: https://git.nuk-svk.ru/projman.git
+
+Package: projman
+Architecture: any
+Depends: tcl(>=8.6), tk(>=8.6), tcllib, tklib ${misc:Depends}
+Description: Projman is a yet another editor
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..020fcd2
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,15 @@
+Projman is a yet another editor
+
+Copyright: GPL
+
+Information from the binary package:
+Name        : projman                      Relocations: (not relocatable)
+Version     : 1.0.3                        Vendor: SVK
+Release     : 1                             Build Date: Пн 17 сен 2018 11:49:36
+Install date: (not installed)               Build Host: alt-ws.localdomain
+Group       : System                        
+Size        :                            License: GPL
+URL         : https://bitbucket.org/svk28/rac-gui
+Summary     : Projman is a yet another editor
+Description :
+Projman is a yet another editor
diff --git a/debian/dirs b/debian/dirs
new file mode 100644
index 0000000..c650945
--- /dev/null
+++ b/debian/dirs
@@ -0,0 +1,5 @@
+usr/bin
+usr/share
+usr/share/projman
+usr/share/projman/lib
+usr/share/projman/lib/msgs
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..f029d09
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1,4 @@
+README.md
+CHANGELOG
+TODO
+
diff --git a/debian/files b/debian/files
new file mode 100644
index 0000000..44a37ab
--- /dev/null
+++ b/debian/files
@@ -0,0 +1,2 @@
+projman_2.0.0-alpha_amd64.buildinfo Develop optional
+projman_2.0.0-alpha_amd64.deb Develop optional
diff --git a/debian/install b/debian/install
new file mode 100644
index 0000000..ee1639a
--- /dev/null
+++ b/debian/install
@@ -0,0 +1,7 @@
+projman		/usr/bin/
+lib/*.tcl	/usr/share/projman/lib
+lib/msgs/*	/usr/share/projman/lib/msgs
+theme	/usr/share/projman/
+README.md /usr/share/doc/projman
+debian/projman.desktop	/usr/share/applications
+projman-48.png /usr/share/pixmaps
\ No newline at end of file
diff --git a/debian/postinst b/debian/postinst
new file mode 100755
index 0000000..a7c3d69
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+# Install the desktop entry
+if hash update-desktop-database 2>/dev/null; then
+        update-desktop-database
+fi
diff --git a/debian/projman.debhelper.log b/debian/projman.debhelper.log
new file mode 100644
index 0000000..7dd681e
--- /dev/null
+++ b/debian/projman.debhelper.log
@@ -0,0 +1,86 @@
+dh_prep
+dh_installdirs
+dh_prep
+dh_installdirs
+dh_prep
+dh_installdirs
+dh_install
+dh_prep
+dh_installdirs
+dh_install
+dh_prep
+dh_installdirs
+dh_prep
+dh_installdirs
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_prep
+dh_installdirs
+dh_install
+dh_installdocs
+dh_installchangelogs
+dh_compress
+dh_makeshlibs
+dh_installdeb
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/projman.desktop b/debian/projman.desktop
new file mode 100644
index 0000000..474f212
--- /dev/null
+++ b/debian/projman.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=ProjMan
+GenericName=Text Editor
+Comment=A source editor with syntax highlighting and procedure navigation, a context-sensitive help system, and much more.
+Exec=projman %F
+Terminal=false
+Type=Application
+StartupNotify=true
+MimeType=text/plain;
+Categories=Development;TextEditor;
+Icon=projman-48
diff --git a/debian/projman.substvars b/debian/projman.substvars
new file mode 100644
index 0000000..978fc8b
--- /dev/null
+++ b/debian/projman.substvars
@@ -0,0 +1,2 @@
+misc:Depends=
+misc:Pre-Depends=
diff --git a/debian/projman/DEBIAN/control b/debian/projman/DEBIAN/control
new file mode 100644
index 0000000..8d532af
--- /dev/null
+++ b/debian/projman/DEBIAN/control
@@ -0,0 +1,10 @@
+Package: projman
+Version: 2.0.0-alpha
+Architecture: amd64
+Maintainer: Sergey Kalinin svk@nuk-svk.ru
+Installed-Size: 1563
+Depends: tcl (>= 8.6), tk (>= 8.6), tcllib, tklib
+Section: Develop
+Priority: optional
+Homepage: https://nuk-svk.ru
+Description: Projman is a yet another editor
diff --git a/debian/projman/DEBIAN/md5sums b/debian/projman/DEBIAN/md5sums
new file mode 100644
index 0000000..6c4082f
--- /dev/null
+++ b/debian/projman/DEBIAN/md5sums
@@ -0,0 +1,1188 @@
+befea9c4c9ff366fc629cce7d570180b  usr/bin/projman
+25b4b36c146d8487c67335a6ba7196ee  usr/share/applications/projman.desktop
+6aed945963afd0b3af91799a98bb88f0  usr/share/doc/projman/README.md
+f2239f0da0b45993068a81da2bf0b697  usr/share/doc/projman/TODO
+60523609f12aee797d23fef483caa543  usr/share/doc/projman/changelog.Debian.gz
+6aac8eb9be577b2cfb92879c1624c100  usr/share/doc/projman/changelog.gz
+a921ef4e2afbf943067f7e6367933ea6  usr/share/doc/projman/copyright
+adf7acefffc9aafb75c547c3f709151c  usr/share/pixmaps/projman-48.png
+36b71be3bcba8204a4e0d9110b6a1979  usr/share/projman/lib/config.tcl
+0db76e1ea4fea8b31315bd0c15923bf8  usr/share/projman/lib/editor.tcl
+36e52b104735f9d2c93f22ebbddf2e74  usr/share/projman/lib/files.tcl
+6b08d8ae736a440117e2c8d8ba0c09a9  usr/share/projman/lib/gui.tcl
+23837deeaf6b7a826f4f09f81c810d39  usr/share/projman/lib/highlight.tcl
+59286636b602f256a8f3ed27e063b2b4  usr/share/projman/lib/image_library.tcl
+131e52835bf50eeb620ae955575e7f91  usr/share/projman/lib/menu.tcl
+33cbd9965037817d391470825c32fe28  usr/share/projman/lib/msgs/de.msg
+5c92c4905634b89ee76d3a4fdcab3e7c  usr/share/projman/lib/msgs/en.msg
+dd4437a165e16adcb9206721abe8ba31  usr/share/projman/lib/msgs/fr.msg
+830352a334e033602989eb274699bf2e  usr/share/projman/lib/msgs/ru.msg
+73c91d850b3386fbff66203d0f9d7ff5  usr/share/projman/lib/notebook.tcl
+ade1ff714f7ab9bcb85c620ed9cebf55  usr/share/projman/lib/procedure.tcl
+3205e12f8c37ca39dece4c659ad555c3  usr/share/projman/lib/tree.tcl
+ba2707bd5065bc93a0faae79377cd703  usr/share/projman/theme/adapta/LICENSE.md
+5e2e4663c47256f0aeb510700ba344fb  usr/share/projman/theme/adapta/adapta.tcl
+6ad6ebb0eeafc39a6cc3f41fc128a626  usr/share/projman/theme/adapta/adapta/arrow-down-hover.png
+0d38251d92c7d5ca89a44255a13bedf2  usr/share/projman/theme/adapta/adapta/arrow-down-pressed.png
+e6f1d6e2953723bb677e9d33ad188d5c  usr/share/projman/theme/adapta/adapta/arrow-down.png
+7e7024831ca31c89448df95f55b73085  usr/share/projman/theme/adapta/adapta/arrow-left-alt-hover.png
+f581afba1cd5ddee1fd19a957bd31568  usr/share/projman/theme/adapta/adapta/arrow-left-alt-insensitive.png
+6faa14c8c783ed4f590302ada5800f32  usr/share/projman/theme/adapta/adapta/arrow-left-alt.png
+6ebb869b1ca4a706a282bd76fae01525  usr/share/projman/theme/adapta/adapta/arrow-left-insensitive.png
+d18ebbf2ed7cee6c9f042e1574e49822  usr/share/projman/theme/adapta/adapta/arrow-left.png
+c97ced0bdcf4079f8a07e850bc66bbc1  usr/share/projman/theme/adapta/adapta/arrow-right-alt-hover.png
+941cbe069715d06be98d262378f89185  usr/share/projman/theme/adapta/adapta/arrow-right-alt-insensitive.png
+14c387a72499a479e13f5be02f613085  usr/share/projman/theme/adapta/adapta/arrow-right-alt.png
+838ba83702c839c47864a6fe0b8c190d  usr/share/projman/theme/adapta/adapta/arrow-right-insensitive.png
+5c87f0906272055b0ab1949275a3158c  usr/share/projman/theme/adapta/adapta/arrow-right-selected.png
+fe13abcda5fc7d9329b762c43bf9eb2a  usr/share/projman/theme/adapta/adapta/arrow-right.png
+c442f09ab16a1396902478e57aa59d57  usr/share/projman/theme/adapta/adapta/arrow-up-hover.png
+7354ade3141ae0c84cf81d62fb35617a  usr/share/projman/theme/adapta/adapta/arrow-up-pressed.png
+3d7b146a06737dbc695fde33fe5acf2c  usr/share/projman/theme/adapta/adapta/arrow-up.png
+a31ac4bc594f249c1ab8f36dbeec85ef  usr/share/projman/theme/adapta/adapta/button-active.png
+f85814fbb46623eb4beed32b9f258c4d  usr/share/projman/theme/adapta/adapta/button-hover.png
+004e69b5e2c5b196534e658c0eaf44a7  usr/share/projman/theme/adapta/adapta/button-insensitive.png
+935b430f4de19f71247e47ac684ab827  usr/share/projman/theme/adapta/adapta/button-unshade-prelight.png
+e002d5782de42c363daf0ec4268ea578  usr/share/projman/theme/adapta/adapta/button-unshade-pressed.png
+a869ea853f5d7b122889b0c7353e6fc8  usr/share/projman/theme/adapta/adapta/button-unshade.png
+65b3a1447ab565b0259e205ddac23cc1  usr/share/projman/theme/adapta/adapta/button.png
+85a050d23929f4f4311a5fe6b3178d3e  usr/share/projman/theme/adapta/adapta/button_shade_prelight.png
+e59cb7585b899512f725f638b5d50024  usr/share/projman/theme/adapta/adapta/button_shade_pressed.png
+e3c465acc5858c4a3e8eb9034d3718e8  usr/share/projman/theme/adapta/adapta/check-off-active.png
+3ae4507936c1279b9661376b9226e3ab  usr/share/projman/theme/adapta/adapta/check-off-hover.png
+1347dc396e2d420590ddefcddb7ca09e  usr/share/projman/theme/adapta/adapta/check-off-insensitive.png
+afb15e244950f3d123a3bc919143e182  usr/share/projman/theme/adapta/adapta/check-off.png
+335c2b7bc38d3f915d5231b8c4b41563  usr/share/projman/theme/adapta/adapta/check-on-active.png
+24e17a2e2f2d10283557299a30d0bf07  usr/share/projman/theme/adapta/adapta/check-on-hover.png
+6ea9eda23b6893ed141e881f116c989e  usr/share/projman/theme/adapta/adapta/check-on-insensitive.png
+c40a041d41a98513496d0ef3a5ea306c  usr/share/projman/theme/adapta/adapta/check-on.png
+cd171ce338edf9befb3fad67aeea551f  usr/share/projman/theme/adapta/adapta/combo-button-active.png
+ada6171b8e80c5f063bcd4ac58747b6b  usr/share/projman/theme/adapta/adapta/combo-button-hover.png
+7e0148ffeeec6ed34be3187cdb5a1706  usr/share/projman/theme/adapta/adapta/combo-button-insensitive.png
+f695c8079b4d0f176868862fa1b25528  usr/share/projman/theme/adapta/adapta/combo-button.png
+2d8faf8b3e5e39c46d0ea2f4e12d1b10  usr/share/projman/theme/adapta/adapta/combo-entry-active.png
+81d4b95a45dadca003ba787b99677fd7  usr/share/projman/theme/adapta/adapta/combo-entry-insensitive.png
+7c9aaef872018f2ba2f5f4247326fdb9  usr/share/projman/theme/adapta/adapta/combo-entry.png
+902def7aee67e9ab3e7cb32aa2021c8b  usr/share/projman/theme/adapta/adapta/entry-active.png
+0ee4c1683ab763047961352626dfbc0c  usr/share/projman/theme/adapta/adapta/entry-insensitive.png
+50a24301ddfa74497ad62c10c09d1e72  usr/share/projman/theme/adapta/adapta/entry.png
+b7407142091b89423bf2b0fc52807de9  usr/share/projman/theme/adapta/adapta/notebook-active.png
+da8336258fa48036948e2d982ddfd03d  usr/share/projman/theme/adapta/adapta/notebook.png
+53a6e80d057ca7e70e83a3f037e6c776  usr/share/projman/theme/adapta/adapta/progress-bar.png
+d5750057e860a3a677ee0a8f6612e5d4  usr/share/projman/theme/adapta/adapta/progress-bg.png
+6e13c7109b16f4700e88e0173e024865  usr/share/projman/theme/adapta/adapta/radio-off-active.png
+7018ca0497303e3d42e3dd8f15c54786  usr/share/projman/theme/adapta/adapta/radio-off-hover.png
+25f33f058f12be72c8d01ddb7fc35b85  usr/share/projman/theme/adapta/adapta/radio-off-insensitive.png
+2c5f3ef927d242a39050ea082d106c53  usr/share/projman/theme/adapta/adapta/radio-off.png
+2613b1834796acb65e1665bc10f76ebd  usr/share/projman/theme/adapta/adapta/radio-on-active.png
+be29e318e08d072e65efa2fec6dea3bd  usr/share/projman/theme/adapta/adapta/radio-on-hover.png
+599caa6b3398e6834d837ee77590d48d  usr/share/projman/theme/adapta/adapta/radio-on-insensitive.png
+3ef2984704516fb9fd934f116f3e230e  usr/share/projman/theme/adapta/adapta/radio-on.png
+edb3bb0fd11b91f178ab5939482f0dfe  usr/share/projman/theme/adapta/adapta/scale-horiz-bg-insensitive.png
+d5d8df987b8d8b3236ee3215438d7fd5  usr/share/projman/theme/adapta/adapta/scale-horiz-bg.png
+246d6914ae056487f4ab82c199a8eaf3  usr/share/projman/theme/adapta/adapta/scale-slider-active.png
+246d6914ae056487f4ab82c199a8eaf3  usr/share/projman/theme/adapta/adapta/scale-slider-hover.png
+c110f0c31301cad65eb31970f55efa62  usr/share/projman/theme/adapta/adapta/scale-slider-insensitive.png
+c110f0c31301cad65eb31970f55efa62  usr/share/projman/theme/adapta/adapta/scale-slider.png
+51fbcb2e2c42ea11a4387f40fda5ea8a  usr/share/projman/theme/adapta/adapta/scale-vert-bg-insensitive.png
+fa82caf1b06fa37a2a2047f7761e1032  usr/share/projman/theme/adapta/adapta/scale-vert-bg.png
+e99ca55b3237ee54e1589e5a87978539  usr/share/projman/theme/adapta/adapta/scroll-horiz-bg-insensitive.png
+e99ca55b3237ee54e1589e5a87978539  usr/share/projman/theme/adapta/adapta/scroll-horiz-bg.png
+3d0d1ebef02d5af12322b24a584b5880  usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-active.png
+fc7e0a30f55c7a5a14f91856617c772c  usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-hover.png
+9429e7a3eb6d9f3c0cab5d567d0cf190  usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-insensitive.png
+2639ca5e6e3c83480de41a1caf973125  usr/share/projman/theme/adapta/adapta/scroll-horiz-slider.png
+8a4c489069bd40ea4cadc29f782d1ca4  usr/share/projman/theme/adapta/adapta/scroll-vert-bg-insensitive.png
+8a4c489069bd40ea4cadc29f782d1ca4  usr/share/projman/theme/adapta/adapta/scroll-vert-bg.png
+b75323c0632f6db87641cb8024664543  usr/share/projman/theme/adapta/adapta/scroll-vert-slider-active.png
+854657fb9616a8e1ec72c9daf168d38b  usr/share/projman/theme/adapta/adapta/scroll-vert-slider-hover.png
+affe1dde6649690ffed3ed317ad5f3f1  usr/share/projman/theme/adapta/adapta/scroll-vert-slider-insensitive.png
+13a1e1c70df0fc7ec3d98d149934f693  usr/share/projman/theme/adapta/adapta/scroll-vert-slider.png
+702ab1cd10f38f91f275b7fe5fa03ebc  usr/share/projman/theme/adapta/adapta/spin-down-active.png
+19e64d13efa2b7e31d3a1844139d6961  usr/share/projman/theme/adapta/adapta/spin-down-hover.png
+7c616e20eecd275c90dcea53e05bafae  usr/share/projman/theme/adapta/adapta/spin-down-insensitive.png
+8ba4533eb14d0af874f2e914cc569742  usr/share/projman/theme/adapta/adapta/spin-down.png
+2ce7b3330f34d7323fa947d5116ca31a  usr/share/projman/theme/adapta/adapta/spin-up-active.png
+a936b6a0c4cdc536aa76dbcd9b95c222  usr/share/projman/theme/adapta/adapta/spin-up-hover.png
+3a713cf91e2daa201921de88c195fe38  usr/share/projman/theme/adapta/adapta/spin-up-insensitive.png
+7a05ab208f8f9bc9b3aae198b3e8dfc0  usr/share/projman/theme/adapta/adapta/spin-up.png
+b4902e63444f1df65bfffd89908df6d4  usr/share/projman/theme/adapta/adapta/toolbutton-active.png
+eec4d9cd091ed6be5f2b506c33928206  usr/share/projman/theme/adapta/adapta/toolbutton-hover.png
+fcc71f170442d6aeb65b538f08bca820  usr/share/projman/theme/adapta/adapta/toolbutton-insensitive.png
+fcc71f170442d6aeb65b538f08bca820  usr/share/projman/theme/adapta/adapta/toolbutton.png
+82adc405b207fa3aa0b6bd14ddb052a5  usr/share/projman/theme/adapta/adapta/treeview-active.png
+062384ab0b37e811cbcb5599e62e3577  usr/share/projman/theme/adapta/adapta/treeview-hover.png
+c927e3789502f9c67b296125f15d3667  usr/share/projman/theme/adapta/adapta/treeview-insensitive.png
+c927e3789502f9c67b296125f15d3667  usr/share/projman/theme/adapta/adapta/treeview.png
+d32239bcb673463ab874e80d47fae504  usr/share/projman/theme/arc/LICENSE
+c5cf0ec504440c5d46bf6df2bb2b5931  usr/share/projman/theme/arc/arc.tcl
+00853557c9116ad0756fe4a63390e56e  usr/share/projman/theme/arc/arc/arrow-down-insens.png
+7f444de174f56b7116cafc56f3ef387f  usr/share/projman/theme/arc/arc/arrow-down-prelight.png
+8e62d8303c3e9704766d0dd2d68b3a1b  usr/share/projman/theme/arc/arc/arrow-down-small-insens.png
+0ad751ee359228b9a3227c8dd857789e  usr/share/projman/theme/arc/arc/arrow-down-small-prelight.png
+99f80a0410db78460702e6ef4fdf4d73  usr/share/projman/theme/arc/arc/arrow-down-small.png
+f59140a6109b92770d0aaf8e2c944321  usr/share/projman/theme/arc/arc/arrow-down.png
+baebd0744cf5270287c2f34c18278942  usr/share/projman/theme/arc/arc/arrow-left-insens.png
+7dd992e55801c9a38911c418c85095d5  usr/share/projman/theme/arc/arc/arrow-left-prelight.png
+39c499a4c29605524c1f546f54b43929  usr/share/projman/theme/arc/arc/arrow-left.png
+7d14a3b8317f2c33f3a65f5390afae74  usr/share/projman/theme/arc/arc/arrow-right-insens.png
+e6b2378aaad6355cdece693fda6b1fdd  usr/share/projman/theme/arc/arc/arrow-right-prelight.png
+4599ca938b8ba74806e23a586a7a6ef2  usr/share/projman/theme/arc/arc/arrow-right.png
+5ba979cfe713e07be554a9eeaa6f5693  usr/share/projman/theme/arc/arc/arrow-up-insens.png
+6d7f2e89b76da241509cbb0f298a651c  usr/share/projman/theme/arc/arc/arrow-up-prelight.png
+a43aa6156509d2e002bb8e1fc5ad856d  usr/share/projman/theme/arc/arc/arrow-up-small-insens.png
+4a6aa35a419e18660e049a17ef430695  usr/share/projman/theme/arc/arc/arrow-up-small-prelight.png
+405d8038f3a1cba1ffd61c16ed82ab8e  usr/share/projman/theme/arc/arc/arrow-up-small.png
+ba6481e4b90ca3a873cf2b10ce84d69e  usr/share/projman/theme/arc/arc/arrow-up.png
+6a08a2e8578e4cf77de63490598f2b52  usr/share/projman/theme/arc/arc/button-active.png
+2764a2853b2c848605108576cbb7f5de  usr/share/projman/theme/arc/arc/button-empty.png
+76ba0f10078a94a637e0c3e106b546e5  usr/share/projman/theme/arc/arc/button-focus.png
+20eb856edbb98f1c6aeb615f9343b713  usr/share/projman/theme/arc/arc/button-hover.png
+8883dcbd21b048ae83b86c3373945056  usr/share/projman/theme/arc/arc/button-insensitive.png
+d9051294e1c76ffa270402c57d8efb69  usr/share/projman/theme/arc/arc/button.png
+39ef2a644249e0b589b372796e200104  usr/share/projman/theme/arc/arc/checkbox-checked-insensitive.png
+57c11ab357318471f6b2653303f990b1  usr/share/projman/theme/arc/arc/checkbox-checked.png
+0d5c84520cd038dd564242c8d7ae90b5  usr/share/projman/theme/arc/arc/checkbox-unchecked-insensitive.png
+5d4c32282f24ce126b48d0a210a8d268  usr/share/projman/theme/arc/arc/checkbox-unchecked.png
+3e75564cc64c4ca1799a68345a990ff7  usr/share/projman/theme/arc/arc/combo-entry-button-active-rtl.png
+ace6553f633b0b4ca3ee0fc5c26ac8e8  usr/share/projman/theme/arc/arc/combo-entry-button-active.png
+85976a6ad6d5ccf5bc0e3b07fbebc6d5  usr/share/projman/theme/arc/arc/combo-entry-button-hover.png
+d702d4d3899bf26c9a1c4c69efcd2e4f  usr/share/projman/theme/arc/arc/combo-entry-button-insensitive-rtl.png
+f33d3a44fcc2c52c5c6d103b26721401  usr/share/projman/theme/arc/arc/combo-entry-button-insensitive.png
+5a855b179f852eedf9e9d13d0be92631  usr/share/projman/theme/arc/arc/combo-entry-button-rtl.png
+9c01ee158dd973355312e2101406039e  usr/share/projman/theme/arc/arc/combo-entry-button.png
+27ca8bddce47b739c0dd5adfc5e08b2b  usr/share/projman/theme/arc/arc/combo-entry-focus-notebook-rtl.png
+7f9f54d7fc77da198bb56d996206d637  usr/share/projman/theme/arc/arc/combo-entry-focus-notebook.png
+99e0b4a237e9a750b55591a458834211  usr/share/projman/theme/arc/arc/combo-entry-focus-rtl.png
+e2c05f7a3a3701e5a40b7e0841ed47a8  usr/share/projman/theme/arc/arc/combo-entry-focus.png
+97a83eca0f749fda77eaad33f97e9c34  usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png
+b78e80ccf29cd383809a4f01d14825c2  usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook.png
+b2f355baa53b1b829b9d45b21a4a75e5  usr/share/projman/theme/arc/arc/combo-entry-insensitive-rtl.png
+11472d5c80bb453b0bc8bbd273e66806  usr/share/projman/theme/arc/arc/combo-entry-insensitive.png
+ea7f63f4d6b5e5fc327c02db4f50db7b  usr/share/projman/theme/arc/arc/combo-entry-notebook-rtl.png
+9e2a215b28f9a62b57afeb0eb5f30bc2  usr/share/projman/theme/arc/arc/combo-entry-notebook.png
+9779ec9a40b1ce96ddbfb44d0483b797  usr/share/projman/theme/arc/arc/combo-entry-rtl.png
+0c8fe3385d951b36737fd68e765affb3  usr/share/projman/theme/arc/arc/combo-entry.png
+54804f48a0beb94b622539dfe825e559  usr/share/projman/theme/arc/arc/down-background-active.png
+7d798ce0510529f9c053d8b8e1822833  usr/share/projman/theme/arc/arc/down-background-disable-rtl.png
+c630e694e350421f4e3a915fabd1dac4  usr/share/projman/theme/arc/arc/down-background-disable.png
+1324bc76e95821f7ed6180d0136fe542  usr/share/projman/theme/arc/arc/down-background-hover.png
+c6c21e2daa7793deefdf1b0183bd51e2  usr/share/projman/theme/arc/arc/down-background-rtl.png
+46fe0a7b93b209650d97d545e9cf75a3  usr/share/projman/theme/arc/arc/down-background.png
+b2a6d64911cde2956941e30866a76e25  usr/share/projman/theme/arc/arc/empty.png
+4a8e20e991b55c72a3f6525e2b87e660  usr/share/projman/theme/arc/arc/entry-border-active-bg-solid.png
+daec6f90dfe82e4769e34c8acecca5d1  usr/share/projman/theme/arc/arc/entry-border-active-bg.png
+ef53a395964406e29eba48d52b62cd03  usr/share/projman/theme/arc/arc/entry-border-bg-solid.png
+802d288567db59c8291bed3bf2269720  usr/share/projman/theme/arc/arc/entry-border-bg.png
+a3bdb329c8d42f7a041e4dd3578843cc  usr/share/projman/theme/arc/arc/entry-border-disabled-bg.png
+aa97d02943bbfdce697e983924ebe3da  usr/share/projman/theme/arc/arc/entry-border-fill.png
+6e16f000c55737e4d6286d755926064d  usr/share/projman/theme/arc/arc/focus-line.png
+c147bb9d3a8b19aeb47d9832f2dddeb6  usr/share/projman/theme/arc/arc/frame-gap-end.png
+99157988b7bc16164f00b6fd459985e3  usr/share/projman/theme/arc/arc/frame-gap-start.png
+fa7b5a80eaf36a25729f19954f3c813a  usr/share/projman/theme/arc/arc/frame.png
+d45cc744bd8cbbff8ec6d395e62a38b4  usr/share/projman/theme/arc/arc/handle-h.png
+794a4b60d5d77f64c1bb275fbab70d61  usr/share/projman/theme/arc/arc/handle-v.png
+d8afc1e5bee1e6b540548d8106be4e6e  usr/share/projman/theme/arc/arc/inline-toolbar.png
+fddd58d7171de7669e3c94e8ce8afc9b  usr/share/projman/theme/arc/arc/labelframe.png
+087c8beba995eaf2888940e00bd92e6d  usr/share/projman/theme/arc/arc/line-h.png
+013306b4185f4bcafe15e88c9927198f  usr/share/projman/theme/arc/arc/line-v.png
+775ab7e1dd40b630cd06fa517559c36d  usr/share/projman/theme/arc/arc/menu-arrow-prelight.png
+775ab7e1dd40b630cd06fa517559c36d  usr/share/projman/theme/arc/arc/menu-arrow.png
+b809da26af52e9bb98e8546c88a735fb  usr/share/projman/theme/arc/arc/menu-checkbox-checked-insensitive.png
+5dc9350fc78f3f165d8b37f1b8dbfd15  usr/share/projman/theme/arc/arc/menu-checkbox-checked.png
+328315e60199b4d3663e56afcecc31d1  usr/share/projman/theme/arc/arc/menu-checkbox-unchecked-insensitive.png
+38d5f363136e816bcd0b06a71311089a  usr/share/projman/theme/arc/arc/menu-checkbox-unchecked.png
+6bca81c806910d0f8851a9169207fc23  usr/share/projman/theme/arc/arc/menu-radio-checked-insensitive.png
+cd8a06041e8ceb743274eee2e73747d7  usr/share/projman/theme/arc/arc/menu-radio-checked.png
+45d0255bbb899d663d216d28275d629d  usr/share/projman/theme/arc/arc/menu-radio-unchecked-insensitive.png
+edc126961d3780fbd94bf344715737e9  usr/share/projman/theme/arc/arc/menu-radio-unchecked.png
+ed3000c7b6cfdf81103a4ee4a78f233e  usr/share/projman/theme/arc/arc/menubar.png
+b7ae3350bb82524242d0fe99ad266c9b  usr/share/projman/theme/arc/arc/menubar_button.png
+16d64f49c2c6dd107d3f3c466adde2cd  usr/share/projman/theme/arc/arc/menuitem.png
+82a68b0dceb304a2ee257cfc236e1290  usr/share/projman/theme/arc/arc/minus.png
+b7ac01d42693c2ee4af54721e7ee1d31  usr/share/projman/theme/arc/arc/notebook-entry-border-active-bg.png
+1af59d510a290b61cfba7a3f1256a59b  usr/share/projman/theme/arc/arc/notebook-entry-border-bg.png
+1a393037e20ef200fc49a8e9c3096ba1  usr/share/projman/theme/arc/arc/notebook-entry-border-disabled-bg.png
+452e7025ca50d4aefe31ea9c175849be  usr/share/projman/theme/arc/arc/notebook-gap-horiz.png
+f75c69c46eedeb4860001a3df84a31dc  usr/share/projman/theme/arc/arc/notebook-gap-vert.png
+b3cdb0c10eecc44abb9518c9f3f7bf26  usr/share/projman/theme/arc/arc/notebook.png
+93da3fb2a75efe8103197ad63fcdefe9  usr/share/projman/theme/arc/arc/null.png
+62e91abd2e724bb57f0b3bab2dacd83b  usr/share/projman/theme/arc/arc/plus.png
+20bdc1473174be881ace703ee9a1ce99  usr/share/projman/theme/arc/arc/progressbar.png
+186f38c260dd945b8b9aff7a248d96ae  usr/share/projman/theme/arc/arc/progressbar_v.png
+e54565856297f745fd6c846dd6cb8cea  usr/share/projman/theme/arc/arc/radio-checked-insensitive.png
+ee8c4b99f5352f4d387f54376fa4dfeb  usr/share/projman/theme/arc/arc/radio-checked.png
+114d3061d8e0547d6abe596f0530ea37  usr/share/projman/theme/arc/arc/radio-unchecked-insensitive.png
+ac177160c79c86482f32091035c834bb  usr/share/projman/theme/arc/arc/radio-unchecked.png
+c16be6372e1dce05cfbaa8c26810e9c9  usr/share/projman/theme/arc/arc/slider-horiz-active.png
+1cae8ade47c27c72a6d7c197a69f9f58  usr/share/projman/theme/arc/arc/slider-horiz-insens.png
+7e4467a335740cfac459ee676a3827ad  usr/share/projman/theme/arc/arc/slider-horiz-prelight.png
+55d57d73d2ac40ff7f0f6cd0993ed6c8  usr/share/projman/theme/arc/arc/slider-horiz.png
+34b6ef4272675a089ba5f894cf1dfa4c  usr/share/projman/theme/arc/arc/slider-insensitive.png
+0b770b94d8bb6ac97e1fa5e0a003b866  usr/share/projman/theme/arc/arc/slider-prelight.png
+2c31e14a43d3a1d26bb53d77716341ea  usr/share/projman/theme/arc/arc/slider-vert-active.png
+71a13e7682ad9bd0c401cf6c19b8b570  usr/share/projman/theme/arc/arc/slider-vert-insens.png
+c9c58815777224cbddc4d3d11338f4fb  usr/share/projman/theme/arc/arc/slider-vert-prelight.png
+2ac777f2ae73eff60251ba80bbfe1c5e  usr/share/projman/theme/arc/arc/slider-vert.png
+ee8c2a8a5151ad24add7f135dd1ee1dc  usr/share/projman/theme/arc/arc/slider.png
+f2e42166a7612317a23308aaf86d4f18  usr/share/projman/theme/arc/arc/tab-bottom-active.png
+a515e91a4474e652120fb1d8c3cfe32d  usr/share/projman/theme/arc/arc/tab-left-active.png
+641da6521288038f836b04784c2cfb23  usr/share/projman/theme/arc/arc/tab-right-active.png
+a207c775a704b80accd126f3562ffb91  usr/share/projman/theme/arc/arc/tab-top-active.png
+811a92e848d33ba6a89ac940faf88aae  usr/share/projman/theme/arc/arc/tab-top-hover.png
+11f59d59a85bc2908000111c64d8855c  usr/share/projman/theme/arc/arc/tab-top.png
+27cb6e4b7adeb8f53683fc3a8caa03ed  usr/share/projman/theme/arc/arc/toolbar-entry-border-active-bg.png
+4e9125cfd5704abf033dfdaf5ff0011b  usr/share/projman/theme/arc/arc/toolbar-entry-border-bg.png
+33d66fe1b3a6a6811a0863cc86b4963f  usr/share/projman/theme/arc/arc/toolbar-entry-border-disabled-bg.png
+0c36b4e1d5cdd45e6804771648fb0069  usr/share/projman/theme/arc/arc/toolbar.png
+64dd28d68adeaa22b60802498f2bad01  usr/share/projman/theme/arc/arc/tree_header.png
+637f3a97ba1ec78de38ac4619cfcb9bb  usr/share/projman/theme/arc/arc/treeview.png
+01c56a23a7a6e564974d67aba8884340  usr/share/projman/theme/arc/arc/trough-horizontal-active.png
+20e31676f499073b13248574eec35b24  usr/share/projman/theme/arc/arc/trough-horizontal.png
+5495fd44ffabcace7b2e8ed18cfe1dce  usr/share/projman/theme/arc/arc/trough-progressbar.png
+eb4517dc6bf4cc43673858c31b3f5491  usr/share/projman/theme/arc/arc/trough-progressbar_v.png
+d8185ba1dac925f83b61a7a6884f732f  usr/share/projman/theme/arc/arc/trough-scrollbar-horiz.png
+3f622e2cabeb9333c9f74abc457e2343  usr/share/projman/theme/arc/arc/trough-scrollbar-vert.png
+4f36239d4e9929ebbdbcbfc816470c2b  usr/share/projman/theme/arc/arc/trough-vertical-active.png
+93ba270b27ce9201e7c5dc748cfaadde  usr/share/projman/theme/arc/arc/trough-vertical.png
+cc8c15991e4656e93c4aa25ee6db0049  usr/share/projman/theme/arc/arc/up-background-active.png
+d95cf26bb205db52ace862a910fd5be2  usr/share/projman/theme/arc/arc/up-background-disable-rtl.png
+739425d1dbbe77718d5449e49d986f40  usr/share/projman/theme/arc/arc/up-background-disable.png
+5e718060ab4544b4839a110e43532eab  usr/share/projman/theme/arc/arc/up-background-hover.png
+30ed451ae49a1716cf405ca8bbe99d90  usr/share/projman/theme/arc/arc/up-background-rtl.png
+332fcfdfff7ec47fd179e7c693883575  usr/share/projman/theme/arc/arc/up-background.png
+0b7d027911944895b252108336c70b36  usr/share/projman/theme/arc/pkgIndex.tcl
+1803fa9c2c3ce8cb06b4861d75310742  usr/share/projman/theme/breeze-dark/LICENSE
+23185efc436246d5c87d70b700b21a27  usr/share/projman/theme/breeze-dark/README.md
+69ef1570f1879f2b7997a90b56ecef36  usr/share/projman/theme/breeze-dark/Screenshot.png
+bf3f495912fb49f70762d4870ef4c03e  usr/share/projman/theme/breeze-dark/breeze-dark.tcl
+0d792a447ced8ef1d11b19b60f4e6837  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-insens.png
+2ad62cfc61acfc24fa34c59cf23f2102  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-prelight.png
+8d928d5ebb05e623d7a33783f36e4dc0  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png
+4170f56cc46b6c541d1ca6fa313d4b00  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png
+7cb1b35d7e337079b954c6f2b176b2ba  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small.png
+159aa932ed67d10360c580e2885d55c7  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down.png
+436e99c8a3fe78c5df0e14dfbdccea38  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-insens.png
+f8913818afd317a0f2d416fae2e7634a  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-prelight.png
+23748900ce22b63faedcb8eb0a81af80  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left.png
+b2472167e047aaa8f2554d89ac151659  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-insens.png
+310f8db04d4c171b3c1507c0018aea31  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-prelight.png
+c348785e1da39c75d11e14fd41790c3d  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right.png
+95537be85f364915cc3a34236b80ecbe  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-insens.png
+da438c72d2c9967a67e99a9fcfb3b528  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-prelight.png
+dcc2882af035169253c99ae543e1a539  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png
+609ba93386b745c449a4e20933511553  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png
+ba6328225816b3e9e941afc0022e9629  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small.png
+8bd2012e16ac54888cef0e66d00dd752  usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up.png
+12ff1a2d90b20015ec350f50870a54a9  usr/share/projman/theme/breeze-dark/breeze-dark/button-active.png
+29368c6a659e300ac78dba590b1cdc52  usr/share/projman/theme/breeze-dark/breeze-dark/button-empty.png
+a2057dc7d6c43ea8d2e8032a6dca2041  usr/share/projman/theme/breeze-dark/breeze-dark/button-focus.png
+13d483101a15afb202f7f50cc370f384  usr/share/projman/theme/breeze-dark/breeze-dark/button-hover.png
+dff04f56004245171a88710035b3bf7d  usr/share/projman/theme/breeze-dark/breeze-dark/button-insensitive.png
+9d22ccc48b86ecfa12b28db68ca748b7  usr/share/projman/theme/breeze-dark/breeze-dark/button-toggled.png
+39186df836353e2a67743f854260c709  usr/share/projman/theme/breeze-dark/breeze-dark/button.png
+6df97e1d3a2ebdc59b9259abc529b9d3  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-active.png
+9cdedf6d315012da545078d4dc654b16  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png
+78e46694f7640f41f75458d387f62995  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png
+a00cd66c111234452aa64cca61acfa6f  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked.png
+e3d0ef021a4c5fdaf693a32d2a72177b  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png
+6290c890012a5cff0afaa90ec6b0620f  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png
+d638ef207e8b86726d9cbbaad1d1555d  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png
+3ad2f09dbe3d792d96a066660816fcc5  usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked.png
+b2a6d64911cde2956941e30866a76e25  usr/share/projman/theme/breeze-dark/breeze-dark/empty.png
+a2b89302199a683b53b47c2e086b6ada  usr/share/projman/theme/breeze-dark/breeze-dark/entry-active.png
+7a902bc9a9a7c8316346a98dfca80b93  usr/share/projman/theme/breeze-dark/breeze-dark/entry-focus.png
+9b4ec59bca07ece188b38349465b19ab  usr/share/projman/theme/breeze-dark/breeze-dark/entry-insensitive.png
+7abcf0cce3394b8c0c84f6e6d0639180  usr/share/projman/theme/breeze-dark/breeze-dark/entry.png
+cf896e65f7c53c1085b2c5b1144af672  usr/share/projman/theme/breeze-dark/breeze-dark/labelframe.png
+64d098379ac665776e9c61cfe80e2134  usr/share/projman/theme/breeze-dark/breeze-dark/notebook-client.png
+f125fe7c288738807b1e4d9a05669051  usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png
+9e1ae138ec383232bb847e53cf50c79f  usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png
+f2392546ce12596d9946c76876b54f92  usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top.png
+1ad08b3b1743f2b50b3687ae1b586549  usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-active.png
+5f43c7698464d0a13b2280de078494fe  usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png
+c34c4a719bb421ff687a3797b9ee844a  usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-pressed.png
+6ee11f3ed5c220c9a2cd8a8eaa48b1e1  usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked.png
+d4e9c9e6700e4cddbce49870c4cf1fff  usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-active.png
+5fdbc1cbb7fef1a683323525148992f0  usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png
+2a6692850587af20bb296d51effabe0c  usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png
+2fe65a990b7037f0881ac6889eb67b68  usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked.png
+4a756143d2e4f2dfda58c1b5724071c7  usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-active.png
+b49a1833697c8c8db4cd294b708fd6d7  usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png
+ab73e05cc3fb66be47c51195a52f01bb  usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-pressed.png
+85b685eaa8755e43aa0c400c399f9416  usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider.png
+63739466b942a03e9a5c3e4f50a02981  usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png
+f07c3b07cb19d3c35f72274d2a9c92d6  usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-vertical.png
+870f05c6981d40efeaee8dcd22e9374d  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png
+db94fd85780590e27eb314b5a463c466  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png
+cddb3ea612db8c682728c531a57ab5a5  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png
+0c332e3e871cb35800e33815673988fb  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png
+987811d44e5613bad1a40a0357e2b665  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png
+c079a25d35cbe9d4ef2ccf234ed063d6  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png
+8890d14372b02f7c1d1d86be8f6c4d5b  usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png
+71a13e7682ad9bd0c401cf6c19b8b570  usr/share/projman/theme/breeze-dark/breeze-dark/slider-vert-insens.png
+cddb3ea612db8c682728c531a57ab5a5  usr/share/projman/theme/breeze-dark/breeze-dark/transparent.png
+a72d4943ec5b6ab4151c3c30a19c48ef  usr/share/projman/theme/breeze-dark/breeze-dark/treeheading-prelight.png
+edc7077cb8705cd52a8d3a31a58aee07  usr/share/projman/theme/breeze-dark/breeze-dark/treeview.png
+9b24e7dc36ca775a236f39ff2b4cb283  usr/share/projman/theme/breeze-dark/pkgIndex.tcl
+1803fa9c2c3ce8cb06b4861d75310742  usr/share/projman/theme/breeze/LICENSE
+842674ddb5bbdfae5d5b076b3a83e1d6  usr/share/projman/theme/breeze/README.md
+bf896bcf713eeb2941f862fb443bab55  usr/share/projman/theme/breeze/Screenshot.png
+63ca2e86fbb6242a74942d08515e6e7e  usr/share/projman/theme/breeze/breeze.tcl
+0d792a447ced8ef1d11b19b60f4e6837  usr/share/projman/theme/breeze/breeze/arrow-down-insens.png
+2ad62cfc61acfc24fa34c59cf23f2102  usr/share/projman/theme/breeze/breeze/arrow-down-prelight.png
+8d928d5ebb05e623d7a33783f36e4dc0  usr/share/projman/theme/breeze/breeze/arrow-down-small-insens.png
+4170f56cc46b6c541d1ca6fa313d4b00  usr/share/projman/theme/breeze/breeze/arrow-down-small-prelight.png
+ee3d10f0307a55d54cc8ee49b4895e3a  usr/share/projman/theme/breeze/breeze/arrow-down-small.png
+aab3d8aeb7b3994f3111b348e5a80133  usr/share/projman/theme/breeze/breeze/arrow-down.png
+436e99c8a3fe78c5df0e14dfbdccea38  usr/share/projman/theme/breeze/breeze/arrow-left-insens.png
+f8913818afd317a0f2d416fae2e7634a  usr/share/projman/theme/breeze/breeze/arrow-left-prelight.png
+2b0b3364bb6a8274bec1b4ceaa870133  usr/share/projman/theme/breeze/breeze/arrow-left.png
+b2472167e047aaa8f2554d89ac151659  usr/share/projman/theme/breeze/breeze/arrow-right-insens.png
+310f8db04d4c171b3c1507c0018aea31  usr/share/projman/theme/breeze/breeze/arrow-right-prelight.png
+c9b9c8a7c9fe35367afb6a6077b94307  usr/share/projman/theme/breeze/breeze/arrow-right.png
+95537be85f364915cc3a34236b80ecbe  usr/share/projman/theme/breeze/breeze/arrow-up-insens.png
+da438c72d2c9967a67e99a9fcfb3b528  usr/share/projman/theme/breeze/breeze/arrow-up-prelight.png
+dcc2882af035169253c99ae543e1a539  usr/share/projman/theme/breeze/breeze/arrow-up-small-insens.png
+609ba93386b745c449a4e20933511553  usr/share/projman/theme/breeze/breeze/arrow-up-small-prelight.png
+55a966accb5b7a684b26eeec46c2c0a9  usr/share/projman/theme/breeze/breeze/arrow-up-small.png
+8753614e67dd5898b60d581b300176c3  usr/share/projman/theme/breeze/breeze/arrow-up.png
+e2256c7854a8548da2c7719396753d0e  usr/share/projman/theme/breeze/breeze/button-active.png
+2d5eb08063dc660877711adbc0d5895c  usr/share/projman/theme/breeze/breeze/button-empty.png
+a2057dc7d6c43ea8d2e8032a6dca2041  usr/share/projman/theme/breeze/breeze/button-focus.png
+a8e35d25face47b21ac384ff731deb24  usr/share/projman/theme/breeze/breeze/button-hover.png
+7378aa59b72b4aaec35a168a713122d7  usr/share/projman/theme/breeze/breeze/button-insensitive.png
+bfaeae076cb6d86d84fd5b5218b6ed6c  usr/share/projman/theme/breeze/breeze/button-toggled.png
+f863a9a3bdeb0fa3d64002b731fb47f0  usr/share/projman/theme/breeze/breeze/button.png
+02b54574a23879e12fd048052d27f7f5  usr/share/projman/theme/breeze/breeze/checkbox-checked-active.png
+50bbdd0f71e60877ee728bdb88207c9c  usr/share/projman/theme/breeze/breeze/checkbox-checked-insensitive.png
+85f2ba40d662a725fd2bf77a371dc925  usr/share/projman/theme/breeze/breeze/checkbox-checked-pressed.png
+78ab370e838991f58c514e184455e96b  usr/share/projman/theme/breeze/breeze/checkbox-checked.png
+fdb00f911d208ea07e879da980ff944d  usr/share/projman/theme/breeze/breeze/checkbox-unchecked-active.png
+946983cb3f72db5b40b97158fee45a87  usr/share/projman/theme/breeze/breeze/checkbox-unchecked-insensitive.png
+d733bf63770a5f034b5955cdab0e72fa  usr/share/projman/theme/breeze/breeze/checkbox-unchecked-pressed.png
+ab9335ded3f447aec418803a10707975  usr/share/projman/theme/breeze/breeze/checkbox-unchecked.png
+b2a6d64911cde2956941e30866a76e25  usr/share/projman/theme/breeze/breeze/empty.png
+f432c53f196ddad4ae704d55e3c4f375  usr/share/projman/theme/breeze/breeze/entry-active.png
+53dca57b4050cc16c04d91e8ef1065cc  usr/share/projman/theme/breeze/breeze/entry-focus.png
+01265e8881732a21a13f2a2f3083ae16  usr/share/projman/theme/breeze/breeze/entry-insensitive.png
+74e79b2de1c1f1405a82c1e56ba5f6d7  usr/share/projman/theme/breeze/breeze/entry.png
+7363619e1d708da6bbe6a7db91fe1985  usr/share/projman/theme/breeze/breeze/labelframe.png
+95dd59bb29763a60d7a03fc91d8cd551  usr/share/projman/theme/breeze/breeze/notebook-client.png
+4e9cdeb55769844f814f6fc757749bb6  usr/share/projman/theme/breeze/breeze/notebook-tab-top-active.png
+9e1ae138ec383232bb847e53cf50c79f  usr/share/projman/theme/breeze/breeze/notebook-tab-top-hover.png
+771e7eded6188de188d514107dfe207a  usr/share/projman/theme/breeze/breeze/notebook-tab-top.png
+d5d1bf020ae6c4f1425cb1b06e2f4ecf  usr/share/projman/theme/breeze/breeze/radio-checked-active.png
+14ec606c2b79ab1c3d41199d7a9e39c3  usr/share/projman/theme/breeze/breeze/radio-checked-insensitive.png
+79d2ef5a49693a34b5137692145f75f6  usr/share/projman/theme/breeze/breeze/radio-checked-pressed.png
+b18c449df3be1826fa099f8d56c5dfe9  usr/share/projman/theme/breeze/breeze/radio-checked.png
+91880c38a03aa0781de81360b469735b  usr/share/projman/theme/breeze/breeze/radio-unchecked-active.png
+41b57b01ded0058c95d443a3af8a776c  usr/share/projman/theme/breeze/breeze/radio-unchecked-insensitive.png
+d43d144c2d93980e809735663b774b6e  usr/share/projman/theme/breeze/breeze/radio-unchecked-pressed.png
+7a1e8336a995f6992c68ba7cab09262b  usr/share/projman/theme/breeze/breeze/radio-unchecked.png
+5036671413654c1e48a1313f2b990c02  usr/share/projman/theme/breeze/breeze/scale-slider-active.png
+6559cb99cc5b439c2b7bf11cef768f53  usr/share/projman/theme/breeze/breeze/scale-slider-insensitive.png
+e17ed1c0bd9eed2a56ffde1e6573d56e  usr/share/projman/theme/breeze/breeze/scale-slider-pressed.png
+6f4c5f1cae3a5d9b2f8ccd40cff0295f  usr/share/projman/theme/breeze/breeze/scale-slider.png
+63739466b942a03e9a5c3e4f50a02981  usr/share/projman/theme/breeze/breeze/scale-trough-horizontal.png
+f07c3b07cb19d3c35f72274d2a9c92d6  usr/share/projman/theme/breeze/breeze/scale-trough-vertical.png
+870f05c6981d40efeaee8dcd22e9374d  usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz-active.png
+db94fd85780590e27eb314b5a463c466  usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz.png
+cddb3ea612db8c682728c531a57ab5a5  usr/share/projman/theme/breeze/breeze/scrollbar-slider-insens.png
+0c332e3e871cb35800e33815673988fb  usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert-active.png
+987811d44e5613bad1a40a0357e2b665  usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert.png
+c079a25d35cbe9d4ef2ccf234ed063d6  usr/share/projman/theme/breeze/breeze/scrollbar-trough-horiz-active.png
+8890d14372b02f7c1d1d86be8f6c4d5b  usr/share/projman/theme/breeze/breeze/scrollbar-trough-vert-active.png
+71a13e7682ad9bd0c401cf6c19b8b570  usr/share/projman/theme/breeze/breeze/slider-vert-insens.png
+cddb3ea612db8c682728c531a57ab5a5  usr/share/projman/theme/breeze/breeze/transparent.png
+a72d4943ec5b6ab4151c3c30a19c48ef  usr/share/projman/theme/breeze/breeze/treeheading-prelight.png
+637f3a97ba1ec78de38ac4619cfcb9bb  usr/share/projman/theme/breeze/breeze/treeview.png
+e7f92c88044eae18a411561ce10df777  usr/share/projman/theme/breeze/pkgIndex.tcl
+34c0309ae8032ad0b73eb5f350dbf8fc  usr/share/projman/theme/equilux/equilux.tcl
+b9adb1f7fbbe7dbd72b7f0c8a61d8a74  usr/share/projman/theme/equilux/equilux/arrow-down-insens.png
+68d5fd78c123e7f41c807fbcb1a53923  usr/share/projman/theme/equilux/equilux/arrow-down-prelight.png
+2e7855fdf33027ad4495baa1e17b67b3  usr/share/projman/theme/equilux/equilux/arrow-down.png
+8ea893b56ee971baee4bd42facafef6f  usr/share/projman/theme/equilux/equilux/arrow-up-small-insens.png
+803c082285fbc5fa4be1a6d68e9218d3  usr/share/projman/theme/equilux/equilux/arrow-up-small-prelight.png
+ca43afdb18be136051159084d4584e48  usr/share/projman/theme/equilux/equilux/arrow-up-small.png
+498183a3fdb8f47de7d508ba96ef9da2  usr/share/projman/theme/equilux/equilux/arrow-up.png
+437f7172fd083c8504a6b935db898021  usr/share/projman/theme/equilux/equilux/button-active.png
+03e91ade3512bda0f1c0ae366238216e  usr/share/projman/theme/equilux/equilux/button-empty.png
+0c8cb8fe6ff8951bcc7bba837a16ca34  usr/share/projman/theme/equilux/equilux/button-hover.png
+7a21f994377131b333cfbe8ec5510834  usr/share/projman/theme/equilux/equilux/button-insensitive.png
+311d02e9be6f83c4cf0a15624b145a3d  usr/share/projman/theme/equilux/equilux/button.png
+f217e52c3d2fd1f9d1dd51c2440bfa1a  usr/share/projman/theme/equilux/equilux/checkbox-checked-insensitive.png
+2f530ba8828ad36c591b48c2692ee2d4  usr/share/projman/theme/equilux/equilux/checkbox-checked.png
+0f5eba79f0680073003c31cb96736033  usr/share/projman/theme/equilux/equilux/checkbox-unchecked-insensitive.png
+882cf346c265fd126087e5642c73bd5f  usr/share/projman/theme/equilux/equilux/checkbox-unchecked.png
+d80e4b2316b2cb9aa8e0e532ff15457e  usr/share/projman/theme/equilux/equilux/combo-entry-active.png
+9099e67aabf0c79c384fd814e47bc32c  usr/share/projman/theme/equilux/equilux/combo-entry-button-active.png
+bf446d7378dca4c0e19963b0b2e0f385  usr/share/projman/theme/equilux/equilux/combo-entry-button-hover.png
+607e1f1ee798e072623660e9df977dff  usr/share/projman/theme/equilux/equilux/combo-entry-button-insensitive.png
+ddc06b33368c760870edc6e1247e335f  usr/share/projman/theme/equilux/equilux/combo-entry-button.png
+de8f0a21cd6ef38f09b8b96e059fbcde  usr/share/projman/theme/equilux/equilux/combo-entry-insensitive.png
+fd4b50483067651717f2cf977b7d8f7c  usr/share/projman/theme/equilux/equilux/combo-entry.png
+4c488a12cccdff1b92041df487c0157c  usr/share/projman/theme/equilux/equilux/down-background-active.png
+9cbf41f67679bcdb977622e02c273a82  usr/share/projman/theme/equilux/equilux/down-background-disable.png
+f6c913b6b4743ea012693c0bf7af0b14  usr/share/projman/theme/equilux/equilux/down-background-hover.png
+eca45a14ce09b9f44f9cba96c316580f  usr/share/projman/theme/equilux/equilux/down-background.png
+b2a6d64911cde2956941e30866a76e25  usr/share/projman/theme/equilux/equilux/empty.png
+de5a7d75c90d531d7afcf2f0e4fc201f  usr/share/projman/theme/equilux/equilux/entry-active.png
+d44839332fd227b1f8afdf4498f7f59a  usr/share/projman/theme/equilux/equilux/entry-border-bg.png
+12d15238a7618b5ad784d7b51943f413  usr/share/projman/theme/equilux/equilux/entry-border-disabled.png
+c7cde0b8ac48b580396d43521eaa459c  usr/share/projman/theme/equilux/equilux/focus.png
+b04623d09a03d4981fad15b655c44ff3  usr/share/projman/theme/equilux/equilux/frame.png
+db4be1e5ef9ac9655958f9137365f524  usr/share/projman/theme/equilux/equilux/labelframe.png
+82a68b0dceb304a2ee257cfc236e1290  usr/share/projman/theme/equilux/equilux/minus.png
+db4be1e5ef9ac9655958f9137365f524  usr/share/projman/theme/equilux/equilux/notebook.png
+93da3fb2a75efe8103197ad63fcdefe9  usr/share/projman/theme/equilux/equilux/null.png
+62e91abd2e724bb57f0b3bab2dacd83b  usr/share/projman/theme/equilux/equilux/plus.png
+a24b1d09f01f38e41fb0dbeeeb25b2b9  usr/share/projman/theme/equilux/equilux/progressbar-horiz-bg.png
+dc9afa436cde5362d142d2041414c15b  usr/share/projman/theme/equilux/equilux/progressbar-horiz.png
+8d5a69e41b5603ec61fdd1d4619be2c6  usr/share/projman/theme/equilux/equilux/progressbar-vert-bg.png
+9b5eced1461343258729d3b01813ca10  usr/share/projman/theme/equilux/equilux/progressbar-vert.png
+e142aae5ea0c588de9d5bec98aa5ee0c  usr/share/projman/theme/equilux/equilux/radio-checked-insensitive.png
+3a9ff1417bf0be41ee17ef4777e20261  usr/share/projman/theme/equilux/equilux/radio-checked.png
+1eaa0fa54344a42eafd0f78cb2c8f852  usr/share/projman/theme/equilux/equilux/radio-unchecked-insensitive.png
+60691752398edf4b0a4195a4dadbd4bd  usr/share/projman/theme/equilux/equilux/radio-unchecked.png
+0653645f4d7477c98769f049c30f9094  usr/share/projman/theme/equilux/equilux/slider-horiz-active.png
+725daeaf7f30f0556b71a99e3b57337d  usr/share/projman/theme/equilux/equilux/slider-horiz-insens.png
+624217b0046e551c1c75bbd37d8d7c69  usr/share/projman/theme/equilux/equilux/slider-horiz-prelight.png
+624217b0046e551c1c75bbd37d8d7c69  usr/share/projman/theme/equilux/equilux/slider-horiz.png
+3bc32d208db4474d369e841c672b9630  usr/share/projman/theme/equilux/equilux/slider-insensitive.png
+c54a0c4fae8386c272d6d9430be77700  usr/share/projman/theme/equilux/equilux/slider-prelight.png
+a2f6ef4df228234974c1ac4dd38bc73a  usr/share/projman/theme/equilux/equilux/slider-vert-active.png
+931214d863364c226518491b00d063e7  usr/share/projman/theme/equilux/equilux/slider-vert-insens.png
+a7aaec6e2df5e83ef1b543bc34e75032  usr/share/projman/theme/equilux/equilux/slider-vert-prelight.png
+a7aaec6e2df5e83ef1b543bc34e75032  usr/share/projman/theme/equilux/equilux/slider-vert.png
+0193340f38a5f2d50d0d97f0656e66ae  usr/share/projman/theme/equilux/equilux/slider.png
+5e4b89a68e1b036d15a1a4d15dec930b  usr/share/projman/theme/equilux/equilux/tab-top-active.png
+0d23a3696c905361cfeb2a5fe9aff0cf  usr/share/projman/theme/equilux/equilux/tab-top-hover.png
+a0cc33bf6a684776d196f37fd46d08a0  usr/share/projman/theme/equilux/equilux/tab-top.png
+c60fe2a868ffd0ee93eb6fc3d8c42579  usr/share/projman/theme/equilux/equilux/tree-heading-active.png
+e57acd1540e2b343c3fac5d57bce76f1  usr/share/projman/theme/equilux/equilux/tree-heading.png
+4aa437c5c6a1d4664a97add8ad0e958f  usr/share/projman/theme/equilux/equilux/treeview.png
+c21bc4327998a90cb06b42083fe289c5  usr/share/projman/theme/equilux/equilux/trough-horizontal-active.png
+b107321d72acbde3c4f2e2fc1b71ac61  usr/share/projman/theme/equilux/equilux/trough-horizontal.png
+c814d0ec16b1c5c3212caf3a223ac3cd  usr/share/projman/theme/equilux/equilux/trough-scrollbar-horiz.png
+2de884b2bd23b70e7a8a6f7665e09c0f  usr/share/projman/theme/equilux/equilux/trough-scrollbar-vert.png
+66a61bdc92aa56bed059bec52afe0561  usr/share/projman/theme/equilux/equilux/trough-vertical-active.png
+148c5dbe5739f67baad70c315b804b4e  usr/share/projman/theme/equilux/equilux/trough-vertical.png
+5f1048d6cc676b93f1d9bf3e8e1c4e01  usr/share/projman/theme/equilux/equilux/up-background-active.png
+50e9c80a02a4c36def8345add1c48c82  usr/share/projman/theme/equilux/equilux/up-background-disable.png
+9e09d7d602cbfc5f747eb6c58182c56b  usr/share/projman/theme/equilux/equilux/up-background-hover.png
+06af2b2cc80095d5ca2c072a1bc2958f  usr/share/projman/theme/equilux/equilux/up-background.png
+bb59cfdfe86b234938629ea9ccc96bdb  usr/share/projman/theme/pkgIndex.tcl
+4e5c42bd40b2b0d3e4aee92f1d4e9133  usr/share/projman/theme/scid/LICENSE.md
+a80807545615f8ebf176eeec07c27899  usr/share/projman/theme/scid/scid.tcl
+b6b5141cc53b3d9c0b36061e51326b0c  usr/share/projman/theme/scid/scidblue/blank.png
+3a3ab7f6275d3fdcdc8ae390ed1bc535  usr/share/projman/theme/scid/scidblue/button-a.png
+0a5b3611719870974bd4720b9fb99728  usr/share/projman/theme/scid/scidblue/button-a1p.png
+e6bf0c226b9cecdeccacf2541a8997ba  usr/share/projman/theme/scid/scidblue/button-d.png
+98360eeedf2050c268e248140ba24b69  usr/share/projman/theme/scid/scidblue/button-default.png
+7c391d0fe6029b3c200fbeceb730858e  usr/share/projman/theme/scid/scidblue/button-n.png
+6a881627afda7d451afc33bfc23d18d5  usr/share/projman/theme/scid/scidblue/button-p.png
+32d0920dc47412926f6697b6f51de120  usr/share/projman/theme/scid/scidblue/button-p1p.png
+d5491ad32802f2f3fe79ce86425b5ea3  usr/share/projman/theme/scid/scidblue/button-pa.png
+563c55cc36a021a33b7747f63c8e279d  usr/share/projman/theme/scid/scidblue/check-ac.png
+5cee6efa1d7248d14067e20c8de8f9b9  usr/share/projman/theme/scid/scidblue/check-au.png
+a7e22552a66110faf4f33417f1d3ac18  usr/share/projman/theme/scid/scidblue/check-dc.png
+56084867803815460dcedc9b34a5c673  usr/share/projman/theme/scid/scidblue/check-du.png
+234cbe5244d458b019a2e79bdc21e7a3  usr/share/projman/theme/scid/scidblue/check-hu.png
+563c55cc36a021a33b7747f63c8e279d  usr/share/projman/theme/scid/scidblue/check-nc.png
+bcbcfe58764c94f486b584559cc3fc1d  usr/share/projman/theme/scid/scidblue/check-nu.png
+279b340ad0fbb0f5f6b2a38ef63eb6ea  usr/share/projman/theme/scid/scidblue/check-pc.png
+5149bd09daff112d7c83cb15c61fdafe  usr/share/projman/theme/scid/scidblue/check-pu.png
+4173762a7fa0b39bea988b075309b95b  usr/share/projman/theme/scid/scidblue/combo-n.png
+9704f5c1a8d5a8453ebb8be8850073e8  usr/share/projman/theme/scid/scidblue/combo-ra.png
+614e6673943869185856df96aba36c82  usr/share/projman/theme/scid/scidblue/combo-rd.png
+210a5ad117a565b0277128d53490c838  usr/share/projman/theme/scid/scidblue/combo-rf.png
+edf5e0f047d62d5cb187610d031745fb  usr/share/projman/theme/scid/scidblue/combo-rn.png
+55798eca0bc43b2c58a6c851b7f71bcf  usr/share/projman/theme/scid/scidblue/combo-rp.png
+b6313692f2f3c8057b464d928c0a4789  usr/share/projman/theme/scid/scidblue/comboarrow-a.png
+339cc8f2a317a09fd48cd9b43afc1a72  usr/share/projman/theme/scid/scidblue/comboarrow-af.png
+68b5f772b53ea2fac7bff8f924167a45  usr/share/projman/theme/scid/scidblue/comboarrow-d.png
+68752af40c3a3c7d939e3436658435dc  usr/share/projman/theme/scid/scidblue/comboarrow-n.png
+a7821b2c6016f387fd7e151076d79023  usr/share/projman/theme/scid/scidblue/comboarrow-p.png
+0f7fb880cc26d6242ee75435d09017cf  usr/share/projman/theme/scid/scidblue/entry-a.png
+17d7319851f94e23fd6a19f860d56aff  usr/share/projman/theme/scid/scidblue/entry-d.png
+6e3fec83fa02b700c7d9f6d145e72b97  usr/share/projman/theme/scid/scidblue/entry-n.png
+0c4dea6fe3bd000820e76478ac8961e6  usr/share/projman/theme/scid/scidblue/entry-rd.png
+28da8ff9cee27e1b2fdb497152557fa1  usr/share/projman/theme/scid/scidblue/labelframe.png
+7024cd4cac22f3b317b210eda8309d20  usr/share/projman/theme/scid/scidblue/menuarrow-a.png
+39c013280af5880c455370ff1a715ccf  usr/share/projman/theme/scid/scidblue/menuarrow-d.png
+77db19948f85fa4f86f15e95330fe425  usr/share/projman/theme/scid/scidblue/progress-h.png
+054038032b3152738d6e52446f900d6f  usr/share/projman/theme/scid/scidblue/progress-v.png
+5d04c754e09fc0a31e51cb7bf4360ba7  usr/share/projman/theme/scid/scidblue/radio-ac.png
+3591decb108ce5dbe3d66ab9a3c0206b  usr/share/projman/theme/scid/scidblue/radio-au.png
+6c32bd0f0a9eb247ae9d125c3c17a2f6  usr/share/projman/theme/scid/scidblue/radio-dc.png
+241a5682c481b2e43d174cf462e12ab2  usr/share/projman/theme/scid/scidblue/radio-du.png
+7179f008eb3600104023a933f185f960  usr/share/projman/theme/scid/scidblue/radio-hu.png
+f2ca763c09354eb5878c7e679b8e7820  usr/share/projman/theme/scid/scidblue/radio-nc.png
+ea2139846d72779975903682f21d6f06  usr/share/projman/theme/scid/scidblue/radio-nu.png
+f2ca763c09354eb5878c7e679b8e7820  usr/share/projman/theme/scid/scidblue/radio-pc.png
+f715fa9a800b9770bdbf00bd1b799d1a  usr/share/projman/theme/scid/scidblue/radio-pu.png
+c0f26cd176afe540d377a336d217fe1f  usr/share/projman/theme/scid/scidblue/sas-h.png
+3964e23532da8c0333973704f243b74c  usr/share/projman/theme/scid/scidblue/sas-v.png
+a50161768c2e7c77d9700e8849b59586  usr/share/projman/theme/scid/scidblue/sbthumb-ha.png
+c5fd5488a77ae2db44d7be4a5e0f8803  usr/share/projman/theme/scid/scidblue/sbthumb-hd.png
+971a8497ae26128cc1a2ed6bea9f06d5  usr/share/projman/theme/scid/scidblue/sbthumb-hn.png
+13ca7c997925149423ce5a247c80d23f  usr/share/projman/theme/scid/scidblue/sbthumb-hp.png
+e481e37a8dca344dccabee68f2e35274  usr/share/projman/theme/scid/scidblue/sbthumb-va.png
+10b502a9aa2c464dac72046fa0eb9059  usr/share/projman/theme/scid/scidblue/sbthumb-vd.png
+e8dc69b85e4731daff2b30c3c877e84b  usr/share/projman/theme/scid/scidblue/sbthumb-vn.png
+1a4ba0f0f80dd25b9a27b4539dfe1c04  usr/share/projman/theme/scid/scidblue/sbthumb-vp.png
+e1f30937de23c9cfe7a94c7b857f9b07  usr/share/projman/theme/scid/scidblue/sbtrough-h.png
+2e57d16a961f87790cec396eb64194e0  usr/share/projman/theme/scid/scidblue/sbtrough-v.png
+f715fa9a800b9770bdbf00bd1b799d1a  usr/share/projman/theme/scid/scidblue/scale-ha.png
+05b39f3cc8a06726f73452c976755438  usr/share/projman/theme/scid/scidblue/scale-hd.png
+2ba2d3d87d3179241c59448aa36415da  usr/share/projman/theme/scid/scidblue/scale-hn.png
+f715fa9a800b9770bdbf00bd1b799d1a  usr/share/projman/theme/scid/scidblue/scale-va.png
+05b39f3cc8a06726f73452c976755438  usr/share/projman/theme/scid/scidblue/scale-vd.png
+2ba2d3d87d3179241c59448aa36415da  usr/share/projman/theme/scid/scidblue/scale-vn.png
+d7ec77731739d31ad762de59a61e24d2  usr/share/projman/theme/scid/scidblue/scaletrough-h.png
+a55aae90e9e3319af3206d96bbc9665f  usr/share/projman/theme/scid/scidblue/scaletrough-hp.png
+e51aba4b72f2ce42322eceab4da1412b  usr/share/projman/theme/scid/scidblue/scaletrough-v.png
+479c7e08fe5110b9cef54f1b2cdf53d3  usr/share/projman/theme/scid/scidblue/scaletrough-vp.png
+d869a2f7208255ead4c368b593c1f942  usr/share/projman/theme/scid/scidblue/sep-h.png
+61f59a71ea580fb451d8b47ffe578c20  usr/share/projman/theme/scid/scidblue/sep-v.png
+2e2a8863406fa1be8de80eedaa85a643  usr/share/projman/theme/scid/scidblue/sizegrip.png
+9d6a7a8da935b006fd5126135a7244bf  usr/share/projman/theme/scid/scidblue/spinarrowdown-a.png
+8a4785569ee15d3d21e839a58b8dbae3  usr/share/projman/theme/scid/scidblue/spinarrowdown-af.png
+78d1ef59fe1782d62d140ef07a901a96  usr/share/projman/theme/scid/scidblue/spinarrowdown-p.png
+039d18a3189bf3d86cefb4244f5371af  usr/share/projman/theme/scid/scidblue/spinarrowdown-pa.png
+23f6c55edf974a5f512b9c0778dcfc05  usr/share/projman/theme/scid/scidblue/spinarrowdown-paf.png
+0d39066cf6587367a40ca6691223e974  usr/share/projman/theme/scid/scidblue/spinarrowup-a.png
+bcdaf312c45cb79588631636347ae08a  usr/share/projman/theme/scid/scidblue/spinarrowup-af.png
+facb89c8877024f786899a260b3e5fa8  usr/share/projman/theme/scid/scidblue/spinarrowup-p.png
+bc713224fdf8c116e9ae1a7a273b5f83  usr/share/projman/theme/scid/scidblue/spinarrowup-pa.png
+77642071badf0bc6518ea39e41ead4cf  usr/share/projman/theme/scid/scidblue/spinarrowup-paf.png
+7cc9ef972ef68b50a5fcad3dc8fbbc7b  usr/share/projman/theme/scid/scidblue/surface.png
+66aff12f1d0ef345e582e150cfed2822  usr/share/projman/theme/scid/scidblue/tab-a.png
+2bef3b9fbf8d911612f55dc1e9f18ab3  usr/share/projman/theme/scid/scidblue/tab-n.png
+7d132a21c50386f150a6b9ed57d90101  usr/share/projman/theme/scid/scidblue/tab-s.png
+ccbe3f144b4c12997e8a96ec86aa46b2  usr/share/projman/theme/scid/scidblue/toolbutton-a.png
+e6bf0c226b9cecdeccacf2541a8997ba  usr/share/projman/theme/scid/scidblue/toolbutton-d.png
+98360eeedf2050c268e248140ba24b69  usr/share/projman/theme/scid/scidblue/toolbutton-n.png
+6131a8245d916529f869c8e076ec4e96  usr/share/projman/theme/scid/scidblue/toolbutton-p.png
+d5491ad32802f2f3fe79ce86425b5ea3  usr/share/projman/theme/scid/scidblue/toolbutton-pa.png
+5e07c6c29d07c549b13f249af0f669a5  usr/share/projman/theme/scid/scidblue/tree-d.png
+bb5655cdc6e703345a01579851034541  usr/share/projman/theme/scid/scidblue/tree-h.png
+f2c307bd9d0e1d0e1888c60169c8903c  usr/share/projman/theme/scid/scidblue/tree-n.png
+e1ca99ee78916562aadf45c80950f195  usr/share/projman/theme/scid/scidblue/tree-p.png
+c874e1bb51e7ac0be316cd4f582351ca  usr/share/projman/theme/scid/scidgreen/blank.png
+b19d1d1cb59611df04f7e6eaeefe489e  usr/share/projman/theme/scid/scidgreen/button-a.png
+c03bf05dc0a02c5166bcac34e3dd2c69  usr/share/projman/theme/scid/scidgreen/button-a1p.png
+5d276f9de851a224f1a2002756384b78  usr/share/projman/theme/scid/scidgreen/button-d.png
+23e295d49d2e126f873267c7fe0b58fb  usr/share/projman/theme/scid/scidgreen/button-default.png
+790a3a6c123ccc0c69eaf1d77a11a6bc  usr/share/projman/theme/scid/scidgreen/button-n.png
+82616f1c3113945fab86b0aa51a0a04b  usr/share/projman/theme/scid/scidgreen/button-p.png
+0eb9b1ba3906a1bf25da5c70ae3d3ee3  usr/share/projman/theme/scid/scidgreen/button-p1p.png
+f9781337e36eee5818fe5cf79f708e5b  usr/share/projman/theme/scid/scidgreen/button-pa.png
+6a33cdd172c9439d8084a2ade47acf06  usr/share/projman/theme/scid/scidgreen/check-ac.png
+863b05d7ed24069ad060f40db8dc536a  usr/share/projman/theme/scid/scidgreen/check-au.png
+d84eddefd65f5896abc907f57464decf  usr/share/projman/theme/scid/scidgreen/check-dc.png
+863b05d7ed24069ad060f40db8dc536a  usr/share/projman/theme/scid/scidgreen/check-du.png
+e4c671966e6b1accbcfa8c852ce04e04  usr/share/projman/theme/scid/scidgreen/check-hu.png
+0fba6b879bef2ee5b4beb18838f725bf  usr/share/projman/theme/scid/scidgreen/check-nc.png
+863b05d7ed24069ad060f40db8dc536a  usr/share/projman/theme/scid/scidgreen/check-nu.png
+0fba6b879bef2ee5b4beb18838f725bf  usr/share/projman/theme/scid/scidgreen/check-pc.png
+7058fc8e22474c8e9f1f294d68f39b89  usr/share/projman/theme/scid/scidgreen/check-pu.png
+3b3a1ef493dc4c4ca9eeb2a08b62aa48  usr/share/projman/theme/scid/scidgreen/combo-n.png
+7be150d755dd26ee4c2db2c312e5dca5  usr/share/projman/theme/scid/scidgreen/combo-ra.png
+65e963a4f475f5da1e9474ba090eaa3b  usr/share/projman/theme/scid/scidgreen/combo-rd.png
+e032b25bec9c1af2a78e55e7d24266d5  usr/share/projman/theme/scid/scidgreen/combo-rf.png
+14d9efa81da18d5587c644f055899685  usr/share/projman/theme/scid/scidgreen/combo-rn.png
+951e826e9a3f8eeaba0cb58ec849f684  usr/share/projman/theme/scid/scidgreen/combo-rp.png
+f16fec7d6429abe1e379b1aa79a77c91  usr/share/projman/theme/scid/scidgreen/comboarrow-a.png
+9152ac29575007b6d941c09a868c2ba7  usr/share/projman/theme/scid/scidgreen/comboarrow-af.png
+05ad461c96a3de0340e46f444a28ced6  usr/share/projman/theme/scid/scidgreen/comboarrow-d.png
+b3f72c86e82d8b1a77030f90f05a8b2d  usr/share/projman/theme/scid/scidgreen/comboarrow-n.png
+f7a62c1c58fcece23911432213567ece  usr/share/projman/theme/scid/scidgreen/comboarrow-p.png
+94d61cd49adcb0faa8176d3b57a8d5ca  usr/share/projman/theme/scid/scidgreen/entry-a.png
+ba34cf31762b48a1d4f2a9383c597e98  usr/share/projman/theme/scid/scidgreen/entry-d.png
+0d67219d0f7811edd1546b62d7902503  usr/share/projman/theme/scid/scidgreen/entry-n.png
+a2b5ec46e2ffdcff2b3fe4b6da2bca7c  usr/share/projman/theme/scid/scidgreen/entry-rd.png
+ea16c2f0c35e4a6093f6540a777063b1  usr/share/projman/theme/scid/scidgreen/labelframe.png
+81f5508daef0c70d03a87c0f4c08974f  usr/share/projman/theme/scid/scidgreen/menuarrow-a.png
+5bd5cf9ae8ab7578fffb7ba76b0eefbe  usr/share/projman/theme/scid/scidgreen/menuarrow-d.png
+9e66cd0519cf892a19191a04f732a187  usr/share/projman/theme/scid/scidgreen/progress-h.png
+4b9138c2d10ab25a02bc77a6fa497e8a  usr/share/projman/theme/scid/scidgreen/progress-v.png
+3a99c0698a142ddc47824e4ac4997cb7  usr/share/projman/theme/scid/scidgreen/radio-ac.png
+c230b85390888b9be86dcf24fe3cd228  usr/share/projman/theme/scid/scidgreen/radio-au.png
+022eea8da65c7a029b0834454d738959  usr/share/projman/theme/scid/scidgreen/radio-dc.png
+c230b85390888b9be86dcf24fe3cd228  usr/share/projman/theme/scid/scidgreen/radio-du.png
+dec6c146797277f91aba81492887c73f  usr/share/projman/theme/scid/scidgreen/radio-hu.png
+3a99c0698a142ddc47824e4ac4997cb7  usr/share/projman/theme/scid/scidgreen/radio-nc.png
+c230b85390888b9be86dcf24fe3cd228  usr/share/projman/theme/scid/scidgreen/radio-nu.png
+3a99c0698a142ddc47824e4ac4997cb7  usr/share/projman/theme/scid/scidgreen/radio-pc.png
+52fda81aea1f1cfd0b62d630e64a8ccd  usr/share/projman/theme/scid/scidgreen/radio-pu.png
+a36cacf550ada6dbaa5c7dc27188dfc3  usr/share/projman/theme/scid/scidgreen/sas-h.png
+9963b0563e3a4eac3a39066bc6d1d1b3  usr/share/projman/theme/scid/scidgreen/sas-v.png
+32a954c478117924c296bf11fd38121b  usr/share/projman/theme/scid/scidgreen/sbthumb-ha.png
+69671f33d0b96fc2296a38651b103e51  usr/share/projman/theme/scid/scidgreen/sbthumb-hd.png
+803503f46b693a7f287d01c56edfc9ea  usr/share/projman/theme/scid/scidgreen/sbthumb-hn.png
+07f420277be04c3e7c406d1b91a1eaff  usr/share/projman/theme/scid/scidgreen/sbthumb-hp.png
+e91960294b7988fbc0a4169c61d68912  usr/share/projman/theme/scid/scidgreen/sbthumb-va.png
+947d6f0342a54aeee8c9e627ceb5fddd  usr/share/projman/theme/scid/scidgreen/sbthumb-vd.png
+9cf19c9814eb2690be16c6b83b69aa9b  usr/share/projman/theme/scid/scidgreen/sbthumb-vn.png
+623c08658283289c0a57321008eda946  usr/share/projman/theme/scid/scidgreen/sbthumb-vp.png
+29ef07b897c50d733b4caf1c6cf3e295  usr/share/projman/theme/scid/scidgreen/sbtrough-h.png
+b028515e49ebc6b1b8e79590b001def0  usr/share/projman/theme/scid/scidgreen/sbtrough-v.png
+52fda81aea1f1cfd0b62d630e64a8ccd  usr/share/projman/theme/scid/scidgreen/scale-ha.png
+72e3dc3fb802e2995fc7a0838b36e52d  usr/share/projman/theme/scid/scidgreen/scale-hd.png
+9c57c311b5e511b87ce1181943486775  usr/share/projman/theme/scid/scidgreen/scale-hn.png
+52fda81aea1f1cfd0b62d630e64a8ccd  usr/share/projman/theme/scid/scidgreen/scale-va.png
+72e3dc3fb802e2995fc7a0838b36e52d  usr/share/projman/theme/scid/scidgreen/scale-vd.png
+9c57c311b5e511b87ce1181943486775  usr/share/projman/theme/scid/scidgreen/scale-vn.png
+ba20f01e22b5470469f72a3c2b5ebb9f  usr/share/projman/theme/scid/scidgreen/scaletrough-h.png
+5e7bf2086dfb340dcfbe5777d4d3d8c2  usr/share/projman/theme/scid/scidgreen/scaletrough-hp.png
+8c7bd78b38c7cb21d4e0f2002b0e71cb  usr/share/projman/theme/scid/scidgreen/scaletrough-v.png
+9d8655dd3f8f2bca0aaef8cfc74c7d12  usr/share/projman/theme/scid/scidgreen/scaletrough-vp.png
+5c980cb9984b4ea7640621289a8077c1  usr/share/projman/theme/scid/scidgreen/sep-h.png
+9949d787581552806a0cef297b124c4f  usr/share/projman/theme/scid/scidgreen/sep-v.png
+be2f0ea2790e628a69a4b2b0758fba24  usr/share/projman/theme/scid/scidgreen/sizegrip.png
+2c34d896cb965535cea9f04ce46cf239  usr/share/projman/theme/scid/scidgreen/spinarrowdown-a.png
+56d335d319d5ef3de425c1d38a89b230  usr/share/projman/theme/scid/scidgreen/spinarrowdown-af.png
+2c34d896cb965535cea9f04ce46cf239  usr/share/projman/theme/scid/scidgreen/spinarrowdown-p.png
+11140b1f00638e590a9d40453dfecbed  usr/share/projman/theme/scid/scidgreen/spinarrowdown-pa.png
+a0b82025e3693eb011e5d41b18418a3e  usr/share/projman/theme/scid/scidgreen/spinarrowdown-paf.png
+36b623c8f80d7903b3acff4ebd7b95f2  usr/share/projman/theme/scid/scidgreen/spinarrowup-a.png
+fe4a51743e1422827c7f13b7bd459b39  usr/share/projman/theme/scid/scidgreen/spinarrowup-af.png
+36b623c8f80d7903b3acff4ebd7b95f2  usr/share/projman/theme/scid/scidgreen/spinarrowup-p.png
+f62e29dc6491fe47f1f3c0907f5e4522  usr/share/projman/theme/scid/scidgreen/spinarrowup-pa.png
+f40dd4a5e11bf9ecc01d309c8169af67  usr/share/projman/theme/scid/scidgreen/spinarrowup-paf.png
+3775c8089bfe9b8ea1c0c4a87b80ed06  usr/share/projman/theme/scid/scidgreen/surface.png
+519a8e9ac928e0224a5d8b0a6c46d2a1  usr/share/projman/theme/scid/scidgreen/tab-a.png
+52e624fc1edc4af2937dd2f75a49b901  usr/share/projman/theme/scid/scidgreen/tab-n.png
+519a8e9ac928e0224a5d8b0a6c46d2a1  usr/share/projman/theme/scid/scidgreen/tab-s.png
+c03bf05dc0a02c5166bcac34e3dd2c69  usr/share/projman/theme/scid/scidgreen/toolbutton-a.png
+5d276f9de851a224f1a2002756384b78  usr/share/projman/theme/scid/scidgreen/toolbutton-d.png
+23e295d49d2e126f873267c7fe0b58fb  usr/share/projman/theme/scid/scidgreen/toolbutton-n.png
+0eb9b1ba3906a1bf25da5c70ae3d3ee3  usr/share/projman/theme/scid/scidgreen/toolbutton-p.png
+f9781337e36eee5818fe5cf79f708e5b  usr/share/projman/theme/scid/scidgreen/toolbutton-pa.png
+104778228010fc3d435de7123e10a6bd  usr/share/projman/theme/scid/scidgreen/tree-d.png
+2de4df7436763468028032a9265e8835  usr/share/projman/theme/scid/scidgreen/tree-h.png
+2de4df7436763468028032a9265e8835  usr/share/projman/theme/scid/scidgreen/tree-n.png
+946b91bcb4f91e4f1773efe7eeeb853c  usr/share/projman/theme/scid/scidgreen/tree-p.png
+30d32ab3f397b996d59248f2b80cfbe6  usr/share/projman/theme/scid/scidgrey/blank.png
+98b49ecb370e4bb973dead7e3f46a719  usr/share/projman/theme/scid/scidgrey/button-a.png
+04d51e24ca6fa97c02fad71dff47960b  usr/share/projman/theme/scid/scidgrey/button-a1p.png
+76c88ca52ef208341dd2b4f61e3f16bd  usr/share/projman/theme/scid/scidgrey/button-d.png
+7da33bc736da504494f4e53ed5fc59ed  usr/share/projman/theme/scid/scidgrey/button-default.png
+2c4b74649a915adc385653b883a368b4  usr/share/projman/theme/scid/scidgrey/button-n.png
+2396a761bda1bb5527495d3e9b2931dc  usr/share/projman/theme/scid/scidgrey/button-p.png
+7de3a863d03aec65f6103747bc678996  usr/share/projman/theme/scid/scidgrey/button-p1p.png
+e95ae24ebcca05e77f44b9f7f994a749  usr/share/projman/theme/scid/scidgrey/button-pa.png
+23de18ec6cb9832e736713f8f1d3f193  usr/share/projman/theme/scid/scidgrey/check-ac.png
+28d49ffb7b19548007e0680dcfe10ff3  usr/share/projman/theme/scid/scidgrey/check-au.png
+9a2931b1778d26cf56fc317396e76f4d  usr/share/projman/theme/scid/scidgrey/check-dc.png
+28d49ffb7b19548007e0680dcfe10ff3  usr/share/projman/theme/scid/scidgrey/check-du.png
+f62208eb620367337db36ecb6e78c9b7  usr/share/projman/theme/scid/scidgrey/check-hu.png
+23de18ec6cb9832e736713f8f1d3f193  usr/share/projman/theme/scid/scidgrey/check-nc.png
+28d49ffb7b19548007e0680dcfe10ff3  usr/share/projman/theme/scid/scidgrey/check-nu.png
+23de18ec6cb9832e736713f8f1d3f193  usr/share/projman/theme/scid/scidgrey/check-pc.png
+778154d86723043e3e2b1acc6a3fca6b  usr/share/projman/theme/scid/scidgrey/check-pu.png
+768f695f395f0b583e1ec059ccc2b550  usr/share/projman/theme/scid/scidgrey/combo-n.png
+8fb1f8af9e679771730c3137bd9987e8  usr/share/projman/theme/scid/scidgrey/combo-ra.png
+71c13e60f3137f94c56dee05d6168583  usr/share/projman/theme/scid/scidgrey/combo-rd.png
+d04bcb7401a3901743b9d8ccf592ef4d  usr/share/projman/theme/scid/scidgrey/combo-rf.png
+b986d47618222a8dfad315f9330b7a54  usr/share/projman/theme/scid/scidgrey/combo-rn.png
+ed3112011d507fc539e2558efc3b3408  usr/share/projman/theme/scid/scidgrey/combo-rp.png
+eec82bbfe4ee5297de53dd9eb6ea5f9c  usr/share/projman/theme/scid/scidgrey/comboarrow-a.png
+0881730a30ec9e474feb3a07484ef46b  usr/share/projman/theme/scid/scidgrey/comboarrow-af.png
+edba4884998a91b714f9f89d0effcba8  usr/share/projman/theme/scid/scidgrey/comboarrow-d.png
+99302778f06fb3ebe0c66528588c45e3  usr/share/projman/theme/scid/scidgrey/comboarrow-n.png
+5aa088f12c82fc0873eea9d5221ef437  usr/share/projman/theme/scid/scidgrey/comboarrow-p.png
+116a0a9a37257da9157245a34d0203ec  usr/share/projman/theme/scid/scidgrey/entry-a.png
+afb0c44169f3f7cf033c253619df9b83  usr/share/projman/theme/scid/scidgrey/entry-d.png
+0dd447c52e761ff02cf3426b1cc66bc4  usr/share/projman/theme/scid/scidgrey/entry-n.png
+7d30a2d9b892aef8d182afd4f976ba53  usr/share/projman/theme/scid/scidgrey/entry-rd.png
+d8dbc0e040470d79812666ba61c1743a  usr/share/projman/theme/scid/scidgrey/labelframe.png
+401e867946ed1192a85fcedb6684c4ba  usr/share/projman/theme/scid/scidgrey/menuarrow-a.png
+0902c0cd0a876cb8c955017de074d148  usr/share/projman/theme/scid/scidgrey/menuarrow-d.png
+137ccd3b74e04602d377c0d66549b620  usr/share/projman/theme/scid/scidgrey/progress-h.png
+d4002c3c8d258f42b7ebb92e7cf7bc01  usr/share/projman/theme/scid/scidgrey/progress-v.png
+d2bd49abb4d7fc32b8dca58587379475  usr/share/projman/theme/scid/scidgrey/radio-ac.png
+f3ef40bc7c4e1d909b69c2f8f94a66c1  usr/share/projman/theme/scid/scidgrey/radio-au.png
+8c6268e434199b3ea04bd9cf05da8ef8  usr/share/projman/theme/scid/scidgrey/radio-dc.png
+f3ef40bc7c4e1d909b69c2f8f94a66c1  usr/share/projman/theme/scid/scidgrey/radio-du.png
+4be01f57789b44a2b655108b5649f430  usr/share/projman/theme/scid/scidgrey/radio-hu.png
+d2bd49abb4d7fc32b8dca58587379475  usr/share/projman/theme/scid/scidgrey/radio-nc.png
+f3ef40bc7c4e1d909b69c2f8f94a66c1  usr/share/projman/theme/scid/scidgrey/radio-nu.png
+d2bd49abb4d7fc32b8dca58587379475  usr/share/projman/theme/scid/scidgrey/radio-pc.png
+a6cfa5fea66317d1501d0f04824c3297  usr/share/projman/theme/scid/scidgrey/radio-pu.png
+e3fb6382f2ad20291eaa27febaffc7d5  usr/share/projman/theme/scid/scidgrey/sas-h.png
+46288ee7342c9e86a855d4cf98842745  usr/share/projman/theme/scid/scidgrey/sas-v.png
+25dd1dd81740cc8739c70b7abed83a18  usr/share/projman/theme/scid/scidgrey/sbthumb-ha.png
+1f3be54498dc27edbe7647c2a7635bd6  usr/share/projman/theme/scid/scidgrey/sbthumb-hd.png
+c385be76ea46e7bc4e145f02c556b047  usr/share/projman/theme/scid/scidgrey/sbthumb-hn.png
+ce726eb147ca529ce85122ca38b1fd81  usr/share/projman/theme/scid/scidgrey/sbthumb-hp.png
+23abe722c2984b0309ec91461179d6d8  usr/share/projman/theme/scid/scidgrey/sbthumb-va.png
+2088a0b24fc5840e7455d98cf790d964  usr/share/projman/theme/scid/scidgrey/sbthumb-vd.png
+c0054aaa62bfc9b5d5af0ebdc309fe14  usr/share/projman/theme/scid/scidgrey/sbthumb-vn.png
+f01f60694b56bb8d69576dfac7bf746c  usr/share/projman/theme/scid/scidgrey/sbthumb-vp.png
+886ec774c4de77b1627e36290ec3e28b  usr/share/projman/theme/scid/scidgrey/sbtrough-h.png
+324c0e0c842551b779a29d567fb84a87  usr/share/projman/theme/scid/scidgrey/sbtrough-v.png
+a6cfa5fea66317d1501d0f04824c3297  usr/share/projman/theme/scid/scidgrey/scale-ha.png
+986f1d9310e113a82ca183edf67e1ec3  usr/share/projman/theme/scid/scidgrey/scale-hd.png
+f88c1f2f8345b59b53b36f9b4c23196b  usr/share/projman/theme/scid/scidgrey/scale-hn.png
+a6cfa5fea66317d1501d0f04824c3297  usr/share/projman/theme/scid/scidgrey/scale-va.png
+986f1d9310e113a82ca183edf67e1ec3  usr/share/projman/theme/scid/scidgrey/scale-vd.png
+f88c1f2f8345b59b53b36f9b4c23196b  usr/share/projman/theme/scid/scidgrey/scale-vn.png
+183e23062f306e85ca98b8edbc071045  usr/share/projman/theme/scid/scidgrey/scaletrough-h.png
+7ee2dafdd40e8fbc508d448d7b4ffc2b  usr/share/projman/theme/scid/scidgrey/scaletrough-hp.png
+511ae551c4fe47d137539435d7297ad2  usr/share/projman/theme/scid/scidgrey/scaletrough-v.png
+a590356e18b530cfe1dfed41e3f7d897  usr/share/projman/theme/scid/scidgrey/scaletrough-vp.png
+1a2673cb7e5d6d0e353722820ef24fd5  usr/share/projman/theme/scid/scidgrey/sep-h.png
+db87c0af0d3e72a2ed95c1c2fd870f7e  usr/share/projman/theme/scid/scidgrey/sep-v.png
+8d1d254ff4d0e17fc6fbf518b58f66f9  usr/share/projman/theme/scid/scidgrey/sizegrip.png
+f2f07959778b19ee9ceaa330940810ca  usr/share/projman/theme/scid/scidgrey/spinarrowdown-a.png
+65fd6abf02d1198965a99b245c26422c  usr/share/projman/theme/scid/scidgrey/spinarrowdown-af.png
+f2f07959778b19ee9ceaa330940810ca  usr/share/projman/theme/scid/scidgrey/spinarrowdown-p.png
+8d69f153d1d4bab6b43ecfaba884a6b8  usr/share/projman/theme/scid/scidgrey/spinarrowdown-pa.png
+def138772534959298815e567310b50f  usr/share/projman/theme/scid/scidgrey/spinarrowdown-paf.png
+701455c80094c6a4e1fa423f9f7069a6  usr/share/projman/theme/scid/scidgrey/spinarrowup-a.png
+1c13b14bc7b5984bc03b2eb37b11d4b3  usr/share/projman/theme/scid/scidgrey/spinarrowup-af.png
+701455c80094c6a4e1fa423f9f7069a6  usr/share/projman/theme/scid/scidgrey/spinarrowup-p.png
+cbcfe052f5f578db3747a9f1336be14b  usr/share/projman/theme/scid/scidgrey/spinarrowup-pa.png
+d019c1a9b4761f50631b92f3852aa56e  usr/share/projman/theme/scid/scidgrey/spinarrowup-paf.png
+42c63ae94e50432625580b0750891761  usr/share/projman/theme/scid/scidgrey/surface.png
+78a9a014e5ca39b5f979b38a30902ff5  usr/share/projman/theme/scid/scidgrey/tab-a.png
+77ebaad0217b446f9f92a9fef07544a0  usr/share/projman/theme/scid/scidgrey/tab-n.png
+78a9a014e5ca39b5f979b38a30902ff5  usr/share/projman/theme/scid/scidgrey/tab-s.png
+04d51e24ca6fa97c02fad71dff47960b  usr/share/projman/theme/scid/scidgrey/toolbutton-a.png
+76c88ca52ef208341dd2b4f61e3f16bd  usr/share/projman/theme/scid/scidgrey/toolbutton-d.png
+7da33bc736da504494f4e53ed5fc59ed  usr/share/projman/theme/scid/scidgrey/toolbutton-n.png
+7de3a863d03aec65f6103747bc678996  usr/share/projman/theme/scid/scidgrey/toolbutton-p.png
+e95ae24ebcca05e77f44b9f7f994a749  usr/share/projman/theme/scid/scidgrey/toolbutton-pa.png
+4b7fba9e219966cb94d2084ad1a762c5  usr/share/projman/theme/scid/scidgrey/tree-d.png
+d3418b97eab9d970240a302756f02238  usr/share/projman/theme/scid/scidgrey/tree-h.png
+d3418b97eab9d970240a302756f02238  usr/share/projman/theme/scid/scidgrey/tree-n.png
+68d64eae52497f00d368b0ecf4b80ebb  usr/share/projman/theme/scid/scidgrey/tree-p.png
+5d1c4f102fb0808a0c675aec5d997bc0  usr/share/projman/theme/scid/scidmint/blank.png
+e37a65486fe3ca807cfb97a0054e970a  usr/share/projman/theme/scid/scidmint/button-a.png
+e5faf0dc2fc8cc7ddf24bdef34022284  usr/share/projman/theme/scid/scidmint/button-a1p.png
+3fec38dd12b47382e60809afc55a78a8  usr/share/projman/theme/scid/scidmint/button-d.png
+7f54c0432bd80d08d6adfadc2edfb02f  usr/share/projman/theme/scid/scidmint/button-default.png
+40fc58ab87f2d3156df7380ad08f6a5a  usr/share/projman/theme/scid/scidmint/button-n.png
+eb43f2c59b959fa4725a70cb6b7933be  usr/share/projman/theme/scid/scidmint/button-p.png
+df53158539e6f622f1027eac62c71be3  usr/share/projman/theme/scid/scidmint/button-p1p.png
+05cc9f7a641a9c4e8a24be83d1e18fc6  usr/share/projman/theme/scid/scidmint/button-pa.png
+f62e6a8c11aedf6fc4f01b287354839c  usr/share/projman/theme/scid/scidmint/check-ac.png
+ca5ec4ee548f7f99892b0c7a825fd9fd  usr/share/projman/theme/scid/scidmint/check-au.png
+f341a655411637f9460d37fd9684f7c3  usr/share/projman/theme/scid/scidmint/check-dc.png
+ca5ec4ee548f7f99892b0c7a825fd9fd  usr/share/projman/theme/scid/scidmint/check-du.png
+5e9fcd702a6c53af9b385bd94b0fb06a  usr/share/projman/theme/scid/scidmint/check-hu.png
+f62e6a8c11aedf6fc4f01b287354839c  usr/share/projman/theme/scid/scidmint/check-nc.png
+ca5ec4ee548f7f99892b0c7a825fd9fd  usr/share/projman/theme/scid/scidmint/check-nu.png
+f62e6a8c11aedf6fc4f01b287354839c  usr/share/projman/theme/scid/scidmint/check-pc.png
+274f95b85f88b99e494eae865a2c7c89  usr/share/projman/theme/scid/scidmint/check-pu.png
+6bfd6c3805b29754105f9de8ee0bc3bf  usr/share/projman/theme/scid/scidmint/combo-n.png
+cac77423846fb021eaa9db16034d5dcd  usr/share/projman/theme/scid/scidmint/combo-ra.png
+12516ea4d5e25c554b41db756d44751e  usr/share/projman/theme/scid/scidmint/combo-rd.png
+737b664f0a1b93c761f876e6b81c5a43  usr/share/projman/theme/scid/scidmint/combo-rf.png
+7a2f62aaeac9166c264f63fd95a0c83e  usr/share/projman/theme/scid/scidmint/combo-rn.png
+b313c27bf877bf3a9ecdaf825fa9e5d3  usr/share/projman/theme/scid/scidmint/combo-rp.png
+444416008d0834be20e78a5c31f58300  usr/share/projman/theme/scid/scidmint/comboarrow-a.png
+98981dd24714b1911bc926bc0b5f3b46  usr/share/projman/theme/scid/scidmint/comboarrow-af.png
+2ce1e6446cc1942b1573332ff77b9941  usr/share/projman/theme/scid/scidmint/comboarrow-d.png
+9d8e8945f92e3eaf38b886199d4c17ce  usr/share/projman/theme/scid/scidmint/comboarrow-n.png
+20d0dc31717fd37b9c7bedfef6340e51  usr/share/projman/theme/scid/scidmint/comboarrow-p.png
+959f29a4e9c7b3d55362e3a0ab6f86d7  usr/share/projman/theme/scid/scidmint/entry-a.png
+cd7b10de00ae1dfdf00bf5483c8287a0  usr/share/projman/theme/scid/scidmint/entry-d.png
+a276d093c5a51369760520d31b278e2c  usr/share/projman/theme/scid/scidmint/entry-n.png
+8885bf9c49cbf144766fffcc3253894a  usr/share/projman/theme/scid/scidmint/entry-rd.png
+94c89b53f44e002d41b3ed583e72de39  usr/share/projman/theme/scid/scidmint/labelframe.png
+571924f78c61ecb2569d01efbcf3717c  usr/share/projman/theme/scid/scidmint/menuarrow-a.png
+ac8f8f242b9806ac80d5fad49d2708c8  usr/share/projman/theme/scid/scidmint/menuarrow-d.png
+13a68e103e33f558b53e7112b8c25e6d  usr/share/projman/theme/scid/scidmint/progress-h.png
+0a5a85a08a986f562cde02085d44b78d  usr/share/projman/theme/scid/scidmint/progress-v.png
+37cf95da5f07126cddcfaf2e59e742c9  usr/share/projman/theme/scid/scidmint/radio-ac.png
+a42e041adb111d9661189ddb06d9822a  usr/share/projman/theme/scid/scidmint/radio-au.png
+8d9e3b8a3f8b2f86e7c4fa0c42c33597  usr/share/projman/theme/scid/scidmint/radio-dc.png
+a42e041adb111d9661189ddb06d9822a  usr/share/projman/theme/scid/scidmint/radio-du.png
+07b04e2ec12b3f4e5c2280163a69d701  usr/share/projman/theme/scid/scidmint/radio-hu.png
+37cf95da5f07126cddcfaf2e59e742c9  usr/share/projman/theme/scid/scidmint/radio-nc.png
+a42e041adb111d9661189ddb06d9822a  usr/share/projman/theme/scid/scidmint/radio-nu.png
+37cf95da5f07126cddcfaf2e59e742c9  usr/share/projman/theme/scid/scidmint/radio-pc.png
+c3821361e7ac15f6429b5c6d00256ec3  usr/share/projman/theme/scid/scidmint/radio-pu.png
+ba4e376ed875e940566e1d79c4b0d02b  usr/share/projman/theme/scid/scidmint/sas-h.png
+fa6a5a6257132dc67967afa707f9beeb  usr/share/projman/theme/scid/scidmint/sas-v.png
+a45455061b0aeaad1d8a0647cc0ae7a6  usr/share/projman/theme/scid/scidmint/sbthumb-ha.png
+1f7901019edef5ef10241e33d7d3c355  usr/share/projman/theme/scid/scidmint/sbthumb-hd.png
+0d7f6c3b8b675c1fdf95f3d99072302d  usr/share/projman/theme/scid/scidmint/sbthumb-hn.png
+b3ad69df3260af39a9ab05b5f6dc9956  usr/share/projman/theme/scid/scidmint/sbthumb-hp.png
+1a66b9ba062c452b5810975c8fd18e53  usr/share/projman/theme/scid/scidmint/sbthumb-va.png
+13a62f0d535b5aaa67b9224d9beab597  usr/share/projman/theme/scid/scidmint/sbthumb-vd.png
+5a5f44575dcdd3d9c7d65481b9dc6d37  usr/share/projman/theme/scid/scidmint/sbthumb-vn.png
+fbd410f6c5ac6cee6fa8eea0bb46d4d1  usr/share/projman/theme/scid/scidmint/sbthumb-vp.png
+6690ef35b133e9edf8685e0367983dcd  usr/share/projman/theme/scid/scidmint/sbtrough-h.png
+37bf9cfd9b1c310dc075a429735f8f56  usr/share/projman/theme/scid/scidmint/sbtrough-v.png
+c3821361e7ac15f6429b5c6d00256ec3  usr/share/projman/theme/scid/scidmint/scale-ha.png
+bc043444698095503361922f98e7023f  usr/share/projman/theme/scid/scidmint/scale-hd.png
+8de770a71fa59a444e155362e11b34c3  usr/share/projman/theme/scid/scidmint/scale-hn.png
+5f30a806c2b24f3d3a19649ddcd31674  usr/share/projman/theme/scid/scidmint/scale-va.png
+7ab49508fbcfecf69094191e7b37b8ad  usr/share/projman/theme/scid/scidmint/scale-vd.png
+64a0a3792f82b4ea96197ddbe45d583e  usr/share/projman/theme/scid/scidmint/scale-vn.png
+7a2279fffc5c3601ef2bb79c34b48e0d  usr/share/projman/theme/scid/scidmint/scaletrough-h.png
+c924846092510a536017085d6bf5d1d4  usr/share/projman/theme/scid/scidmint/scaletrough-hp.png
+8bb1e574b15bfebea711a17f814d49ea  usr/share/projman/theme/scid/scidmint/scaletrough-v.png
+79e1df5813cf886eb47142915e771d67  usr/share/projman/theme/scid/scidmint/scaletrough-vp.png
+03127973795e8d0ea1b4b53b9fe09804  usr/share/projman/theme/scid/scidmint/sep-h.png
+c94b068ece2fb52274415988aa634dcb  usr/share/projman/theme/scid/scidmint/sep-v.png
+37f9d5208a1cee4addfd4408430e6f69  usr/share/projman/theme/scid/scidmint/sizegrip.png
+235bda1e829f835441eaee451e9f143f  usr/share/projman/theme/scid/scidmint/spinarrowdown-a.png
+8f6248dc81802902fea048a78dff97a0  usr/share/projman/theme/scid/scidmint/spinarrowdown-af.png
+235bda1e829f835441eaee451e9f143f  usr/share/projman/theme/scid/scidmint/spinarrowdown-p.png
+d49bf269c137e1a6d769d462ddb6c972  usr/share/projman/theme/scid/scidmint/spinarrowdown-pa.png
+a94836b629b401aa32690838590e7317  usr/share/projman/theme/scid/scidmint/spinarrowdown-paf.png
+88555f67e9a0bfc1a70b8557957a9401  usr/share/projman/theme/scid/scidmint/spinarrowup-a.png
+a2034da47919274982583b48fd26d712  usr/share/projman/theme/scid/scidmint/spinarrowup-af.png
+88555f67e9a0bfc1a70b8557957a9401  usr/share/projman/theme/scid/scidmint/spinarrowup-p.png
+9ed282aa20cf63d57440267be7550925  usr/share/projman/theme/scid/scidmint/spinarrowup-pa.png
+673e77b70887a7eb3b39a52c56f5557e  usr/share/projman/theme/scid/scidmint/spinarrowup-paf.png
+620b56eb39a9ba73c464dfab2a791a39  usr/share/projman/theme/scid/scidmint/surface.png
+485c2c62a9ef1d76a52d7f6feb74c30e  usr/share/projman/theme/scid/scidmint/tab-a.png
+1232aafc099973789d71e5fe81165dd2  usr/share/projman/theme/scid/scidmint/tab-n.png
+485c2c62a9ef1d76a52d7f6feb74c30e  usr/share/projman/theme/scid/scidmint/tab-s.png
+1e4e7fb674868b173c6f52e7d3bb52cd  usr/share/projman/theme/scid/scidmint/toolbutton-a.png
+aace1baf1e17047bc369dd430bec0db0  usr/share/projman/theme/scid/scidmint/toolbutton-d.png
+3fe845ef18cd7956dc8c285247214e9b  usr/share/projman/theme/scid/scidmint/toolbutton-n.png
+ba26c9fd2c65be9569db6ae03d6b6480  usr/share/projman/theme/scid/scidmint/toolbutton-p.png
+c0e112f1becf79011ff790e61e88f8c4  usr/share/projman/theme/scid/scidmint/toolbutton-pa.png
+39ff2f929589c44da2990cb35aec7d95  usr/share/projman/theme/scid/scidmint/tree-d.png
+27011fd3f100a32f9ef759ea119f0973  usr/share/projman/theme/scid/scidmint/tree-h.png
+27011fd3f100a32f9ef759ea119f0973  usr/share/projman/theme/scid/scidmint/tree-n.png
+263bfa8e61e06e74655adf9aef845174  usr/share/projman/theme/scid/scidmint/tree-p.png
+5f50602ec2c9d73125051a3753e8abc3  usr/share/projman/theme/scid/scidpink/blank.png
+616a775271169a64ff3060472a146aa6  usr/share/projman/theme/scid/scidpink/button-a.png
+c8490e904943af3370d173e6c406fd7a  usr/share/projman/theme/scid/scidpink/button-a1p.png
+c1c542d6571c59d4f768339abda50705  usr/share/projman/theme/scid/scidpink/button-d.png
+3d649f8eac758d82b35b018e53449af5  usr/share/projman/theme/scid/scidpink/button-default.png
+0c75d8e13449c1361d1020f75559c750  usr/share/projman/theme/scid/scidpink/button-n.png
+8a8e73ff43934707e431d41f75223302  usr/share/projman/theme/scid/scidpink/button-p.png
+6b291a5c9126fa97833446da62f0fda8  usr/share/projman/theme/scid/scidpink/button-p1p.png
+d25bd1cdabc5220dc9669662f7b45cc3  usr/share/projman/theme/scid/scidpink/button-pa.png
+9c05f5173e49f112808519ff76665122  usr/share/projman/theme/scid/scidpink/check-ac.png
+a86b5010426eac62c1639b7716a02893  usr/share/projman/theme/scid/scidpink/check-au.png
+90c6c70b0135b5c744f818086a669a25  usr/share/projman/theme/scid/scidpink/check-dc.png
+a86b5010426eac62c1639b7716a02893  usr/share/projman/theme/scid/scidpink/check-du.png
+bd9fb8e600d820d0b171a4c592c0cbf2  usr/share/projman/theme/scid/scidpink/check-hu.png
+9c05f5173e49f112808519ff76665122  usr/share/projman/theme/scid/scidpink/check-nc.png
+a86b5010426eac62c1639b7716a02893  usr/share/projman/theme/scid/scidpink/check-nu.png
+9c05f5173e49f112808519ff76665122  usr/share/projman/theme/scid/scidpink/check-pc.png
+8352536b2a0b97e04bb3284a20c5b5bb  usr/share/projman/theme/scid/scidpink/check-pu.png
+f3d50d4adf53989309d9fc14c7906d8a  usr/share/projman/theme/scid/scidpink/combo-n.png
+020d71ce028e9e2310572d08bd78d04c  usr/share/projman/theme/scid/scidpink/combo-ra.png
+c530ce059b9062cde5830e839e22626f  usr/share/projman/theme/scid/scidpink/combo-rd.png
+687f1f29a6503d77d4169fa1a75936bb  usr/share/projman/theme/scid/scidpink/combo-rf.png
+ff51749dfd79379c625fde50569808e0  usr/share/projman/theme/scid/scidpink/combo-rn.png
+8bf8134742043aa375898342650f09a6  usr/share/projman/theme/scid/scidpink/combo-rp.png
+341b9a54385d73038870a83d2b907df0  usr/share/projman/theme/scid/scidpink/comboarrow-a.png
+eb5b723573f0679c6a50c4aa5113b149  usr/share/projman/theme/scid/scidpink/comboarrow-af.png
+7f9199e340e3572fdefc5f08d693788d  usr/share/projman/theme/scid/scidpink/comboarrow-d.png
+a545146eff4402e05262a9ad9efb3e3f  usr/share/projman/theme/scid/scidpink/comboarrow-n.png
+0c1b34f35b15515d85897d3977433fb7  usr/share/projman/theme/scid/scidpink/comboarrow-p.png
+9cdacb7d3294a6069e83c3a8e8531653  usr/share/projman/theme/scid/scidpink/entry-a.png
+29fe710ba3f248c10591380b89306037  usr/share/projman/theme/scid/scidpink/entry-d.png
+cbc57bb7c1c1327b7a13881fa26471d3  usr/share/projman/theme/scid/scidpink/entry-n.png
+e43a2feba704533acf5e79e763d5a639  usr/share/projman/theme/scid/scidpink/entry-rd.png
+77a8e5fc5fee5554af1f8e63438d41d6  usr/share/projman/theme/scid/scidpink/labelframe.png
+7dd872c9b1f14ac30ac2046c2e22304e  usr/share/projman/theme/scid/scidpink/menuarrow-a.png
+8550a493267615e1d560496929fd150c  usr/share/projman/theme/scid/scidpink/menuarrow-d.png
+cf8c78fbc08d51e30a6de4818b7708d6  usr/share/projman/theme/scid/scidpink/progress-h.png
+4ad66582d39e398a0c31f156884717af  usr/share/projman/theme/scid/scidpink/progress-v.png
+a54f5f717d2983b47735744857767703  usr/share/projman/theme/scid/scidpink/radio-ac.png
+0323a64910e9df1e2af47c6c573e1b78  usr/share/projman/theme/scid/scidpink/radio-au.png
+70e0c125a56797fc095b59fb0b8982ea  usr/share/projman/theme/scid/scidpink/radio-dc.png
+0323a64910e9df1e2af47c6c573e1b78  usr/share/projman/theme/scid/scidpink/radio-du.png
+8fa90ff6863c8652d7ef749ad7086f97  usr/share/projman/theme/scid/scidpink/radio-hu.png
+a54f5f717d2983b47735744857767703  usr/share/projman/theme/scid/scidpink/radio-nc.png
+0323a64910e9df1e2af47c6c573e1b78  usr/share/projman/theme/scid/scidpink/radio-nu.png
+a54f5f717d2983b47735744857767703  usr/share/projman/theme/scid/scidpink/radio-pc.png
+b93895552d4d879689e72dd6363bdaa4  usr/share/projman/theme/scid/scidpink/radio-pu.png
+100191b83f2cc7c3eeb34e92cc72461d  usr/share/projman/theme/scid/scidpink/sas-h.png
+0a576e673340bccb9f297d0d8968703c  usr/share/projman/theme/scid/scidpink/sas-v.png
+254b872d596598e450b60309bc72dfe0  usr/share/projman/theme/scid/scidpink/sbthumb-ha.png
+bf19fecc479cd2964719a4e94bc47b19  usr/share/projman/theme/scid/scidpink/sbthumb-hd.png
+bd16f99f835867fa3b85af24b147b989  usr/share/projman/theme/scid/scidpink/sbthumb-hn.png
+bc3634c18e1e721c6859035296357c85  usr/share/projman/theme/scid/scidpink/sbthumb-hp.png
+5dad429c9ad39f92726233d99c12392e  usr/share/projman/theme/scid/scidpink/sbthumb-va.png
+e465f08827062f35a0968d8f1a5c1b95  usr/share/projman/theme/scid/scidpink/sbthumb-vd.png
+043f73777ae976dd944959aefcfcc1fe  usr/share/projman/theme/scid/scidpink/sbthumb-vn.png
+a112b7a0bbcc2720c70fa3fa12ceff24  usr/share/projman/theme/scid/scidpink/sbthumb-vp.png
+591d05ed9bb755eb88823750edf79d91  usr/share/projman/theme/scid/scidpink/sbtrough-h.png
+0529a26da19a6734361e5322d113438e  usr/share/projman/theme/scid/scidpink/sbtrough-v.png
+b93895552d4d879689e72dd6363bdaa4  usr/share/projman/theme/scid/scidpink/scale-ha.png
+878df6387f6e7d246964d4481366e568  usr/share/projman/theme/scid/scidpink/scale-hd.png
+f687bcc13c2110ff0332776a0560eaf8  usr/share/projman/theme/scid/scidpink/scale-hn.png
+b93895552d4d879689e72dd6363bdaa4  usr/share/projman/theme/scid/scidpink/scale-va.png
+878df6387f6e7d246964d4481366e568  usr/share/projman/theme/scid/scidpink/scale-vd.png
+f687bcc13c2110ff0332776a0560eaf8  usr/share/projman/theme/scid/scidpink/scale-vn.png
+079e5b594f5e5b090f170f281324fe70  usr/share/projman/theme/scid/scidpink/scaletrough-h.png
+ac2b0aeb072140cfa416f347c0d9e83f  usr/share/projman/theme/scid/scidpink/scaletrough-hp.png
+50c0d68ae48b600b218fb041d7de704a  usr/share/projman/theme/scid/scidpink/scaletrough-v.png
+d713de24e8f5b55881535fad36e9119d  usr/share/projman/theme/scid/scidpink/scaletrough-vp.png
+4713aff3ba23c6958bc3119dd782872b  usr/share/projman/theme/scid/scidpink/sep-h.png
+1e7bff5df0585da7eaf48825ef47b625  usr/share/projman/theme/scid/scidpink/sep-v.png
+d07f502790d2c9f46b408b114e19c4de  usr/share/projman/theme/scid/scidpink/sizegrip.png
+340e80e96d151965152fed9c8bd83aef  usr/share/projman/theme/scid/scidpink/spinarrowdown-a.png
+d79ded9a2474b5cd35040e9747d18a95  usr/share/projman/theme/scid/scidpink/spinarrowdown-af.png
+340e80e96d151965152fed9c8bd83aef  usr/share/projman/theme/scid/scidpink/spinarrowdown-p.png
+16477fb0f96b8d5bc49a0a2cbac7e842  usr/share/projman/theme/scid/scidpink/spinarrowdown-pa.png
+2b077b5c5664d6f3cf04ee298fa1d4b1  usr/share/projman/theme/scid/scidpink/spinarrowdown-paf.png
+10dd04105346682a3ed386adc4a37f5b  usr/share/projman/theme/scid/scidpink/spinarrowup-a.png
+08d987c28e77b3db5279d9151ac4c19a  usr/share/projman/theme/scid/scidpink/spinarrowup-af.png
+10dd04105346682a3ed386adc4a37f5b  usr/share/projman/theme/scid/scidpink/spinarrowup-p.png
+784b4ffd53c490c79b666e8141e00c97  usr/share/projman/theme/scid/scidpink/spinarrowup-pa.png
+c13665d8f76dd5d2487e6881dae119f8  usr/share/projman/theme/scid/scidpink/spinarrowup-paf.png
+47101320d2279f55ecf81b4533ae2dee  usr/share/projman/theme/scid/scidpink/surface.png
+bd02fd4ff68e71488958a3d90652031c  usr/share/projman/theme/scid/scidpink/tab-a.png
+794099c7061d5607155809bd8338bb12  usr/share/projman/theme/scid/scidpink/tab-n.png
+bd02fd4ff68e71488958a3d90652031c  usr/share/projman/theme/scid/scidpink/tab-s.png
+c8490e904943af3370d173e6c406fd7a  usr/share/projman/theme/scid/scidpink/toolbutton-a.png
+c1c542d6571c59d4f768339abda50705  usr/share/projman/theme/scid/scidpink/toolbutton-d.png
+3d649f8eac758d82b35b018e53449af5  usr/share/projman/theme/scid/scidpink/toolbutton-n.png
+6b291a5c9126fa97833446da62f0fda8  usr/share/projman/theme/scid/scidpink/toolbutton-p.png
+d25bd1cdabc5220dc9669662f7b45cc3  usr/share/projman/theme/scid/scidpink/toolbutton-pa.png
+9835a6555b5469a4ced140b548ccd049  usr/share/projman/theme/scid/scidpink/tree-d.png
+f28d0cca6c117027275ac1324d089e47  usr/share/projman/theme/scid/scidpink/tree-h.png
+f28d0cca6c117027275ac1324d089e47  usr/share/projman/theme/scid/scidpink/tree-n.png
+43e3bc491ce33f0840e27f35d94a42b2  usr/share/projman/theme/scid/scidpink/tree-p.png
+5ef24b966486de5305d6da3216bc8906  usr/share/projman/theme/scid/scidpurple/blank.png
+f82cbbb07f3407b58112e2c5251d3134  usr/share/projman/theme/scid/scidpurple/button-a.png
+49c59da600e1411ed13b4ca744e76e11  usr/share/projman/theme/scid/scidpurple/button-a1p.png
+2c90e1ca6a92b5635c4cabd3e7328dfa  usr/share/projman/theme/scid/scidpurple/button-d.png
+7c06a96d933c56453f3114fa48b216f1  usr/share/projman/theme/scid/scidpurple/button-default.png
+91dbb5e55a409b5923322d75dc1e326d  usr/share/projman/theme/scid/scidpurple/button-n.png
+35cfe59db48fd410d30863a448cb898c  usr/share/projman/theme/scid/scidpurple/button-p.png
+44696da603da2fa40dfe074a94f48048  usr/share/projman/theme/scid/scidpurple/button-p1p.png
+cdab86f80a2eeeecc0f1a33d5afb5773  usr/share/projman/theme/scid/scidpurple/button-pa.png
+257b5ab6e17543ac71efc1761c5a4393  usr/share/projman/theme/scid/scidpurple/check-ac.png
+de16cd1d7ba985592dbf91c6b1b3dfa1  usr/share/projman/theme/scid/scidpurple/check-au.png
+a528e67cf949bb274b917ce01791698a  usr/share/projman/theme/scid/scidpurple/check-dc.png
+de16cd1d7ba985592dbf91c6b1b3dfa1  usr/share/projman/theme/scid/scidpurple/check-du.png
+d1211e4ec41390d09513cf86998f0927  usr/share/projman/theme/scid/scidpurple/check-hu.png
+257b5ab6e17543ac71efc1761c5a4393  usr/share/projman/theme/scid/scidpurple/check-nc.png
+de16cd1d7ba985592dbf91c6b1b3dfa1  usr/share/projman/theme/scid/scidpurple/check-nu.png
+257b5ab6e17543ac71efc1761c5a4393  usr/share/projman/theme/scid/scidpurple/check-pc.png
+d1577225029fa671a9d8748d4731ecc3  usr/share/projman/theme/scid/scidpurple/check-pu.png
+afd16f2bba7d998e796d9730625c5910  usr/share/projman/theme/scid/scidpurple/combo-n.png
+bcfd4ec8985edbc5bee59b812e093e14  usr/share/projman/theme/scid/scidpurple/combo-ra.png
+8d85939fc9c70e325c861fa4aada2e5c  usr/share/projman/theme/scid/scidpurple/combo-rd.png
+494760e0732d18271c05b13175879990  usr/share/projman/theme/scid/scidpurple/combo-rf.png
+08c9ed2f40c8e541a7ea84f18d701788  usr/share/projman/theme/scid/scidpurple/combo-rn.png
+df850f703c0fda8777bd1f1995168e57  usr/share/projman/theme/scid/scidpurple/combo-rp.png
+e0002cb55859ae6513812174479f82a7  usr/share/projman/theme/scid/scidpurple/comboarrow-a.png
+628d66aa4ffa64a518b0bb8907dc40b9  usr/share/projman/theme/scid/scidpurple/comboarrow-af.png
+cba9b46a21c525fd673d08322ca47482  usr/share/projman/theme/scid/scidpurple/comboarrow-d.png
+d13d01fd26e43b55c6a14d7d1e297366  usr/share/projman/theme/scid/scidpurple/comboarrow-n.png
+e59d09b72645a7e6da4710aa9822fb89  usr/share/projman/theme/scid/scidpurple/comboarrow-p.png
+72c90bdf1ab52a4ecf1978231fc5121a  usr/share/projman/theme/scid/scidpurple/entry-a.png
+7c8a07060a6fc351f71cd7622845b066  usr/share/projman/theme/scid/scidpurple/entry-d.png
+4d746c1cbbe63dbdd933a1375c3c1abe  usr/share/projman/theme/scid/scidpurple/entry-n.png
+e3ef561b147a61263c872ff03a253ff5  usr/share/projman/theme/scid/scidpurple/entry-rd.png
+4dd99c9a82073064eb0bfcde31c47691  usr/share/projman/theme/scid/scidpurple/labelframe.png
+d3d73b76184d757f6b7a7a4e06d850f7  usr/share/projman/theme/scid/scidpurple/menuarrow-a.png
+525bb8937c48d433e911f09d17159539  usr/share/projman/theme/scid/scidpurple/menuarrow-d.png
+0373f20775fa7e441f8869eba0bc1641  usr/share/projman/theme/scid/scidpurple/progress-h.png
+8d0b8cb74207eef50b6baf09400dc7e6  usr/share/projman/theme/scid/scidpurple/progress-v.png
+b1849831a635f3e358e55bfed7ddc93e  usr/share/projman/theme/scid/scidpurple/radio-ac.png
+5b9da9444c5221ebe37c4d198afd8136  usr/share/projman/theme/scid/scidpurple/radio-au.png
+1d6395742e09e297751488c72189b7fd  usr/share/projman/theme/scid/scidpurple/radio-dc.png
+5b9da9444c5221ebe37c4d198afd8136  usr/share/projman/theme/scid/scidpurple/radio-du.png
+c2d605544db3564dbf13e5294309fdba  usr/share/projman/theme/scid/scidpurple/radio-hu.png
+b1849831a635f3e358e55bfed7ddc93e  usr/share/projman/theme/scid/scidpurple/radio-nc.png
+5b9da9444c5221ebe37c4d198afd8136  usr/share/projman/theme/scid/scidpurple/radio-nu.png
+b1849831a635f3e358e55bfed7ddc93e  usr/share/projman/theme/scid/scidpurple/radio-pc.png
+c720557f690dd1c96ed6ea2279c18473  usr/share/projman/theme/scid/scidpurple/radio-pu.png
+6bc1b97ea4e9d1e6642898ba67830fa7  usr/share/projman/theme/scid/scidpurple/sas-h.png
+0327bf19665636091c2bddaad9762a6d  usr/share/projman/theme/scid/scidpurple/sas-v.png
+4ce0ab001fdda3d0e61b3f47a67733dd  usr/share/projman/theme/scid/scidpurple/sbthumb-ha.png
+8a6de7f768b65b5003271034efa17cc9  usr/share/projman/theme/scid/scidpurple/sbthumb-hd.png
+241b98e2fd7f574d7eebf686ed07728c  usr/share/projman/theme/scid/scidpurple/sbthumb-hn.png
+53fd49feeee7a169fc4ca6cfdb42aef4  usr/share/projman/theme/scid/scidpurple/sbthumb-hp.png
+35377b9a3eff5a9c07779fa7f3e63ac4  usr/share/projman/theme/scid/scidpurple/sbthumb-va.png
+d1a2603802ea64bf22b3041947987834  usr/share/projman/theme/scid/scidpurple/sbthumb-vd.png
+a6cca378a7c8e1acfacf8711a61b1101  usr/share/projman/theme/scid/scidpurple/sbthumb-vn.png
+e55ebc3e5b6c5802dc670ad0c4f0eebc  usr/share/projman/theme/scid/scidpurple/sbthumb-vp.png
+65b8ccc9323c88919d8cf5136598b8f0  usr/share/projman/theme/scid/scidpurple/sbtrough-h.png
+a420ad6fce6bb9deee70f75c5a80751e  usr/share/projman/theme/scid/scidpurple/sbtrough-v.png
+c720557f690dd1c96ed6ea2279c18473  usr/share/projman/theme/scid/scidpurple/scale-ha.png
+cfecada7c70e82442e1949d7b7a03358  usr/share/projman/theme/scid/scidpurple/scale-hd.png
+dc05969a2116cfb472a58a3089e7ecba  usr/share/projman/theme/scid/scidpurple/scale-hn.png
+c720557f690dd1c96ed6ea2279c18473  usr/share/projman/theme/scid/scidpurple/scale-va.png
+cfecada7c70e82442e1949d7b7a03358  usr/share/projman/theme/scid/scidpurple/scale-vd.png
+dc05969a2116cfb472a58a3089e7ecba  usr/share/projman/theme/scid/scidpurple/scale-vn.png
+fbe7abbc530ecf63293596bfab3f2304  usr/share/projman/theme/scid/scidpurple/scaletrough-h.png
+ae9d4fa88ebd88ba448be1a65ba7669b  usr/share/projman/theme/scid/scidpurple/scaletrough-hp.png
+c9209617f7d1d9043da44164f604be7d  usr/share/projman/theme/scid/scidpurple/scaletrough-v.png
+a07051f774a4f5de065b7de333f3c349  usr/share/projman/theme/scid/scidpurple/scaletrough-vp.png
+8ee6cf7e5c0db48f216885cd2c75bb0a  usr/share/projman/theme/scid/scidpurple/sep-h.png
+d87a382d2b8c1391ffe9e7c57febd2d5  usr/share/projman/theme/scid/scidpurple/sep-v.png
+14fa034d536d597f2ec6b6178d6d4af8  usr/share/projman/theme/scid/scidpurple/sizegrip.png
+59f911ebb9feb90da1d45cb52965fd8d  usr/share/projman/theme/scid/scidpurple/spinarrowdown-a.png
+e38a11fea1e60f73cd09e48a6f89da4d  usr/share/projman/theme/scid/scidpurple/spinarrowdown-af.png
+59f911ebb9feb90da1d45cb52965fd8d  usr/share/projman/theme/scid/scidpurple/spinarrowdown-p.png
+04c06cda0b408f6a6d6e12bad7ce0bb9  usr/share/projman/theme/scid/scidpurple/spinarrowdown-pa.png
+edb646cf2508800f731f203eb2dfb33a  usr/share/projman/theme/scid/scidpurple/spinarrowdown-paf.png
+a533a8f86ea474c206518edec23a613b  usr/share/projman/theme/scid/scidpurple/spinarrowup-a.png
+f79fe6b94125ca3cf852f12b503deaf4  usr/share/projman/theme/scid/scidpurple/spinarrowup-af.png
+a533a8f86ea474c206518edec23a613b  usr/share/projman/theme/scid/scidpurple/spinarrowup-p.png
+3cd096d11665a191cf31a2697993ff6e  usr/share/projman/theme/scid/scidpurple/spinarrowup-pa.png
+dcf1a8cb693ec33c86bd1238ab3e059e  usr/share/projman/theme/scid/scidpurple/spinarrowup-paf.png
+5e53d9030dad52b207b78ac6cca96c17  usr/share/projman/theme/scid/scidpurple/surface.png
+7496a7b2de626a6811b5234229b0929f  usr/share/projman/theme/scid/scidpurple/tab-a.png
+8d9106944764fcd65486a296d3d0b97b  usr/share/projman/theme/scid/scidpurple/tab-n.png
+7496a7b2de626a6811b5234229b0929f  usr/share/projman/theme/scid/scidpurple/tab-s.png
+49c59da600e1411ed13b4ca744e76e11  usr/share/projman/theme/scid/scidpurple/toolbutton-a.png
+2c90e1ca6a92b5635c4cabd3e7328dfa  usr/share/projman/theme/scid/scidpurple/toolbutton-d.png
+7c06a96d933c56453f3114fa48b216f1  usr/share/projman/theme/scid/scidpurple/toolbutton-n.png
+c9b4c31b13c84feae5c6543bec1df177  usr/share/projman/theme/scid/scidpurple/toolbutton-p.png
+cdab86f80a2eeeecc0f1a33d5afb5773  usr/share/projman/theme/scid/scidpurple/toolbutton-pa.png
+bf360b46203536e5a6ae21a3f152a80c  usr/share/projman/theme/scid/scidpurple/tree-d.png
+e67d5986bf529038bd28c321628fb5d9  usr/share/projman/theme/scid/scidpurple/tree-h.png
+e67d5986bf529038bd28c321628fb5d9  usr/share/projman/theme/scid/scidpurple/tree-n.png
+fd94d1c30d8ecb312a6def9dc7647c28  usr/share/projman/theme/scid/scidpurple/tree-p.png
+d71e2f4791dbf9347f6b039f8935d79d  usr/share/projman/theme/scid/scidsand/blank.png
+d3bf2d64633030c745093d9958fecc25  usr/share/projman/theme/scid/scidsand/button-a.png
+04ac597bec0752a567562a1ef49e7ca2  usr/share/projman/theme/scid/scidsand/button-a1p.png
+0095f489e3bbb96dee4c36630bcb069b  usr/share/projman/theme/scid/scidsand/button-d.png
+8fb527a2a9c95dd67f69007dc0de040c  usr/share/projman/theme/scid/scidsand/button-default.png
+0d6edfe9131ca11cc7403edb65094cf4  usr/share/projman/theme/scid/scidsand/button-n.png
+55f5c6bdcfa34282c92c7f0e4fec579c  usr/share/projman/theme/scid/scidsand/button-p.png
+f0f4f8a5bed465d16820365d2045f7ef  usr/share/projman/theme/scid/scidsand/button-p1p.png
+9beeec91d4cbf0c53becb808f7501e98  usr/share/projman/theme/scid/scidsand/button-pa.png
+887c81c7d6c37574566072d3d31d1624  usr/share/projman/theme/scid/scidsand/check-ac.png
+82f0f4761fe356596901e6ca26490721  usr/share/projman/theme/scid/scidsand/check-au.png
+5987cc276e6605cc4ba9f938a35f5796  usr/share/projman/theme/scid/scidsand/check-dc.png
+82f0f4761fe356596901e6ca26490721  usr/share/projman/theme/scid/scidsand/check-du.png
+c44f1deb0b46ea883df3f19e8236f9be  usr/share/projman/theme/scid/scidsand/check-hu.png
+887c81c7d6c37574566072d3d31d1624  usr/share/projman/theme/scid/scidsand/check-nc.png
+82f0f4761fe356596901e6ca26490721  usr/share/projman/theme/scid/scidsand/check-nu.png
+887c81c7d6c37574566072d3d31d1624  usr/share/projman/theme/scid/scidsand/check-pc.png
+5e76bcbbd6905f2acfc0a7536ebad964  usr/share/projman/theme/scid/scidsand/check-pu.png
+bf113021ced91d19d4d579d302db0697  usr/share/projman/theme/scid/scidsand/combo-n.png
+5194c41369a52a0c6108534455258965  usr/share/projman/theme/scid/scidsand/combo-ra.png
+6123385378369ddb83ecd7f0012f607f  usr/share/projman/theme/scid/scidsand/combo-rd.png
+c9afb8863ddaa007cdb23ccfa665a8f2  usr/share/projman/theme/scid/scidsand/combo-rf.png
+b175125037a847c66d7fffd2436a3dc6  usr/share/projman/theme/scid/scidsand/combo-rn.png
+119ebad826fff355c7ec55c31ce5e1e3  usr/share/projman/theme/scid/scidsand/combo-rp.png
+fed4b78efb7dbdf09b13f757f58ffb1c  usr/share/projman/theme/scid/scidsand/comboarrow-a.png
+d55fffb4b1bc0ee3021e4f4da040f89a  usr/share/projman/theme/scid/scidsand/comboarrow-af.png
+4ea0c61e2f415f9bf6f4b045cd279f97  usr/share/projman/theme/scid/scidsand/comboarrow-d.png
+0182fbddc3caf70edcf6176f6c985fb4  usr/share/projman/theme/scid/scidsand/comboarrow-n.png
+0b58bbcc8303caa9187f099b42d29ff2  usr/share/projman/theme/scid/scidsand/comboarrow-p.png
+3fe46d35d942ed170104e2f79ae1da3a  usr/share/projman/theme/scid/scidsand/entry-a.png
+28b34f27fb8828a7bfa25a0daa668598  usr/share/projman/theme/scid/scidsand/entry-d.png
+5899c1695c92e75bc8cce4d5d94ec0af  usr/share/projman/theme/scid/scidsand/entry-n.png
+0c1a3a546552c55f82e6a88b1d4bf371  usr/share/projman/theme/scid/scidsand/entry-rd.png
+8d11bdfd75220402a52a05e31363b4a6  usr/share/projman/theme/scid/scidsand/labelframe.png
+fed889cccb4daa205e71848b2fc32a27  usr/share/projman/theme/scid/scidsand/menuarrow-a.png
+1563be7cb60867174210dfaaa9b349cc  usr/share/projman/theme/scid/scidsand/menuarrow-d.png
+fae58b8dbc3e92523e506df46cf0d2d8  usr/share/projman/theme/scid/scidsand/progress-h.png
+c8c7215e18da197db8599fd39fa61a62  usr/share/projman/theme/scid/scidsand/progress-v.png
+5c00a1c781a71c598422dd72d2149fec  usr/share/projman/theme/scid/scidsand/radio-ac.png
+9319808278b4d053418ee769e2ba5e89  usr/share/projman/theme/scid/scidsand/radio-au.png
+8fb34f9d1391733b56360c44253c9007  usr/share/projman/theme/scid/scidsand/radio-dc.png
+9319808278b4d053418ee769e2ba5e89  usr/share/projman/theme/scid/scidsand/radio-du.png
+677f5d858353cadd95de07e50d4f46de  usr/share/projman/theme/scid/scidsand/radio-hu.png
+5c00a1c781a71c598422dd72d2149fec  usr/share/projman/theme/scid/scidsand/radio-nc.png
+9319808278b4d053418ee769e2ba5e89  usr/share/projman/theme/scid/scidsand/radio-nu.png
+5c00a1c781a71c598422dd72d2149fec  usr/share/projman/theme/scid/scidsand/radio-pc.png
+cfa7fc516eb44313a1cbe9a611697bff  usr/share/projman/theme/scid/scidsand/radio-pu.png
+0b639341a0e2bb4190a9b69a04cd0181  usr/share/projman/theme/scid/scidsand/sas-h.png
+38e96a14b7dc0fa67e9ff125461d048d  usr/share/projman/theme/scid/scidsand/sas-v.png
+f880d80637cddc88312be30be729e312  usr/share/projman/theme/scid/scidsand/sbthumb-ha.png
+e04855ddf1e4cb5fc871ebff9e47462b  usr/share/projman/theme/scid/scidsand/sbthumb-hd.png
+485765598b8fa7cdaf878f22f0d3235d  usr/share/projman/theme/scid/scidsand/sbthumb-hn.png
+cda9d665b6c110794e158eee472efa61  usr/share/projman/theme/scid/scidsand/sbthumb-hp.png
+3bad787e1de86ae7f1f0702eda6b9d07  usr/share/projman/theme/scid/scidsand/sbthumb-va.png
+5566fdfcdaee93f1dc29b366db551e02  usr/share/projman/theme/scid/scidsand/sbthumb-vd.png
+3a7bbd04dc1496e4a75ddb0c409cd741  usr/share/projman/theme/scid/scidsand/sbthumb-vn.png
+7eb1a68811b81d21b6d036f6f072d269  usr/share/projman/theme/scid/scidsand/sbthumb-vp.png
+43b5bd71baa3dd9c2242c4ea597db038  usr/share/projman/theme/scid/scidsand/sbtrough-h.png
+222b9765f7febbde2d4bdba80fd53677  usr/share/projman/theme/scid/scidsand/sbtrough-v.png
+cfa7fc516eb44313a1cbe9a611697bff  usr/share/projman/theme/scid/scidsand/scale-ha.png
+4422494a185395d321defe0ce1c80623  usr/share/projman/theme/scid/scidsand/scale-hd.png
+1d23d1508a5d27eb827da1eefe55bb4a  usr/share/projman/theme/scid/scidsand/scale-hn.png
+cfa7fc516eb44313a1cbe9a611697bff  usr/share/projman/theme/scid/scidsand/scale-va.png
+4422494a185395d321defe0ce1c80623  usr/share/projman/theme/scid/scidsand/scale-vd.png
+1d23d1508a5d27eb827da1eefe55bb4a  usr/share/projman/theme/scid/scidsand/scale-vn.png
+32e48d1e100c6439fbddf1ea1102335e  usr/share/projman/theme/scid/scidsand/scaletrough-h.png
+d01b1d85b8b16f0eda10ee9ff70a2d60  usr/share/projman/theme/scid/scidsand/scaletrough-hp.png
+7c793f60f6f25cf03684d99ac327aa8d  usr/share/projman/theme/scid/scidsand/scaletrough-v.png
+62cf56a9582dcb9cdb78aad2d950486a  usr/share/projman/theme/scid/scidsand/scaletrough-vp.png
+0f1916e01d9af20511db05a0fd349af4  usr/share/projman/theme/scid/scidsand/sep-h.png
+432e39fdcf28f5e897bcc215abfc8e7b  usr/share/projman/theme/scid/scidsand/sep-v.png
+8d7fb625693b5be34c6b1e137d06e1ec  usr/share/projman/theme/scid/scidsand/sizegrip.png
+e04b75a5225f534f134881111c81ef97  usr/share/projman/theme/scid/scidsand/spinarrowdown-a.png
+d7922d5fbdef8a69556014f42337721d  usr/share/projman/theme/scid/scidsand/spinarrowdown-af.png
+e04b75a5225f534f134881111c81ef97  usr/share/projman/theme/scid/scidsand/spinarrowdown-p.png
+7df6dd2d9072ab2491445dde0073252e  usr/share/projman/theme/scid/scidsand/spinarrowdown-pa.png
+208eef09181db6229da1f2ff042c8ab8  usr/share/projman/theme/scid/scidsand/spinarrowdown-paf.png
+1d93d2def52d7acffe8fccee142fccd6  usr/share/projman/theme/scid/scidsand/spinarrowup-a.png
+89fa5ccae2d9c55df238173e12f83d50  usr/share/projman/theme/scid/scidsand/spinarrowup-af.png
+1d93d2def52d7acffe8fccee142fccd6  usr/share/projman/theme/scid/scidsand/spinarrowup-p.png
+3931c37f4b639a92b19fc24569da5591  usr/share/projman/theme/scid/scidsand/spinarrowup-pa.png
+7c5a76e4f95c4e1ba68614346670e755  usr/share/projman/theme/scid/scidsand/spinarrowup-paf.png
+952449619280ca74198eefb2ec6c479b  usr/share/projman/theme/scid/scidsand/surface.png
+a1b58825ce028af290a7d9349b2b1521  usr/share/projman/theme/scid/scidsand/tab-a.png
+a8f57186f0173fab0933d0e708a44019  usr/share/projman/theme/scid/scidsand/tab-n.png
+a1b58825ce028af290a7d9349b2b1521  usr/share/projman/theme/scid/scidsand/tab-s.png
+142425fcd7dd61ef27e7e24af261f664  usr/share/projman/theme/scid/scidsand/toolbutton-a.png
+0095f489e3bbb96dee4c36630bcb069b  usr/share/projman/theme/scid/scidsand/toolbutton-d.png
+8fb527a2a9c95dd67f69007dc0de040c  usr/share/projman/theme/scid/scidsand/toolbutton-n.png
+f0f4f8a5bed465d16820365d2045f7ef  usr/share/projman/theme/scid/scidsand/toolbutton-p.png
+9beeec91d4cbf0c53becb808f7501e98  usr/share/projman/theme/scid/scidsand/toolbutton-pa.png
+4fb23a4c094f02507a55866da0fab8ee  usr/share/projman/theme/scid/scidsand/tree-d.png
+8823655ebb7d391c1d153cae43ec8f01  usr/share/projman/theme/scid/scidsand/tree-h.png
+8823655ebb7d391c1d153cae43ec8f01  usr/share/projman/theme/scid/scidsand/tree-n.png
+398bd900ed5656e6679669f089a0844d  usr/share/projman/theme/scid/scidsand/tree-p.png
+e38da0476af6351a9de3a7a0346b0bc9  usr/share/projman/theme/ttk_theme_dark.tcl
+3729b47d2c1568ac32cd21e9545649e3  usr/share/projman/theme/yaru/yaru.tcl
+a8630e89f44a4fa07cd8f19096c1b43a  usr/share/projman/theme/yaru/yaru/arrow-down-basic.png
+59d41c60800062681a0499aa8014497e  usr/share/projman/theme/yaru/yaru/arrow-down-hover.png
+b93684d74eed6ee840660474ad76d731  usr/share/projman/theme/yaru/yaru/arrow-up-basic.png
+df6efb5a51574858a7f4498c6cf3f10f  usr/share/projman/theme/yaru/yaru/arrow-up-hover.png
+4fd7e6813b63480dd2a77fe913f12aec  usr/share/projman/theme/yaru/yaru/button-basic.png
+53c6a2cf5427eb7f8ea071c9ee6bdb12  usr/share/projman/theme/yaru/yaru/button-disabled.png
+3df03c98b772c7b62ee01ddc0ea36535  usr/share/projman/theme/yaru/yaru/button-pressed.png
+fb71d7bc1d8c8f5d3356d67cd9008f06  usr/share/projman/theme/yaru/yaru/checkbox-basic.png
+4cebfea3182ee3189f5c22eafe9654dc  usr/share/projman/theme/yaru/yaru/checkbox-selected-dis.png
+0e5f7fdf74694f63546313992cb48db2  usr/share/projman/theme/yaru/yaru/checkbox-selected.png
+40ee8eed29bdabe30d30a3c16e5ec57d  usr/share/projman/theme/yaru/yaru/empty.png
+4fd7e6813b63480dd2a77fe913f12aec  usr/share/projman/theme/yaru/yaru/entry-basic.png
+437bc96fa9ad7ddd5f213f0ec2f30c1e  usr/share/projman/theme/yaru/yaru/entry-disabled.png
+233200b18fca49c7a1fd4e56a3b4390b  usr/share/projman/theme/yaru/yaru/entry-focus.png
+bf53c04f2a608c667b9f6ae3173ccd49  usr/share/projman/theme/yaru/yaru/entry-hover.png
+82a68b0dceb304a2ee257cfc236e1290  usr/share/projman/theme/yaru/yaru/minus.png
+62e91abd2e724bb57f0b3bab2dacd83b  usr/share/projman/theme/yaru/yaru/plus.png
+c11bed6eac0373d3f856b2d31ab685aa  usr/share/projman/theme/yaru/yaru/progressbar-hor.png
+55979dd7db9e02c9222610d84f0c1894  usr/share/projman/theme/yaru/yaru/progressbar-trough-hor.png
+e6e485e52d17ddfdc0e960f534d75340  usr/share/projman/theme/yaru/yaru/progressbar-trough-vert.png
+85f9534e64f51fce09755725b781932a  usr/share/projman/theme/yaru/yaru/progressbar-vert.png
+c4f779c98f56df6e2ad48395b62ff525  usr/share/projman/theme/yaru/yaru/radio-basic.png
+aedf7d14dbf7bc233875c64847bfdcba  usr/share/projman/theme/yaru/yaru/radio-mix.png
+8f30a3b1bce29fb51295028f187ef2a3  usr/share/projman/theme/yaru/yaru/radio-selected-dis.png
+d3a00179b5ca4d591b10d57204ce6aa5  usr/share/projman/theme/yaru/yaru/radio-selected.png
+48d7ee7bb5d3fef381a9a80ffc6ed751  usr/share/projman/theme/yaru/yaru/scale-slider-hover.png
+48deab759a7d16816639999327d4481a  usr/share/projman/theme/yaru/yaru/scale-slider.png
+963f4ad5182a32cec241d179daeeb8ee  usr/share/projman/theme/yaru/yaru/scale-trough-disabled.png
+2250f14e20821dfcb267319d672699a1  usr/share/projman/theme/yaru/yaru/scale-trough.png
+0e96ea5e5761ca3ce1cdbfeb11f17469  usr/share/projman/theme/yaru/yaru/scrollbar-hor-gray.png
+2e481f916cbfce751232fadd4c9d32dd  usr/share/projman/theme/yaru/yaru/scrollbar-hor-orange.png
+7a8710fa6812993f03beecef87ea8a8b  usr/share/projman/theme/yaru/yaru/scrollbar-hor-purple.png
+a9b41ff2289f111620ddd993ec97a2ea  usr/share/projman/theme/yaru/yaru/scrollbar-hor-trough.png
+6b9b2e6c22fddbba3e922227618ea693  usr/share/projman/theme/yaru/yaru/scrollbar-vert-gray.png
+f259b557475aeff34b9a106ad2db371b  usr/share/projman/theme/yaru/yaru/scrollbar-vert-orange.png
+fdae44139c943666f165f41e021da8c7  usr/share/projman/theme/yaru/yaru/scrollbar-vert-purple.png
+9a4fe25e21cbb940553976677a11b0d2  usr/share/projman/theme/yaru/yaru/scrollbar-vert-trough.png
+f9e4bdfe12016e0f73782936cf68e9a7  usr/share/projman/theme/yaru/yaru/separator.png
+473b8ad1f0e3fd93ad9df4fd32ab35cf  usr/share/projman/theme/yaru/yaru/sizegrip.png
+3d05c95f17b64ba2a3fa208c58c521aa  usr/share/projman/theme/yaru/yaru/tab-basic.png
+d0040157c2c0c8fe25675b1cadb0c72c  usr/share/projman/theme/yaru/yaru/tab-current.png
+d4842ee9a5807173091c06cbf2099e86  usr/share/projman/theme/yaru/yaru/tab-hover.png
+e8e6e84ae922cb4c025d20fef362a3ad  usr/share/projman/theme/yaru/yaru/tree-basic.png
+46f2aad516a4118bf991b61bedefbd8b  usr/share/projman/theme/yaru/yaru/tree-pressed.png
diff --git a/debian/projman/usr/bin/projman b/debian/projman/usr/bin/projman
new file mode 100755
index 0000000..f50b814
--- /dev/null
+++ b/debian/projman/usr/bin/projman
@@ -0,0 +1,113 @@
+#!/bin/sh
+# Tcl ignores the next line -*- tcl -*- \
+exec wish "$0" -- "$@"
+
+######################################################
+#        Tcl/Tk Project manager 2.0
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
+# Version: 2.0.0
+# Release: alpha
+######################################################
+
+# определим текущую версию и релиз
+set f [open [info script] "RDONLY"]
+while {[gets $f line] >=0} {
+    if [regexp -nocase -all -- {version:\s+([0-9]+?.[0-9]+?.[0-9]+?)} $line match v1] {
+        
+
+        set projmanVersion $v1
+    }
+    if [regexp -nocase -all -- {release:\s+([a-z0-9]+?)} $line match v1] {
+        set projmanRelease $v1
+    }
+}
+close $f
+
+puts "Projman version $projmanVersion-$projmanRelease"
+
+
+if { $::argc > 0 } {
+    foreach arg $::argv {
+        lappend opened $arg
+    }
+    puts $opened
+}
+package require msgcat
+package require inifile
+package require ctext
+
+# Устанавливаем текущий каталог
+set dir(root) /usr/share/projman
+
+set dir(doc) [file join $dir(root) doc]
+
+# Устанавливаем рабочий каталог, если его нет то создаём.
+# Согласно спецификации XDG проверяем наличие переменных и каталогов
+if [info exists env(XDG_CONFIG_HOME)] {
+    set dir(cfg) [file join $env(XDG_CONFIG_HOME) projman]
+} elseif [file exists [file join $env(HOME) .config]] {
+    set dir(cfg) [file join $env(HOME) .config projman]
+} else {
+    set dir(cfg) [file join $env(HOME) .projman]
+}
+
+if {[file exists $dir(cfg)] == 0} {
+    file mkdir $dir(cfg)    
+}
+
+puts "Config dir is $dir(cfg)"
+
+# каталог с модулями
+set dir(lib) /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# "[file join $dir(root) lib]"
+
+source [file join $dir(lib) config.tcl]
+
+foreach modFile [lsort [glob -nocomplain [file join $dir(lib) *.tcl]]] {
+    if {[file tail $modFile] ne "gui.tcl" && [file tail $modFile] ne "config.tcl"} {
+        source $modFile
+        puts "Loading module $modFile"
+    }
+}
+
+# TTK Theme loading
+set dir(theme) "[file join $dir(root) theme]"
+foreach modFile [lsort [glob -nocomplain [file join $dir(theme) *]]] {
+    if [file isdirectory $modFile] {
+        source $modFile/[file tail $modFile].tcl
+        puts "Loading theme $modFile.tcl"
+    } elseif {[file extension $modFile] eq ".tcl"} {
+        source $modFile
+        puts "Loading theme $modFile"
+    }
+}
+
+
+# загружаем пользовательский конфиг, если он отсутствует, то копируем дефолтный
+if {[file exists [file join $dir(cfg) projman.ini]] ==0} {
+    Config::create $dir(cfg)
+} 
+Config::read $dir(cfg)
+
+::msgcat::mclocale $cfgVariables(locale)
+
+if [::msgcat::mcload [file join $dir(lib) msgs]] {
+    puts "Load locale messages... OK"
+}
+puts "Setting the locale... [::msgcat::mclocale]"
+
+source [file join $dir(lib) gui.tcl]
+
+# Open the PATH if command line argument has been setting
+if [info exists opened] {
+    puts $opened
+    foreach path $opened {
+        if [file isdirectory $path] {
+            FileOper::ReadFolder $path
+        } elseif [file exists $path] {
+            ResetModifiedFlag [FileOper::Edit $path]
+        }
+    }
+}
diff --git a/debian/projman/usr/share/applications/projman.desktop b/debian/projman/usr/share/applications/projman.desktop
new file mode 100644
index 0000000..474f212
--- /dev/null
+++ b/debian/projman/usr/share/applications/projman.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=ProjMan
+GenericName=Text Editor
+Comment=A source editor with syntax highlighting and procedure navigation, a context-sensitive help system, and much more.
+Exec=projman %F
+Terminal=false
+Type=Application
+StartupNotify=true
+MimeType=text/plain;
+Categories=Development;TextEditor;
+Icon=projman-48
diff --git a/debian/projman/usr/share/doc/projman/README.md b/debian/projman/usr/share/doc/projman/README.md
new file mode 100644
index 0000000..42a501e
--- /dev/null
+++ b/debian/projman/usr/share/doc/projman/README.md
@@ -0,0 +1,6 @@
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
diff --git a/debian/projman/usr/share/doc/projman/TODO b/debian/projman/usr/share/doc/projman/TODO
new file mode 100644
index 0000000..e68d068
--- /dev/null
+++ b/debian/projman/usr/share/doc/projman/TODO
@@ -0,0 +1,8 @@
+######################################################
+#	Tcl/Tk Project manager 2.0
+#	Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svl.ru
+# Home page: https://nuk-svk.ru
+######################################################
+
+2. Подстветку текущей вкладки и элемента в дереве
diff --git a/debian/projman/usr/share/doc/projman/changelog.Debian.gz b/debian/projman/usr/share/doc/projman/changelog.Debian.gz
new file mode 100644
index 0000000..5745716
Binary files /dev/null and b/debian/projman/usr/share/doc/projman/changelog.Debian.gz differ
diff --git a/debian/projman/usr/share/doc/projman/changelog.gz b/debian/projman/usr/share/doc/projman/changelog.gz
new file mode 100644
index 0000000..f0b999f
Binary files /dev/null and b/debian/projman/usr/share/doc/projman/changelog.gz differ
diff --git a/debian/projman/usr/share/doc/projman/copyright b/debian/projman/usr/share/doc/projman/copyright
new file mode 100644
index 0000000..020fcd2
--- /dev/null
+++ b/debian/projman/usr/share/doc/projman/copyright
@@ -0,0 +1,15 @@
+Projman is a yet another editor
+
+Copyright: GPL
+
+Information from the binary package:
+Name        : projman                      Relocations: (not relocatable)
+Version     : 1.0.3                        Vendor: SVK
+Release     : 1                             Build Date: Пн 17 сен 2018 11:49:36
+Install date: (not installed)               Build Host: alt-ws.localdomain
+Group       : System                        
+Size        :                            License: GPL
+URL         : https://bitbucket.org/svk28/rac-gui
+Summary     : Projman is a yet another editor
+Description :
+Projman is a yet another editor
diff --git a/img/icons/large/projman.png b/debian/projman/usr/share/pixmaps/projman-48.png
similarity index 100%
rename from img/icons/large/projman.png
rename to debian/projman/usr/share/pixmaps/projman-48.png
diff --git a/debian/projman/usr/share/projman/lib/config.tcl b/debian/projman/usr/share/projman/lib/config.tcl
new file mode 100644
index 0000000..d1bed31
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/config.tcl
@@ -0,0 +1,82 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# The config file procedures
+# create
+# copy
+# save
+######################################################
+
+namespace eval Config {} {
+    variable cfgINISections
+    variable cfgVariables
+}
+
+if [info exists env(LANG)] {
+    set locale $env(LANG)
+} else {
+    set locale "en"
+}
+
+set ::configDefault "\[General\]
+locale=$locale
+cfgModifyDate=''
+\[GUI\]
+theme=dark
+toolBarShow=true
+menuShow=true
+filesPanelShow=true
+geometry=1024x768
+\[Editor\]
+autoFormat=true
+font=courier 10 normal roman
+fontBold=courier 10 bold roman
+backGround=#333333
+foreground=#cccccc
+selectbg=#10a410a410a4
+nbNormal=#000000
+nbModify=#ffff5d705d70
+lineNumberFG=#a9a9a9
+selectBorder=0
+# must be: none, word or char
+editorWrap=word
+lineNumberShow=true
+tabSize=4
+"
+proc Config::create {dir} {
+    set cfgFile [open [file join $dir projman.ini]  "w+"]
+    puts $cfgFile $::configDefault        
+    close $cfgFile
+}
+
+proc Config::read {dir} {
+    set cfgFile [ini::open [file join $dir projman.ini] "r"]
+    foreach section [ini::sections $cfgFile] {
+        foreach key [ini::keys $cfgFile $section] {
+            lappend ::cfgINIsections($section)  $key
+            set ::cfgVariables($key)  [ini::value $cfgFile $section $key]
+        }
+    }
+    ini::close $cfgFile
+}
+
+proc Config::write {dir} {
+    set cfgFile [ini::open [file join $dir projman.ini] "w"]
+    foreach section  [array names ::cfgINIsections] {
+        foreach key $::cfgINIsections($section) {
+            ini::set $cfgFile $section $key $::cfgVariables($key)
+        }
+    }
+    set systemTime [clock seconds]
+    # Set a config modify time (i don't know why =))'
+    ini::set $cfgFile "General" cfgModifyDate [clock format $systemTime -format "%D %H:%M:%S"]
+  
+    # Save an top level window geometry into config
+    ini::set $cfgFile "GUI" geometry [wm geometry .]
+    
+    ini::commit $cfgFile
+    ini::close $cfgFile
+}
diff --git a/debian/projman/usr/share/projman/lib/editor.tcl b/debian/projman/usr/share/projman/lib/editor.tcl
new file mode 100644
index 0000000..cefd7c3
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/editor.tcl
@@ -0,0 +1,443 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "SVK", 2022, https://nuk-svk.ru
+######################################################
+# Editor module
+######################################################
+
+namespace eval Editor {
+    variable selectionTex
+    proc Comment {txt} {
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set PosNum [lindex [split $pos "."] 1]
+        puts "Select : $selIndex"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
+            }
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                #$txt insert $i.0 "# "
+                regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
+                $txt insert  $i.[lindex [split $v2] 0] "# "
+            }
+            $txt tag add comments $lineBegin.0 $lineEnd.end
+            $txt tag raise comments
+        } else {
+            regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
+            $txt insert  $lineNum.[lindex [split $v2] 0] "# "
+            $txt tag add comments $lineNum.0 $lineNum.end
+            $txt tag raise comments
+        }
+    }
+    proc Uncomment {txt} {
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
+            }            
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                set str [$txt get $i.0 $i.end]
+                if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
+                    $txt delete $i.[lindex [split $v2] 0] $i.[lindex [split $v3] 0]
+                }
+            }
+           $txt tag remove comments $lineBegin.0 $lineEnd.end
+           $txt tag add	sel $lineBegin.0 $lineEnd.end
+           $txt highlight $lineBegin.0 $lineEnd.end
+        } else {
+            #set posNum [lindex [split $pos "."] 1]
+            set str [$txt get $lineNum.0 $lineNum.end]
+            if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
+                puts ">>>>> $v1, $v2, $v3"
+                    $txt delete $lineNum.[lindex [split $v2] 0] $lineNum.[lindex [split $v3] 0]
+                    #$txt insert $i.0 $v3
+            }
+            $txt tag remove comments $lineNum.0 $lineNum.end
+            $txt highlight $lineNum.0 $lineNum.end
+        }
+    }
+
+    proc InsertTabular {txt} {
+        global cfgVariables
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+
+        puts "Select : $selIndex"
+        for {set i 0} {$i < $cfgVariables(tabSize)} { incr i} {
+            append tabInsert " "
+        }
+        puts ">$tabInsert<"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            # if {$lineBegin == $lineNum} {
+                # set lineBegin [expr $lineBegin +	 1]
+            # }
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
+            }
+            puts "Pos: $pos, Begin: $lineBegin, End: $lineEnd"
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                #$txt insert $i.0 "# "
+                regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
+                $txt insert  $i.[lindex [split $v2] 0]  $tabInsert
+            }
+            $txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
+            $txt tag add	sel $lineBegin.0 $lineEnd.end
+            $txt highlight $lineBegin.0 $lineEnd.end            
+        } else {
+            # set pos [$txt index insert]
+            # set lineNum [lindex [split $pos "."] 0]
+            regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
+            puts "$v1<>$v2"
+            $txt insert  $lineNum.[lindex [split $v2] 0] $tabInsert
+        }
+    }
+    proc DeleteTabular {txt} {
+        global cfgVariables
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum && $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
+            }
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                set str [$txt get $i.0 $i.end]
+                if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1 v2]} {
+                    set posBegin [lindex [split $v1] 0]
+                    set posEnd [lindex [split $v1] 1]
+                    if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
+                        $txt delete $i.$posBegin $i.$cfgVariables(tabSize)
+                    }
+                }
+            }
+            $txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
+            $txt tag add	sel $lineBegin.0 $lineEnd.end
+            $txt highlight $lineBegin.0 $lineEnd.end
+        } else {
+            set str [$txt get $lineNum.0 $lineNum.end]
+            if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1]} {
+                    set posBegin [lindex [split $v1] 0]
+                    set posEnd [lindex [split $v1] 1]
+                    if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
+                        $txt delete $lineNum.$posBegin $lineNum.$cfgVariables(tabSize)
+                    }
+             }
+        }
+    }
+    ## TABULAR INSERT (auto indent)##
+    proc Indent {txt} {
+        global cfgVariables
+        # set tabSize 4
+        set indentSize $cfgVariables(tabSize)
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        puts "$pos"
+        if {$lineNum > 1} {
+            # get current text
+            set curText [$txt get $lineNum.0 "$lineNum.0 lineend"]
+            #get text of prev line
+            set prevLineNum [expr {$lineNum - 1}]
+            set prevText [$txt get $prevLineNum.0 "$prevLineNum.0 lineend"]
+            #count first spaces in current line
+            set spaces ""
+            regexp "^| *" $curText spaces
+            #count first spaces in prev line
+            set prevSpaces ""
+            regexp "^( |\t)*" $prevText prevSpaces
+            set len [string length $prevSpaces]
+            set shouldBeSpaces 0
+            for {set i 0} {$i < $len} {incr i} {
+                if {[string index $prevSpaces $i] == "\t"} {
+                    incr shouldBeSpaces $tabSize
+                } else  {
+                    incr shouldBeSpaces
+                }            
+            }
+            #see last symbol in the prev String.
+            set lastSymbol [string index $prevText [expr {[string length $prevText] - 1}]]
+            # is it open brace?
+            if {$lastSymbol == ":" || $lastSymbol == "\\"} {
+                incr shouldBeSpaces $indentSize
+            }
+            if {$lastSymbol == "\{"} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp "^| *\}" $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+                }
+            }
+            if {$lastSymbol == "\["} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp "^| *\]" $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+                }
+            }
+            if {$lastSymbol == "\("} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp {^| *\)} $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+                }
+            }
+            set spaceNum [string length $spaces]
+            if {$shouldBeSpaces > $spaceNum} {
+                #insert spaces
+                set deltaSpace [expr {$shouldBeSpaces - $spaceNum}]
+                set incSpaces ""
+                for {set i 0} {$i < $deltaSpace} {incr i} {
+                    append incSpaces " "
+                }
+                $txt insert $lineNum.0 $incSpaces
+            } elseif {$shouldBeSpaces < $spaceNum} {
+                #delete spaces
+                set deltaSpace [expr {$spaceNum - $shouldBeSpaces}]
+                $txt delete $lineNum.0 $lineNum.$deltaSpace
+            }
+        }
+    }
+    proc SelectionPaste {txt} {
+        set selBegin [lindex [$txt tag ranges sel] 0]
+        set selEnd [lindex [$txt tag ranges sel] 1]
+        if {$selBegin ne ""} {
+            $txt delete $selBegin $selEnd
+            $txt highlight $selBegin $selEnd
+            #tk_textPaste $txt
+        }
+    }
+    proc SelectionGet {txt} {
+        variable selectionText
+        
+        set selBegin [lindex [$txt tag ranges sel] 0]
+        set selEnd [lindex [$txt tag ranges sel] 1]
+        if {$selBegin ne "" && $selEnd ne ""} {
+            set selectionText [$txt get $selBegin $selEnd]
+        }
+    }
+    proc ReleaseKey {k txt} {
+        switch $k {
+            Return {
+                set pos [$txt index insert]
+                set lineNum [lindex [split $pos "."] 0]
+                set posNum [lindex [split $pos "."] 1]
+                regexp {^(\s*)} [$txt get [expr $lineNum - 1].0 [expr $lineNum - 1].end] -> spaceStart
+		# puts "$pos, $lineNum, $posNum, >$spaceStart<"
+                $txt insert insert $spaceStart
+                Editor::Indent $txt
+            }
+        }
+    }
+    proc PressKey {k txt} {
+        # puts [Editor::Key $k]
+        switch $k {
+           apostrophe {
+               QuotSelection $txt {'}
+            }
+            quotedbl {
+                QuotSelection $txt {"}
+            }
+            grave {
+                QuotSelection $txt {`}
+            }
+            parenleft {
+                # QuotSelection $txt {)}
+            }
+            bracketleft {
+                # QuotSelection $txt {]}
+            }
+            braceleft {
+                # {QuotSelection} $txt {\}}
+            }
+        }
+    }
+    ## GET KEYS CODE ##
+    proc Key {key str} {
+        puts "Pressed key code: $key, $str"
+        if {$key >= 10 && $key <= 22} {return "true"}
+        if {$key >= 24 && $key <= 36} {return "true"}
+        if {$key >= 38 && $key <= 50} {return "true"}
+        if {$key >= 51 && $key <= 61 && $key != 58} {return "true"}
+        if {$key >= 79 && $key <= 91} {return "true"}
+        if {$key == 63 || $key == 107 || $key == 108 || $key == 112} {return "true"}
+    }
+    
+    proc BindKeys {w} {
+        global cfgVariables
+        #  variable txt
+        set txt $w.frmText.t
+        bind $txt  "Editor::ReleaseKey %K $txt"
+        bind $txt  "Editor::PressKey %K $txt"
+        # bind $txt  "Editor::Key %k %K" 
+        #$txt tag bind Sel   {puts ">>>>>>>>>>>>>>>>>>>"}
+        #bind $txt  {puts "/////////////////"}
+        #     #bind $txt  GoToLine
+        #     bind $txt  {focus .frmTool.frmGoto.entGoTo; .frmTool.frmGoto.entGoTo delete 0 end}
+        #     bind $txt  Find
+        #     bind $txt  Find
+        #     bind $txt  {FindNext $w.text 1}
+        #     bind $txt  ReplaceDialog
+        #     bind $txt  ReplaceDialog
+        #     bind $txt  {ReplaceCommand $w.text 1}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save_as}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save_as}
+        bind $txt  FileOper::Close
+        bind $txt  FileOper::Close
+        #     bind $txt  "tk_textCut $w.text;break"
+        #     bind $txt  "tk_textCut $w.text;break"
+        #     bind $txt  "tk_textCopy $txt"
+        #     bind $txt  "tk_textCopy $txt"
+        bind $txt  "Editor::SelectionPaste $txt"
+        bind $txt  "Editor::SelectionPaste $txt"
+        
+        #bind $txt  "auto_completition $txt"
+        #bind $txt  "auto_completition $txt"
+        bind $txt  "auto_completition_proc $txt"
+        bind $txt  "auto_completition_proc $txt"
+        bind $txt  "ImageBase64Encode $txt"
+
+        bind $txt  "Editor::InsertTabular $txt"
+        bind $txt  "Editor::DeleteTabular $txt"
+        
+        bind $txt  "Editor::Comment $txt"
+        bind $txt  "Editor::Uncomment $txt"
+        bind $txt  Find
+        #bind .  PageTab
+        #bind .  PageTab
+        bind $txt  {OverWrite}
+        bind $txt  []
+        bind $txt  {catch [PopupMenuEditor %X %Y]}
+        bind $txt  "%W yview scroll -3 units"
+        bind $txt  "%W yview scroll  3 units"
+        #bind $txt  "%W xview scroll -2 units"
+        #bind $txt  "%W xview scroll  2 units"
+        bind $txt <> "SetModifiedFlag $w"
+        bind $txt <> "Editor::SelectionGet $txt"
+    }
+
+    proc QuotSelection {txt symbol} {
+        variable selectionText
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        set symbol [string trim [string trimleft $symbol "\\"]]
+        # puts "Selindex : $selIndex, cursor position: $pos"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 0] "."] 1]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            # set selText [$txt get $lineBegin.$posBegin $lineEnd.$posEnd]
+            set selText $selectionText
+            puts "Selected text: $selText, pos: $pos, lineBegin: $lineBegin, posBegin: $posBegin, pos end: $posEnd"
+            if {$posNum == $posEnd} {
+                $txt insert $lineBegin.$posBegin "$symbol"
+            }
+            if {$posNum == $posBegin} {
+                $txt insert $lineBegin.$posEnd "$symbol"
+            }
+            $txt highlight $lineBegin.$posBegin $lineEnd.end
+            # $txt insert $lineBegin.[expr $posBegin + 1] "$symbol"
+        } else {
+            $txt insert $lineNum.[expr $posNum + 1] "$symbol"
+            $txt mark set insert $lineNum.[expr $posNum - 1]
+            # $txt see $lineNum.[expr $posNum - 1]
+            $txt see insert
+            $txt highlight $lineNum.$posNum $lineNum.end
+        }
+    }
+ 
+    # Create editor for new file (Ctrl+N)
+    proc New {} {
+        global nbEditor tree untitledNumber
+        if [info exists untitledNumber] {
+            incr untitledNumber 1
+        } else {
+            set untitledNumber 0
+        }
+        set filePath untitled-$untitledNumber
+        set fileName untitled-$untitledNumber
+        set fileFullPath untitled-$untitledNumber
+        #puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
+        set nbEditorItem [NB::InsertItem $nbEditor  $fileFullPath "file"]
+        puts "$nbEditorItem, $nbEditor"
+        Editor $fileFullPath $nbEditor $nbEditorItem
+    }
+    proc Editor {fileFullPath nb itemName} {
+        global cfgVariables
+        set fr $itemName
+        if ![string match "*untitled*" $itemName] {
+            set lblName "lbl[string range $itemName [expr [string last "." $itemName] +1] end]"
+            ttk::label $fr.$lblName -text $fileFullPath
+            pack $fr.$lblName  -side top  -anchor w -fill x  
+        }
+        
+        set frmText [ttk::frame $fr.frmText -border 1]
+        set txt $frmText.t
+
+        pack $frmText  -side top -expand true -fill both 
+        pack [ttk::scrollbar $frmText.s -command "$frmText.t yview"] -side right -fill y
+        ctext $txt -yscrollcommand "$frmText.s set" -font $cfgVariables(font) -linemapfg $cfgVariables(lineNumberFG) \
+        -tabs "[expr {4 * [font measure $cfgVariables(font) 0]}] left" -tabstyle tabular -undo true
+        pack $txt -fill both -expand 1
+        puts ">>>>>>> [bindtags $txt]"
+        if {$cfgVariables(lineNumberShow) eq "false"} {
+            $txt configure -linemap 0
+        }
+        set fileType [string toupper [string trimleft [file extension $fileFullPath] "."]]
+        
+        if  {[info procs Highlight::$fileType] ne ""} {
+            Highlight::$fileType $txt
+        } else {
+            Highlight::Default $txt
+        }
+        
+        BindKeys $itemName
+        # bind $txt  {
+            # regexp {^(\s*)} [%W get "insert linestart" end] -> spaceStart
+            # %W insert insert "\n$spaceStart"
+            # break
+        # }
+
+        return $fr
+    }
+}
diff --git a/debian/projman/usr/share/projman/lib/files.tcl b/debian/projman/usr/share/projman/lib/files.tcl
new file mode 100644
index 0000000..b7e5a6f
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/files.tcl
@@ -0,0 +1,180 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# Working with files module
+######################################################
+
+
+namespace eval FileOper {
+    variable  types
+    
+    set ::types {
+        {"All files" *}
+    }
+    
+    proc OpenDialog {} {
+        global env
+        set dir $env(HOME)
+        set fullPath [tk_getOpenFile -initialdir $dir -filetypes $::types -parent .]
+        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
+        regsub -all "." $file "_" node
+        set dir [file dirname $fullPath]
+        set file [file tail $fullPath]
+        set name [file rootname $file]
+        set ext [string range [file extension $file] 1 end]
+        if {$fullPath != ""} {
+            puts $fullPath
+            return $fullPath
+        } else {
+            return
+        }
+    }
+    
+    proc OpenFolderDialog {} {
+        global env
+        #global tree node types dot env noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor rootDir
+        #     set dir $projDir
+        set dir $env(HOME)
+        set fullPath [tk_chooseDirectory  -initialdir $dir -parent .]
+        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
+        regsub -all "." $file "_" node
+        set dir [file dirname $fullPath]
+        #     EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
+        puts $fullPath
+       
+        return $fullPath
+    }
+    
+    proc Close {} {
+        global nbEditor modified tree
+        set nbItem [$nbEditor select]
+        if {$nbItem == ""} {return}
+        if {$modified($nbItem) eq "true"} {
+            Save
+        }
+        $nbEditor forget $nbItem
+        destroy $nbItem
+        set treeItem "file::[string range $nbItem [expr [string last "." $nbItem] +1] end ]"
+        if {[$tree parent $treeItem] eq "" } {
+            $tree delete $treeItem
+        }
+    }
+    
+    proc Save {} {
+        global nbEditor tree env
+        set nbEditorItem [$nbEditor select]
+        puts "Saved editor text: $nbEditorItem"
+        if [string match "*untitled*" $nbEditorItem] {
+            set filePath [tk_getSaveFile -initialdir $env(HOME) -filetypes $::types -parent .]
+            if {$filePath eq ""} {
+                return
+            }
+            set fileName [string range $filePath [expr [string last "/" $filePath]+1] end]
+            puts "$filePath, $fileName"
+            set treeitem [Tree::InsertItem $tree {} $filePath "file" $fileName]
+        } else {
+            set treeItem "file::[string range $nbEditorItem [expr [string last "." $nbEditorItem] +1] end ]"
+            set filePath [Tree::GetItemID $tree $treeItem]
+        }
+        set editedText [$nbEditorItem.frmText.t get 0.0 end]
+        set f [open $filePath "w+"]
+        puts -nonewline $f $editedText
+        puts "$f was saved"
+        close $f
+        ResetModifiedFlag $nbEditorItem
+    }
+    
+    proc SaveAll {} {
+        
+    }
+    
+    proc Delete {} {
+        set node [$tree selection get]
+        set fullPath [$tree itemcget $node -data]
+        set dir [file dirname $fullPath]
+        set file [file tail $fullPath]
+        set answer [tk_messageBox -message "[::msgcat::mc "Delete file"] \"$file\"?"\
+        -type yesno -icon question -default yes]
+        case $answer {
+            yes {
+                FileDialog $tree close
+                file delete -force "$fullPath"
+                $tree delete $node
+                $tree configure -redraw 1
+                return 0
+            }
+        }
+    }
+    
+    proc ReadFolder {dir} {
+        global tree
+        puts "Read the folder $dir"
+        set rList ""
+        if {[catch {cd $dir}] != 0} {
+            return ""
+        }
+        set parent [Tree::InsertItem $tree {} $dir "directory" $dir]
+        # if {[ $tree  item $parent -open] eq "false"} {
+            # $tree  item $parent -open true
+        # } else {
+            # $tree  item $parent -open false
+        # }
+        # Getting an files and directorues lists
+        foreach file [glob -nocomplain *] {
+            lappend rList [list [file join $dir $file]]
+            if [file isdirectory $file] {
+                lappend lstDir $file
+            } else {
+                lappend lstFiles $file
+            }
+        }
+        # Sort  lists and insert into tree
+        if {[info exists lstDir] && [llength $lstDir] > 0} {
+            foreach f [lsort $lstDir] {
+                puts " Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "directory" $f]"
+            }
+        }
+        if {[info exists lstFiles] && [llength $lstFiles] > 0} {
+            foreach f [lsort $lstFiles] {
+                puts "Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "file" $f]"
+            }
+        }
+    }
+    
+    proc ReadFile {fileFullPath itemName} {
+        set txt $itemName.frmText.t
+        if ![string match "*untitled*" $itemName] {
+            set file [open "$fileFullPath" r]
+            $txt insert end  [chan read -nonewline $file]  
+            close $file
+        }
+        # Delete emty last line
+        if {[$txt get {end-1 line} end] eq "\n" || [$txt get {end-1 line} end] eq "\r\n"} {
+            $txt delete {end-1 line} end
+            puts ">[$txt get {end-1 line} end]<"
+        }
+    }
+    
+    proc Edit {fileFullPath} {
+        global nbEditor tree
+        set filePath [file dirname $fileFullPath]
+        set fileName [file tail $fileFullPath]
+        regsub -all {\.|/|\\|\s} $fileFullPath "_" itemName
+        set itemName "$nbEditor.$itemName"
+        puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
+        if {[winfo exists $itemName] == 0} {
+            NB::InsertItem $nbEditor $fileFullPath "file"
+            Editor::Editor $fileFullPath $nbEditor $itemName
+            ReadFile $fileFullPath $itemName
+            $itemName.frmText.t highlight 1.0 end
+            ResetModifiedFlag $itemName
+        }
+        $nbEditor select $itemName
+        focus -force $itemName.frmText.t
+        
+        return $itemName
+    }
+}
diff --git a/debian/projman/usr/share/projman/lib/gui.tcl b/debian/projman/usr/share/projman/lib/gui.tcl
new file mode 100644
index 0000000..938f40e
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/gui.tcl
@@ -0,0 +1,164 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+#  GUI module
+#######################################################
+
+if {[info exists cfgVariables(geometry)]} {
+    wm geometry . $cfgVariables(geometry)
+} else {
+    wm geometry . 1024x768
+}
+# Заголовок окна
+wm title . "ProjMan \($projmanVersion-$projmanRelease\)"
+wm iconname . "ProjMan"
+# иконка окна (берется из файла lib/imges.tcl)
+wm iconphoto . projman
+wm protocol . WM_DELETE_WINDOW Quit
+wm overrideredirect . 0
+#wm positionfrom . user
+
+bind .  Quit
+bind .  Quit
+bind .  Quit
+bind .  Add
+bind .  Del
+bind .  Edit
+bind .  ShowHelpDialog
+bind .  Editor::New
+bind .  Editor::New
+bind .  {
+    set filePath [FileOper::OpenDialog]
+    if {$filePath != ""} {
+        FileOper::Edit $filePath
+    }
+}
+bind .  {
+    set filePath [FileOper::OpenDialog]
+    if {$filePath != ""} {
+        FileOper::Edit $filePath
+    }
+}
+bind .  {
+    set folderPath [FileOper::OpenFolderDialog]
+    if {$folderPath != ""} {
+        FileOper::ReadFolder $folderPath
+    }
+}
+bind .  {
+    set folderPath [FileOper::OpenFolderDialog]
+    if {$folderPath != ""} {
+        FileOper::ReadFolder $folderPath
+    }
+}
+bind .  {FileOper::Save}
+bind .  {FileOper::Save}
+#ttk::style configure TPanedwindow -background blue
+#ttk::style configure Sash -sashthickness 5
+#ttk::style configure TButton  -padding 60  -relief flat -bg black
+#ttk::style configure Custom.Treeview -foreground red
+#ttk::style configure Custom.Treeview -rowheight 20
+
+if [info exists cfgVariables(theme)] {
+    ttk::style theme use $cfgVariables(theme)
+}
+
+frame .frmMenu -border 1 -relief raised  -highlightthickness 0
+frame .frmBody -border 1 -relief raised -highlightthickness 0
+frame .frmStatus -border 1 -relief sunken 
+pack .frmMenu -side top -padx 1 -fill x
+pack .frmBody -side top -padx 1 -fill both -expand true
+pack .frmStatus -side top -padx 1 -fill x
+
+# pack .panel -expand true -fill both
+# pack propagate .panel false
+#pack [label .frmMenu.lbl -text "ddd"]
+pack [label .frmStatus.lbl2 -text "ddd"]
+
+menubutton .frmMenu.mnuFile -text [::msgcat::mc "File"] -menu .frmMenu.mnuFile.m
+GetFileMenu [menu .frmMenu.mnuFile.m]
+
+menubutton .frmMenu.mnuEdit -text [::msgcat::mc "Edit"] -menu .frmMenu.mnuEdit.m
+GetEditMenu [menu .frmMenu.mnuEdit.m]
+
+menubutton .frmMenu.mnuView -text [::msgcat::mc "View"] -menu .frmMenu.mnuView.m
+GetViewMenu [menu .frmMenu.mnuView.m]
+
+pack .frmMenu.mnuFile .frmMenu.mnuEdit .frmMenu.mnuView -side left
+
+menubutton .frmMenu.mnuHelp -text [::msgcat::mc "Help"] -menu .frmMenu.mnuHelp.m
+pack .frmMenu.mnuHelp -side right
+
+
+set frmTool [ttk::frame .frmBody.frmTool]
+ttk::panedwindow .frmBody.panel -orient horizontal -style TPanedwindow
+pack propagate .frmBody.panel false
+
+pack .frmBody.frmTool -side left -fill y
+pack .frmBody.panel -side left -fill both -expand true
+
+ttk::button $frmTool.btn_tree  -command  ViewFilesTree  -image tree_32x32
+
+pack $frmTool.btn_tree -side top -padx 1 -pady 1
+# #label $frmTool.lbl_logo -image tcl
+# pack $frmTool.btn_quit -side bottom -padx 5 -pady 5
+# #pack $frmTool.lbl_logo -side bottom -padx 5 -pady 5
+# 
+# # Дерево с полосами прокрутки
+set frmTree [ttk::frame .frmBody.frmTree]
+
+ttk::scrollbar $frmTree.hsb1 -orient horizontal -command {$frmTree.tree xview}
+ttk::scrollbar $frmTree.vsb1 -orient vertical -command [list $frmTree.tree yview]
+set tree [ttk::treeview $frmTree.tree -show tree \
+-xscrollcommand {$frmTree.hsb1 set} -yscrollcommand [list $frmTree.vsb1 set]]
+
+bind $tree  {Tree::DoublePressItem $tree}
+bind $tree   {Tree::PressItem $tree}
+
+grid $tree -row 0 -column 0 -sticky nsew
+grid $frmTree.vsb1 -row 0 -column 1 -sticky nsew
+grid $frmTree.hsb1 -row 1 -column 0 -sticky nsew
+grid columnconfigure $frmTree 0 -weight 1
+grid rowconfigure $frmTree 0 -weight 1
+
+set frm_work [ttk::frame .frm_work]
+
+set nbEditor [ttk::notebook $frm_work.nbEditor]
+
+#grid $nbEditor -row 0 -column 0 -sticky nsew
+pack $nbEditor -fill both -expand true
+
+# Create an image CLOSE for tab
+ttk::style element create close_button image close_10x10 -height 12 -width 12 -sticky e -padding {10 0}
+
+ttk::style layout TNotebook.Tab {
+    Notebook.tab -sticky nswe -children {
+        Notebook.padding -expand 1 -sticky nswe -children {
+            Notebook.label
+            -expand 1 -sticky nesw -side left close_button -side right
+        }
+    }
+}
+
+bind TNotebook  "NB::CloseTab %W %x %y\;[bind TNotebook ]"
+
+# ttk::scrollbar $nbEditor.hsb1 -orient horizontal -command [list $frm_tree.work xview]
+# ttk::scrollbar $fbEditor.vsb1 -orient vertical -command [list $frm_tree.work yview]
+# set tree [ttk::treeview $frm_tree.tree -show tree \
+# -xscrollcommand [list $frm_tree.hsb1 set] -yscrollcommand [list $frm_tree.vsb1 set]]
+# 
+
+# # назначение обработчика нажатия кнопкой мыши
+# #bind $frm_tree.tree  "TreePress %x %y %X %Y $frm_tree.tree"
+# bind $frm_tree.tree  "TreePress $frm_tree.tree"
+
+#.panel add $frmTool -weight 1
+if {$cfgVariables(toolBarShow) eq "true"} {        
+    .frmBody.panel add $frmTree -weight 0
+} 
+.frmBody.panel add $frm_work -weight 1 
+# # 
+
diff --git a/debian/projman/usr/share/projman/lib/highlight.tcl b/debian/projman/usr/share/projman/lib/highlight.tcl
new file mode 100644
index 0000000..9217937
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/highlight.tcl
@@ -0,0 +1,44 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+namespace eval Highlight {} {
+    proc TCL {txt} {
+        ctext::addHighlightClass $txt widgets purple  [list ctext button label text frame toplevel  scrollbar checkbutton canvas listbox menu menubar menubutton  radiobutton scale entry message tk_chooseDir tk_getSaveFile  tk_getOpenFile tk_chooseColor tk_optionMenu]
+        ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z]+}
+        ctext::addHighlightClass $txt stackControl #19a2a6 [info commands]
+        ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
+        ctext::addHighlightClass $txt variable_funcs gold {set global variable unset}
+        ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
+        ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
+        ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}    
+        ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::}
+        ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
+    }
+
+    proc Default {txt} {
+        ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z\-_]+}
+        ctext::addHighlightClass $txt stackControl #19a2a6 [info commands]
+        ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
+        ctext::addHighlightClass $txt variable_funcs gold {set global variable unset}
+        ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
+        ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
+        ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}    
+        ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::}
+        ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
+    }
+    
+    proc SH {txt} {
+        ctext::addHighlightClassForRegexp $txt flags orange {-+[a-zA-Z\-_]+}
+        ctext::addHighlightClass $txt stackControl #19a2a6 {if fi else elseif then while case esac do in exit source echo}
+        ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
+        ctext::addHighlightClassForRegexp $txt vars_extended #4471ca {\$\{[a-zA-Z0-9\_\-:\./\$\{\}]+\}}
+        ctext::addHighlightClass $txt variable_funcs gold {set export}
+        ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
+        ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
+        ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}    
+        ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
+    }
+}
diff --git a/debian/projman/usr/share/projman/lib/image_library.tcl b/debian/projman/usr/share/projman/lib/image_library.tcl
new file mode 100644
index 0000000..f51993c
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/image_library.tcl
@@ -0,0 +1,126 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# Base64 encoded Images library
+######################################################
+image create photo projman -data {
+    iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
+    WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1AsFAhA0bYcHMAAACoFJREFUeNqlV1uMG9UZ/uZiz9ge
+    X9drr51dZ7037SUkQEJIwqUh3BTRClqREBWqVmorpbxQIaU8UGiloraqVKlPqA/QBwRFItA2AcqG
+    hGwgLNmEvWSzt6zjvXl37V2P7+OxZ8Yzc/qAF6WwCUj80pFGo3P5znf+833nZ3DjoABQkoTogQN4
+    7e23Ecvl8ODu3XidYcBOTGAEAMF3DHaTf0y9WQBQ4+PY2t8P8fnnYVy4gIeeeQZ/TiTQX+9rqc9B
+    Xzderzfz2wD8EsCbb77JBoPBTofg+BVrYY/QFN0IALHYGVXTzlxsbLz8+DvvrOcTCbwLQBIE4anD
+    hw//5mdHn+urKAZ1ZagfU+Oj4pX40MupheR8Xqp+Yph0RleNSh3MzQE4HA6PKIo/Hx4bfprneYbj
+    ObAsC0J4rrXt7ntNkuqIxSpvsGyV0XWdGR0dzw5cKTuf/usVKpeT0C3E9YP7dzbced+uF8+dOp4f
+    Gp44zXENr1to22eiKEqiKNZwA7o3GNBPnjy5vpxYFhbmFxxyWRZsNhsjCB5YOTtY+lPnxUvNwbJU
+    Hnnttdcc/VeYt196dWLLyloZUmFNWbr06pnFpbgS6WgL7Lprvz0a8fccfOiePXff+313SswWlhbm
+    CgCMrx4Lc903MQyjpKpqvCyVEzWttsVmtwVC4RDNsgpSq59h7DIlyLJ8ded9P378L28s7imVNcBQ
+    DKTPDpHixB+kUunq3t2LdzU00I4tLXvo7X1DvunZYM/E1KSQTq7NmqZZBoh+IwAAYKiqmiuXy/Fo
+    NOpzu907g6EgBzKHhfkcHEIX7XQ3No+kWm+bSyo8ANDSldi+aP7lUx+8Fz954sT0wYO5aGJZ2p7M
+    bIG4No9MzmWXq9neQlp0GZqxrhtG5nommI0EfOGFF3p9Pp9x/vx5FYC2bdu22yJbI3fb7XY+uXoV
+    lQoPl7uZKmqCEMuHBKliUABgYdR8c+/Dfbd1Cg9IxYzSu8P2RDrf2jA5kcf4qIjmLRF0tbWzJUmM
+    EJN1NLZERFVVipqiaAAIAwChUMjP2/j+7p7uHQcOHGAbGhpYp8v5WLQjesvq6iqbzarYseMeWKxW
+    rEkeamSBZQioLyhjPA2J9Up4T2vB7fI473X7klsHP+VINpXO5dLZheRqknO4vFzPjl32/fvv74m2
+    R++iaMqYi12LAdBYANTIyAjH2/jOnbt2RvyN/l3bd2yfTa2ltjMMw2UyGfR296GpKYyavgxJMxmT
+    UP+fybW07vdtc+n0Mn3+4zLy6ZqsVMqfrKVSo5Zc/nuc4L73wbaodfut2zkrQ3WtLi7+GsA5ACoL
+    APPz86aiKgu6oW/p7OrsKsvljmBTkMplcxRLs+ju7sZKcgU2uw2SUvmCeloHAQ3dpHHfbT7Llctj
+    WFq+gMQyyalq4ezl0bHjtVot1traSovp1I7pyZlGmmaBikSPjAxnAfgBJBgAlKqqRlkqLxWLRVex
+    UGxXNZVpCjVR2UwWglMAZ+VQ02vgrBxG4jWs5lmEbSlSMZwUMXXcfwuN8cH3sZTIV0Ux078wv9Cv
+    KMowgBWapsVMOu2TZblXKkv0mVOnZhcWFj/WNe0igPQGlzRN026n09nqEByPCoLwADFJr1SWlI7O
+    Dtbv97v27ttrafQ30v/4r4jPZikc6DNw5qoXHmYdW9R+rC5MZmqGcbZSrR4nhEwASABQAXAAoizL
+    PsuwrEdT1Y8IITMApgDkN5TQNE2zVCwWY4qivC6X5UsWi2VfoVAwCoWClWGYplKxdPevn31uq26B
+    hSezcPt6AVRglwZRKiUqxXL5HCHkQwATAFYBKPWrpgJY1HX9b7quewHkAaQBFAAY15uRAUBWVXVR
+    VdUUgDEAnK7rAMAllhJ9M4vS74dmtFu22BSAdQCoov3Op+ArvZtPnvzXR4ZhXLpu5xuKZwKoAJit
+    S78JoLbhD5u5oV4Ho25YMgAmEAjwuVxJA4CAh4Ws6HUzUREO+b19fX1NsVhMVRRFv4H51Opzk2+y
+    Y9Q76QBw4j//cSwtLfV8Pjh4jFVSfYAPNitBtQ7AQkqIbI3YXR7XD/iP+KmpyamsLMvFjfGbzIub
+    SfFXg24Lhbq9Xu9LPp/voJ2z8h9OUugKlM2i3kClcjqi7jQ6W2xoCjW5/X5/WNO0SjaTTdZqNfVm
+    NvxNDOB3L77oCTU17bk6On50fGz0e01NQS6VyYHRWwjPO2RNNpwAwBNRp+BmOY6zR9uj+wlIl91u
+    bxv8dPCVcrmcrh/lDWNTBo48eYRTZPkQTchvu9rb9hk1jT/x3vsYHR+vUt5bSWvIKqtwOZKiTCLs
+    lTmXYGObI828aZoQBEGw2WxdlUpFLBaLq5qmyTdj4msAfvmLX3jvuH3n407e/idxLdWRTK0y07EY
+    puNzmUw2+4GreZ816LNZaM7rXEnM5Z98bG9+avzCBGflvH6/3w4KlMfrcbrd7ls5K8dmM9m4qqrV
+    emLfHMCx547xlGkeLmSyx1rCoSjPWvDhwDlcGB4pVxXl1NGjR7OLebcGYoT9jUHXzCrN5AoSI+jz
+    b128eHE20BjoCIVCgklMOJ1OwWazdaiqmq/IlWSlUilvxsSXAH7y1I+9DR7f4a0tkT9qcrV1cmoC
+    ly6PkWtzS2lFUc7ohv7WoUOH9IVy8zOLy2ul7o5m1+SiyvQ0rC2m5i69MjkxeTp+LZ6NRCK3+hv9
+    DpqmKbfH7RQEYZuFtXDFQnFOUZQqIcT4GoCf/PQptjkcPlIUs8fsVmur4OBxaewyGbk8XiqVpbOE
+    kFMEZDiTyYwEwu27F1Ny8I5tIX4sVqB2BuYHBs+fPW6a5rokSSsVucL5fL72YDAo6LoOh8Mh8Da+
+    VVXUgizLSVmW/48JBgBFE9LRGYm86eGFSCwWw7kLg2Qqdm1d1WoDuq6/RUCGASyvra2VutvDH2s6
+    ae1pbwpfmx5Lzwz983eqqk4B0ADI6XQ6lkwmS/5G/zaO5xxaTaMb/Y0ul8vVx7KsNZvJziqKUt3Q
+    CQYAU5ErT9/e0/sIx/OIxeNkOh4v5fKFAdM0TxFChgEkAVQBmLGZy4WC4R995J5o52cD/36/lF35
+    V133NzylWiqVkpqm8V6Pt9XldDm1moYGf4Ngs9vaqpVqtpAvJFRVLW+8iFgATzgczl2p9XUyOTuz
+    XlHVjxRFOV5fPLGx+JdyJsULTx75kd/nZCeGh4dnv/quNE1TSq+n46IoFsPh8DZBEISZ6RlaKklO
+    wSFEsplsvFAoJADUGAA0z/NFQtPNiZWEWK3VLhQKhTOEkNHrd/7V7H344YcbS6WSa2hoaHqT22Ua
+    hlEplUpJVVO5QCDQpqqq0NXZhUAw4FpeXl5fWVkZA1BhAZiKogzPzc89W6vVvDRNK6Zprtct84Zy
+    2tLSkpmcnAzUzYpsovmKpmlLw58Pvz4/N7/10cce/SGhCDMxPsGpihoG4AIgsnW0VcMw4gCshmGY
+    9YTSblbbMQyT5jhud/0IazcwnpphGHOZTObv5wbOdZ8+fbrX6/HmRVFMbNSO1CYV8beqeA8dOsRm
+    Mpm9AwMDn1+XhJsaGgA7gCiArQBsANbrL6IC9R2ra8tmHn8DEDYAjjpjCgAJgP4/zJqKdgq3EfoA
+    AAAASUVORK5CYII=
+}
+image create photo folder -data {
+R0lGODlhEAANAOMMAAAAABwcHC4uLlxcXGpqant7e4ODg4aGhqGhoaioqLCwsLe3t///////////
+/////yH5BAEKAA8ALAAAAAAQAA0AAAQ48Ell6pA4v5WqKYSGKZ33HUiKhA9ivp4AtDAs07V5u3k8
+8z3DLlgZEo3BG0HAbDqZgdkDQK1arREAOw==
+}
+image create photo imgFile -data {
+R0lGODlhCwANAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
+Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
+ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
+NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
+R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
+WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
+bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
+gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
+k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
+pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
+ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
+zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
+3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
+8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///yH5BAEAAKoALAAAAAALAA0A
+AAg5AFUJHEhQIICDCA8OBPCvoUOGBh0+VMgw4UNVDCVerHhQIgCMGjf+S5jxY8aQJkdaHAkyJEuS
+JAMCADs=
+}
+image create photo tree_32x32 -data {
+iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
+kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
+rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
+zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
+cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
+QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
+ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
+SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCwkONjcAirYAAAAZdEVYdENvbW1lbnQAQ3JlYXRl
+ZCB3aXRoIEdJTVBXgQ4XAAAAyklEQVRYw+2VMQ7DIAxFf9KcoVfIKdrJUm6TnqU9Ry8QiY0DdPaW
+OXvndmFAWQDVtdzKlhBCIPiY7wfg8WPR5YMQwkv6ACLqWtb31jI0KJwxp34BwBYydErt2OyhvZeI
+6C4o7AYg/p2HGMBa8/YVwRKCtrRRNFVlmnwaCkKu2h7qC7e4ENH5i3yaAYytVTZp8qnGQ2uWpWl/
+I9Uny8o1prZZ+8sWAA9hDfyJIBaCpHPIOeQccg45h5xDziHnkBUOmYtDYX5Ma55agt4p2lAY80lC
+JwAAAABJRU5ErkJggg==
+}
+image create photo close_12x12 -data {
+iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
+kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
+rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
+zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
+cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
+QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
+ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
+SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww0DNJuT5YAAAAZdEVYdENvbW1lbnQAQ3JlYXRl
+ZCB3aXRoIEdJTVBXgQ4XAAAATUlEQVQoz52QQQ4AMQgCR9/rc/xv99SkIdWN5QgoqGXmAogIo8H2
+uRKdGcCU0CTVrBIqrtx24ky1ru+tojPEe6XR0aO3dubbkP+ZVfsAVVNBhh3Rb78AAAAASUVORK5C
+YII=
+}
+image create photo close_10x10 -data {
+iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
+kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
+rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
+zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
+cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
+QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
+ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
+SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww2COc16Q0AAAAZdEVYdENvbW1lbnQAQ3JlYXRl
+ZCB3aXRoIEdJTVBXgQ4XAAAARElEQVQY05WPwQ0AIAgDr2zNBIytLxPToNE+j9KCMnMAVJVotObh
+oDMByMFKdqZb4r6oU5XfHTzqr/rpmc7UtcTJ5GwCGLsw4txYqA4AAAAASUVORK5CYII=
+}
diff --git a/debian/projman/usr/share/projman/lib/menu.tcl b/debian/projman/usr/share/projman/lib/menu.tcl
new file mode 100644
index 0000000..527376c
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/menu.tcl
@@ -0,0 +1,64 @@
+#!/usr/bin/wish
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# Generate menu module
+######################################################
+
+proc GetFileMenu {m} {
+    $m add command -label [::msgcat::mc "New file"] -command Editor::New\
+    -accelerator "Ctrl+N"
+    $m add command -label [::msgcat::mc "Open file"] -accelerator "Ctrl+O" -command {
+        set filePath [FileOper::OpenDialog]
+        if {$filePath != ""} {
+            FileOper::Edit $filePath
+        }
+    }
+    $m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
+        set folderPath [FileOper::OpenFolderDialog]
+        if {$folderPath != ""} {
+            FileOper::ReadFolder $folderPath
+        }
+    }    
+    $m add command -label [::msgcat::mc "Save file"] -command {FileOper::Save}\
+    -accelerator "Ctrl+S"
+    #$m add command -label [::msgcat::mc "Open"] -command {FileDialog $tree open}\
+    #-font $fontNormal -accelerator "Ctrl+O"        -state disable
+    $m add separator
+    $m add command -label [::msgcat::mc "Exit"] -command Quit -accelerator "Ctrl+Q"
+}
+
+
+proc GetEditMenu {m} {
+    $m add command -label [::msgcat::mc "Undo"] -command Undo\
+    -accelerator "Ctrl+Z"
+    $m add command -label [::msgcat::mc "Redo"] -command Redo\
+    -accelerator "Ctrl+Y"
+    $m add separator
+    $m add command -label [::msgcat::mc "Copy"] -command Copy\
+    -accelerator "Ctrl+C"
+    $m add command -label [::msgcat::mc "Paste"] -command Paste\
+    -accelerator "Ctrl+V"
+    $m add command -label [::msgcat::mc "Cut"] -command Cut\
+    -accelerator "Ctrl+Z"
+    $m add separator
+    $m add command -label [::msgcat::mc "Find"] -command Find\
+    -accelerator "Ctrl+F"
+    $m add command -label [::msgcat::mc "Replace"] -command Replace\
+    -accelerator "Ctrl+R"
+    $m add separator
+    $m add command -label [::msgcat::mc "Find in files"] -command File::Find\
+    -accelerator "Ctrl+Shift+F"
+    $m add command -label [::msgcat::mc "Replace in files"] -command File::Replace\
+    -accelerator "Ctrl+Shift+RV"
+    
+}
+
+proc GetViewMenu {m} {
+    $m add command -label [::msgcat::mc "View files tree"] -command ViewFilesTree
+    $m add command -label [::msgcat::mc "View line numbers"] -command ViewLineNumbers
+}
+
diff --git a/msgs/de.msg b/debian/projman/usr/share/projman/lib/msgs/de.msg
similarity index 100%
rename from msgs/de.msg
rename to debian/projman/usr/share/projman/lib/msgs/de.msg
diff --git a/msgs/en.msg b/debian/projman/usr/share/projman/lib/msgs/en.msg
similarity index 100%
rename from msgs/en.msg
rename to debian/projman/usr/share/projman/lib/msgs/en.msg
diff --git a/msgs/fr.msg b/debian/projman/usr/share/projman/lib/msgs/fr.msg
similarity index 100%
rename from msgs/fr.msg
rename to debian/projman/usr/share/projman/lib/msgs/fr.msg
diff --git a/msgs/ru.msg b/debian/projman/usr/share/projman/lib/msgs/ru.msg
similarity index 96%
rename from msgs/ru.msg
rename to debian/projman/usr/share/projman/lib/msgs/ru.msg
index 5f0c270..7c79306 100644
--- a/msgs/ru.msg
+++ b/debian/projman/usr/share/projman/lib/msgs/ru.msg
@@ -72,6 +72,7 @@
 ::msgcat::mcset ru "File modify" "Файл изменен"
 ::msgcat::mcset ru "File saved" "Файл сохранен"
 ::msgcat::mcset ru "Find" "Найти"
+::msgcat::mcset ru "Find in files" "Найти  в файлах"
 ::msgcat::mcset ru "Font normal" "Нормальный шрифт"
 ::msgcat::mcset ru "Font bold" "Жирный шрифт"
 ::msgcat::mcset ru "FTP password" "FTP пароль"
@@ -112,6 +113,7 @@
 ::msgcat::mcset ru "Not found active project" "Не определен активный проект"
 ::msgcat::mcset ru "Open" "Открыть"
 ::msgcat::mcset ru "Open file" "Открыть файл"
+::msgcat::mcset ru "Open folder" "Открыть папку"
 ::msgcat::mcset ru "Open project" "Открыть проект"
 ::msgcat::mcset ru "Opened file in progress" "Открытие файла"
 ::msgcat::mcset ru "Operators" "Операторы"
@@ -143,6 +145,7 @@
 ::msgcat::mcset ru "Redo" "Повторить"
 ::msgcat::mcset ru "Refresh" "Обновить"
 ::msgcat::mcset ru "Replace" "Замена"
+::msgcat::mcset ru "Replace in files" "Заменить в файлах"
 ::msgcat::mcset ru "Replace with" "Заменить на"
 ::msgcat::mcset ru "Replace all" "Заменить все"
 ::msgcat::mcset ru "Release" "Выпуск"
@@ -179,8 +182,11 @@
 ::msgcat::mcset ru "Variables" "Переменные"
 ::msgcat::mcset ru "Version" "Версия"
 ::msgcat::mcset ru "View" "Вид"
+::msgcat::mcset ru "View files tree" "Показывать дерево файлов"
+::msgcat::mcset ru "View line numers" "Показывать номера строк"
 ::msgcat::mcset ru "Warning" "Внимание"
 ::msgcat::mcset ru "Was replacement" "Было заменено"
 ::msgcat::mcset ru "Word wrapping" "Перенос слов"
 ::msgcat::mcset ru "Work dir" "Рабочий каталог"
 
+
diff --git a/debian/projman/usr/share/projman/lib/notebook.tcl b/debian/projman/usr/share/projman/lib/notebook.tcl
new file mode 100644
index 0000000..18ddfb0
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/notebook.tcl
@@ -0,0 +1,38 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+#
+# Operation with  NoteBook widget module
+#
+######################################################
+
+namespace eval NB {
+    
+    proc InsertItem {nb item type} {
+        switch $type {
+            file {
+                regsub -all {\.|/|\\|\s} $item "_" itemName
+                if [winfo exists $nb.$itemName] {
+                    set fm $nb.$itemName
+                } else {
+                    set fm [ttk::frame $nb.$itemName]
+                    pack $fm -side top -expand true -fill both
+                    $nb add $fm -text [file tail $item];# -image close_12x12 -compound right
+                    $nb select $fm
+                }
+            }
+        }
+        puts "NB item - $fm"
+        return $fm
+    }
+    proc CloseTab {w x y} {
+        if {[$w identify $x $y] == "close_button"} {
+            puts "Hurrah! Close tab [$w index @$x,$y] plz."
+            FileOper::Close
+        }
+    }
+}
+
diff --git a/debian/projman/usr/share/projman/lib/procedure.tcl b/debian/projman/usr/share/projman/lib/procedure.tcl
new file mode 100644
index 0000000..3f4d8ed
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/procedure.tcl
@@ -0,0 +1,73 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+#
+# All procedures module
+#
+######################################################
+
+proc Quit {} {
+    global dir
+    Config::write $dir(cfg)
+    exit
+}
+
+proc ViewFilesTree {} {
+    global cfgVariables
+    if {$cfgVariables(toolBarShow) eq "true"} {
+        .frmBody.panel forget .frmBody.frmTree
+        set cfgVariables(toolBarShow) false
+    } else {
+        .frmBody.panel insert 0 .frmBody.frmTree
+        set cfgVariables(toolBarShow) true
+    }
+}
+
+# Enable/Disabled line numbers in editor
+proc ViewLineNumbers {} {
+    global cfgVariables nbEditor
+    # Changed global settigs
+    if {$cfgVariables(lineNumberShow) eq "true"} {
+        set cfgVariables(lineNumberShow) false
+    } else {
+        set cfgVariables(lineNumberShow) true
+    }
+    # apply changes for opened tabs
+    foreach node [$nbEditor tabs] {
+        $node.frmText.t configure -linemap $cfgVariables(lineNumberShow)
+    }
+}
+
+proc Del {} {
+    return
+}
+
+proc YScrollCommand {txt canv} {
+    $txt yview
+    $canv yview"
+}
+
+proc ResetModifiedFlag {w} {
+    global modified nbEditor
+    $w.frmText.t edit modified false
+    set modified($w) "false"
+    set lbl [string trimleft [$nbEditor tab $w -text] "* "]
+    puts "ResetModifiedFlag: $lbl"
+    $nbEditor tab $w -text $lbl
+}
+proc SetModifiedFlag {w} {
+    global modified nbEditor
+    #$w.frmText.t edit modified false
+    set modified($w) "true"
+    set lbl [$nbEditor tab $w -text]
+    puts "SetModifiedFlag: $w; $modified($w); >$lbl<"
+    if {[regexp -nocase -all -- {^\*} $lbl match] == 0} {
+        set lbl "* $lbl"
+    }
+    $nbEditor tab $w -text $lbl
+}
+
+
diff --git a/debian/projman/usr/share/projman/lib/tree.tcl b/debian/projman/usr/share/projman/lib/tree.tcl
new file mode 100644
index 0000000..6dcaf51
--- /dev/null
+++ b/debian/projman/usr/share/projman/lib/tree.tcl
@@ -0,0 +1,86 @@
+#!/usr/bin/wish
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+#
+# Tree  widget working module
+#
+######################################################
+
+
+namespace eval Tree {
+    proc InsertItem {tree parent item type text} {
+        # set img [GetImage $fileName]
+        set dot "_"
+        puts "$tree $parent $item $type $text"
+        switch $type  {
+            file {
+                regsub -all {\.|/|\\|\s} $item "_" subNode
+                puts $subNode
+                set image imgFile
+            }
+            directory {
+                regsub -all {\.|/|\\|\s} $item "_" subNode
+                puts $subNode
+                set image folder
+            }
+        }
+        append id $type "::" $subNode
+        puts $id
+        if ![$tree exists $id] {
+            $tree insert $parent end -id "$id" -text $text -values "$item" -image $image
+        }
+            return "$id"
+    }
+    proc DoublePressItem {tree} {
+        set id [$tree selection]
+        $tree tag remove selected
+        $tree item $id -tags selected
+        
+        set values [$tree item $id -values]
+        set key [lindex [split $id "::"] 0]
+        if {$values eq "" || $key eq ""} {return}
+        
+        puts "$key $tree $values"
+        switch $key {
+            directory {
+                FileOper::ReadFolder  $values             
+            }
+            file {
+                FileOper::Edit $values
+                # $tree item $id -open false
+            }
+        }
+    }
+
+    proc PressItem {tree} {
+        set id [$tree selection]
+        $tree tag remove selected
+        $tree item $id -tags selected
+        
+        set values [$tree item $id -values]
+        set key [lindex [split $id "::"] 0]
+        if {$values eq "" || $key eq ""} {return}
+        
+        puts "$key $tree $values"
+        switch $key {
+            directory {
+                FileOper::ReadFolder  $values
+                # $tree item $id -open false
+            }
+            file {
+                FileOper::Edit $values
+            }
+        }
+        # 
+}
+
+    proc GetItemID {tree item} {
+        if [$tree exists $item] {
+            return [$tree item $item -values]
+        }
+    }
+}
diff --git a/debian/projman/usr/share/projman/theme/adapta/LICENSE.md b/debian/projman/usr/share/projman/theme/adapta/LICENSE.md
new file mode 100644
index 0000000..bb72e83
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/adapta/LICENSE.md
@@ -0,0 +1,192 @@
+# SVG Image License
+
+This License applies to the PNG images, built from the SVG images in the
+adapta theme using `tool/svg.py`, ONLY! This License does not cover
+`adapta.tcl`, which is covered by GNU GPLv3 as it is derived from
+`equilux.tcl`, which is derived from `arc.tcl`.
+
+[CC BY-SA is one-way compatible with GNU GPLv3](https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3),
+and thus theme `adapta` can be used as if it were licensed under 
+`GNU GPLv3`.
+
+Note that the `adapta`-theme code/markup files are licensed under GNU
+GPLv2, which is incompatible with GNU GPLv3 (as it does not specify
+`Or at your option, any later version`), but no files covered by only
+GPLv2 from the `adapta` theme are included, so it does NOT apply. 
+
+Original Theme [`adapta-gtk-theme`](https://github.com/adapta-project/adapta-gtk-theme)
+
+**Authors**: `@tista500` and others 
+
+
+# Attribution-ShareAlike 4.0 International
+
+Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+### Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
+
+* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
+
+## Creative Commons Attribution-ShareAlike 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+### Section 1 – Definitions.
+
+a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License.
+
+d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
+
+h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
+
+k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+### Section 2 – Scope.
+
+a. ___License grant.___
+
+   1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+       A. reproduce and Share the Licensed Material, in whole or in part; and
+
+       B. produce, reproduce, and Share Adapted Material.
+
+   2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+   3. __Term.__ The term of this Public License is specified in Section 6(a).
+
+   4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+   5. __Downstream recipients.__
+
+       A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+       B. __Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
+
+       C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+   6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+b. ___Other rights.___
+
+   1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+   2. Patent and trademark rights are not licensed under this Public License.
+
+   3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+### Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+a. ___Attribution.___
+
+   1. If You Share the Licensed Material (including in modified form), You must:
+
+       A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+         i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+         ii. a copyright notice;
+
+         iii. a notice that refers to this Public License;
+
+         iv. a notice that refers to the disclaimer of warranties;
+
+         v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+       B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+       C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+   2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+   3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+b. ___ShareAlike.___
+
+In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
+
+1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
+
+2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
+
+3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
+
+### Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
+
+b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
+
+c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+### Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
+
+b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
+
+c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+### Section 6 – Term and Termination.
+
+a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+   1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+   2. upon express reinstatement by the Licensor.
+
+   For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+### Section 7 – Other Terms and Conditions.
+
+a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+### Section 8 – Interpretation.
+
+a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
+>
+> Creative Commons may be contacted at creativecommons.org.
\ No newline at end of file
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta.tcl b/debian/projman/usr/share/projman/theme/adapta/adapta.tcl
new file mode 100644
index 0000000..ac3210f
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/adapta/adapta.tcl
@@ -0,0 +1,338 @@
+# Copyright (C) 2018 RedFantom
+# Derived from https://github.com/adapta-project/adapta-gtk-theme (GNU GPLv2)
+# Based on /ttkthemes/ttkthemes/themes/arc/arc.tcl (GNU GPLv3)
+# Available under the GNU GPLv3, or at your option any later version
+
+# Theme Adapta
+namespace eval ttk::theme::adapta {
+
+    # Widget colors
+    variable colors
+    array set colors {
+        -foreground     "#000000"
+        -background     "#fafbfc"
+        -disabledbg     "#fafbfc"
+        -disabledfg     "#c3c5d6"
+        -selectbg       "#00bcd4"
+        -selectfg       "#ffffff"
+        -window         "#fafbfc"
+        -focuscolor     "#1ee9b7"
+        -checklight     "#1ee9b7"
+    }
+
+    # Function to load images from subdirectory
+    variable directory
+    # Subdirectory /adapta
+    set directory [file join [file dirname [info script]] adapta]
+    variable images
+    # Load the images
+    foreach file [glob -directory $directory *.png] {
+        set img [file tail [file rootname $file]]
+        set images($img) [image create photo -file $file -format png]
+    }
+
+    # Create a new ttk::style
+    ttk::style theme create adapta -parent default -settings {
+        # Configure basic style settings
+        ttk::style configure . \
+            -background $colors(-background) \
+            -foreground $colors(-foreground) \
+            -troughcolor $colors(-background) \
+            -selectbackground $colors(-selectbg) \
+            -selectforeground $colors(-selectfg) \
+            -fieldbackground $colors(-window) \
+            -font TkDefaultFont \
+            -borderwidth 1 \
+            -focuscolor $colors(-focuscolor)
+
+        # Map disabled colors to disabledfg
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+        # WIDGET LAYOUTS
+
+        ttk::style layout TButton {
+            Button.button -children {
+                Button.focus -children {
+                    Button.padding -children {
+                        Button.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                Toolbutton.focus -children {
+                    Toolbutton.padding -children {
+                        Toolbutton.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.focus -children {
+                    Menubutton.padding -children {
+                        Menubutton.indicator -side right
+                        Menubutton.label -side right -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout TCombobox {
+            Combobox.field -sticky nswe -children {
+                Combobox.downarrow -side right -sticky ns -children {
+                    Combobox.arrow -side right
+                }
+                Combobox.padding -expand true -sticky nswe -children {
+                    Combobox.textarea -sticky nswe
+                }
+            }
+        }
+
+        ttk::style layout TSpinbox {
+            Spinbox.field -side top -sticky we -children {
+                Spinbox.buttons -side right -children {
+                    null -side right -sticky {} -children {
+                        Spinbox.uparrow -side top -sticky nse -children {
+                            Spinbox.symuparrow -side right -sticky e
+                        }
+                        Spinbox.downarrow -side bottom -sticky nse -children {
+                            Spinbox.symdownarrow -side right -sticky e
+                        }
+                    }
+                }
+                Spinbox.padding -sticky nswe -children {
+                    Spinbox.textarea -sticky nswe
+                }
+            }
+        }
+
+        # Style elements
+
+        # Button
+        ttk::style element create Button.button image [list $images(button) \
+                pressed     $images(button-active) \
+                active      $images(button-hover) \
+                disabled    $images(button-insensitive) \
+            ] -border 3 -padding {3 2} -sticky ewns
+
+        # Toolbutton
+        ttk::style element create Toolbutton.button image [list $images(toolbutton) \
+                selected            $images(toolbutton-active) \
+                pressed             $images(toolbutton-active) \
+                {active !disabled}  $images(toolbutton-hover) \
+            ] -border 3 -padding {3 2} -sticky news
+
+        # Checkbutton
+        ttk::style element create Checkbutton.indicator image [list $images(check-off) \
+                disabled            $images(check-off-insensitive) \
+                {active selected}   $images(check-on-hover) \
+                {pressed selected}  $images(check-on) \
+                active              $images(check-off) \
+                selected            $images(check-on) \
+                {disabled selected} $images(check-on-insensitive) \
+            ] -width 25 -sticky w -padding {0 4 0 0}
+
+        # Radiobutton
+        ttk::style element create Radiobutton.indicator image [list $images(radio-off) \
+                disabled            $images(radio-off-insensitive) \
+                {active selected}   $images(radio-on-hover) \
+                {pressed selected}  $images(radio-on) \
+                active              $images(radio-off) \
+                selected            $images(radio-on-hover) \
+                {disabled selected} $images(radio-on-insensitive) \
+            ] -width 25 -sticky w -padding {0 4 0 0}
+
+        # Scrollbars
+        ttk::style element create Horizontal.Scrollbar.trough \
+            image [list $images(scroll-horiz-bg) \
+                        disabled $images(scroll-horiz-bg-insensitive) \
+            ]
+        ttk::style element create Horizontal.Scrollbar.thumb \
+            image [list $images(scroll-horiz-slider) \
+                        {pressed !disabled} $images(scroll-horiz-slider-active) \
+                        {active !disabled}  $images(scroll-horiz-slider-hover) \
+                        disabled            $images(scroll-horiz-slider-insensitive) \
+            ] -border 7 -sticky ew
+        ttk::style element create Vertical.Scrollbar.trough \
+            image [list $images(scroll-vert-bg) \
+                        disabled $images(scroll-vert-bg-insensitive) \
+            ]
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $images(scroll-vert-slider) \
+                        {pressed !disabled} $images(scroll-vert-slider-active) \
+                        {active !disabled}  $images(scroll-vert-slider-hover) \
+                        disabled            $images(scroll-vert-slider-insensitive) \
+            ] -border 7 -sticky ns
+
+        # Scales
+        ttk::style element create Horizontal.Scale.trough \
+            image [list $images(scale-horiz-bg) \
+                        disabled $images(scale-horiz-bg-insensitive) \
+            ] \
+            -border {10 5 10 5} -padding 0
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $images(scale-slider) \
+                        disabled $images(scale-slider-insensitive) \
+                        active $images(scale-slider-hover) \
+            ] \
+            -sticky {}
+        ttk::style element create Vertical.Scale.trough \
+            image [list $images(scale-vert-bg) \
+                        disabled $images(scale-vert-bg-insensitive) \
+            ] \
+            -border {5 10 5 10} -padding 0
+        ttk::style element create Vertical.Scale.slider \
+            image [list $images(scale-slider) \
+                        disabled $images(scale-slider-insensitive) \
+                        active $images(scale-slider-hover)
+            ] \
+            -sticky {}
+
+        # Entry
+        ttk::style element create Entry.field \
+            image [list $images(entry) \
+                        focus $images(entry-active) \
+                        disabled $images(entry-insensitive)] \
+            -border 4 -padding {6 6} -sticky news
+
+        # LabelFrame
+        # ttk::style element create Labelframe.border image $images(labelframe) \
+        #     -border 4 -padding 4 -sticky news
+
+        # Menubutton
+        ttk::style element create Menubutton.button \
+            image [list $images(button) \
+                        pressed  $images(button-active) \
+                        active   $images(button-hover) \
+                        disabled $images(button-insensitive) \
+            ] -sticky news -border 3 -padding {3 2}
+        ttk::style element create Menubutton.indicator \
+            image [list $images(arrow-down) \
+                        active   $images(arrow-down-hover) \
+                        pressed  $images(arrow-down-hover) \
+            ] -sticky e -width 20
+
+        # ComboBox
+        ttk::style element create Combobox.field \
+            image [list $images(combo-entry) \
+                {readonly disabled}  $images(combo-entry-insensitive) \
+                {readonly pressed}   $images(combo-entry-active) \
+                {readonly hover}     $images(combo-entry-active) \
+                readonly             $images(combo-entry) \
+                {disabled} $images(combo-entry-insensitive) \
+                {hover}    $images(combo-entry-active) \
+            ] -border 4 -padding {6 0 0 0}
+        ttk::style element create Combobox.downarrow \
+            image [list $images(combo-button) \
+                        pressed   $images(combo-button-active) \
+                        active    $images(combo-button-hover) \
+                        disabled  $images(combo-button-insensitive) \
+          ] -border 4 -padding {0 10 6 10}
+        ttk::style element create Combobox.arrow \
+            image [list $images(button-unshade) \
+                        active    $images(button-unshade-prelight) \
+                        pressed   $images(button-unshade-pressed) \
+                        disabled  $images(button-unshade) \
+          ]  -sticky e -width 15
+
+        # Spinbox
+        # ttk::style element create Spinbox.field \
+        #     image [list $images(combo-entry) focus $images(combo-entry-active)] \
+        #     -border 4 -padding {6 0 0 0} -sticky news
+        # ttk::style element create Spinbox.uparrow \
+        #     image [list $images(up-bg) \
+        #                 pressed   $images(up-bg-active) \
+        #                 active    $images(up-bg-hover) \
+        #                 disabled  $images(up-bg-disable) \
+        #     ] -width 20 -border {0 2 3 0} -padding {0 5 6 2}
+        # ttk::style element create Spinbox.symuparrow \
+        #     image [list $images(arrow-up-small) \
+        #                 active    $images(arrow-up-small-prelight) \
+        #                 pressed   $images(arrow-up-small-prelight) \
+        #                 disabled  $images(arrow-up-small-insens) \
+        #     ]
+        # ttk::style element create Spinbox.downarrow \
+        #     image [list $images(down-bg) \
+        #                 pressed   $images(down-bg-active) \
+        #                 active    $images(down-bg-hover) \
+        #                 disabled  $images(down-bg-disable) \
+        #     ] -width 20 -border {0 0 3 2} -padding {0 2 6 5}
+        # ttk::style element create Spinbox.symdownarrow \
+        #     image [list $images(arrow-down) \
+        #                 active    $images(arrow-down-prelight) \
+        #                 pressed   $images(arrow-down-prelight) \
+        #                 disabled  $images(arrow-down-insens) \
+        #   ]
+
+        # Notebook
+        # ttk::style element create Notebook.client \
+        #     image $images(notebook) -border 1
+        ttk::style element create Notebook.tab \
+            image [list $images(notebook) \
+                        selected    $images(notebook-active) \
+            ] -padding {4 4 4 2} -border {5 3 5 0}
+
+        # Progressbars
+        ttk::style element create Horizontal.Progressbar.trough \
+            image $images(progress-bg) -border 0 -padding 1
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $images(progress-bar) -border 0 -padding 2
+
+        ttk::style element create Vertical.Progressbar.trough \
+            image $images(progress-bg) -border 0 -padding 1
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $images(progress-bar) -border 0
+
+        # Treeview
+        ttk::style element create Treeview.field \
+            image $images(treeview) -border 1
+        ttk::style element create Treeheading.cell \
+            image [list $images(toolbutton-hover) \
+                pressed $images(toolbutton-active) \
+                disabled $images(toolbutton-insensitive) \
+                active $images(toolbutton-hover)] \
+            -border {4 1 4 1} -padding 4 -sticky ewns
+        # ttk::style element create Treeitem.indicator \
+        #     image [list $images(plus) user2 $images(empty) user1 $images(minus)] \
+        #     -width 15 -sticky w
+
+        # Settings
+        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+        ttk::style configure TMenubutton -padding {8 4 4 4}
+        ttk::style configure Toolbutton -anchor center
+        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
+        ttk::style configure TCheckbutton -padding 3
+        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
+        ttk::style configure TRadiobutton -padding 3
+        ttk::style configure TNotebook -tabmargins {0 2 0 0}
+        ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
+        ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
+        ttk::style configure TSeparator -background $colors(-background)
+
+        # Treeview
+        ttk::style configure Treeview -background $colors(-window)
+        ttk::style configure Treeview.Item -padding {2 0 0 0}
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+    }
+}
+
+variable version 1.0
+package provide ttk::theme::adapta $version
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-hover.png
new file mode 100644
index 0000000..ee626e0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-pressed.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-pressed.png
new file mode 100644
index 0000000..f6f1b24
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down.png
new file mode 100644
index 0000000..3a515a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-hover.png
new file mode 100644
index 0000000..254bb7d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-insensitive.png
new file mode 100644
index 0000000..b4fe8c4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt.png
new file mode 100644
index 0000000..7a4ab21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-alt.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-insensitive.png
new file mode 100644
index 0000000..c575c89
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left.png
new file mode 100644
index 0000000..ca7f402
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-left.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-hover.png
new file mode 100644
index 0000000..952274b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-insensitive.png
new file mode 100644
index 0000000..e748172
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt.png
new file mode 100644
index 0000000..6baf501
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-alt.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-insensitive.png
new file mode 100644
index 0000000..09718e9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-selected.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-selected.png
new file mode 100644
index 0000000..d48cf4e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right-selected.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right.png
new file mode 100644
index 0000000..51c30ee
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-right.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-hover.png
new file mode 100644
index 0000000..ae6238b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-pressed.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-pressed.png
new file mode 100644
index 0000000..867216e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up.png b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up.png
new file mode 100644
index 0000000..fb33694
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/arrow-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-active.png
new file mode 100644
index 0000000..abb4f76
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-hover.png
new file mode 100644
index 0000000..cbd254d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-insensitive.png
new file mode 100644
index 0000000..1ea697e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-prelight.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-prelight.png
new file mode 100644
index 0000000..273ab9c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-pressed.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-pressed.png
new file mode 100644
index 0000000..0f42489
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade.png
new file mode 100644
index 0000000..cdf3419
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button-unshade.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button.png
new file mode 100644
index 0000000..6a32921
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_prelight.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_prelight.png
new file mode 100644
index 0000000..b3b92e0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_pressed.png b/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_pressed.png
new file mode 100644
index 0000000..39e9583
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/button_shade_pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-active.png
new file mode 100644
index 0000000..a0a61d9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-hover.png
new file mode 100644
index 0000000..1cd60ac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-insensitive.png
new file mode 100644
index 0000000..7a109d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-off.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off.png
new file mode 100644
index 0000000..c9123b1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-off.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-active.png
new file mode 100644
index 0000000..ec3a4ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-hover.png
new file mode 100644
index 0000000..081bae8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-insensitive.png
new file mode 100644
index 0000000..7b7cb03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/check-on.png b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on.png
new file mode 100644
index 0000000..8599524
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/check-on.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-active.png
new file mode 100644
index 0000000..981d93c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-hover.png
new file mode 100644
index 0000000..e0ee6ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-insensitive.png
new file mode 100644
index 0000000..715aba9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button.png
new file mode 100644
index 0000000..6ec2d06
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-button.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-active.png
new file mode 100644
index 0000000..ab62ca4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-insensitive.png
new file mode 100644
index 0000000..2fe64d4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry.png b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry.png
new file mode 100644
index 0000000..d440532
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/combo-entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/entry-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/entry-active.png
new file mode 100644
index 0000000..d100741
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/entry-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/entry-insensitive.png
new file mode 100644
index 0000000..fe70fdb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/entry.png b/debian/projman/usr/share/projman/theme/adapta/adapta/entry.png
new file mode 100644
index 0000000..484578e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/notebook-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/notebook-active.png
new file mode 100644
index 0000000..5a97935
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/notebook-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/notebook.png b/debian/projman/usr/share/projman/theme/adapta/adapta/notebook.png
new file mode 100644
index 0000000..c67333a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bar.png b/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bar.png
new file mode 100644
index 0000000..7bd6664
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bar.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bg.png b/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bg.png
new file mode 100644
index 0000000..58eaf89
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/progress-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-active.png
new file mode 100644
index 0000000..0b73ed9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-hover.png
new file mode 100644
index 0000000..67968ec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-insensitive.png
new file mode 100644
index 0000000..0570f30
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off.png
new file mode 100644
index 0000000..10b9855
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-off.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-active.png
new file mode 100644
index 0000000..b852c83
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-hover.png
new file mode 100644
index 0000000..e7481ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-insensitive.png
new file mode 100644
index 0000000..61bef03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on.png b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on.png
new file mode 100644
index 0000000..d544dbf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/radio-on.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg-insensitive.png
new file mode 100644
index 0000000..2974753
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg.png
new file mode 100644
index 0000000..2b81fe7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-horiz-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-active.png
new file mode 100644
index 0000000..b8f6a80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-hover.png
new file mode 100644
index 0000000..b8f6a80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-insensitive.png
new file mode 100644
index 0000000..7bb0e6b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider.png
new file mode 100644
index 0000000..7bb0e6b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg-insensitive.png
new file mode 100644
index 0000000..cc1e612
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg.png
new file mode 100644
index 0000000..8de22b6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scale-vert-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg-insensitive.png
new file mode 100644
index 0000000..e21e5b3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg.png
new file mode 100644
index 0000000..e21e5b3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-active.png
new file mode 100644
index 0000000..37f9776
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-hover.png
new file mode 100644
index 0000000..41ed736
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-insensitive.png
new file mode 100644
index 0000000..a54a6a7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider.png
new file mode 100644
index 0000000..bd370a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-horiz-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg-insensitive.png
new file mode 100644
index 0000000..7bfccf9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg.png
new file mode 100644
index 0000000..7bfccf9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-active.png
new file mode 100644
index 0000000..df67aff
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-hover.png
new file mode 100644
index 0000000..5add8df
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-insensitive.png
new file mode 100644
index 0000000..e5d4934
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider.png b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider.png
new file mode 100644
index 0000000..e85d4b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/scroll-vert-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-active.png
new file mode 100644
index 0000000..6ab0b80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-hover.png
new file mode 100644
index 0000000..39aefe6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-insensitive.png
new file mode 100644
index 0000000..9914840
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down.png
new file mode 100644
index 0000000..f79b5f0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-active.png
new file mode 100644
index 0000000..e404b7e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-hover.png
new file mode 100644
index 0000000..cba33ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-insensitive.png
new file mode 100644
index 0000000..6311bc3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up.png b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up.png
new file mode 100644
index 0000000..e4b0b53
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/spin-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-active.png
new file mode 100644
index 0000000..e1bca5c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-hover.png
new file mode 100644
index 0000000..bd312e5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-insensitive.png
new file mode 100644
index 0000000..8d25ddf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton.png b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton.png
new file mode 100644
index 0000000..8d25ddf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/toolbutton.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-active.png b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-active.png
new file mode 100644
index 0000000..5739da0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-hover.png b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-hover.png
new file mode 100644
index 0000000..65abf53
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-insensitive.png b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-insensitive.png
new file mode 100644
index 0000000..2cfda65
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/adapta/adapta/treeview.png b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview.png
new file mode 100644
index 0000000..2cfda65
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/adapta/adapta/treeview.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/LICENSE b/debian/projman/usr/share/projman/theme/arc/LICENSE
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/arc/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. 
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This program 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 program 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, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+      Copyright (C)   
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+.
diff --git a/debian/projman/usr/share/projman/theme/arc/arc.tcl b/debian/projman/usr/share/projman/theme/arc/arc.tcl
new file mode 100644
index 0000000..12530aa
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/arc/arc.tcl
@@ -0,0 +1,309 @@
+#  Copyright (c) 2015 Sergei Golovan 
+#  Derived from https://github.com/horst3180/arc-theme/ under the GNU GPLv3
+#  Thus this is available under GNU GPLv3 also, as described in LICENSE
+
+namespace eval ttk::theme::arc {
+
+    variable colors
+    array set colors {
+        -fg             "#5c616c"
+        -bg             "#f5f6f7"
+        -disabledbg     "#fbfcfc"
+        -disabledfg     "#a9acb2"
+        -selectbg       "#5294e2"
+        -selectfg       "#ffffff"
+        -window         "#ffffff"
+        -focuscolor     "#5c616c"
+        -checklight     "#fbfcfc"
+    }
+
+    proc LoadImages {imgdir} {
+        variable I
+        foreach file [glob -directory $imgdir *.png] {
+            set img [file tail [file rootname $file]]
+            set I($img) [image create photo -file $file -format png]
+        }
+    }
+
+    LoadImages [file join [file dirname [info script]] arc]
+
+    ttk::style theme create arc -parent default -settings {
+        ttk::style configure . \
+            -background $colors(-bg) \
+            -foreground $colors(-fg) \
+            -troughcolor $colors(-bg) \
+            -selectbg $colors(-selectbg) \
+            -selectfg $colors(-selectfg) \
+            -fieldbg $colors(-window) \
+            -font TkDefaultFont \
+            -borderwidth 1 \
+            -focuscolor $colors(-focuscolor)
+
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+        # Layouts
+        ttk::style layout TButton {
+            Button.button -children {
+                Button.focus -children {
+                    Button.padding -children {
+                        Button.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                Toolbutton.focus -children {
+                    Toolbutton.padding -children {
+                        Toolbutton.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.focus -children {
+                    Menubutton.padding -children {
+                        Menubutton.indicator -side right
+                        Menubutton.label -side right -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout TCombobox {
+            Combobox.field -sticky nswe -children {
+                Combobox.downarrow -side right -sticky ns -children {
+                    Combobox.arrow -side right
+                }
+                Combobox.padding -expand true -sticky nswe -children {
+                    Combobox.textarea -sticky nswe
+                }
+            }
+        }
+
+        ttk::style layout TSpinbox {
+            Spinbox.field -side top -sticky we -children {
+                Spinbox.buttons -side right -children {
+                    null -side right -sticky {} -children {
+                        Spinbox.uparrow -side top -sticky nse -children {
+                            Spinbox.symuparrow -side right -sticky e
+                        }
+                        Spinbox.downarrow -side bottom -sticky nse -children {
+                            Spinbox.symdownarrow -side right -sticky e
+                        }
+                    }
+                }
+                Spinbox.padding -sticky nswe -children {
+                    Spinbox.textarea -sticky nswe
+                }
+            }
+        }
+
+        # Elements
+        ttk::style element create Button.button image [list $I(button) \
+                pressed     $I(button-active) \
+                active      $I(button-hover) \
+                disabled    $I(button-insensitive) \
+            ] -border 3 -padding {3 2} -sticky ewns
+
+        ttk::style element create Toolbutton.button image [list $I(button-empty) \
+                selected            $I(button-active) \
+                pressed             $I(button-active) \
+                {active !disabled}  $I(button-hover) \
+            ] -border 3 -padding {3 2} -sticky news
+
+        ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \
+                disabled            $I(checkbox-unchecked-insensitive) \
+                {active selected}   $I(checkbox-checked) \
+                {pressed selected}  $I(checkbox-checked) \
+                active              $I(checkbox-unchecked) \
+                selected            $I(checkbox-checked) \
+                {disabled selected} $I(checkbox-checked-insensitive) \
+            ] -width 22 -sticky w
+
+        ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \
+                disabled            $I(radio-unchecked-insensitive) \
+                {active selected}   $I(radio-checked) \
+                {pressed selected}  $I(radio-checked) \
+                active              $I(radio-unchecked) \
+                selected            $I(radio-checked) \
+                {disabled selected} $I(radio-checked-insensitive) \
+            ] -width 22 -sticky w
+
+        ttk::style element create Horizontal.Scrollbar.trough image $I(trough-scrollbar-horiz)
+        ttk::style element create Horizontal.Scrollbar.thumb \
+            image [list $I(slider-horiz) \
+                        {pressed !disabled} $I(slider-horiz-active) \
+                        {active !disabled}  $I(slider-horiz-prelight) \
+                        disabled            $I(slider-horiz-insens) \
+            ] -border 6 -sticky ew
+
+        ttk::style element create Vertical.Scrollbar.trough image $I(trough-scrollbar-vert)
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $I(slider-vert) \
+                        {pressed !disabled} $I(slider-vert-active) \
+                        {active !disabled}  $I(slider-vert-prelight) \
+                        disabled            $I(slider-vert-insens) \
+            ] -border 6 -sticky ns
+
+        ttk::style element create Horizontal.Scale.trough \
+            image [list $I(trough-horizontal-active) disabled $I(trough-horizontal)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \
+            -sticky {}
+
+        ttk::style element create Vertical.Scale.trough \
+            image [list $I(trough-vertical-active) disabled $I(trough-vertical)] \
+            -border {5 8 5 8} -padding 0
+        ttk::style element create Vertical.Scale.slider \
+            image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \
+            -sticky {}
+
+        ttk::style element create Entry.field \
+            image [list $I(entry-border-bg-solid) \
+                        focus $I(entry-border-active-bg-solid) \
+                        disabled $I(entry-border-disabled-bg)] \
+            -border 3 -padding {6 4} -sticky news
+
+        ttk::style element create Labelframe.border image $I(labelframe) \
+            -border 4 -padding 4 -sticky news
+
+        ttk::style element create Menubutton.button \
+            image [list $I(button) \
+                        pressed  $I(button-active) \
+                        active   $I(button-hover) \
+                        disabled $I(button-insensitive) \
+            ] -sticky news -border 3 -padding {3 2}
+        ttk::style element create Menubutton.indicator \
+            image [list $I(arrow-down) \
+                        active   $I(arrow-down-prelight) \
+                        pressed  $I(arrow-down-prelight) \
+                        disabled $I(arrow-down-insens) \
+            ] -sticky e -width 20
+
+        ttk::style element create Combobox.field \
+            image [list $I(combo-entry) \
+                {readonly disabled}  $I(button-insensitive) \
+                {readonly pressed}   $I(button-active) \
+                {readonly focus}     $I(button-focus) \
+                {readonly hover}     $I(button-hover) \
+                readonly             $I(button) \
+                {disabled} $I(combo-entry-insensitive) \
+                {focus}    $I(combo-entry-focus) \
+                {hover}    $I(combo-entry) \
+            ] -border 4 -padding {6 0 0 0}
+        ttk::style element create Combobox.downarrow \
+            image [list $I(combo-entry-button) \
+                        pressed   $I(combo-entry-button-active) \
+                        active    $I(combo-entry-button-hover) \
+                        disabled  $I(combo-entry-button-insensitive) \
+          ] -border 4 -padding {0 10 6 10}
+        ttk::style element create Combobox.arrow \
+            image [list $I(arrow-down) \
+                        active    $I(arrow-down-prelight) \
+                        pressed   $I(arrow-down-prelight) \
+                        disabled  $I(arrow-down-insens) \
+          ]  -sticky e -width 15
+
+        ttk::style element create Spinbox.field \
+            image [list $I(combo-entry) focus $I(combo-entry-focus)] \
+            -border 4 -padding {6 0 0 0} -sticky news
+        ttk::style element create Spinbox.uparrow \
+            image [list $I(up-background) \
+                        pressed   $I(up-background-active) \
+                        active    $I(up-background-hover) \
+                        disabled  $I(up-background-disable) \
+            ] -width 20 -border {0 2 3 0} -padding {0 5 6 2}
+        ttk::style element create Spinbox.symuparrow \
+            image [list $I(arrow-up-small) \
+                        active    $I(arrow-up-small-prelight) \
+                        pressed   $I(arrow-up-small-prelight) \
+                        disabled  $I(arrow-up-small-insens) \
+            ]
+        ttk::style element create Spinbox.downarrow \
+            image [list $I(down-background) \
+                        pressed   $I(down-background-active) \
+                        active    $I(down-background-hover) \
+                        disabled  $I(down-background-disable) \
+            ] -width 20 -border {0 0 3 2} -padding {0 2 6 5}
+        ttk::style element create Spinbox.symdownarrow \
+            image [list $I(arrow-down-small) \
+                        active    $I(arrow-down-small-prelight) \
+                        pressed   $I(arrow-down-small-prelight) \
+                        disabled  $I(arrow-down-small-insens) \
+          ]
+
+        ttk::style element create Notebook.client \
+            image $I(notebook) -border 1
+        ttk::style element create Notebook.tab \
+            image [list $I(tab-top) \
+                        selected    $I(tab-top-active) \
+                        active      $I(tab-top-hover) \
+            ] -padding {0 2 0 0} -border 2
+
+        ttk::style element create Horizontal.Progressbar.trough \
+            image $I(trough-progressbar_v) -border {5 1 5 1} -padding 1 -sticky ew
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $I(progressbar_v) -border {4 0 4 0} -sticky ew
+
+        ttk::style element create Vertical.Progressbar.trough \
+            image $I(trough-progressbar) -border {1 5 1 5} -padding 1 -sticky ns
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $I(progressbar) -border {0 4 0 4} -sticky ns
+
+        ttk::style element create Treeview.field \
+            image $I(treeview) -border 1
+        ttk::style element create Treeheading.cell \
+            image [list $I(notebook) pressed $I(notebook)] \
+            -border 1 -padding 4 -sticky ewns
+
+        ttk::style element create Treeitem.indicator \
+            image [list $I(plus) user2 $I(empty) user1 $I(minus)] \
+            -width 15 -sticky w
+
+        #ttk::style element create Separator.separator image $I()
+
+        #
+        # Settings:
+        #
+
+        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+        ttk::style configure TMenubutton -padding {8 4 4 4}
+        ttk::style configure Toolbutton -anchor center
+        ttk::style map TCheckbutton -background [list active $colors(-checklight)]
+        ttk::style configure TCheckbutton -padding 3
+        ttk::style map TRadiobutton -background [list active $colors(-checklight)]
+        ttk::style configure TRadiobutton -padding 3
+        ttk::style configure TNotebook -tabmargins {0 2 0 0}
+        ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
+        ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
+        ttk::style configure TSeparator -background $colors(-bg)
+
+        # Treeview
+        ttk::style configure Treeview -background $colors(-window)
+        ttk::style configure Treeview.Item -padding {2 0 0 0}
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+    }
+}
+
+variable version 0.1
+package provide ttk::theme::arc $version
+
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-insens.png
new file mode 100644
index 0000000..9db1788
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-prelight.png
new file mode 100644
index 0000000..ffcd1f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-insens.png
new file mode 100644
index 0000000..8a67e67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-prelight.png
new file mode 100644
index 0000000..11d6369
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small.png
new file mode 100644
index 0000000..dcd14a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-down.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down.png
new file mode 100644
index 0000000..395f3b8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-insens.png
new file mode 100644
index 0000000..63b0bdd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-prelight.png
new file mode 100644
index 0000000..75701fe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-left.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left.png
new file mode 100644
index 0000000..838c7bf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-left.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-insens.png
new file mode 100644
index 0000000..4d63a4f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-prelight.png
new file mode 100644
index 0000000..bfce546
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-right.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right.png
new file mode 100644
index 0000000..a44f44d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-right.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-insens.png
new file mode 100644
index 0000000..b2f35d8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-prelight.png
new file mode 100644
index 0000000..58fb7a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-insens.png
new file mode 100644
index 0000000..70a10bd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-prelight.png
new file mode 100644
index 0000000..6ce79e5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small.png
new file mode 100644
index 0000000..2559ee2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/arrow-up.png b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up.png
new file mode 100644
index 0000000..68912d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/arrow-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button-active.png b/debian/projman/usr/share/projman/theme/arc/arc/button-active.png
new file mode 100644
index 0000000..91effeb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button-empty.png b/debian/projman/usr/share/projman/theme/arc/arc/button-empty.png
new file mode 100644
index 0000000..5bf872c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button-empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button-focus.png b/debian/projman/usr/share/projman/theme/arc/arc/button-focus.png
new file mode 100644
index 0000000..3d287d2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button-hover.png b/debian/projman/usr/share/projman/theme/arc/arc/button-hover.png
new file mode 100644
index 0000000..293017a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/button-insensitive.png
new file mode 100644
index 0000000..49b871f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/button.png b/debian/projman/usr/share/projman/theme/arc/arc/button.png
new file mode 100644
index 0000000..94f0723
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/button.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked-insensitive.png
new file mode 100644
index 0000000..1238cd6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked.png b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked.png
new file mode 100644
index 0000000..11047e9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked-insensitive.png
new file mode 100644
index 0000000..482abfd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked.png b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked.png
new file mode 100644
index 0000000..9181121
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/checkbox-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active-rtl.png
new file mode 100644
index 0000000..d473a50
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active.png
new file mode 100644
index 0000000..b3b70f6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-hover.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-hover.png
new file mode 100644
index 0000000..0375db7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive-rtl.png
new file mode 100644
index 0000000..63a9fd4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive.png
new file mode 100644
index 0000000..a9c42fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-rtl.png
new file mode 100644
index 0000000..af56039
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button.png
new file mode 100644
index 0000000..fa3ffbb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-button.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook-rtl.png
new file mode 100644
index 0000000..f538ef1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook.png
new file mode 100644
index 0000000..02ef5b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-rtl.png
new file mode 100644
index 0000000..f59520a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus.png
new file mode 100644
index 0000000..1b3caa7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png
new file mode 100644
index 0000000..7f6fb70
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook.png
new file mode 100644
index 0000000..3313b01
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-rtl.png
new file mode 100644
index 0000000..a9d83a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive.png
new file mode 100644
index 0000000..4aa5a61
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook-rtl.png
new file mode 100644
index 0000000..10757a6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook.png
new file mode 100644
index 0000000..c6cfc73
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-rtl.png
new file mode 100644
index 0000000..74c9b99
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/combo-entry.png b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry.png
new file mode 100644
index 0000000..52997fc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/combo-entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background-active.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background-active.png
new file mode 100644
index 0000000..fac40e7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable-rtl.png
new file mode 100644
index 0000000..2d15372
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable.png
new file mode 100644
index 0000000..b1e591f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background-disable.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background-hover.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background-hover.png
new file mode 100644
index 0000000..97d61a3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background-rtl.png
new file mode 100644
index 0000000..7830008
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/down-background.png b/debian/projman/usr/share/projman/theme/arc/arc/down-background.png
new file mode 100644
index 0000000..5881119
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/down-background.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/empty.png b/debian/projman/usr/share/projman/theme/arc/arc/empty.png
new file mode 100644
index 0000000..23ac424
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg-solid.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg-solid.png
new file mode 100644
index 0000000..8e53276
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg-solid.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg.png
new file mode 100644
index 0000000..ec36c2d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-active-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg-solid.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg-solid.png
new file mode 100644
index 0000000..49d349a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg-solid.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg.png
new file mode 100644
index 0000000..8c48843
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-disabled-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-disabled-bg.png
new file mode 100644
index 0000000..354eaad
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-disabled-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/entry-border-fill.png b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-fill.png
new file mode 100644
index 0000000..15f6746
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/entry-border-fill.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/focus-line.png b/debian/projman/usr/share/projman/theme/arc/arc/focus-line.png
new file mode 100644
index 0000000..0f5ef9d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/focus-line.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-end.png b/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-end.png
new file mode 100644
index 0000000..9b5def1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-end.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-start.png b/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-start.png
new file mode 100644
index 0000000..114b138
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/frame-gap-start.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/frame.png b/debian/projman/usr/share/projman/theme/arc/arc/frame.png
new file mode 100644
index 0000000..bb90b74
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/frame.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/handle-h.png b/debian/projman/usr/share/projman/theme/arc/arc/handle-h.png
new file mode 100644
index 0000000..11d1621
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/handle-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/handle-v.png b/debian/projman/usr/share/projman/theme/arc/arc/handle-v.png
new file mode 100644
index 0000000..2317e90
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/handle-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/inline-toolbar.png b/debian/projman/usr/share/projman/theme/arc/arc/inline-toolbar.png
new file mode 100644
index 0000000..776ff5f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/inline-toolbar.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/labelframe.png b/debian/projman/usr/share/projman/theme/arc/arc/labelframe.png
new file mode 100644
index 0000000..f57a41d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/line-h.png b/debian/projman/usr/share/projman/theme/arc/arc/line-h.png
new file mode 100644
index 0000000..8320e2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/line-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/line-v.png b/debian/projman/usr/share/projman/theme/arc/arc/line-v.png
new file mode 100644
index 0000000..c13ee45
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/line-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow-prelight.png
new file mode 100644
index 0000000..fbd49b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow.png
new file mode 100644
index 0000000..fbd49b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-arrow.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked-insensitive.png
new file mode 100644
index 0000000..67ae4e5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked.png
new file mode 100644
index 0000000..ea33e14
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked-insensitive.png
new file mode 100644
index 0000000..e92f5be
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked.png
new file mode 100644
index 0000000..a599717
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-checkbox-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked-insensitive.png
new file mode 100644
index 0000000..13ac239
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked.png
new file mode 100644
index 0000000..3b9c4be
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked-insensitive.png
new file mode 100644
index 0000000..2d6f6c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked.png b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked.png
new file mode 100644
index 0000000..63720cf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menu-radio-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menubar.png b/debian/projman/usr/share/projman/theme/arc/arc/menubar.png
new file mode 100644
index 0000000..ff49952
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menubar.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menubar_button.png b/debian/projman/usr/share/projman/theme/arc/arc/menubar_button.png
new file mode 100644
index 0000000..92870f4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menubar_button.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/menuitem.png b/debian/projman/usr/share/projman/theme/arc/arc/menuitem.png
new file mode 100644
index 0000000..e744833
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/menuitem.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/minus.png b/debian/projman/usr/share/projman/theme/arc/arc/minus.png
new file mode 100644
index 0000000..8e96a79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/minus.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-active-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-active-bg.png
new file mode 100644
index 0000000..567833f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-active-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-bg.png
new file mode 100644
index 0000000..e8fbaff
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-disabled-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-disabled-bg.png
new file mode 100644
index 0000000..b86093d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook-entry-border-disabled-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-horiz.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-horiz.png
new file mode 100644
index 0000000..e14fe4b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-vert.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-vert.png
new file mode 100644
index 0000000..bc4a11c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook-gap-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/notebook.png b/debian/projman/usr/share/projman/theme/arc/arc/notebook.png
new file mode 100644
index 0000000..ab43f7b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/null.png b/debian/projman/usr/share/projman/theme/arc/arc/null.png
new file mode 100644
index 0000000..d7a1600
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/null.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/plus.png b/debian/projman/usr/share/projman/theme/arc/arc/plus.png
new file mode 100644
index 0000000..446ff48
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/plus.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/progressbar.png b/debian/projman/usr/share/projman/theme/arc/arc/progressbar.png
new file mode 100644
index 0000000..f0a28ee
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/progressbar.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/progressbar_v.png b/debian/projman/usr/share/projman/theme/arc/arc/progressbar_v.png
new file mode 100644
index 0000000..a1e9bcb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/progressbar_v.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/radio-checked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/radio-checked-insensitive.png
new file mode 100644
index 0000000..73fa33e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/radio-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/radio-checked.png b/debian/projman/usr/share/projman/theme/arc/arc/radio-checked.png
new file mode 100644
index 0000000..4ddb8a6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/radio-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked-insensitive.png
new file mode 100644
index 0000000..eb48d48
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked.png b/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked.png
new file mode 100644
index 0000000..22559c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/radio-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-active.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-active.png
new file mode 100644
index 0000000..ac4d545
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-insens.png
new file mode 100644
index 0000000..b075566
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-prelight.png
new file mode 100644
index 0000000..264272e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz.png
new file mode 100644
index 0000000..e3c2ab0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-insensitive.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-insensitive.png
new file mode 100644
index 0000000..1bd519a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-prelight.png
new file mode 100644
index 0000000..d925319
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-active.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-active.png
new file mode 100644
index 0000000..3483a5c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-insens.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-insens.png
new file mode 100644
index 0000000..a1822a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-prelight.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-prelight.png
new file mode 100644
index 0000000..c2eda00
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider-vert.png b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert.png
new file mode 100644
index 0000000..5fd3c55
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/slider.png b/debian/projman/usr/share/projman/theme/arc/arc/slider.png
new file mode 100644
index 0000000..593c454
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-bottom-active.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-bottom-active.png
new file mode 100644
index 0000000..1b17b56
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-bottom-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-left-active.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-left-active.png
new file mode 100644
index 0000000..a61b6f2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-left-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-right-active.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-right-active.png
new file mode 100644
index 0000000..0b7c60e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-right-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-top-active.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-top-active.png
new file mode 100644
index 0000000..9e48436
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-top-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-top-hover.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-top-hover.png
new file mode 100644
index 0000000..8ea26ed
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-top-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tab-top.png b/debian/projman/usr/share/projman/theme/arc/arc/tab-top.png
new file mode 100644
index 0000000..b064d3a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tab-top.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-active-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-active-bg.png
new file mode 100644
index 0000000..427548a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-active-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-bg.png
new file mode 100644
index 0000000..320deb9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-disabled-bg.png b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-disabled-bg.png
new file mode 100644
index 0000000..512d5bd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/toolbar-entry-border-disabled-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/toolbar.png b/debian/projman/usr/share/projman/theme/arc/arc/toolbar.png
new file mode 100644
index 0000000..3b91644
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/toolbar.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/tree_header.png b/debian/projman/usr/share/projman/theme/arc/arc/tree_header.png
new file mode 100644
index 0000000..74c7914
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/tree_header.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/treeview.png b/debian/projman/usr/share/projman/theme/arc/arc/treeview.png
new file mode 100644
index 0000000..762d3ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/treeview.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal-active.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal-active.png
new file mode 100644
index 0000000..d8bd457
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal.png
new file mode 100644
index 0000000..8c8362a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-horizontal.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar.png
new file mode 100644
index 0000000..01ae577
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar_v.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar_v.png
new file mode 100644
index 0000000..56d4951
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-progressbar_v.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-horiz.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-horiz.png
new file mode 100644
index 0000000..aced125
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-vert.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-vert.png
new file mode 100644
index 0000000..a596849
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-scrollbar-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical-active.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical-active.png
new file mode 100644
index 0000000..7f26a03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical.png b/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical.png
new file mode 100644
index 0000000..8c2f144
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/trough-vertical.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background-active.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background-active.png
new file mode 100644
index 0000000..558a1db
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable-rtl.png
new file mode 100644
index 0000000..b179242
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable.png
new file mode 100644
index 0000000..de62cc7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background-disable.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background-hover.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background-hover.png
new file mode 100644
index 0000000..ba22ac2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background-rtl.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background-rtl.png
new file mode 100644
index 0000000..c95e0da
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background-rtl.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/arc/up-background.png b/debian/projman/usr/share/projman/theme/arc/arc/up-background.png
new file mode 100644
index 0000000..33ec27f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/arc/arc/up-background.png differ
diff --git a/debian/projman/usr/share/projman/theme/arc/pkgIndex.tcl b/debian/projman/usr/share/projman/theme/arc/pkgIndex.tcl
new file mode 100644
index 0000000..4af6d1b
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/arc/pkgIndex.tcl
@@ -0,0 +1,14 @@
+# pkgIndex.tcl for additional tile pixmap theme arc.
+#
+# We don't provide the package is the image subdirectory isn't present,
+# or we don't have the right version of Tcl/Tk
+#
+# To use this automatically within tile, the tile-using application should
+# use tile::availableThemes and tile::setTheme 
+
+if {![file isdirectory [file join $dir arc]]} { return }
+
+package ifneeded ttk::theme::arc 0.1 \
+    [list source [file join $dir arc.tcl]]
+
+# vim:ts=8:sw=4:sts=4:et
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/LICENSE b/debian/projman/usr/share/projman/theme/breeze-dark/LICENSE
new file mode 100644
index 0000000..8000a6f
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze-dark/LICENSE
@@ -0,0 +1,504 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
+    USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random
+  Hacker.
+
+  , 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/README.md b/debian/projman/usr/share/projman/theme/breeze-dark/README.md
new file mode 100644
index 0000000..5ebf8a5
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze-dark/README.md
@@ -0,0 +1,4 @@
+# ttk-Breeze
+a Tk / ttk theme similar to the KDE standard theme Breeze Dark
+
+![Screenshot](Screenshot.png) 
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/Screenshot.png b/debian/projman/usr/share/projman/theme/breeze-dark/Screenshot.png
new file mode 100644
index 0000000..aba63e3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/Screenshot.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark.tcl b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark.tcl
new file mode 100644
index 0000000..a28ca79
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark.tcl
@@ -0,0 +1,341 @@
+# breeze-dark.tcl --
+#
+# breeze-dark pixmap theme for the ttk package.
+#
+#  Copyright (c) 2020 Bartek Jasicki
+
+package require Tk 8.6.0
+
+namespace eval ttk::theme::breeze-dark {
+
+    variable version 0.1
+    package provide ttk::theme::breeze-dark $version
+
+    variable colors
+    array set colors {
+        -bg             "#31363b"
+        -fg             "#eff0f1"
+        
+        -disabledbg     "#4d4d4d"
+        -disabledfg     "#7f8c8d"
+        
+        -selectbg       "#3daee9"
+        -selectfg       "white"
+        
+        -window         "#31363b"
+        -focuscolor     "#3daee9"
+        -checklight     "#94d0eb"
+    }
+
+    proc LoadImages {imgdir} {
+        variable I
+        foreach file [glob -directory $imgdir *.png] {
+            set img [file tail [file rootname $file]]
+            set I($img) [image create photo -file $file -format png]
+        }
+    }
+
+    LoadImages [file join [file dirname [info script]] breeze-dark]
+
+    ttk::style theme create breeze-dark -parent default -settings {
+        ttk::style configure . \
+            -background $colors(-bg) \
+            -foreground $colors(-fg) \
+            -troughcolor $colors(-bg) \
+            -selectbackground $colors(-selectbg) \
+            -selectforeground $colors(-selectfg) \
+            -fieldbackground $colors(-window) \
+            -font TkDefaultFont \
+            -borderwidth 1 \
+            -focuscolor $colors(-focuscolor) \
+            -highlightcolor $colors(-checklight)
+
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+        #
+        # Layouts:
+        #
+
+        ttk::style layout TButton {
+            Button.button -children {
+                
+                    Button.padding -children {
+                        Button.label -side left -expand true
+                    }
+                
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                    Toolbutton.padding -children {
+                        Toolbutton.label -side left -expand true
+                    }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.focus -children {
+                    Menubutton.padding -children {
+                        Menubutton.indicator -side right
+                        Menubutton.label -side right -expand true
+                    }
+                }
+            }
+        }
+        
+        ttk::style layout Item {
+            Treeitem.padding -sticky nswe -children {
+                Treeitem.indicator -side left -sticky {} Treeitem.image -side left -sticky {} -children {
+                    Treeitem.text -side left -sticky {}
+                    }
+                }
+        }
+           
+        #
+        # Elements:
+        #
+
+        ttk::style element create Button.button image [list $I(button) \
+                pressed     $I(button-active) \
+                {active focus}       $I(button-active) \
+                active      $I(button-hover) \
+                focus       $I(button-focus) \
+                disabled    $I(button-insensitive) \
+            ] -border 3 -sticky ewns
+
+        ttk::style element create Toolbutton.button image [list $I(button-empty) \
+                {active selected !disabled}  $I(button-active) \
+                selected            $I(button-toggled) \
+                pressed             $I(button-active) \
+                {active !disabled}  $I(button-hover) \
+            ] -border 3 -sticky news
+
+        ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \
+                {pressed selected}  $I(checkbox-checked-pressed) \
+                {active selected}   $I(checkbox-checked-active) \
+                {pressed !selected} $I(checkbox-unchecked-pressed) \
+                active              $I(checkbox-unchecked-active) \
+                selected            $I(checkbox-checked) \
+                {disabled selected} $I(checkbox-checked-insensitive) \
+                disabled            $I(checkbox-unchecked-insensitive) \
+            ] -width 22 -sticky w
+
+        ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \
+                disabled            $I(radio-unchecked-insensitive) \
+                {pressed selected}  $I(radio-checked-pressed) \
+                {active selected}   $I(radio-checked-active) \
+                {pressed !selected} $I(radio-unchecked-pressed) \
+                active              $I(radio-unchecked-active) \
+                selected            $I(radio-checked) \
+                {disabled selected} $I(radio-checked-insensitive) \
+            ] -width 22 -sticky w
+
+            
+        ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-trough-horiz-active) \
+        -border {6 0 6 0} -sticky ew
+        ttk::style element create Horizontal.Scrollbar.thumb \
+             image [list $I(scrollbar-slider-horiz) \
+                        {active !disabled}  $I(scrollbar-slider-horiz-active) \
+                        disabled            $I(scrollbar-slider-insens) \
+            ] -border {6 0 6 0} -sticky ew
+
+        ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-trough-vert-active) \
+            -border {0 6 0 6} -sticky ns
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $I(scrollbar-slider-vert) \
+                        {active !disabled}  $I(scrollbar-slider-vert-active) \
+                        disabled            $I(scrollbar-slider-insens) \
+            ] -border {0 6 0 6} -sticky ns
+
+        
+        ttk::style element create Horizontal.Scale.trough \
+            image [list $I(scrollbar-slider-horiz) disabled $I(scale-trough-horizontal)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider-insensitive) \
+                pressed $I(scale-slider-pressed)\
+                active $I(scale-slider-active) \
+                ] \
+            -sticky {}
+            
+            
+        ttk::style element create Vertical.Scale.trough \
+            image [list $I(scrollbar-slider-vert) disabled $I(scale-trough-vertical)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Vertical.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider-insensitive) \
+                pressed $I(scale-slider-pressed)\
+                active $I(scale-slider-active) \
+                ] \
+            -sticky {}
+
+        ttk::style element create Entry.field \
+            image [list $I(entry) \
+                        {focus !disabled} $I(entry-focus) \
+                        {hover !disabled} $I(entry-active) \
+                        disabled $I(entry-insensitive)] \
+            -border 3 -padding {6 8} -sticky news
+
+        ttk::style element create Labelframe.border image $I(labelframe) \
+            -border 4 -padding 4 -sticky news
+
+        ttk::style element create Menubutton.button \
+            image [list $I(button) \
+                        pressed  $I(button-active) \
+                        active   $I(button-hover) \
+                        disabled $I(button-insensitive) \
+            ] -sticky news -border 3 -padding {3 2}
+        ttk::style element create Menubutton.indicator \
+            image [list $I(arrow-down) \
+                        active   $I(arrow-down-prelight) \
+                        pressed  $I(arrow-down-prelight) \
+                        disabled $I(arrow-down-insens) \
+            ] -sticky e -width 20
+
+        ttk::style element create Combobox.field \
+            image [list $I(entry) \
+                {readonly disabled}  $I(button-insensitive) \
+                {readonly pressed}   $I(button-hover) \
+                {readonly focus hover}     $I(button-active) \
+                {readonly focus}     $I(button-focus) \
+                {readonly hover}     $I(button-hover) \
+                readonly             $I(button) \
+                {disabled} $I(entry-insensitive) \
+                {focus}    $I(entry-focus) \
+                {focus hover}    $I(entry-focus) \
+                {hover}    $I(entry-active) \
+            ] -border 4 -padding {6 8}
+        ttk::style element create Combobox.downarrow \
+            image [list $I(arrow-down) \
+                        active    $I(arrow-down-prelight) \
+                        pressed   $I(arrow-down-prelight) \
+                        disabled  $I(arrow-down-insens) \
+          ]  -border 4 -sticky {}
+
+        ttk::style element create Spinbox.field \
+            image [list $I(entry) focus $I(entry-focus) disabled $I(entry-insensitive) hover $I(entry-active)] \
+            -border 4 -padding {6 8} -sticky news
+        ttk::style element create Spinbox.uparrow \
+            image [list $I(arrow-up-small) \
+                        active    $I(arrow-up-small-prelight) \
+                        pressed   $I(arrow-up-small-prelight) \
+                        disabled  $I(arrow-up-small-insens) \
+            ] -border 4 -sticky {}
+        ttk::style element create Spinbox.downarrow \
+            image [list $I(arrow-down-small) \
+                        active    $I(arrow-down-small-prelight) \
+                        pressed   $I(arrow-down-small-prelight) \
+                        disabled  $I(arrow-down-small-insens) \
+          ] -border 4 -sticky {}
+
+       ttk::style element create Notebook.client \
+            image $I(notebook-client) -border 1
+        ttk::style element create Notebook.tab \
+            image [list $I(notebook-tab-top) \
+                        selected    $I(notebook-tab-top-active) \
+                        active      $I(notebook-tab-top-hover) \
+            ] -padding {12 4 12 4} -border 2
+
+            
+        # TODO Enhance
+        ttk::style element create Horizontal.Progressbar.trough \
+            image $I(scrollbar-trough-horiz-active) -border {6 0 6 0} -sticky ew
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $I(scrollbar-slider-horiz) -border {6 0 6 0} -sticky ew
+
+        ttk::style element create Vertical.Progressbar.trough \
+            image $I(scrollbar-trough-vert-active) -border {0 6 0 6} -sticky ns
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $I(scrollbar-slider-vert) -border {0 6 0 6} -sticky ns
+
+        ttk::style element create Treeview.field \
+            image $I(treeview) -border 1
+        ttk::style element create Treeheading.cell \
+            image [list $I(notebook-client) \
+                active $I(treeheading-prelight)] \
+            -border 1 -padding 4 -sticky ewns
+        
+        # TODO: arrow-* ist at the moment a little bit too big 
+        # the small version is too small :-)
+        # And at the moment there are no lines as in the Breeze theme
+        # And hover, pressed doesn't work
+        ttk::style element create Treeitem.indicator \
+            image [list $I(arrow-right) \
+                user2 $I(empty) \
+                user1 $I(arrow-down) \
+                ] \
+            -width 15 -sticky w
+            
+        #
+        # Settings:
+        #
+
+        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+        ttk::style configure TMenubutton -padding {8 4 4 4}
+        ttk::style configure Toolbutton -padding {6 2} -anchor center
+        ttk::style configure TCheckbutton -padding 4
+        ttk::style configure TRadiobutton -padding 4
+        ttk::style configure TSeparator -background $colors(-bg)
+        ttk::style configure TEntry -insertcolor $colors(-fg)
+
+        ttk::style map TPanedwindow -background [list hover $colors(-checklight)]
+        ttk::style map TCombobox -selectbackground [list \
+            !focus         $colors(-window) \
+            {readonly hover} $colors(-checklight) \
+            {readonly focus} $colors(-focuscolor) \
+            ]
+            
+        ttk::style map TCombobox -selectforeground [list \
+            !focus $colors(-fg) \
+            {readonly hover} $colors(-fg) \
+            {readonly focus} $colors(-selectfg) \
+            ]
+        
+        # Treeview
+        ttk::style configure Treeview -background #2f3336
+        ttk::style configure Treeview.Item -padding {2 0 0 0}
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+        
+        # Scrollbar 
+        bind TScrollbar  {
+           [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll [expr (-1 * (%D / 120))] units
+        }
+        bind TScrollbar  {
+           [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll -1 units
+        }
+        bind TScrollbar  {
+           [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll 1 units
+        }
+
+        # Some defaults for non ttk-widgets so that they fit
+        # to the Breeze-dark theme, too
+        tk_setPalette background [ttk::style lookup . -background] \
+                foreground [ttk::style lookup . -foreground] \
+                highlightColor [ttk::style lookup . -focuscolor] \
+                selectBackground [ttk::style lookup . -selectbackground] \
+                selectForeground [ttk::style lookup . -selectforeground] \
+                activeBackground [ttk::style lookup . -selectbackground] \
+                activeForeground [ttk::style lookup . -selectforeground]
+        option add *font [ttk::style lookup . -font]
+    }
+}
+
+
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-insens.png
new file mode 100644
index 0000000..1209254
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-prelight.png
new file mode 100644
index 0000000..989ee67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png
new file mode 100644
index 0000000..25c5f1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png
new file mode 100644
index 0000000..fa450d1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small.png
new file mode 100644
index 0000000..5aabb03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down.png
new file mode 100644
index 0000000..665e49d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-insens.png
new file mode 100644
index 0000000..6fd2438
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-prelight.png
new file mode 100644
index 0000000..d229b39
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left.png
new file mode 100644
index 0000000..72a6858
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-left.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-insens.png
new file mode 100644
index 0000000..842c02f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-prelight.png
new file mode 100644
index 0000000..283b898
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right.png
new file mode 100644
index 0000000..efe0312
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-right.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-insens.png
new file mode 100644
index 0000000..975f3ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-prelight.png
new file mode 100644
index 0000000..1f0efc0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png
new file mode 100644
index 0000000..0cd867c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png
new file mode 100644
index 0000000..9156f79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small.png
new file mode 100644
index 0000000..91e06d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up.png
new file mode 100644
index 0000000..d303efd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/arrow-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-active.png
new file mode 100644
index 0000000..c67f0f2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-empty.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-empty.png
new file mode 100644
index 0000000..75fb0b7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-focus.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-focus.png
new file mode 100644
index 0000000..f1f60f5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-hover.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-hover.png
new file mode 100644
index 0000000..4668688
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-insensitive.png
new file mode 100644
index 0000000..2772ba5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-toggled.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-toggled.png
new file mode 100644
index 0000000..e269dda
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button-toggled.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button.png
new file mode 100644
index 0000000..e0d5977
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/button.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-active.png
new file mode 100644
index 0000000..0e844fc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png
new file mode 100644
index 0000000..85c43cd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png
new file mode 100644
index 0000000..fdf5d72
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked.png
new file mode 100644
index 0000000..46f796a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png
new file mode 100644
index 0000000..8648ba6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png
new file mode 100644
index 0000000..8263aef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png
new file mode 100644
index 0000000..69044dc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked.png
new file mode 100644
index 0000000..148f5cd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/checkbox-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/empty.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/empty.png
new file mode 100644
index 0000000..23ac424
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-active.png
new file mode 100644
index 0000000..34ffe53
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-focus.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-focus.png
new file mode 100644
index 0000000..3d7ed9e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-insensitive.png
new file mode 100644
index 0000000..c2ae8b2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry.png
new file mode 100644
index 0000000..012cb61
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/labelframe.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/labelframe.png
new file mode 100644
index 0000000..d0b6ef9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-client.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-client.png
new file mode 100644
index 0000000..40ba872
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-client.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png
new file mode 100644
index 0000000..4fda93a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png
new file mode 100644
index 0000000..140e209
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top.png
new file mode 100644
index 0000000..b58b529
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/notebook-tab-top.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-active.png
new file mode 100644
index 0000000..6cd9138
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png
new file mode 100644
index 0000000..04b9ae4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-pressed.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-pressed.png
new file mode 100644
index 0000000..6d1d9f5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked.png
new file mode 100644
index 0000000..c93ae69
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-active.png
new file mode 100644
index 0000000..ba3c15b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png
new file mode 100644
index 0000000..2fac0fc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png
new file mode 100644
index 0000000..94de781
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked.png
new file mode 100644
index 0000000..1b15864
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/radio-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-active.png
new file mode 100644
index 0000000..fd6e22b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png
new file mode 100644
index 0000000..5acc567
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-pressed.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-pressed.png
new file mode 100644
index 0000000..4aa187f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider.png
new file mode 100644
index 0000000..61bb510
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png
new file mode 100644
index 0000000..cfd4e6e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-vertical.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-vertical.png
new file mode 100644
index 0000000..36e0a2b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scale-trough-vertical.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png
new file mode 100644
index 0000000..eb9eda7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png
new file mode 100644
index 0000000..9518d71
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png
new file mode 100644
index 0000000..5dd9d0c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png
new file mode 100644
index 0000000..23c6c30
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png
new file mode 100644
index 0000000..ac9d768
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png
new file mode 100644
index 0000000..b5a7494
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png
new file mode 100644
index 0000000..c89315a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/slider-vert-insens.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/slider-vert-insens.png
new file mode 100644
index 0000000..a1822a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/slider-vert-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/transparent.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/transparent.png
new file mode 100644
index 0000000..5dd9d0c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/transparent.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeheading-prelight.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeheading-prelight.png
new file mode 100644
index 0000000..36305f8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeheading-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeview.png b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeview.png
new file mode 100644
index 0000000..9cbd468
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze-dark/breeze-dark/treeview.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze-dark/pkgIndex.tcl b/debian/projman/usr/share/projman/theme/breeze-dark/pkgIndex.tcl
new file mode 100644
index 0000000..7018194
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze-dark/pkgIndex.tcl
@@ -0,0 +1,14 @@
+# pkgIndex.tcl for additional tile pixmap theme tkBreeze-dark.
+#
+# We don't provide the package is the image subdirectory isn't present,
+# or we don't have the right version of Tcl/Tk
+#
+# To use this automatically within tile, the tile-using application should
+# use tile::availableThemes and tile::setTheme 
+
+if {![file isdirectory [file join $dir breeze-dark]]} { return }
+if {![package vsatisfies [package provide Tcl] 8.6]} { return }
+
+package ifneeded ttk::theme::breeze-dark 0.1 \
+    [list source [file join $dir breeze-dark.tcl]]
+
diff --git a/debian/projman/usr/share/projman/theme/breeze/LICENSE b/debian/projman/usr/share/projman/theme/breeze/LICENSE
new file mode 100644
index 0000000..8000a6f
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze/LICENSE
@@ -0,0 +1,504 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    
+    Copyright (C)   
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
+    USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random
+  Hacker.
+
+  , 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/debian/projman/usr/share/projman/theme/breeze/README.md b/debian/projman/usr/share/projman/theme/breeze/README.md
new file mode 100644
index 0000000..c6816fa
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze/README.md
@@ -0,0 +1,4 @@
+# ttk-Breeze
+a Tk / ttk theme similar to the KDE standard theme Breeze
+
+![Screenshot](Screenshot.png) 
diff --git a/debian/projman/usr/share/projman/theme/breeze/Screenshot.png b/debian/projman/usr/share/projman/theme/breeze/Screenshot.png
new file mode 100644
index 0000000..409b820
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/Screenshot.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze.tcl b/debian/projman/usr/share/projman/theme/breeze/breeze.tcl
new file mode 100644
index 0000000..bb16eb0
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze/breeze.tcl
@@ -0,0 +1,337 @@
+# breeze.tcl --
+#
+# breeze pixmap theme for the ttk package.
+#
+#  Copyright (c) 2018 Maximilian Lika
+
+package require Tk 8.5.0
+
+namespace eval ttk::theme::breeze {
+
+    variable version 0.6
+    package provide ttk::theme::breeze $version
+
+    variable colors
+    array set colors {
+        -fg             "#31363b"
+        -bg             "#eff0f1"
+        
+        #-disabledbg     "#e3e5e6"
+        #-disabledfg     "#a8a9aa"
+        -disabledfg     "#bbcbbe"
+        -disabledbg     "#e7e8ea"
+        
+        -selectbg       "#3daee9"
+        -selectfg       "white"
+        
+        -window         "#eff0f1"
+        -focuscolor     "#3daee9"
+        -checklight     "#94d0eb"
+    }
+
+    proc LoadImages {imgdir} {
+        variable I
+        foreach file [glob -directory $imgdir *.png] {
+            set img [file tail [file rootname $file]]
+            set I($img) [image create photo -file $file -format png]
+        }
+    }
+
+    LoadImages [file join [file dirname [info script]] breeze]
+
+    ttk::style theme create breeze -parent default -settings {
+        ttk::style configure . \
+            -background $colors(-bg) \
+            -foreground $colors(-fg) \
+            -troughcolor $colors(-bg) \
+            -selectbackground $colors(-selectbg) \
+            -selectforeground $colors(-selectfg) \
+            -fieldbackground $colors(-window) \
+            -font "Helvetica 10" \
+            -borderwidth 1 \
+            -focuscolor $colors(-focuscolor) \
+            -highlightcolor $colors(-checklight)
+
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+        #
+        # Layouts:
+        #
+
+        ttk::style layout TButton {
+            Button.button -children {
+                
+                    Button.padding -children {
+                        Button.label -side left -expand true
+                    }
+                
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                    Toolbutton.padding -children {
+                        Toolbutton.label -side left -expand true
+                    }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.focus -children {
+                    Menubutton.padding -children {
+                        Menubutton.indicator -side right
+                        Menubutton.label -side right -expand true
+                    }
+                }
+            }
+        }
+        
+        ttk::style layout Item {
+            Treeitem.padding -sticky nswe -children {
+                Treeitem.indicator -side left -sticky {} Treeitem.image -side left -sticky {} -children {
+                    Treeitem.text -side left -sticky {}
+                    }
+                }
+        }
+           
+        #
+        # Elements:
+        #
+
+        ttk::style element create Button.button image [list $I(button) \
+                pressed     $I(button-focus) \
+                {active focus}       $I(button-active) \
+                active      $I(button-hover) \
+                focus       $I(button-hover) \
+                disabled    $I(button-insensitive) \
+            ] -border 3 -sticky ewns
+
+        ttk::style element create Toolbutton.button image [list $I(button-empty) \
+                {active selected !disabled}  $I(button-active) \
+                selected            $I(button-toggled) \
+                pressed             $I(button-active) \
+                {active !disabled}  $I(button-hover) \
+            ] -border 3 -sticky news
+
+        ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \
+                disabled            $I(checkbox-unchecked-insensitive) \
+                {pressed selected}  $I(checkbox-checked-pressed) \
+                {active selected}   $I(checkbox-checked-active) \
+                {pressed !selected} $I(checkbox-unchecked-pressed) \
+                active              $I(checkbox-unchecked-active) \
+                selected            $I(checkbox-checked) \
+                {disabled selected} $I(checkbox-checked-insensitive) \
+            ] -width 22 -sticky w
+
+        ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \
+                disabled            $I(radio-unchecked-insensitive) \
+                {pressed selected}  $I(radio-checked-pressed) \
+                {active selected}   $I(radio-checked-active) \
+                {pressed !selected} $I(radio-unchecked-pressed) \
+                active              $I(radio-unchecked-active) \
+                selected            $I(radio-checked) \
+                {disabled selected} $I(radio-checked-insensitive) \
+            ] -width 22 -sticky w
+
+            
+        ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-trough-horiz-active) \
+        -border {6 0 6 0} -sticky ew
+        ttk::style element create Horizontal.Scrollbar.thumb \
+             image [list $I(scrollbar-slider-horiz) \
+                        {active !disabled}  $I(scrollbar-slider-horiz-active) \
+                        disabled            $I(scrollbar-slider-insens) \
+            ] -border {6 0 6 0} -sticky ew
+
+        ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-trough-vert-active) \
+            -border {0 6 0 6} -sticky ns
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $I(scrollbar-slider-vert) \
+                        {active !disabled}  $I(scrollbar-slider-vert-active) \
+                        disabled            $I(scrollbar-slider-insens) \
+            ] -border {0 6 0 6} -sticky ns
+
+        
+        ttk::style element create Horizontal.Scale.trough \
+            image [list $I(scrollbar-slider-horiz) disabled $I(scale-trough-horizontal)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider-insensitive) \
+                pressed $I(scale-slider-pressed)\
+                active $I(scale-slider-active) \
+                ] \
+            -sticky {}
+            
+            
+        ttk::style element create Vertical.Scale.trough \
+            image [list $I(scrollbar-slider-vert) disabled $I(scale-trough-vertical)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Vertical.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider-insensitive) \
+                pressed $I(scale-slider-pressed)\
+                active $I(scale-slider-active) \
+                ] \
+            -sticky {}
+
+        ttk::style element create Entry.field \
+            image [list $I(entry) \
+                        {focus !disabled} $I(entry-focus) \
+                        {hover !disabled} $I(entry-active) \
+                        disabled $I(entry-insensitive)] \
+            -border 3 -padding {6 8} -sticky news
+
+        ttk::style element create Labelframe.border image $I(labelframe) \
+            -border 4 -padding 4 -sticky news
+
+        ttk::style element create Menubutton.button \
+            image [list $I(button) \
+                        pressed  $I(button-active) \
+                        active   $I(button-hover) \
+                        disabled $I(button-insensitive) \
+            ] -sticky news -border 3 -padding {3 2}
+        ttk::style element create Menubutton.indicator \
+            image [list $I(arrow-down) \
+                        active   $I(arrow-down-prelight) \
+                        pressed  $I(arrow-down-prelight) \
+                        disabled $I(arrow-down-insens) \
+            ] -sticky e -width 20
+
+        ttk::style element create Combobox.field \
+            image [list $I(entry) \
+                {readonly disabled}  $I(button-insensitive) \
+                {readonly pressed}   $I(button-hover) \
+                {readonly focus hover}     $I(button-active) \
+                {readonly focus}     $I(button-focus) \
+                {readonly hover}     $I(button-hover) \
+                readonly             $I(button) \
+                {disabled} $I(entry-insensitive) \
+                {focus}    $I(entry-focus) \
+                {focus hover}    $I(entry-focus) \
+                {hover}    $I(entry-active) \
+            ] -border 4 -padding {6 8}
+        ttk::style element create Combobox.downarrow \
+            image [list $I(arrow-down) \
+                        active    $I(arrow-down-prelight) \
+                        pressed   $I(arrow-down-prelight) \
+                        disabled  $I(arrow-down-insens) \
+          ]  -border 4 -sticky {}
+
+        ttk::style element create Spinbox.field \
+            image [list $I(entry) focus $I(entry-focus) disabled $I(entry-insensitive) hover $I(entry-active)] \
+            -border 4 -padding {6 8} -sticky news
+        ttk::style element create Spinbox.uparrow \
+            image [list $I(arrow-up-small) \
+                        active    $I(arrow-up-small-prelight) \
+                        pressed   $I(arrow-up-small-prelight) \
+                        disabled  $I(arrow-up-small-insens) \
+            ] -border 4 -sticky {}
+        ttk::style element create Spinbox.downarrow \
+            image [list $I(arrow-down-small) \
+                        active    $I(arrow-down-small-prelight) \
+                        pressed   $I(arrow-down-small-prelight) \
+                        disabled  $I(arrow-down-small-insens) \
+          ] -border 4 -sticky {}
+
+       ttk::style element create Notebook.client \
+            image $I(notebook-client) -border 1
+        ttk::style element create Notebook.tab \
+            image [list $I(notebook-tab-top) \
+                        selected    $I(notebook-tab-top-active) \
+                        active      $I(notebook-tab-top-hover) \
+            ] -padding {12 4 12 4} -border 2
+
+            
+        # TODO Enhance
+        ttk::style element create Horizontal.Progressbar.trough \
+            image $I(scrollbar-trough-horiz-active) -border {6 0 6 0} -sticky ew
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $I(scrollbar-slider-horiz) -border {6 0 6 0} -sticky ew
+
+        ttk::style element create Vertical.Progressbar.trough \
+            image $I(scrollbar-trough-vert-active) -border {0 6 0 6} -sticky ns
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $I(scrollbar-slider-vert) -border {0 6 0 6} -sticky ns
+
+        # TODO: Ab hier noch teilweise Arc style
+        ttk::style element create Treeview.field \
+            image $I(treeview) -border 1
+        ttk::style element create Treeheading.cell \
+            image [list $I(notebook-client) \
+                active $I(treeheading-prelight)] \
+            -border 1 -padding 4 -sticky ewns
+        
+        # TODO: arrow-* ist at the moment a little bit too big 
+        # the small version is too small :-)
+        # And at the moment there are no lines as in the breeze theme
+        # And hover, pressed doesn't work
+        ttk::style element create Treeitem.indicator \
+            image [list $I(arrow-right) \
+                user2 $I(empty) \
+                user1 $I(arrow-down) \
+                ] \
+            -width 15 -sticky w
+            
+        # I don't know why Only with this I get a thin enough sash
+        ttk::style element create vsash image $I(transparent) -sticky e -padding 1 -width 1
+	    ttk::style element create hsash image $I(transparent) -sticky n -padding 1 -width 1
+
+        #ttk::style element create Separator.separator image $I()
+
+        #
+        # Settings:
+        #
+
+        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+        ttk::style configure TMenubutton -padding {8 4 4 4}
+        ttk::style configure Toolbutton -padding {6 2} -anchor center
+        ttk::style configure TCheckbutton -padding 4
+        ttk::style configure TRadiobutton -padding 4
+        ttk::style configure TSeparator -background $colors(-bg)
+
+        #ttk::style configure TPanedwindow -width 1 -padding 0
+        ttk::style map TPanedwindow -background [list hover $colors(-checklight)]
+        ttk::style map TCombobox -selectbackground [list \
+            !focus         $colors(-window) \
+            {readonly hover} $colors(-checklight) \
+            {readonly focus} $colors(-focuscolor) \
+            ]
+            
+        ttk::style map TCombobox -selectforeground [list \
+            !focus $colors(-fg) \
+            {readonly hover} $colors(-fg) \
+            {readonly focus} $colors(-selectfg) \
+            ]
+        
+        # Treeview
+        ttk::style configure Treeview -background white
+        ttk::style configure Treeview.Item -padding {2 0 0 0}
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+
+        # Some defaults for non ttk-widgets so that they fit
+        # to the breeze theme, too
+        tk_setPalette background [ttk::style lookup . -background] \
+        	foreground [ttk::style lookup . -foreground] \
+        	highlightColor [ttk::style lookup . -focuscolor] \
+        	selectBackground [ttk::style lookup . -selectbackground] \
+        	selectForeground [ttk::style lookup . -selectforeground] \
+        	activeBackground [ttk::style lookup . -selectbackground] \
+        	activeForeground [ttk::style lookup . -selectforeground]
+        option add *font [ttk::style lookup . -font]
+    }
+}
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-insens.png
new file mode 100644
index 0000000..1209254
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-prelight.png
new file mode 100644
index 0000000..989ee67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-insens.png
new file mode 100644
index 0000000..25c5f1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-prelight.png
new file mode 100644
index 0000000..fa450d1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small.png
new file mode 100644
index 0000000..58beca3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down.png
new file mode 100644
index 0000000..94cae33
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-insens.png
new file mode 100644
index 0000000..6fd2438
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-prelight.png
new file mode 100644
index 0000000..d229b39
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left.png
new file mode 100644
index 0000000..5f09594
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-left.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-insens.png
new file mode 100644
index 0000000..842c02f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-prelight.png
new file mode 100644
index 0000000..283b898
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right.png
new file mode 100644
index 0000000..5b17dad
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-right.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-insens.png
new file mode 100644
index 0000000..975f3ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-prelight.png
new file mode 100644
index 0000000..1f0efc0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-insens.png
new file mode 100644
index 0000000..0cd867c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-prelight.png
new file mode 100644
index 0000000..9156f79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small.png
new file mode 100644
index 0000000..890c1ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up.png b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up.png
new file mode 100644
index 0000000..588e47c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/arrow-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-active.png
new file mode 100644
index 0000000..7204792
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-empty.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-empty.png
new file mode 100644
index 0000000..3b15a4c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-focus.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-focus.png
new file mode 100644
index 0000000..f1f60f5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-hover.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-hover.png
new file mode 100644
index 0000000..f1e2328
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-insensitive.png
new file mode 100644
index 0000000..581f259
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button-toggled.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button-toggled.png
new file mode 100644
index 0000000..7c6eab4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button-toggled.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/button.png b/debian/projman/usr/share/projman/theme/breeze/breeze/button.png
new file mode 100644
index 0000000..c12385e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/button.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-active.png
new file mode 100644
index 0000000..47e2e77
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-insensitive.png
new file mode 100644
index 0000000..a09a4a7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-pressed.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-pressed.png
new file mode 100644
index 0000000..4d8fac4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked.png
new file mode 100644
index 0000000..d4a3e8b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-active.png
new file mode 100644
index 0000000..598118a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-insensitive.png
new file mode 100644
index 0000000..d897161
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-pressed.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-pressed.png
new file mode 100644
index 0000000..426879e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked.png b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked.png
new file mode 100644
index 0000000..c7c258d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/checkbox-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/empty.png b/debian/projman/usr/share/projman/theme/breeze/breeze/empty.png
new file mode 100644
index 0000000..23ac424
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/entry-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-active.png
new file mode 100644
index 0000000..315a68b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/entry-focus.png b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-focus.png
new file mode 100644
index 0000000..b49582c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/entry-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-insensitive.png
new file mode 100644
index 0000000..a2d6ad5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/entry.png b/debian/projman/usr/share/projman/theme/breeze/breeze/entry.png
new file mode 100644
index 0000000..30d7e0b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/labelframe.png b/debian/projman/usr/share/projman/theme/breeze/breeze/labelframe.png
new file mode 100644
index 0000000..f1613ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-client.png b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-client.png
new file mode 100644
index 0000000..2fa400e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-client.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-active.png
new file mode 100644
index 0000000..2b83440
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-hover.png b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-hover.png
new file mode 100644
index 0000000..140e209
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top.png b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top.png
new file mode 100644
index 0000000..0d282c4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/notebook-tab-top.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-active.png
new file mode 100644
index 0000000..32e58cf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-insensitive.png
new file mode 100644
index 0000000..ff68b17
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-pressed.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-pressed.png
new file mode 100644
index 0000000..8e361c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked.png
new file mode 100644
index 0000000..03f1916
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-active.png
new file mode 100644
index 0000000..a2b19d9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-insensitive.png
new file mode 100644
index 0000000..1a918bd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-pressed.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-pressed.png
new file mode 100644
index 0000000..5cd73e0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked.png b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked.png
new file mode 100644
index 0000000..fd35e27
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/radio-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-active.png
new file mode 100644
index 0000000..53c4f74
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-insensitive.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-insensitive.png
new file mode 100644
index 0000000..2f86a26
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-pressed.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-pressed.png
new file mode 100644
index 0000000..505b5d4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider.png
new file mode 100644
index 0000000..6104011
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-horizontal.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-horizontal.png
new file mode 100644
index 0000000..cfd4e6e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-horizontal.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-vertical.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-vertical.png
new file mode 100644
index 0000000..36e0a2b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scale-trough-vertical.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz-active.png
new file mode 100644
index 0000000..eb9eda7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz.png
new file mode 100644
index 0000000..9518d71
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-insens.png
new file mode 100644
index 0000000..5dd9d0c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert-active.png
new file mode 100644
index 0000000..23c6c30
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert.png
new file mode 100644
index 0000000..ac9d768
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-slider-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-horiz-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-horiz-active.png
new file mode 100644
index 0000000..b5a7494
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-vert-active.png b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-vert-active.png
new file mode 100644
index 0000000..c89315a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/scrollbar-trough-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/slider-vert-insens.png b/debian/projman/usr/share/projman/theme/breeze/breeze/slider-vert-insens.png
new file mode 100644
index 0000000..a1822a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/slider-vert-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/transparent.png b/debian/projman/usr/share/projman/theme/breeze/breeze/transparent.png
new file mode 100644
index 0000000..5dd9d0c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/transparent.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/treeheading-prelight.png b/debian/projman/usr/share/projman/theme/breeze/breeze/treeheading-prelight.png
new file mode 100644
index 0000000..36305f8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/treeheading-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/breeze/treeview.png b/debian/projman/usr/share/projman/theme/breeze/breeze/treeview.png
new file mode 100644
index 0000000..762d3ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/breeze/breeze/treeview.png differ
diff --git a/debian/projman/usr/share/projman/theme/breeze/pkgIndex.tcl b/debian/projman/usr/share/projman/theme/breeze/pkgIndex.tcl
new file mode 100644
index 0000000..60b4b52
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/breeze/pkgIndex.tcl
@@ -0,0 +1,14 @@
+# pkgIndex.tcl for additional tile pixmap theme tkBreeze.
+#
+# We don't provide the package is the image subdirectory isn't present,
+# or we don't have the right version of Tcl/Tk
+#
+# To use this automatically within tile, the tile-using application should
+# use tile::availableThemes and tile::setTheme 
+
+if {![file isdirectory [file join $dir breeze]]} { return }
+if {![package vsatisfies [package provide Tcl] 8.6]} { return }
+
+package ifneeded ttk::theme::breeze 0.6 \
+    [list source [file join $dir breeze.tcl]]
+
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux.tcl b/debian/projman/usr/share/projman/theme/equilux/equilux.tcl
new file mode 100644
index 0000000..7b28ba1
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/equilux/equilux.tcl
@@ -0,0 +1,314 @@
+# Copyright (C) 2018 RedFantom
+# Derived from https://github.com/ddnexus/equilux-theme (GNU GPLv2)
+# Based on /ttkthemes/ttkthemes/themes/arc/arc.tcl (GNU GPLv3)
+# Available under the GNU GPLv3, or at your option any later version
+
+# Theme Equilux
+namespace eval ttk::theme::equilux {
+    
+    # Widget colors
+    variable colors
+    array set colors {
+        -fg             "#a6a6a6"
+        -bg             "#464646"
+        -disabledbg     "#2e2e2e"
+        -disabledfg     "#999999"
+        -selectbg       "#414141"
+        -selectfg       "#a6a6a6"
+        -window         "#373737"
+        -focuscolor     "#bebebe"
+        -checklight     "#e6e6e6"
+    }
+    
+    # Function to load images from subdirectory
+    variable directory
+    # Subdirectory /equilux
+    set directory [file join [file dirname [info script]] equilux]
+    variable images
+    # Load the images
+    foreach file [glob -directory $directory *.png] {
+        set img [file tail [file rootname $file]]
+        set images($img) [image create photo -file $file -format png]
+    }
+    
+    # Create a new ttk::style
+    ttk::style theme create equilux -parent default -settings {
+        # Configure basic style settings
+        ttk::style configure . \
+            -background $colors(-bg) \
+            -foreground $colors(-fg) \
+            -troughcolor $colors(-bg) \
+            -selectbackground $colors(-selectbg) \
+            -selectforeground $colors(-selectfg) \
+            -fieldbackground $colors(-window) \
+            -font TkDefaultFont \
+            -borderwidth 1 \
+            -focuscolor $colors(-focuscolor)
+        
+        # Map disabled colors to disabledfg
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+        
+        # WIDGET LAYOUTS
+        
+        ttk::style layout TButton {
+            Button.button -children {
+                Button.focus -children {
+                    Button.padding -children {
+                        Button.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                Toolbutton.focus -children {
+                    Toolbutton.padding -children {
+                        Toolbutton.label -side left -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.focus -children {
+                    Menubutton.padding -children {
+                        Menubutton.indicator -side right
+                        Menubutton.label -side right -expand true
+                    }
+                }
+            }
+        }
+
+        ttk::style layout TCombobox {
+            Combobox.field -sticky nswe -children {
+                Combobox.downarrow -side right -sticky ns -children {
+                    Combobox.arrow -side right
+                }
+                Combobox.padding -expand true -sticky nswe -children {
+                    Combobox.textarea -sticky nswe
+                }
+            }
+        }
+
+        ttk::style layout TSpinbox {
+            Spinbox.field -side top -sticky we -children {
+                Spinbox.buttons -side right -children {
+                    null -side right -sticky {} -children {
+                        Spinbox.uparrow -side top -sticky nse -children {
+                            Spinbox.symuparrow -side right -sticky e
+                        }
+                        Spinbox.downarrow -side bottom -sticky nse -children {
+                            Spinbox.symdownarrow -side right -sticky e
+                        }
+                    }
+                }
+                Spinbox.padding -sticky nswe -children {
+                    Spinbox.textarea -sticky nswe
+                }
+            }
+        }
+
+        # Style elements
+        
+        # Button
+        ttk::style element create Button.button image [list $images(button) \
+                pressed     $images(button-active) \
+                active      $images(button-hover) \
+                disabled    $images(button-insensitive) \
+            ] -border 3 -padding {3 2} -sticky ewns
+
+        # Toolbutton
+        ttk::style element create Toolbutton.button image [list $images(button-empty) \
+                selected            $images(button-active) \
+                pressed             $images(button-active) \
+                {active !disabled}  $images(button-hover) \
+            ] -border 3 -padding {3 2} -sticky news
+        # Checkbutton
+        ttk::style element create Checkbutton.indicator image [list $images(checkbox-unchecked) \
+                disabled            $images(checkbox-unchecked-insensitive) \
+                {active selected}   $images(checkbox-checked) \
+                {pressed selected}  $images(checkbox-checked) \
+                active              $images(checkbox-unchecked) \
+                selected            $images(checkbox-checked) \
+                {disabled selected} $images(checkbox-checked-insensitive) \
+            ] -width 22 -sticky w -padding {0 0 25 0}
+        # Radiobutton
+        ttk::style element create Radiobutton.indicator image [list $images(radio-unchecked) \
+                disabled            $images(radio-unchecked-insensitive) \
+                {active selected}   $images(radio-checked) \
+                {pressed selected}  $images(radio-checked) \
+                active              $images(radio-unchecked) \
+                selected            $images(radio-checked) \
+                {disabled selected} $images(radio-checked-insensitive) \
+            ] -width 22 -sticky w -padding {0 0 25 0}
+
+        ttk::style element create Horizontal.Scrollbar.trough image $images(trough-scrollbar-horiz)
+        ttk::style element create Horizontal.Scrollbar.thumb \
+            image [list $images(slider-horiz) \
+                        {pressed !disabled} $images(slider-horiz-active) \
+                        {active !disabled}  $images(slider-horiz-prelight) \
+                        disabled            $images(slider-horiz-insens) \
+            ] -border 6 -sticky ew
+
+        ttk::style element create Vertical.Scrollbar.trough image $images(trough-scrollbar-vert)
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $images(slider-vert) \
+                        {pressed !disabled} $images(slider-vert-active) \
+                        {active !disabled}  $images(slider-vert-prelight) \
+                        disabled            $images(slider-vert-insens) \
+            ] -border 6 -sticky ns
+
+        ttk::style element create Horizontal.Scale.trough \
+            image [list $images(trough-horizontal-active) disabled $images(trough-horizontal)] \
+            -border {8 5 8 5} -padding 0
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $images(slider) disabled $images(slider-insensitive) active $images(slider-prelight)] \
+            -sticky {}
+
+        ttk::style element create Vertical.Scale.trough \
+            image [list $images(trough-vertical-active) disabled $images(trough-vertical)] \
+            -border {5 8 5 8} -padding 0
+        ttk::style element create Vertical.Scale.slider \
+            image [list $images(slider) disabled $images(slider-insensitive) active $images(slider-prelight)] \
+            -sticky {}
+
+        ttk::style element create Entry.field \
+            image [list $images(entry-border-bg) \
+                        focus $images(entry-active) \
+                        disabled $images(entry-border-disabled)] \
+            -border 4 -padding {6 4} -sticky news
+
+        ttk::style element create Labelframe.border image $images(labelframe) \
+            -border 4 -padding 4 -sticky news
+
+        ttk::style element create Menubutton.button \
+            image [list $images(button) \
+                        pressed  $images(button-active) \
+                        active   $images(button-hover) \
+                        disabled $images(button-insensitive) \
+            ] -sticky news -border 3 -padding {3 2}
+        ttk::style element create Menubutton.indicator \
+            image [list $images(arrow-down) \
+                        active   $images(arrow-down-prelight) \
+                        pressed  $images(arrow-down-prelight) \
+                        disabled $images(arrow-down-insens) \
+            ] -sticky e -width 20
+
+        ttk::style element create Combobox.field \
+            image [list $images(combo-entry) \
+                {readonly disabled}  $images(button-insensitive) \
+                {readonly pressed}   $images(button-active) \
+                {readonly hover}     $images(button-hover) \
+                readonly             $images(button) \
+                {disabled} $images(combo-entry-insensitive) \
+                {hover}    $images(combo-entry) \
+            ] -border 4 -padding {6 0 0 0}
+        ttk::style element create Combobox.downarrow \
+            image [list $images(combo-entry-button) \
+                        pressed   $images(combo-entry-button-active) \
+                        active    $images(combo-entry-button-hover) \
+                        disabled  $images(combo-entry-button-insensitive) \
+          ] -border 4 -padding {0 10 6 10}
+        ttk::style element create Combobox.arrow \
+            image [list $images(arrow-down) \
+                        active    $images(arrow-down-prelight) \
+                        pressed   $images(arrow-down-prelight) \
+                        disabled  $images(arrow-down-insens) \
+          ]  -sticky e -width 15
+
+        ttk::style element create Spinbox.field \
+            image [list $images(combo-entry) focus $images(combo-entry-active)] \
+            -border 4 -padding {6 0 0 0} -sticky news
+        ttk::style element create Spinbox.uparrow \
+            image [list $images(up-background) \
+                        pressed   $images(up-background-active) \
+                        active    $images(up-background-hover) \
+                        disabled  $images(up-background-disable) \
+            ] -width 20 -border {0 2 3 0} -padding {0 5 6 2}
+        ttk::style element create Spinbox.symuparrow \
+            image [list $images(arrow-up-small) \
+                        active    $images(arrow-up-small-prelight) \
+                        pressed   $images(arrow-up-small-prelight) \
+                        disabled  $images(arrow-up-small-insens) \
+            ]
+        ttk::style element create Spinbox.downarrow \
+            image [list $images(down-background) \
+                        pressed   $images(down-background-active) \
+                        active    $images(down-background-hover) \
+                        disabled  $images(down-background-disable) \
+            ] -width 20 -border {0 0 3 2} -padding {0 2 6 5}
+        ttk::style element create Spinbox.symdownarrow \
+            image [list $images(arrow-down) \
+                        active    $images(arrow-down-prelight) \
+                        pressed   $images(arrow-down-prelight) \
+                        disabled  $images(arrow-down-insens) \
+          ]
+
+        ttk::style element create Notebook.client \
+            image $images(notebook) -border 1
+        ttk::style element create Notebook.tab \
+            image [list $images(tab-top) \
+                        selected    $images(tab-top-active) \
+                        active      $images(tab-top-hover) \
+            ] -padding {0 2 0 0} -border 3
+
+        ttk::style element create Horizontal.Progressbar.trough \
+            image $images(progressbar-horiz-bg) -border {2 2 2 2} -padding 1
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $images(progressbar-horiz) -border {4 0 4 0}
+
+        ttk::style element create Vertical.Progressbar.trough \
+            image $images(progressbar-vert-bg) -border {2 2 2 2} -padding 1
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $images(progressbar-vert) -border {0 4 0 4}
+
+        ttk::style element create Treeview.field \
+            image $images(treeview) -border 1
+        ttk::style element create Treeheading.cell \
+            image [list $images(tree-heading) pressed $images(tree-heading-active)] \
+            -border 1 -padding 4 -sticky ewns
+
+        ttk::style element create Treeitem.indicator \
+            image [list $images(plus) user2 $images(empty) user1 $images(minus)] \
+            -width 15 -sticky w
+
+        # Settings
+        ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
+        ttk::style configure TMenubutton -padding {8 4 4 4}
+        ttk::style configure Toolbutton -anchor center
+        ttk::style configure TCheckbutton -padding 3
+        # Radiobutton and Checkbutton hover highlighting: disabled by default
+        # ttk::style map TRadiobutton -background [list active $colors(-checklight)]
+        # ttk::style map TCheckbutton -background [list active $colors(-checklight)]
+        ttk::style configure TRadiobutton -padding 3
+        ttk::style configure TNotebook -tabmargins {0 2 0 0}
+        ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
+        ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
+        ttk::style configure TSeparator -background $colors(-bg)
+
+        # Treeview
+        ttk::style configure Treeview -background $colors(-window)
+        ttk::style configure Treeview.Item -padding {2 0 0 0}
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+    }
+}
+
+variable version 1.1
+package provide ttk::theme::equilux $version
+
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-insens.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-insens.png
new file mode 100644
index 0000000..af72739
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-prelight.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-prelight.png
new file mode 100644
index 0000000..96c4d91
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down.png
new file mode 100644
index 0000000..6e8e2ae
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-down.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-insens.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-insens.png
new file mode 100644
index 0000000..06f6f28
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-prelight.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-prelight.png
new file mode 100644
index 0000000..8f3b22b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small.png
new file mode 100644
index 0000000..c013cf4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up-small.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up.png b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up.png
new file mode 100644
index 0000000..10bfecd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/arrow-up.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/button-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/button-active.png
new file mode 100644
index 0000000..2f6a782
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/button-empty.png b/debian/projman/usr/share/projman/theme/equilux/equilux/button-empty.png
new file mode 100644
index 0000000..2674cd8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/button-empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/button-hover.png b/debian/projman/usr/share/projman/theme/equilux/equilux/button-hover.png
new file mode 100644
index 0000000..6450ed9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/button-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/button-insensitive.png
new file mode 100644
index 0000000..46642a9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/button.png b/debian/projman/usr/share/projman/theme/equilux/equilux/button.png
new file mode 100644
index 0000000..c69d3dd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/button.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked-insensitive.png
new file mode 100644
index 0000000..bbbb2da
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked.png b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked.png
new file mode 100644
index 0000000..815e5c2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked-insensitive.png
new file mode 100644
index 0000000..dca621f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked.png b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked.png
new file mode 100644
index 0000000..8eda039
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/checkbox-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-active.png
new file mode 100644
index 0000000..a37f9c4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-active.png
new file mode 100644
index 0000000..c118f1c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-hover.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-hover.png
new file mode 100644
index 0000000..6e86d34
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-insensitive.png
new file mode 100644
index 0000000..9c93716
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button.png
new file mode 100644
index 0000000..666a623
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-button.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-insensitive.png
new file mode 100644
index 0000000..50419a8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry.png b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry.png
new file mode 100644
index 0000000..760c75e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/combo-entry.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-active.png
new file mode 100644
index 0000000..ea70db1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-disable.png b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-disable.png
new file mode 100644
index 0000000..a15a2fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-disable.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-hover.png b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-hover.png
new file mode 100644
index 0000000..6439ac2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/down-background.png b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background.png
new file mode 100644
index 0000000..57179a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/down-background.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/empty.png b/debian/projman/usr/share/projman/theme/equilux/equilux/empty.png
new file mode 100644
index 0000000..23ac424
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/entry-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-active.png
new file mode 100644
index 0000000..f2b014e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-bg.png b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-bg.png
new file mode 100644
index 0000000..32419f1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-disabled.png b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-disabled.png
new file mode 100644
index 0000000..e04c1f1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/entry-border-disabled.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/focus.png b/debian/projman/usr/share/projman/theme/equilux/equilux/focus.png
new file mode 100644
index 0000000..a960daa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/frame.png b/debian/projman/usr/share/projman/theme/equilux/equilux/frame.png
new file mode 100644
index 0000000..ed565f6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/frame.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/labelframe.png b/debian/projman/usr/share/projman/theme/equilux/equilux/labelframe.png
new file mode 100644
index 0000000..f11229c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/minus.png b/debian/projman/usr/share/projman/theme/equilux/equilux/minus.png
new file mode 100644
index 0000000..8e96a79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/minus.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/notebook.png b/debian/projman/usr/share/projman/theme/equilux/equilux/notebook.png
new file mode 100644
index 0000000..f11229c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/notebook.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/null.png b/debian/projman/usr/share/projman/theme/equilux/equilux/null.png
new file mode 100644
index 0000000..d7a1600
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/null.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/plus.png b/debian/projman/usr/share/projman/theme/equilux/equilux/plus.png
new file mode 100644
index 0000000..446ff48
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/plus.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz-bg.png b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz-bg.png
new file mode 100644
index 0000000..9a2aa3a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz.png b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz.png
new file mode 100644
index 0000000..628a03d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert-bg.png b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert-bg.png
new file mode 100644
index 0000000..dc61b16
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert-bg.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert.png b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert.png
new file mode 100644
index 0000000..81bb37b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/progressbar-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked-insensitive.png
new file mode 100644
index 0000000..5bbe2a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked.png b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked.png
new file mode 100644
index 0000000..f08f053
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-checked.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked-insensitive.png
new file mode 100644
index 0000000..b6c35f0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked.png b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked.png
new file mode 100644
index 0000000..1786a71
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/radio-unchecked.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-active.png
new file mode 100644
index 0000000..4edab03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-insens.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-insens.png
new file mode 100644
index 0000000..b1b07c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-prelight.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-prelight.png
new file mode 100644
index 0000000..9605bc6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz.png
new file mode 100644
index 0000000..9605bc6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-insensitive.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-insensitive.png
new file mode 100644
index 0000000..f4377ac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-insensitive.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-prelight.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-prelight.png
new file mode 100644
index 0000000..9cc2a22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-active.png
new file mode 100644
index 0000000..63c3388
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-insens.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-insens.png
new file mode 100644
index 0000000..95278a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-insens.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-prelight.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-prelight.png
new file mode 100644
index 0000000..89d97c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert-prelight.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert.png
new file mode 100644
index 0000000..89d97c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/slider.png b/debian/projman/usr/share/projman/theme/equilux/equilux/slider.png
new file mode 100644
index 0000000..2959844
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-active.png
new file mode 100644
index 0000000..7339e95
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-hover.png b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-hover.png
new file mode 100644
index 0000000..5e23923
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top.png b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top.png
new file mode 100644
index 0000000..598600a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/tab-top.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading-active.png
new file mode 100644
index 0000000..9ff5844
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading.png b/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading.png
new file mode 100644
index 0000000..b395e79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/tree-heading.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/treeview.png b/debian/projman/usr/share/projman/theme/equilux/equilux/treeview.png
new file mode 100644
index 0000000..862ac32
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/treeview.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal-active.png
new file mode 100644
index 0000000..2d0ed3d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal.png
new file mode 100644
index 0000000..5086977
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-horizontal.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-horiz.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-horiz.png
new file mode 100644
index 0000000..7cb45ed
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-horiz.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-vert.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-vert.png
new file mode 100644
index 0000000..c21a6f6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-scrollbar-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical-active.png
new file mode 100644
index 0000000..a36af42
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical.png b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical.png
new file mode 100644
index 0000000..e68f18b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/trough-vertical.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-active.png b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-active.png
new file mode 100644
index 0000000..2b50e0d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-active.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-disable.png b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-disable.png
new file mode 100644
index 0000000..78dec9e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-disable.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-hover.png b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-hover.png
new file mode 100644
index 0000000..ae38987
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/equilux/equilux/up-background.png b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background.png
new file mode 100644
index 0000000..e8fb907
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/equilux/equilux/up-background.png differ
diff --git a/debian/projman/usr/share/projman/theme/pkgIndex.tcl b/debian/projman/usr/share/projman/theme/pkgIndex.tcl
new file mode 100644
index 0000000..6bf19b9
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/pkgIndex.tcl
@@ -0,0 +1,12 @@
+set base_theme_dir [file join [pwd] [file dirname [info script]]]
+
+array set base_themes {
+  breeze 0.6
+  breeze-dark 0.1
+}
+
+foreach {theme version} [array get base_themes] {
+  package ifneeded ttk::theme::$theme $version \
+    [list source [file join $base_theme_dir $theme $theme.tcl]]
+}
+
diff --git a/debian/projman/usr/share/projman/theme/scid/LICENSE.md b/debian/projman/usr/share/projman/theme/scid/LICENSE.md
new file mode 100644
index 0000000..d7087bb
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/scid/LICENSE.md
@@ -0,0 +1,39 @@
+# BSD-like Tcl License
+Copyright (C) 2018 Uwe Klimmek
+The following terms apply to all files associated with the software
+unless explicitly disclaimed in individual files.
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose,
+provided that existing copyright notices are retained in all copies and
+that this notice is included verbatim in any distributions. No written
+agreement, license, or royalty fee is required for any of the authorized
+uses. Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
+FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
+DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE
+
+THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND
+DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
+UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the U.S.
+government, the Government shall have only "Restricted Rights" in the
+software and related documentation as defined in the Federal Acquisition
+Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the
+software on behalf of the Department of Defense, the software shall be
+classified as "Commercial Computer Software" and the Government shall
+have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1)
+of DFARs. Notwithstanding the foregoing, the authors grant the U.S.
+Government and others acting in its behalf permission to use and
+distribute the software in accordance with the terms specified in this
+license.
diff --git a/debian/projman/usr/share/projman/theme/scid/scid.tcl b/debian/projman/usr/share/projman/theme/scid/scid.tcl
new file mode 100644
index 0000000..4076418
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/scid/scid.tcl
@@ -0,0 +1,329 @@
+# scidthemes - Copyright (C) 2018 Uwe Klimmek
+# Available under the BSD-like 2-clause Tcl License, see LICENSE.md
+
+# Copyright (c) 2018 RedFantom
+# Edited for indents, spaces instead of tabs and formatting
+# Fixed the spacing of down arrow in Menubutton/OptionMenu
+# TODO: Fix alignment of down arrow in Menubutton/OptionMenu
+# TODO: Fix spacing on Combobox down arrow sides
+
+package provide ttk::theme::scid 0.9.1
+
+foreach { t } { blue mint green purple sand pink grey } {
+    set ::tks $t
+
+    package provide ttk::theme::scid$t 0.9.1
+
+    namespace eval ttk::theme::scid$t {
+
+    set t $::tks
+    proc LoadImages {imgdir {patterns {*.png}}} {
+        foreach pattern $patterns {
+            foreach file [glob -directory $imgdir $pattern] {
+                set img [file tail [file rootname $file]]
+                if {![info exists images($img)]} {
+                    set images($img) [image create photo -file $file -format png]
+                }
+            }
+        }
+        return [array get images]
+    }
+
+    variable I
+    array set I [LoadImages [file join [file dirname [info script]] scid$t] *.png]
+
+    variable colors
+    array set colors {
+        -frame          "#d8d8d8"
+        -lighter        "#fcfcfc"
+        -dark           "#c8c8c8"
+        -darker         "#9e9e9e"
+        -darkest        "#cacaca"
+        -selectbg       "#3d3d3d"
+        -selectfg       "#fcfcfc"
+        -disabledfg     "#b3b3b3"
+        -entryfocus     "#6f6f6f"
+        -tabbg          "#c9c9c9"
+        -tabborder      "#b7b7b7"
+        -troughcolor    "#d7d7d7"
+        -troughborder   "#a7a7a7"
+        -checklight     "#f5f5f5"
+        -eborder        "#5464c4"
+        -foreground     "#202020"
+        -background     "#efefef"
+    }
+
+    ttk::style theme create scid$t -settings {
+        ttk::style configure . \
+        -borderwidth        1 \
+        -background         $colors(-frame) \
+        -foreground         $colors(-foreground) \
+        -bordercolor        $colors(-darkest) \
+        -darkcolor          $colors(-dark) \
+        -lightcolor         $colors(-lighter) \
+        -troughcolor        $colors(-troughcolor) \
+        -selectforeground   $colors(-selectfg) \
+        -selectbackground   $colors(-selectbg) \
+        -font               TkDefaultFont
+
+        ttk::style map . \
+            -background [list disabled $colors(-frame) active $colors(-lighter)] \
+            -foreground [list disabled $colors(-disabledfg)] \
+            -selectbackground [list !focus $colors(-darker)] \
+            -selectforeground [list !focus white]
+
+        ## Treeview
+        ttk::style element create Treeheading.cell image \
+        [list $I(tree-n) \
+             selected $I(tree-p) \
+             disabled $I(tree-d) \
+             pressed $I(tree-p) \
+             active $I(tree-h) \
+            ] -border 4 -sticky ew
+        ttk::style configure Row -background $colors(-background)
+        ttk::style map Row -background \
+            [list \
+                {focus selected} "#6474d4" \
+                selected "#7484e4" \
+                alternate white]
+        ttk::style map Item -foreground [list selected white]
+        ttk::style map Cell -foreground [list selected white]
+        ttk::style configure Treeview -background white
+        ttk::style map Treeview \
+            -background [list selected "#5464c4"] \
+            -foreground [list selected $colors(-selectfg)]
+
+        ## Buttons
+        ttk::style configure TButton -anchor center
+        ttk::style layout TButton {
+            Button.button -children {
+                Button.focus -children {
+                    Button.padding -children {
+                        Button.label
+                    }
+                }
+            }
+        }
+
+        ttk::style element create button image \
+            [list $I(button-n) \
+                pressed $I(button-p) \
+                {selected active} $I(button-pa) \
+                selected $I(button-p) \
+                active $I(button-a) \
+                disabled $I(button-d) \
+            ] -border {4 9 4 18} -padding {4 0} -sticky news
+        ttk::style configure Tbutton -padding {4 0 4 0}
+
+        ## Checkbuttons
+        ttk::style element create Checkbutton.indicator image \
+            [list $I(check-nu) \
+                {disabled selected} $I(check-dc) \
+                disabled $I(check-du) \
+                {pressed selected} $I(check-pc) \
+                pressed $I(check-pu) \
+                {active selected} $I(check-ac) \
+                active $I(check-hu) \
+                selected $I(check-nc) \
+            ] -width 20 -sticky w
+        ttk::style map TCheckbutton -background [list active $colors(-frame)]
+        ttk::style configure TCheckbutton -padding {0 4 0 4}
+
+        ## Radiobuttons
+        ttk::style element create Radiobutton.indicator image \
+            [list $I(radio-nu) \
+                {disabled selected} $I(radio-dc) \
+                disabled $I(radio-du) \
+                {pressed selected} $I(radio-pc) \
+                pressed $I(radio-pu) \
+                {active selected} $I(radio-ac) \
+                active $I(radio-hu) \
+                selected $I(radio-nc) \
+            ] -width 20 -sticky w
+        ttk::style map TRadiobutton -background [list active $colors(-frame)]
+        ttk::style configure TRadiobutton -padding {0 4 0 4 }
+
+        ## Menubuttons
+        ttk::style element create Menubutton.indicator image \
+            [list $I(menuarrow-a) \
+                disabled $I(menuarrow-d) \
+            ] -sticky e -border {15 0 0 0} -padding 0
+        ttk::style element create Menubutton.border image \
+            [list $I(button-n) \
+                 selected $I(button-p) \
+                 disabled $I(button-d) \
+                 active $I(button-a) \
+            ] -border 4 -sticky ew
+        ttk::style configure TMenubutton -padding {4 0 4 0}
+
+        ## Toolbar buttons
+        ttk::style configure Toolbutton -padding -5 -relief flat
+        ttk::style configure Toolbutton.label -padding 0 -relief flat
+        ttk::style element create Toolbutton.border image \
+            [list $I(blank) \
+                pressed $I(toolbutton-p) \
+                {selected active} $I(toolbutton-pa) \
+                selected $I(toolbutton-p) \
+                active $I(toolbutton-a) \
+                disabled $I(blank) \
+            ] -border 11 -sticky nsew
+
+        ## Entry widgets
+        ttk::style configure TEntry \
+            -padding {0 4 0 4 } \
+            -insertwidth 1 \
+            -fieldbackground white \
+            -selectbackground $colors(-eborder) \
+            -selectforeground $colors(-foreground)
+        ttk::style map TEntry \
+            -fieldbackground [list readonly $colors(-frame)] \
+            -bordercolor     [list focus $colors(-eborder)] \
+            -lightcolor      [list focus $colors(-entryfocus)] \
+            -darkcolor       [list focus $colors(-entryfocus)]
+        ttk::style element create Entry.field image \
+            [list $I(entry-n) \
+                 {focus} $I(entry-a) \
+                 {readonly disabled} $I(entry-rd) \
+                 {readonly pressed} $I(entry-d) \
+                 {focus readonly} $I(entry-d) \
+                 readonly $I(entry-d) \
+            ] -border {3 3 3 3} -sticky ew
+
+        ## Combobox
+        ttk::style element create Combobox.downarrow image \
+            [list $I(comboarrow-n) \
+                 focus $I(comboarrow-af) \
+                 disabled $I(comboarrow-d) \
+                 pressed $I(comboarrow-p) \
+                 active $I(comboarrow-a) \
+            ] -sticky e -border {22 0 0 0}
+        ttk::style element create Combobox.field image \
+            [list $I(combo-n) \
+                 focus $I(combo-ra) \
+                 {readonly disabled} $I(combo-rd) \
+                 {readonly pressed} $I(combo-rp) \
+                 {readonly focus} $I(combo-rf) \
+                 readonly $I(combo-rn) \
+            ] -border {4 0 0 0} -sticky ew
+        ttk::style configure TCombobox \
+            -selectbackground "#ffffff" \
+            -selectforeground "#202020" \
+            -padding {0 4 0 4}
+
+        ## Spinbox
+        ttk::style element create Spinbox.downarrow image \
+            [list $I(spinarrowdown-a) \
+                {focus pressed} $I(spinarrowdown-paf) \
+                focus $I(spinarrowdown-af) \
+                disabled $I(spinarrowdown-a) \
+                active $I(spinarrowdown-p) \
+            ] -border 4 -sticky {}
+        ttk::style element create Spinbox.uparrow image \
+            [list $I(spinarrowup-a) \
+                {focus pressed} $I(spinarrowup-paf) \
+                focus $I(spinarrowup-af) \
+                disabled $I(spinarrowup-a) \
+                active $I(spinarrowup-p) \
+            ] -border 4 -sticky {}
+        ttk::style element create Spinbox.field image \
+            [list $I(combo-n) \
+                focus $I(combo-ra) \
+                {readonly disabled} $I(combo-rd) \
+                {readonly pressed} $I(combo-rp) \
+                {readonly focus} $I(combo-rf) \
+                readonly $I(combo-rn) \
+            ] -border {4 0 0 0} -sticky ew
+        ttk::style configure TSpinbox \
+            -selectbackground "#ffffff" \
+            -selectforeground "#202020" \
+             -padding {0 4 0 4}
+
+        ## Notebooks
+        ttk::style element create Notebook.client \
+            image $I(surface) -border 2 -sticky news
+        ttk::style element create Notebook.tab image \
+            [list $I(tab-n) \
+                selected $I(tab-s) \
+                active $I(tab-a) \
+            ] -border {3 6 3 12} -padding {3 3}
+
+        ## Labelframes
+        ttk::style element create Labelframe.border image $I(labelframe) \
+            -border 4 -sticky news
+        ttk::style configure TLabelframe -padding 4
+
+        ## Scrollbars
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+        ttk::style element create Horizontal.Scrollbar.thumb image \
+            [list $I(sbthumb-hn) \
+                disabled $I(sbthumb-hd) \
+                pressed $I(sbthumb-hp) \
+                active $I(sbthumb-ha) \
+            ] -border 4
+        ttk::style element create Vertical.Scrollbar.thumb image \
+            [list $I(sbthumb-vn) \
+                disabled $I(sbthumb-vd) \
+                pressed $I(sbthumb-vp) \
+                active $I(sbthumb-va) \
+            ] -border 4
+        ttk::style element create Horizontal.Scrollbar.trough image $I(sbtrough-h)
+        ttk::style element create Vertical.Scrollbar.trough image $I(sbtrough-v)
+        ttk::style configure TScrollbar -bordercolor $colors(-troughborder)
+
+        ## Scales
+        ttk::style element create Horizontal.Scale.slider image \
+            [list $I(scale-hn) \
+                disabled $I(scale-hd) \
+                active $I(scale-ha) \
+            ]
+        ttk::style element create Horizontal.Scale.trough image \
+            [list $I(scaletrough-h) \
+                pressed $I(scaletrough-hp) \
+            ] -border 4 -sticky ew -padding 0
+        ttk::style element create Vertical.Scale.slider image \
+            [list $I(scale-vn) \
+                disabled $I(scale-vd) \
+                active $I(scale-va) \
+            ]
+        ttk::style element create Vertical.Scale.trough image \
+            [list $I(scaletrough-v) \
+                pressed $I(scaletrough-vp) \
+            ] -border 4 -sticky ns -padding 0
+
+        ttk::style configure TScale -bordercolor $colors(-troughborder)
+
+        ## Progressbar
+        ttk::style element create Progressbar.trough \
+            image $I(entry-n) -border 2
+        ttk::style element create Vertical.Progressbar.pbar \
+            image $I(progress-v) -border {2 2 1 1}
+        ttk::style element create Horizontal.Progressbar.pbar \
+            image $I(progress-h) -border {2 2 1 1}
+        ttk::style configure TProgressbar \
+            -bordercolor $colors(-troughborder) \
+            -foreground $colors(-eborder)
+
+        ## Statusbar
+        ttk::style element create sizegrip image $I(sizegrip)
+
+        ## Separator
+        ttk::style element create separator image $I(sep-h)
+        ttk::style element create hseparator image $I(sep-h)
+        ttk::style element create vseparator image $I(sep-v)
+
+        ## Paned window
+        ttk::style element create vsash image $I(sas-v) -sticky e
+        ttk::style element create hsash image $I(sas-h) -sticky s
+    }
+    }
+}
+unset ::tks
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/blank.png b/debian/projman/usr/share/projman/theme/scid/scidblue/blank.png
new file mode 100644
index 0000000..7a73256
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-a.png
new file mode 100644
index 0000000..a77a300
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-a1p.png
new file mode 100644
index 0000000..a386146
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-d.png
new file mode 100644
index 0000000..2751b31
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-default.png
new file mode 100644
index 0000000..1229a02
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-n.png
new file mode 100644
index 0000000..038814c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-p.png
new file mode 100644
index 0000000..2cdcb24
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-p1p.png
new file mode 100644
index 0000000..b3e19e8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidblue/button-pa.png
new file mode 100644
index 0000000..a64ac6e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-ac.png
new file mode 100644
index 0000000..1e76d2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-au.png
new file mode 100644
index 0000000..caff1be
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-dc.png
new file mode 100644
index 0000000..4f1d453
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-du.png
new file mode 100644
index 0000000..20bcda7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-hu.png
new file mode 100644
index 0000000..a06266a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-nc.png
new file mode 100644
index 0000000..1e76d2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-nu.png
new file mode 100644
index 0000000..32516e2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-pc.png
new file mode 100644
index 0000000..97e326a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/check-pu.png
new file mode 100644
index 0000000..a55dc69
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-n.png
new file mode 100644
index 0000000..2a5e0f8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-ra.png
new file mode 100644
index 0000000..7840c5e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rd.png
new file mode 100644
index 0000000..e0384b8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rf.png
new file mode 100644
index 0000000..2b56f41
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rn.png
new file mode 100644
index 0000000..cea9e18
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rp.png
new file mode 100644
index 0000000..68b06c9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-a.png
new file mode 100644
index 0000000..4ceccdc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-af.png
new file mode 100644
index 0000000..267c56e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-d.png
new file mode 100644
index 0000000..b5237fe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-n.png
new file mode 100644
index 0000000..06ba6eb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-p.png
new file mode 100644
index 0000000..1e813e5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-a.png
new file mode 100644
index 0000000..f919b89
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-d.png
new file mode 100644
index 0000000..2f21baa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-n.png
new file mode 100644
index 0000000..3a6f70a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-rd.png
new file mode 100644
index 0000000..a0c9d63
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidblue/labelframe.png
new file mode 100644
index 0000000..eb51692
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-a.png
new file mode 100644
index 0000000..54bea5d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-d.png
new file mode 100644
index 0000000..1b88b45
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/progress-h.png
new file mode 100644
index 0000000..68c874c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidblue/progress-v.png
new file mode 100644
index 0000000..fab8361
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-ac.png
new file mode 100644
index 0000000..1907072
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-au.png
new file mode 100644
index 0000000..5d8d9b4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-dc.png
new file mode 100644
index 0000000..9abc608
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-du.png
new file mode 100644
index 0000000..d820838
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-hu.png
new file mode 100644
index 0000000..33c80b1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nc.png
new file mode 100644
index 0000000..a358e0d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nu.png
new file mode 100644
index 0000000..154279a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pc.png
new file mode 100644
index 0000000..a358e0d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pu.png
new file mode 100644
index 0000000..47b7a9d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sas-h.png
new file mode 100644
index 0000000..6c86ff9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sas-v.png
new file mode 100644
index 0000000..ea5d045
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-ha.png
new file mode 100644
index 0000000..0aef0d9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hd.png
new file mode 100644
index 0000000..b96012e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hn.png
new file mode 100644
index 0000000..4b1d738
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hp.png
new file mode 100644
index 0000000..29d108f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-va.png
new file mode 100644
index 0000000..8e441e6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vd.png
new file mode 100644
index 0000000..3c68b6f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vn.png
new file mode 100644
index 0000000..8bee38f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vp.png
new file mode 100644
index 0000000..5b35aa8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-h.png
new file mode 100644
index 0000000..4c675d1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-v.png
new file mode 100644
index 0000000..e81f8ce
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-ha.png
new file mode 100644
index 0000000..47b7a9d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hd.png
new file mode 100644
index 0000000..b2ba4a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hn.png
new file mode 100644
index 0000000..2231497
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-va.png
new file mode 100644
index 0000000..47b7a9d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vd.png
new file mode 100644
index 0000000..b2ba4a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vn.png
new file mode 100644
index 0000000..2231497
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-h.png
new file mode 100644
index 0000000..fe4fbdc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-hp.png
new file mode 100644
index 0000000..78c983d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-v.png
new file mode 100644
index 0000000..4bfbca3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-vp.png
new file mode 100644
index 0000000..ac3fddc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sep-h.png
new file mode 100644
index 0000000..02cda8d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sep-v.png
new file mode 100644
index 0000000..f670c57
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidblue/sizegrip.png
new file mode 100644
index 0000000..270dee4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-a.png
new file mode 100644
index 0000000..9f55ace
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-af.png
new file mode 100644
index 0000000..3ddcbe4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-p.png
new file mode 100644
index 0000000..b911b41
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-pa.png
new file mode 100644
index 0000000..6102afe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-paf.png
new file mode 100644
index 0000000..e1063be
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-a.png
new file mode 100644
index 0000000..4223db0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-af.png
new file mode 100644
index 0000000..3d2a4ec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-p.png
new file mode 100644
index 0000000..c996dca
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-pa.png
new file mode 100644
index 0000000..5f2e25c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-paf.png
new file mode 100644
index 0000000..e078bbd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/surface.png b/debian/projman/usr/share/projman/theme/scid/scidblue/surface.png
new file mode 100644
index 0000000..4b97939
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-a.png
new file mode 100644
index 0000000..5766d36
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-n.png
new file mode 100644
index 0000000..4a68e13
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-s.png
new file mode 100644
index 0000000..3d859c6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-a.png
new file mode 100644
index 0000000..8f826bb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-d.png
new file mode 100644
index 0000000..2751b31
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-n.png
new file mode 100644
index 0000000..1229a02
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-p.png
new file mode 100644
index 0000000..bae7aeb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-pa.png
new file mode 100644
index 0000000..a64ac6e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-d.png
new file mode 100644
index 0000000..acae169
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-h.png
new file mode 100644
index 0000000..b37102f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-n.png
new file mode 100644
index 0000000..6b37f73
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidblue/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-p.png
new file mode 100644
index 0000000..5cbfcec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidblue/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/blank.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/blank.png
new file mode 100644
index 0000000..3bb2a21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a.png
new file mode 100644
index 0000000..47b95ac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a1p.png
new file mode 100644
index 0000000..f65bf22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-d.png
new file mode 100644
index 0000000..731a0c2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-default.png
new file mode 100644
index 0000000..928c10a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-n.png
new file mode 100644
index 0000000..9f7a454
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p.png
new file mode 100644
index 0000000..83cb3e8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p1p.png
new file mode 100644
index 0000000..bff37d0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-pa.png
new file mode 100644
index 0000000..9212ddd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-ac.png
new file mode 100644
index 0000000..ba0d48d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-au.png
new file mode 100644
index 0000000..1d22aac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-dc.png
new file mode 100644
index 0000000..303978c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-du.png
new file mode 100644
index 0000000..1d22aac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-hu.png
new file mode 100644
index 0000000..7d3ded5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nc.png
new file mode 100644
index 0000000..f9d2957
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nu.png
new file mode 100644
index 0000000..1d22aac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pc.png
new file mode 100644
index 0000000..f9d2957
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pu.png
new file mode 100644
index 0000000..67e1b70
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-n.png
new file mode 100644
index 0000000..60f793e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-ra.png
new file mode 100644
index 0000000..9997829
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rd.png
new file mode 100644
index 0000000..055cf1c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rf.png
new file mode 100644
index 0000000..1b5b68b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rn.png
new file mode 100644
index 0000000..01e9d9a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rp.png
new file mode 100644
index 0000000..b5dc799
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-a.png
new file mode 100644
index 0000000..c514705
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-af.png
new file mode 100644
index 0000000..f23e433
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-d.png
new file mode 100644
index 0000000..3eabd37
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-n.png
new file mode 100644
index 0000000..2fbc100
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-p.png
new file mode 100644
index 0000000..e76f99a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-a.png
new file mode 100644
index 0000000..e2d4244
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-d.png
new file mode 100644
index 0000000..6c66236
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-n.png
new file mode 100644
index 0000000..a23a555
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-rd.png
new file mode 100644
index 0000000..0f321b3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/labelframe.png
new file mode 100644
index 0000000..9a07adc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-a.png
new file mode 100644
index 0000000..9758d59
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-d.png
new file mode 100644
index 0000000..24b0d59
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-h.png
new file mode 100644
index 0000000..6ae07e0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-v.png
new file mode 100644
index 0000000..43df2d6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-ac.png
new file mode 100644
index 0000000..dade1b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-au.png
new file mode 100644
index 0000000..6938691
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-dc.png
new file mode 100644
index 0000000..d02a45a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-du.png
new file mode 100644
index 0000000..6938691
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-hu.png
new file mode 100644
index 0000000..d272875
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nc.png
new file mode 100644
index 0000000..dade1b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nu.png
new file mode 100644
index 0000000..6938691
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pc.png
new file mode 100644
index 0000000..dade1b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pu.png
new file mode 100644
index 0000000..da6a35d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-h.png
new file mode 100644
index 0000000..6fe9295
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-v.png
new file mode 100644
index 0000000..75519fd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-ha.png
new file mode 100644
index 0000000..d4063d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hd.png
new file mode 100644
index 0000000..9048ca2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hn.png
new file mode 100644
index 0000000..a6a38b0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hp.png
new file mode 100644
index 0000000..fbfb1c7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-va.png
new file mode 100644
index 0000000..74a2b22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vd.png
new file mode 100644
index 0000000..bb006a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vn.png
new file mode 100644
index 0000000..cb152d1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vp.png
new file mode 100644
index 0000000..91fea5c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-h.png
new file mode 100644
index 0000000..db7672e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-v.png
new file mode 100644
index 0000000..17e4ada
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-ha.png
new file mode 100644
index 0000000..da6a35d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hd.png
new file mode 100644
index 0000000..4186d9a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hn.png
new file mode 100644
index 0000000..d1ce79e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-va.png
new file mode 100644
index 0000000..da6a35d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vd.png
new file mode 100644
index 0000000..4186d9a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vn.png
new file mode 100644
index 0000000..d1ce79e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-h.png
new file mode 100644
index 0000000..7f57220
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-hp.png
new file mode 100644
index 0000000..353a29f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-v.png
new file mode 100644
index 0000000..06b9ef0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-vp.png
new file mode 100644
index 0000000..a03f5be
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-h.png
new file mode 100644
index 0000000..b57caa2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-v.png
new file mode 100644
index 0000000..6cc8cb1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/sizegrip.png
new file mode 100644
index 0000000..2c34207
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-a.png
new file mode 100644
index 0000000..eb5609d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-af.png
new file mode 100644
index 0000000..91f6b59
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-p.png
new file mode 100644
index 0000000..eb5609d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-pa.png
new file mode 100644
index 0000000..b1a6b18
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-paf.png
new file mode 100644
index 0000000..ac8c395
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-a.png
new file mode 100644
index 0000000..a22bcaf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-af.png
new file mode 100644
index 0000000..045e8fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-p.png
new file mode 100644
index 0000000..a22bcaf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-pa.png
new file mode 100644
index 0000000..37b8f17
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-paf.png
new file mode 100644
index 0000000..c2a93ca
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/surface.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/surface.png
new file mode 100644
index 0000000..3f51cff
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-a.png
new file mode 100644
index 0000000..10786d3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-n.png
new file mode 100644
index 0000000..ccd20a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-s.png
new file mode 100644
index 0000000..10786d3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-a.png
new file mode 100644
index 0000000..f65bf22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-d.png
new file mode 100644
index 0000000..731a0c2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-n.png
new file mode 100644
index 0000000..928c10a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-p.png
new file mode 100644
index 0000000..bff37d0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-pa.png
new file mode 100644
index 0000000..9212ddd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-d.png
new file mode 100644
index 0000000..36f9f2c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-h.png
new file mode 100644
index 0000000..fcbf096
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-n.png
new file mode 100644
index 0000000..fcbf096
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-p.png
new file mode 100644
index 0000000..5ef5ec6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgreen/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/blank.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/blank.png
new file mode 100644
index 0000000..99c2d96
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a.png
new file mode 100644
index 0000000..0b4ccbf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a1p.png
new file mode 100644
index 0000000..36d0045
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-d.png
new file mode 100644
index 0000000..cacffe9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-default.png
new file mode 100644
index 0000000..4d36e03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-n.png
new file mode 100644
index 0000000..03b3d50
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p.png
new file mode 100644
index 0000000..5b56b70
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p1p.png
new file mode 100644
index 0000000..5813d08
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-pa.png
new file mode 100644
index 0000000..f56cf1c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-ac.png
new file mode 100644
index 0000000..8dd0c15
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-au.png
new file mode 100644
index 0000000..d70c6f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-dc.png
new file mode 100644
index 0000000..8d37e21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-du.png
new file mode 100644
index 0000000..d70c6f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-hu.png
new file mode 100644
index 0000000..2102668
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nc.png
new file mode 100644
index 0000000..8dd0c15
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nu.png
new file mode 100644
index 0000000..d70c6f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pc.png
new file mode 100644
index 0000000..8dd0c15
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pu.png
new file mode 100644
index 0000000..d3cf6d6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-n.png
new file mode 100644
index 0000000..0ac9e2d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-ra.png
new file mode 100644
index 0000000..de64cf5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rd.png
new file mode 100644
index 0000000..c25d1bb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rf.png
new file mode 100644
index 0000000..3316a31
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rn.png
new file mode 100644
index 0000000..f3105c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rp.png
new file mode 100644
index 0000000..b69de28
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-a.png
new file mode 100644
index 0000000..9e6c473
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-af.png
new file mode 100644
index 0000000..c71d639
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-d.png
new file mode 100644
index 0000000..2a1b71f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-n.png
new file mode 100644
index 0000000..9d8c05a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-p.png
new file mode 100644
index 0000000..bf58b40
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-a.png
new file mode 100644
index 0000000..4fe10f2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-d.png
new file mode 100644
index 0000000..c3185aa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-n.png
new file mode 100644
index 0000000..2eb9caa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-rd.png
new file mode 100644
index 0000000..f701267
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/labelframe.png
new file mode 100644
index 0000000..275359f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-a.png
new file mode 100644
index 0000000..14e005f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-d.png
new file mode 100644
index 0000000..4ca433b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-h.png
new file mode 100644
index 0000000..4683ba1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-v.png
new file mode 100644
index 0000000..2c190d4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-ac.png
new file mode 100644
index 0000000..26eab21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-au.png
new file mode 100644
index 0000000..4a06aa5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-dc.png
new file mode 100644
index 0000000..4e65b17
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-du.png
new file mode 100644
index 0000000..4a06aa5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-hu.png
new file mode 100644
index 0000000..44d8482
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nc.png
new file mode 100644
index 0000000..26eab21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nu.png
new file mode 100644
index 0000000..4a06aa5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pc.png
new file mode 100644
index 0000000..26eab21
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pu.png
new file mode 100644
index 0000000..8db2b62
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-h.png
new file mode 100644
index 0000000..6f0f500
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-v.png
new file mode 100644
index 0000000..299db97
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-ha.png
new file mode 100644
index 0000000..fced6e4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hd.png
new file mode 100644
index 0000000..93962b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hn.png
new file mode 100644
index 0000000..1650335
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hp.png
new file mode 100644
index 0000000..decea68
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-va.png
new file mode 100644
index 0000000..1a861e1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vd.png
new file mode 100644
index 0000000..bba2cbe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vn.png
new file mode 100644
index 0000000..bef6722
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vp.png
new file mode 100644
index 0000000..4486c2e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-h.png
new file mode 100644
index 0000000..33c4a39
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-v.png
new file mode 100644
index 0000000..45115e9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-ha.png
new file mode 100644
index 0000000..8db2b62
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hd.png
new file mode 100644
index 0000000..bac01ba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hn.png
new file mode 100644
index 0000000..fa45dbc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-va.png
new file mode 100644
index 0000000..8db2b62
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vd.png
new file mode 100644
index 0000000..bac01ba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vn.png
new file mode 100644
index 0000000..fa45dbc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-h.png
new file mode 100644
index 0000000..2ff7e85
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-hp.png
new file mode 100644
index 0000000..4fd38de
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-v.png
new file mode 100644
index 0000000..01a4e9b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-vp.png
new file mode 100644
index 0000000..52838bb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-h.png
new file mode 100644
index 0000000..3e62ba8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-v.png
new file mode 100644
index 0000000..330b3e1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/sizegrip.png
new file mode 100644
index 0000000..e1ece6f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-a.png
new file mode 100644
index 0000000..5fb2fb3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-af.png
new file mode 100644
index 0000000..ccd1d87
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-p.png
new file mode 100644
index 0000000..5fb2fb3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-pa.png
new file mode 100644
index 0000000..dc5dacc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-paf.png
new file mode 100644
index 0000000..330e706
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-a.png
new file mode 100644
index 0000000..31e3a3d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-af.png
new file mode 100644
index 0000000..d26b579
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-p.png
new file mode 100644
index 0000000..31e3a3d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-pa.png
new file mode 100644
index 0000000..20ba7e3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-paf.png
new file mode 100644
index 0000000..a3cbead
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/surface.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/surface.png
new file mode 100644
index 0000000..d4eb278
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-a.png
new file mode 100644
index 0000000..0849cf2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-n.png
new file mode 100644
index 0000000..76f0a82
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-s.png
new file mode 100644
index 0000000..0849cf2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-a.png
new file mode 100644
index 0000000..36d0045
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-d.png
new file mode 100644
index 0000000..cacffe9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-n.png
new file mode 100644
index 0000000..4d36e03
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-p.png
new file mode 100644
index 0000000..5813d08
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-pa.png
new file mode 100644
index 0000000..f56cf1c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-d.png
new file mode 100644
index 0000000..ca5f55a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-h.png
new file mode 100644
index 0000000..34b71ba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-n.png
new file mode 100644
index 0000000..34b71ba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-p.png
new file mode 100644
index 0000000..3c40532
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidgrey/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/blank.png b/debian/projman/usr/share/projman/theme/scid/scidmint/blank.png
new file mode 100644
index 0000000..878e560
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-a.png
new file mode 100644
index 0000000..febf866
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-a1p.png
new file mode 100644
index 0000000..a5aca22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-d.png
new file mode 100644
index 0000000..a84f0cc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-default.png
new file mode 100644
index 0000000..ae3c8b0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-n.png
new file mode 100644
index 0000000..6955608
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-p.png
new file mode 100644
index 0000000..de33bbc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-p1p.png
new file mode 100644
index 0000000..6b327e0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidmint/button-pa.png
new file mode 100644
index 0000000..16e7b1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-ac.png
new file mode 100644
index 0000000..be1cf6b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-au.png
new file mode 100644
index 0000000..8149dcb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-dc.png
new file mode 100644
index 0000000..d2a06b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-du.png
new file mode 100644
index 0000000..8149dcb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-hu.png
new file mode 100644
index 0000000..30863c2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-nc.png
new file mode 100644
index 0000000..be1cf6b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-nu.png
new file mode 100644
index 0000000..8149dcb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-pc.png
new file mode 100644
index 0000000..be1cf6b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/check-pu.png
new file mode 100644
index 0000000..c182195
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-n.png
new file mode 100644
index 0000000..c97c607
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-ra.png
new file mode 100644
index 0000000..506f536
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rd.png
new file mode 100644
index 0000000..fdc4306
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rf.png
new file mode 100644
index 0000000..a1eb04e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rn.png
new file mode 100644
index 0000000..79b92fd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rp.png
new file mode 100644
index 0000000..f275206
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-a.png
new file mode 100644
index 0000000..90b7ae5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-af.png
new file mode 100644
index 0000000..8add497
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-d.png
new file mode 100644
index 0000000..2e80ca5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-n.png
new file mode 100644
index 0000000..47b4909
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-p.png
new file mode 100644
index 0000000..1c844e3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-a.png
new file mode 100644
index 0000000..71a6ac8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-d.png
new file mode 100644
index 0000000..efe1294
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-n.png
new file mode 100644
index 0000000..985e547
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-rd.png
new file mode 100644
index 0000000..d0f8e4c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidmint/labelframe.png
new file mode 100644
index 0000000..253ff8d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-a.png
new file mode 100644
index 0000000..eafb2ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-d.png
new file mode 100644
index 0000000..bd057a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/progress-h.png
new file mode 100644
index 0000000..0335a86
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidmint/progress-v.png
new file mode 100644
index 0000000..d8baa1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-ac.png
new file mode 100644
index 0000000..144d771
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-au.png
new file mode 100644
index 0000000..5b49163
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-dc.png
new file mode 100644
index 0000000..402d6dd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-du.png
new file mode 100644
index 0000000..5b49163
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-hu.png
new file mode 100644
index 0000000..ecdb8cb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nc.png
new file mode 100644
index 0000000..144d771
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nu.png
new file mode 100644
index 0000000..5b49163
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pc.png
new file mode 100644
index 0000000..144d771
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pu.png
new file mode 100644
index 0000000..9439bd0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sas-h.png
new file mode 100644
index 0000000..089bb6c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sas-v.png
new file mode 100644
index 0000000..0c540c8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-ha.png
new file mode 100644
index 0000000..a0ffe5b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hd.png
new file mode 100644
index 0000000..d27f82d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hn.png
new file mode 100644
index 0000000..0914bfd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hp.png
new file mode 100644
index 0000000..568477e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-va.png
new file mode 100644
index 0000000..ae9ec39
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vd.png
new file mode 100644
index 0000000..8fcd7af
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vn.png
new file mode 100644
index 0000000..03f10d2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vp.png
new file mode 100644
index 0000000..4a2685a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-h.png
new file mode 100644
index 0000000..1e7c451
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-v.png
new file mode 100644
index 0000000..7169136
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-ha.png
new file mode 100644
index 0000000..9439bd0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hd.png
new file mode 100644
index 0000000..da06dfa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hn.png
new file mode 100644
index 0000000..e99be55
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-va.png
new file mode 100644
index 0000000..2e3f2c6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vd.png
new file mode 100644
index 0000000..9f64858
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vn.png
new file mode 100644
index 0000000..4e9cb2b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-h.png
new file mode 100644
index 0000000..cae2a60
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-hp.png
new file mode 100644
index 0000000..4418b75
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-v.png
new file mode 100644
index 0000000..474ca30
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-vp.png
new file mode 100644
index 0000000..d28af8e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sep-h.png
new file mode 100644
index 0000000..1cee87e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sep-v.png
new file mode 100644
index 0000000..7feaa58
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidmint/sizegrip.png
new file mode 100644
index 0000000..9520ccc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-a.png
new file mode 100644
index 0000000..8fcbbd0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-af.png
new file mode 100644
index 0000000..02b2a2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-p.png
new file mode 100644
index 0000000..8fcbbd0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-pa.png
new file mode 100644
index 0000000..efe0182
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-paf.png
new file mode 100644
index 0000000..6e45b88
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-a.png
new file mode 100644
index 0000000..0b4b35c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-af.png
new file mode 100644
index 0000000..2e92ce8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-p.png
new file mode 100644
index 0000000..0b4b35c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-pa.png
new file mode 100644
index 0000000..184c882
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-paf.png
new file mode 100644
index 0000000..222b9c5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/surface.png b/debian/projman/usr/share/projman/theme/scid/scidmint/surface.png
new file mode 100644
index 0000000..f3a80a6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-a.png
new file mode 100644
index 0000000..21ca0ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-n.png
new file mode 100644
index 0000000..f194457
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-s.png
new file mode 100644
index 0000000..21ca0ea
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-a.png
new file mode 100644
index 0000000..adc1a5e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-d.png
new file mode 100644
index 0000000..89f6b41
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-n.png
new file mode 100644
index 0000000..9e68dd6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-p.png
new file mode 100644
index 0000000..7f707f7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-pa.png
new file mode 100644
index 0000000..6aa0fe4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-d.png
new file mode 100644
index 0000000..84034ee
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-h.png
new file mode 100644
index 0000000..b472c91
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-n.png
new file mode 100644
index 0000000..b472c91
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidmint/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-p.png
new file mode 100644
index 0000000..358c081
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidmint/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/blank.png b/debian/projman/usr/share/projman/theme/scid/scidpink/blank.png
new file mode 100644
index 0000000..06409bb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-a.png
new file mode 100644
index 0000000..69724fb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-a1p.png
new file mode 100644
index 0000000..2a70701
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-d.png
new file mode 100644
index 0000000..0c40b50
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-default.png
new file mode 100644
index 0000000..08f2a7c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-n.png
new file mode 100644
index 0000000..7b827a3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-p.png
new file mode 100644
index 0000000..526c124
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-p1p.png
new file mode 100644
index 0000000..d40f15c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpink/button-pa.png
new file mode 100644
index 0000000..eddfe5e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-ac.png
new file mode 100644
index 0000000..457587e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-au.png
new file mode 100644
index 0000000..9061950
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-dc.png
new file mode 100644
index 0000000..899dafe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-du.png
new file mode 100644
index 0000000..9061950
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-hu.png
new file mode 100644
index 0000000..4afc64b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-nc.png
new file mode 100644
index 0000000..457587e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-nu.png
new file mode 100644
index 0000000..9061950
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-pc.png
new file mode 100644
index 0000000..457587e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/check-pu.png
new file mode 100644
index 0000000..1f6cf22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-n.png
new file mode 100644
index 0000000..e2e9aec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-ra.png
new file mode 100644
index 0000000..aa9fb7a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rd.png
new file mode 100644
index 0000000..d3378f7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rf.png
new file mode 100644
index 0000000..df042a6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rn.png
new file mode 100644
index 0000000..a7c1fa5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rp.png
new file mode 100644
index 0000000..82a1562
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-a.png
new file mode 100644
index 0000000..bc6bee4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-af.png
new file mode 100644
index 0000000..382bc9b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-d.png
new file mode 100644
index 0000000..c665284
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-n.png
new file mode 100644
index 0000000..e3cff58
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-p.png
new file mode 100644
index 0000000..88fe8b7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-a.png
new file mode 100644
index 0000000..890b0a2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-d.png
new file mode 100644
index 0000000..ad3c236
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-n.png
new file mode 100644
index 0000000..ffddfe8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-rd.png
new file mode 100644
index 0000000..a485684
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidpink/labelframe.png
new file mode 100644
index 0000000..e76adb8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-a.png
new file mode 100644
index 0000000..930ca68
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-d.png
new file mode 100644
index 0000000..51f92cb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/progress-h.png
new file mode 100644
index 0000000..ecb750c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidpink/progress-v.png
new file mode 100644
index 0000000..dd49760
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-ac.png
new file mode 100644
index 0000000..a347c1a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-au.png
new file mode 100644
index 0000000..7a69cdd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-dc.png
new file mode 100644
index 0000000..8fc8a44
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-du.png
new file mode 100644
index 0000000..7a69cdd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-hu.png
new file mode 100644
index 0000000..8861218
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nc.png
new file mode 100644
index 0000000..a347c1a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nu.png
new file mode 100644
index 0000000..7a69cdd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pc.png
new file mode 100644
index 0000000..a347c1a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pu.png
new file mode 100644
index 0000000..9ab56ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sas-h.png
new file mode 100644
index 0000000..c080740
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sas-v.png
new file mode 100644
index 0000000..7c8ec16
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-ha.png
new file mode 100644
index 0000000..2d852f5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hd.png
new file mode 100644
index 0000000..0834a5c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hn.png
new file mode 100644
index 0000000..fec75a2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hp.png
new file mode 100644
index 0000000..44b6ce6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-va.png
new file mode 100644
index 0000000..0b860d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vd.png
new file mode 100644
index 0000000..358b826
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vn.png
new file mode 100644
index 0000000..b8033c4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vp.png
new file mode 100644
index 0000000..2357376
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-h.png
new file mode 100644
index 0000000..d759475
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-v.png
new file mode 100644
index 0000000..26cf474
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-ha.png
new file mode 100644
index 0000000..9ab56ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hd.png
new file mode 100644
index 0000000..f8dcdbb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hn.png
new file mode 100644
index 0000000..b0cf6b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-va.png
new file mode 100644
index 0000000..9ab56ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vd.png
new file mode 100644
index 0000000..f8dcdbb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vn.png
new file mode 100644
index 0000000..b0cf6b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-h.png
new file mode 100644
index 0000000..806812b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-hp.png
new file mode 100644
index 0000000..00db9aa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-v.png
new file mode 100644
index 0000000..12be0e6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-vp.png
new file mode 100644
index 0000000..d89bdd3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sep-h.png
new file mode 100644
index 0000000..6c693ba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sep-v.png
new file mode 100644
index 0000000..d1afb96
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidpink/sizegrip.png
new file mode 100644
index 0000000..3f8c079
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-a.png
new file mode 100644
index 0000000..c5b16ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-af.png
new file mode 100644
index 0000000..21d5281
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-p.png
new file mode 100644
index 0000000..c5b16ab
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-pa.png
new file mode 100644
index 0000000..f6cde1f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-paf.png
new file mode 100644
index 0000000..68f880b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-a.png
new file mode 100644
index 0000000..31a0531
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-af.png
new file mode 100644
index 0000000..82235d0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-p.png
new file mode 100644
index 0000000..31a0531
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-pa.png
new file mode 100644
index 0000000..87ceafe
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-paf.png
new file mode 100644
index 0000000..6ea408d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/surface.png b/debian/projman/usr/share/projman/theme/scid/scidpink/surface.png
new file mode 100644
index 0000000..9638497
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-a.png
new file mode 100644
index 0000000..66ea7c9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-n.png
new file mode 100644
index 0000000..0f1a5ed
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-s.png
new file mode 100644
index 0000000..66ea7c9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-a.png
new file mode 100644
index 0000000..2a70701
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-d.png
new file mode 100644
index 0000000..0c40b50
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-n.png
new file mode 100644
index 0000000..08f2a7c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-p.png
new file mode 100644
index 0000000..d40f15c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-pa.png
new file mode 100644
index 0000000..eddfe5e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-d.png
new file mode 100644
index 0000000..ff15b7d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-h.png
new file mode 100644
index 0000000..e151b2d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-n.png
new file mode 100644
index 0000000..e151b2d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpink/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-p.png
new file mode 100644
index 0000000..d59b3d6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpink/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/blank.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/blank.png
new file mode 100644
index 0000000..ca702d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a.png
new file mode 100644
index 0000000..e5b5f01
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a1p.png
new file mode 100644
index 0000000..b0b3cf5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-d.png
new file mode 100644
index 0000000..d530288
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-default.png
new file mode 100644
index 0000000..53c93f6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-n.png
new file mode 100644
index 0000000..5265814
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p.png
new file mode 100644
index 0000000..31c7dec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p1p.png
new file mode 100644
index 0000000..f31feba
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-pa.png
new file mode 100644
index 0000000..d6841f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-ac.png
new file mode 100644
index 0000000..65867fd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-au.png
new file mode 100644
index 0000000..f008317
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-dc.png
new file mode 100644
index 0000000..8a59442
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-du.png
new file mode 100644
index 0000000..f008317
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-hu.png
new file mode 100644
index 0000000..76e5201
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nc.png
new file mode 100644
index 0000000..65867fd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nu.png
new file mode 100644
index 0000000..f008317
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pc.png
new file mode 100644
index 0000000..65867fd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pu.png
new file mode 100644
index 0000000..aebf61a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-n.png
new file mode 100644
index 0000000..e432adb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-ra.png
new file mode 100644
index 0000000..d9e2f6f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rd.png
new file mode 100644
index 0000000..214751e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rf.png
new file mode 100644
index 0000000..b0ab0cb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rn.png
new file mode 100644
index 0000000..29c8585
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rp.png
new file mode 100644
index 0000000..bd82dfd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-a.png
new file mode 100644
index 0000000..7887019
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-af.png
new file mode 100644
index 0000000..04ac3ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-d.png
new file mode 100644
index 0000000..19f76c3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-n.png
new file mode 100644
index 0000000..073c1cb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-p.png
new file mode 100644
index 0000000..35cb4a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-a.png
new file mode 100644
index 0000000..9ce82ac
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-d.png
new file mode 100644
index 0000000..24e39fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-n.png
new file mode 100644
index 0000000..b41a33b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-rd.png
new file mode 100644
index 0000000..36a473e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/labelframe.png
new file mode 100644
index 0000000..79c17d3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-a.png
new file mode 100644
index 0000000..6cc6bc0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-d.png
new file mode 100644
index 0000000..db4b168
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-h.png
new file mode 100644
index 0000000..e351bfa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-v.png
new file mode 100644
index 0000000..a3079f3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-ac.png
new file mode 100644
index 0000000..1dbefaf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-au.png
new file mode 100644
index 0000000..a9ee838
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-dc.png
new file mode 100644
index 0000000..d95f481
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-du.png
new file mode 100644
index 0000000..a9ee838
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-hu.png
new file mode 100644
index 0000000..71bac64
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nc.png
new file mode 100644
index 0000000..1dbefaf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nu.png
new file mode 100644
index 0000000..a9ee838
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pc.png
new file mode 100644
index 0000000..1dbefaf
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pu.png
new file mode 100644
index 0000000..fa41590
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-h.png
new file mode 100644
index 0000000..be53913
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-v.png
new file mode 100644
index 0000000..7d5edf2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-ha.png
new file mode 100644
index 0000000..7486297
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hd.png
new file mode 100644
index 0000000..85242af
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hn.png
new file mode 100644
index 0000000..0971bde
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hp.png
new file mode 100644
index 0000000..e1504dd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-va.png
new file mode 100644
index 0000000..c7bdcca
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vd.png
new file mode 100644
index 0000000..a3cc8c8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vn.png
new file mode 100644
index 0000000..e24ce65
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vp.png
new file mode 100644
index 0000000..4447b8b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-h.png
new file mode 100644
index 0000000..7701592
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-v.png
new file mode 100644
index 0000000..f852f59
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-ha.png
new file mode 100644
index 0000000..fa41590
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hd.png
new file mode 100644
index 0000000..565c2fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hn.png
new file mode 100644
index 0000000..9d92f9f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-va.png
new file mode 100644
index 0000000..fa41590
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vd.png
new file mode 100644
index 0000000..565c2fa
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vn.png
new file mode 100644
index 0000000..9d92f9f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-h.png
new file mode 100644
index 0000000..ccaaa51
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-hp.png
new file mode 100644
index 0000000..0688b90
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-v.png
new file mode 100644
index 0000000..f1d0f67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-vp.png
new file mode 100644
index 0000000..8f28d02
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-h.png
new file mode 100644
index 0000000..7d0c062
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-v.png
new file mode 100644
index 0000000..7c7ca1f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/sizegrip.png
new file mode 100644
index 0000000..7b37839
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-a.png
new file mode 100644
index 0000000..a34b019
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-af.png
new file mode 100644
index 0000000..e79dc67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-p.png
new file mode 100644
index 0000000..a34b019
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-pa.png
new file mode 100644
index 0000000..4fa27d1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-paf.png
new file mode 100644
index 0000000..c387480
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-a.png
new file mode 100644
index 0000000..a87d6a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-af.png
new file mode 100644
index 0000000..8ed76a3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-p.png
new file mode 100644
index 0000000..a87d6a1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-pa.png
new file mode 100644
index 0000000..a42d0ff
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-paf.png
new file mode 100644
index 0000000..3659f71
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/surface.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/surface.png
new file mode 100644
index 0000000..dead4b5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-a.png
new file mode 100644
index 0000000..1d31806
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-n.png
new file mode 100644
index 0000000..aea2c22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-s.png
new file mode 100644
index 0000000..1d31806
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-a.png
new file mode 100644
index 0000000..b0b3cf5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-d.png
new file mode 100644
index 0000000..d530288
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-n.png
new file mode 100644
index 0000000..53c93f6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-p.png
new file mode 100644
index 0000000..c9daabd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-pa.png
new file mode 100644
index 0000000..d6841f9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-d.png
new file mode 100644
index 0000000..451145f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-h.png
new file mode 100644
index 0000000..1e5cb3a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-n.png
new file mode 100644
index 0000000..1e5cb3a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-p.png
new file mode 100644
index 0000000..372fbae
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidpurple/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/blank.png b/debian/projman/usr/share/projman/theme/scid/scidsand/blank.png
new file mode 100644
index 0000000..9e99c04
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/blank.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-a.png
new file mode 100644
index 0000000..5564454
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-a1p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-a1p.png
new file mode 100644
index 0000000..80de4c1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-a1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-d.png
new file mode 100644
index 0000000..6468ccb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-default.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-default.png
new file mode 100644
index 0000000..38576b1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-default.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-n.png
new file mode 100644
index 0000000..5931584
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-p.png
new file mode 100644
index 0000000..c1b0d4d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-p1p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-p1p.png
new file mode 100644
index 0000000..59c4196
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-p1p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/button-pa.png b/debian/projman/usr/share/projman/theme/scid/scidsand/button-pa.png
new file mode 100644
index 0000000..14221bc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/button-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-ac.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-ac.png
new file mode 100644
index 0000000..769db80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-au.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-au.png
new file mode 100644
index 0000000..796ace8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-dc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-dc.png
new file mode 100644
index 0000000..100a387
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-du.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-du.png
new file mode 100644
index 0000000..796ace8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-hu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-hu.png
new file mode 100644
index 0000000..96bf26f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-nc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-nc.png
new file mode 100644
index 0000000..769db80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-nu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-nu.png
new file mode 100644
index 0000000..796ace8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-pc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-pc.png
new file mode 100644
index 0000000..769db80
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/check-pu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/check-pu.png
new file mode 100644
index 0000000..5899162
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/check-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-n.png
new file mode 100644
index 0000000..c8213d5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-ra.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-ra.png
new file mode 100644
index 0000000..26089a3
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-ra.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rd.png
new file mode 100644
index 0000000..d5d88cc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rf.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rf.png
new file mode 100644
index 0000000..cdac4a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rn.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rn.png
new file mode 100644
index 0000000..3830f39
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rp.png b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rp.png
new file mode 100644
index 0000000..da249dd
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/combo-rp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-a.png
new file mode 100644
index 0000000..330b69b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-af.png b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-af.png
new file mode 100644
index 0000000..b6de1e9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-d.png
new file mode 100644
index 0000000..ef2f4ef
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-n.png
new file mode 100644
index 0000000..7d96011
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-p.png
new file mode 100644
index 0000000..dcaa28f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/comboarrow-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/entry-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-a.png
new file mode 100644
index 0000000..57afd29
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/entry-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-d.png
new file mode 100644
index 0000000..96f8ac8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/entry-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-n.png
new file mode 100644
index 0000000..05ddf0d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/entry-rd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-rd.png
new file mode 100644
index 0000000..1f18916
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/entry-rd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/labelframe.png b/debian/projman/usr/share/projman/theme/scid/scidsand/labelframe.png
new file mode 100644
index 0000000..29a24e1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/labelframe.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-a.png
new file mode 100644
index 0000000..dbc0ce8
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-d.png
new file mode 100644
index 0000000..445182f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/menuarrow-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/progress-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/progress-h.png
new file mode 100644
index 0000000..451bf5a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/progress-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/progress-v.png b/debian/projman/usr/share/projman/theme/scid/scidsand/progress-v.png
new file mode 100644
index 0000000..058de42
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/progress-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-ac.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-ac.png
new file mode 100644
index 0000000..a54b5de
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-ac.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-au.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-au.png
new file mode 100644
index 0000000..298a322
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-au.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-dc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-dc.png
new file mode 100644
index 0000000..92e1cf0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-dc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-du.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-du.png
new file mode 100644
index 0000000..298a322
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-du.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-hu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-hu.png
new file mode 100644
index 0000000..2a9b5d5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-hu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nc.png
new file mode 100644
index 0000000..a54b5de
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nu.png
new file mode 100644
index 0000000..298a322
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-nu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pc.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pc.png
new file mode 100644
index 0000000..a54b5de
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pc.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pu.png b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pu.png
new file mode 100644
index 0000000..0ac94a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/radio-pu.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sas-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sas-h.png
new file mode 100644
index 0000000..245632e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sas-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sas-v.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sas-v.png
new file mode 100644
index 0000000..0b10897
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sas-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-ha.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-ha.png
new file mode 100644
index 0000000..7b8954a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hd.png
new file mode 100644
index 0000000..90eeff1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hn.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hn.png
new file mode 100644
index 0000000..6a13dff
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hp.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hp.png
new file mode 100644
index 0000000..21841b9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-va.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-va.png
new file mode 100644
index 0000000..a70172c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vd.png
new file mode 100644
index 0000000..bccda32
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vn.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vn.png
new file mode 100644
index 0000000..bf7d6cc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vp.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vp.png
new file mode 100644
index 0000000..887f620
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbthumb-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-h.png
new file mode 100644
index 0000000..5207985
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-v.png
new file mode 100644
index 0000000..769c488
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sbtrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-ha.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-ha.png
new file mode 100644
index 0000000..0ac94a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-ha.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hd.png
new file mode 100644
index 0000000..eec2a1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hn.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hn.png
new file mode 100644
index 0000000..5469b2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-hn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-va.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-va.png
new file mode 100644
index 0000000..0ac94a5
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-va.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vd.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vd.png
new file mode 100644
index 0000000..eec2a1d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vd.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vn.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vn.png
new file mode 100644
index 0000000..5469b2a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scale-vn.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-h.png
new file mode 100644
index 0000000..1f39e5c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-hp.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-hp.png
new file mode 100644
index 0000000..c8d505c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-hp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-v.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-v.png
new file mode 100644
index 0000000..6cb7256
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-vp.png b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-vp.png
new file mode 100644
index 0000000..7865efb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/scaletrough-vp.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sep-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sep-h.png
new file mode 100644
index 0000000..a7f3ed9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sep-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sep-v.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sep-v.png
new file mode 100644
index 0000000..17a11fb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sep-v.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/sizegrip.png b/debian/projman/usr/share/projman/theme/scid/scidsand/sizegrip.png
new file mode 100644
index 0000000..531e875
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-a.png
new file mode 100644
index 0000000..9a56f5b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-af.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-af.png
new file mode 100644
index 0000000..5e5dce2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-p.png
new file mode 100644
index 0000000..9a56f5b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-pa.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-pa.png
new file mode 100644
index 0000000..9bc2600
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-paf.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-paf.png
new file mode 100644
index 0000000..31b0c84
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowdown-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-a.png
new file mode 100644
index 0000000..94d07f0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-af.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-af.png
new file mode 100644
index 0000000..014bf88
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-af.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-p.png
new file mode 100644
index 0000000..94d07f0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-pa.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-pa.png
new file mode 100644
index 0000000..2782c3e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-paf.png b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-paf.png
new file mode 100644
index 0000000..5d578fb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/spinarrowup-paf.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/surface.png b/debian/projman/usr/share/projman/theme/scid/scidsand/surface.png
new file mode 100644
index 0000000..d9dd7d7
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/surface.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tab-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-a.png
new file mode 100644
index 0000000..fa540c0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tab-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-n.png
new file mode 100644
index 0000000..6f014ec
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tab-s.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-s.png
new file mode 100644
index 0000000..fa540c0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tab-s.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-a.png b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-a.png
new file mode 100644
index 0000000..6300e9f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-a.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-d.png
new file mode 100644
index 0000000..6468ccb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-n.png
new file mode 100644
index 0000000..38576b1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-p.png
new file mode 100644
index 0000000..59c4196
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-pa.png b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-pa.png
new file mode 100644
index 0000000..14221bc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/toolbutton-pa.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tree-d.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-d.png
new file mode 100644
index 0000000..4cbf3e9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-d.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tree-h.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-h.png
new file mode 100644
index 0000000..1937e42
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-h.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tree-n.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-n.png
new file mode 100644
index 0000000..1937e42
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-n.png differ
diff --git a/debian/projman/usr/share/projman/theme/scid/scidsand/tree-p.png b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-p.png
new file mode 100644
index 0000000..09773a4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/scid/scidsand/tree-p.png differ
diff --git a/debian/projman/usr/share/projman/theme/ttk_theme_dark.tcl b/debian/projman/usr/share/projman/theme/ttk_theme_dark.tcl
new file mode 100644
index 0000000..4342a93
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/ttk_theme_dark.tcl
@@ -0,0 +1,166 @@
+# black.tcl -
+#
+#   Experimental!
+#
+#  Copyright (c) 2007-2008 Mats Bengtsson
+#
+# $Id: black.tcl,v 1.2 2009/10/25 19:21:30 oberdorfer Exp $
+
+package require Tk
+
+namespace eval ttk::theme::dark {
+    variable version 0.0.1
+    variable dir [file dirname [info script]]
+    
+    package provide ttk::theme::dark $version
+    
+    # NB: These colors must be in sync with the ones in black.rdb
+    
+    variable colors
+    array set colors {
+        -disabledfg "#a9a9a9"
+        -frame      "#1e1e1e"
+        -lightframe "#3d3d3d"
+        -dark       "#222222"
+        -darker     "#121212"
+        -darkest    "#000000"
+        -lighter    "#626262"
+        -lightest   "#ffffff"
+        -selectbg   "#4a6984"
+        -selectfg   "#ffffff"
+        -foreground "#cecbc9"
+    }
+    
+    ttk::style theme create dark -parent clam -settings {
+        
+        # -----------------------------------------------------------------
+        # Theme defaults
+        #
+        ttk::style configure . \
+        -background $colors(-frame) \
+        -foreground #ffffff \
+        -bordercolor $colors(-darkest) \
+        -darkcolor $colors(-dark) \
+        -lightcolor $colors(-lighter) \
+        -troughcolor $colors(-darker) \
+        -selectbackground $colors(-selectbg) \
+        -selectforeground $colors(-selectfg) \
+        -selectborderwidth 0 \
+        -font "{Droid Sans Mono} 10" 
+        
+        ttk::style map "." \
+        -background [list disabled $colors(-frame) \
+        active $colors(-lighter)] \
+        -foreground [list disabled $colors(-disabledfg)] \
+        -selectbackground [list  !focus $colors(-darkest)] \
+        -selectforeground [list  !focus #ffffff]
+        
+        # ttk widgets.
+        ttk::style configure TButton \
+        -width -8 -padding {5 1} -relief link
+        ttk::style configure TMenubutton \
+        -width -11 -padding {5 1} -relief raised
+        ttk::style configure TCheckbutton \
+        -indicatorbackground "#ffffff" -indicatormargin {1 1 4 1}
+        ttk::style configure TRadiobutton \
+        -indicatorbackground "#ffffff" -indicatormargin {1 1 4 1}
+        
+        # ttk::style configure TEntry -fieldbackground #ffffff -foreground #000000 -padding {2 0}
+        ttk::style configure TEntry -fieldbackground $colors(-lightframe) -foreground #ffffff -padding {2 0}
+        
+        ttk::style configure TCombobox \
+        -fieldbackground $colors(-lightframe) \
+        -foreground #ffffff \
+        -padding {2 0}
+        ttk::style configure TSpinbox \
+        -fieldbackground $colors(-lightframe) \
+        -foreground #ffffff
+        
+        ttk::style configure TNotebook.Tab \
+        -padding {6 2 6 2}
+        
+        #ttk::style configure TPanedwindow -fieldbackground #ffffff -foreground #000000
+        #ttk::style configure TPanedwindow -background red -foreground blue
+        
+        # tk widgets.
+        ttk::style map Menu \
+        -background [list active $colors(-lighter)] \
+        -foreground [list disabled $colors(-disabledfg)]
+        
+        ttk::style configure Treeview \
+        -background $colors(-lightframe) -itembackground {gray60 gray50} \
+        -itemfill #ffffff -itemaccentfill yellow \
+        -fieldbackground $colors(-lightframe)
+        
+        ttk::style configure Text \
+        -linemapbg [list active $colors(-frame)]\
+        -linemapbg [list active $colors(-disabledfg)]\
+        -background [list active $colors(-lighter)] \
+        -foreground [list disabled $colors(-disabledfg)]
+        
+        ttk::style configure TLabel -foreground  $colors(-disabledfg)  -padding {2 0}
+       
+        #         ttk::style configure TreeCtrl \
+        #         -background gray30 -itembackground {gray60 gray50} \
+        #         -itemfill #ffffff -itemaccentfill yellow
+        option add *Toplevel.Background $colors(-dark) interactive
+        option add *Text.Foreground $colors(-foreground) interactive
+        option add *Text.Background $colors(-frame) interactive
+        
+        # option add *Text.Insertbackground yellow interactive
+        # option add *Text.BorderWidth -2 interactive
+        # option add *Text.selectBorderWidth -2 interactive
+        # option add *Text.Relief flat interactive
+        option add *Text.Font "{Noto Sans Mono} 10" interactive
+        #option add *BorderWidth -2 interactive
+    }
+    #option add *Treeview.Background red interactive
+    #     option add *Frame.Background $colors(-frame) interactive
+    #     option add *Label.Background $colors(-frame) interactive
+    #     option add *Label.Foreground $colors(-foreground) interactive
+    #     option add *Entry.Background $colors(-frame) interactive
+    #     option add *Entry.Foreground $colors(-foreground) interactive
+}
+
+# A few tricks for Tablelist.
+
+namespace eval ::tablelist:: {
+    proc blackTheme {} {
+        variable themeDefaults
+        
+        array set colors [array get ttk::theme::dark::colors]
+        
+        array set themeDefaults [list \
+        -background      "#000000" \
+        -foreground      "#ffffff" \
+        -disabledforeground $colors(-disabledfg) \
+        -stripebackground      "#191919" \
+        -selectbackground      "#4a6984" \
+        -selectforeground      "#8b8b00" \
+        -selectborderwidth 0 \
+        -font        TkTextFont \
+        -labelbackground    $colors(-frame) \
+        -labeldisabledBg    "#dcdad5" \
+        -labelactiveBg    "#eeebe7" \
+        -labelpressedBg    "#eeebe7" \
+        -labelforeground    #ffffff \
+        -labeldisabledFg    "#999999" \
+        -labelactiveFg    #ffffff \
+        -labelpressedFg    #ffffff \
+        -labelfont    TkDefaultFont \
+        -labelborderwidth    2 \
+        -labelpady    1 \
+        -arrowcolor    "" \
+        -arrowstyle    sunken10x9 ]
+    }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru.tcl b/debian/projman/usr/share/projman/theme/yaru/yaru.tcl
new file mode 100644
index 0000000..08c22da
--- /dev/null
+++ b/debian/projman/usr/share/projman/theme/yaru/yaru.tcl
@@ -0,0 +1,417 @@
+# Copyright (c) 2021 rdbende
+# Copyright (c) 2020 RedFantom
+# Derived from Ubuntu Yaru theme, Copyright (c) 2018-2020 The Yaru theme authors
+# See  for a list of authors for the Yaru theme
+
+package require Tk 8.6
+
+namespace eval ttk::theme::yaru {
+
+    variable version 1.2
+    package provide ttk::theme::yaru $version
+    variable colors
+    array set colors {
+        -fg             "#3d3d3d"
+        -bg             "#f7f7f7"
+        -disabledfg     "#8b8e8f"
+        -disabledbg     "#f7f7f7"
+        -selectfg       "#f7f7f7"
+        -selectbg       "#e95420"
+    }
+
+    proc LoadImages {imgdir} {
+        variable I
+        foreach file [glob -directory $imgdir *.png] {
+            set img [file tail [file rootname $file]]
+            set I($img) [image create photo -file $file -format png]
+        }
+    }
+
+    LoadImages [file join [file dirname [info script]] yaru]
+
+    # Settings
+    ttk::style theme create yaru -parent default -settings {
+        ttk::style configure . \
+            -background $colors(-bg) \
+            -foreground $colors(-fg) \
+            -troughcolor $colors(-bg) \
+            -focuscolor $colors(-selectbg) \
+            -selectbackground $colors(-selectbg) \
+            -selectforeground $colors(-selectfg) \
+            -fieldbackground $colors(-selectbg) \
+            -font TkDefaultFont \
+            -borderwidth 1 \
+            -relief flat
+
+        ttk::style map . -foreground [list disabled $colors(-disabledfg)]
+
+        tk_setPalette background [ttk::style lookup . -background] \
+            foreground [ttk::style lookup . -foreground] \
+            highlightColor [ttk::style lookup . -focuscolor] \
+            selectBackground [ttk::style lookup . -selectbackground] \
+            selectForeground [ttk::style lookup . -selectforeground] \
+            activeBackground [ttk::style lookup . -selectbackground] \
+            activeForeground [ttk::style lookup . -selectforeground]
+        option add *font [ttk::style lookup . -font]
+
+
+        # Layouts
+        ttk::style layout TButton {
+            Button.button -children {
+                Button.padding -children {
+                    Button.label -side left -expand true
+                } 
+            }
+        }
+
+        ttk::style layout Toolbutton {
+            Toolbutton.button -children {
+                Toolbutton.padding -children {
+                    Toolbutton.label -side left -expand true
+                } 
+            }
+        }
+
+        ttk::style layout TMenubutton {
+            Menubutton.button -children {
+                Menubutton.padding -children {
+                    Menubutton.indicator -side right
+                    Menubutton.label -side right -expand true
+                }
+            }
+        }
+
+        ttk::style layout TOptionMenu {
+            OptionMenu.button -children {
+                OptionMenu.padding -children {
+                    OptionMenu.indicator -side right
+                    OptionMenu.label -side right -expand true
+                }
+            }
+        }
+
+        ttk::style layout TCheckbutton {
+            Checkbutton.button -children {
+                Checkbutton.padding -children {
+                    Checkbutton.indicator -side left
+                    Checkbutton.label -side right -expand true
+                }
+            }
+        }
+
+        ttk::style layout TRadiobutton {
+            Radiobutton.button -children {
+                Radiobutton.padding -children {
+                    Radiobutton.indicator -side left
+                    Radiobutton.label -side right -expand true
+                }
+            }
+        }
+
+        ttk::style layout Vertical.TScrollbar {
+            Vertical.Scrollbar.trough -sticky ns -children {
+                Vertical.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout Horizontal.TScrollbar {
+            Horizontal.Scrollbar.trough -sticky ew -children {
+                Horizontal.Scrollbar.thumb -expand true
+            }
+        }
+
+        ttk::style layout TCombobox {
+            Combobox.field -children {
+                Combobox.downarrow -side right -sticky {}
+                Combobox.padding -expand 1 -children {
+                    Combobox.textarea
+                }
+            }
+        }
+
+        ttk::style layout TSpinbox {
+            Spinbox.field -children {
+                null -side right -children {
+                	Spinbox.uparrow -side top -sticky e
+                	Spinbox.downarrow -side bottom -sticky s
+                }
+                Spinbox.padding -expand 0 -children {
+                    Spinbox.textarea
+                }
+            }
+        }
+
+        ttk::style layout Horizontal.TSeparator {
+            Horizontal.separator -sticky nswe
+        }
+
+        ttk::style layout Vertical.TSeparator {
+            Vertical.separator -sticky nswe
+        }
+
+        ttk::style layout TLabelframe {
+            Labelframe.border {
+                Labelframe.padding -expand 1 -children {
+                    Labelframe.label -side right
+                }
+            }
+        }
+
+        ttk::style layout TNotebook.Tab {
+            Notebook.tab -children {
+                Notebook.padding -side top -children {
+                    Notebook.label -side top -sticky {}
+                }
+            }
+        }        
+
+        ttk::style layout Treeview.Item {
+            Treeitem.padding -sticky nswe -children {
+                Treeitem.indicator -side left -sticky {}
+                Treeitem.image -side left -sticky {}
+                Treeitem.text -side left -sticky {}
+            }
+        }
+
+        # Button
+        ttk::style configure TButton -padding 4 -width 10 -anchor center
+
+        ttk::style element create Button.button \
+            image [list $I(button-basic) \
+                disabled $I(button-disabled) \
+                pressed $I(button-pressed) \
+                active $I(button-basic) \
+            ] -border 4 -sticky news
+
+        # Toolbutton
+        ttk::style configure Toolbutton -padding 4 -width 10 -anchor center
+
+        ttk::style element create Toolbutton.button \
+            image [list $I(empty) \
+                disabled $I(empty) \
+                pressed $I(button-pressed) \
+                active $I(button-pressed) \
+            ] -border 4 -sticky news
+
+        # Menubutton
+        ttk::style configure TMenubutton -padding 4
+
+        ttk::style element create Menubutton.button \
+            image [list $I(button-basic) \
+                disabled $I(button-disabled) \
+                pressed $I(button-pressed) \
+                active $I(button-basic) \
+            ] -border 4 -sticky news 
+
+        ttk::style element create Menubutton.indicator image $I(arrow-down-basic) -width 25 -sticky e
+
+        # OptionMenu
+        ttk::style configure TOptionMenu -padding 4
+
+        ttk::style element create OptionMenu.button \
+            image [list $I(button-basic) \
+                disabled $I(button-disabled) \
+                pressed $I(button-pressed) \
+                active $I(button-basic) \
+            ] -border 4 -sticky news
+
+        ttk::style element create OptionMenu.indicator image $I(arrow-down-basic) -width 25 -sticky e
+
+        # Checkbutton
+        ttk::style configure TCheckbutton -padding 4
+
+        ttk::style element create Checkbutton.indicator \
+            image [list $I(checkbox-basic) \
+            	disabled $I(checkbox-basic) \
+                {selected disabled} $I(checkbox-selected-dis) \
+                {pressed selected} $I(checkbox-selected) \
+                {active selected} $I(checkbox-selected) \
+                selected $I(checkbox-selected) \
+                {pressed !selected} $I(checkbox-basic) \
+                active $I(checkbox-basic) \
+            ] -width 20 -sticky w
+
+        # Radiobutton
+        ttk::style configure TRadiobutton -padding 4
+
+        ttk::style element create Radiobutton.indicator \
+            image [list $I(radio-basic) \
+            	disabled $I(radio-basic) \
+                {selected disabled} $I(radio-selected-dis) \
+                {pressed selected} $I(radio-selected) \
+                {active selected} $I(radio-selected) \
+                selected $I(radio-selected) \
+                {pressed !selected} $I(radio-basic) \
+                active $I(radio-basic) \
+            ] -width 20 -sticky w
+
+        # Scrollbar
+        ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-hor-trough) \
+        	-border 2 -sticky ew
+
+        ttk::style element create Horizontal.Scrollbar.thumb \
+             image [list $I(scrollbar-hor-gray) \
+                disabled $I(scrollbar-hor-gray) \
+                pressed $I(scrollbar-hor-orange) \
+                active $I(scrollbar-hor-orange) \
+            ] -border 1 -sticky ew
+
+        ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-vert-trough) \
+        	-border 2 -sticky ns
+
+        ttk::style element create Vertical.Scrollbar.thumb \
+            image [list $I(scrollbar-vert-gray) \
+                disabled $I(scrollbar-vert-gray) \
+                pressed $I(scrollbar-vert-orange) \
+                active $I(scrollbar-vert-orange) \
+            ] -border 1 -sticky ns
+
+        # Scale
+        ttk::style element create Horizontal.Scale.trough \
+        	image [ list $I(scale-trough) \
+        		disabled $I(scale-trough-disabled)
+        	] -border 9 -padding 0
+
+        ttk::style element create Horizontal.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider) \
+                pressed $I(scale-slider-hover) \
+                active $I(scale-slider-hover) \
+            ] -sticky news
+
+        ttk::style element create Vertical.Scale.trough \
+        	image [ list $I(scale-trough) \
+        		disabled $I(scale-trough-disabled)
+        	] -border 9 -padding 0
+
+        ttk::style element create Vertical.Scale.slider \
+            image [list $I(scale-slider) \
+                disabled $I(scale-slider) \
+                pressed $I(scale-slider-hover) \
+                active $I(scale-slider-hover) \
+            ] -sticky news
+
+        # Progressbar
+        ttk::style element create Horizontal.Progressbar.trough image $I(progressbar-trough-hor) \
+            -border 2 -sticky ew
+
+        ttk::style element create Horizontal.Progressbar.pbar image $I(progressbar-hor) \
+            -border 2 -sticky ew
+
+        ttk::style element create Vertical.Progressbar.trough image $I(progressbar-trough-hor) \
+            -border 2 -sticky ns
+
+        ttk::style element create Vertical.Progressbar.pbar image $I(progressbar-hor) \
+            -border 2 -sticky ns
+
+        # Entry
+        ttk::style element create Entry.field \
+            image [list $I(entry-basic) \
+                {focus hover} $I(entry-focus) \
+                invalid $I(entry-focus) \
+                disabled $I(entry-disabled) \
+                focus $I(entry-focus) \
+                hover $I(entry-basic) \
+            ] -border 4 -padding 8 -sticky news
+
+        # Combobox
+        ttk::style map TCombobox -selectbackground [list \
+            {!focus} $colors(-selectbg) \
+            {readonly hover} $colors(-selectbg) \
+            {readonly focus} $colors(-selectbg)]
+            
+        ttk::style map TCombobox -selectforeground [list \
+            {!focus} $colors(-selectfg) \
+            {readonly hover} $colors(-selectfg) \
+            {readonly focus} $colors(-selectfg)]
+
+        ttk::style element create Combobox.field \
+            image [list $I(entry-basic) \
+                {readonly disabled} $I(button-disabled) \
+                {readonly pressed} $I(button-pressed) \
+                {readonly focus hover} $I(button-basic) \
+                {readonly focus} $I(button-basic) \
+                {readonly hover} $I(button-basic) \
+                {focus hover} $I(entry-focus) \
+                readonly $I(button-basic) \
+                disabled $I(entry-disabled) \
+                focus $I(entry-focus) \
+                hover $I(entry-basic) \
+            ] -border 4 -padding 8
+
+        ttk::style element create Combobox.downarrow image $I(arrow-down-basic) \
+        	-width 25 -sticky e
+
+        # Spinbox
+        ttk::style element create Spinbox.field \
+            image [list $I(entry-basic) \
+                disabled $I(entry-disabled) \
+                focus $I(entry-focus) \
+                hover $I(entry-basic) \
+            ] -border 4 -padding 8 -sticky news
+
+        ttk::style element create Spinbox.uparrow \
+            image [list $I(arrow-up-basic) \
+                disabled $I(arrow-up-hover) \
+                pressed $I(arrow-up-hover) \
+                active $I(arrow-up-hover) \
+            ] -width 15 -sticky e
+
+        ttk::style element create Spinbox.downarrow \
+            image [list $I(arrow-down-basic) \
+                disabled $I(arrow-down-hover) \
+                pressed $I(arrow-down-hover) \
+                active $I(arrow-down-hover) \
+            ] -width 15 -sticky e
+
+        # Sizegrip
+        ttk::style element create Sizegrip.sizegrip image $I(sizegrip) \
+        	-sticky news
+
+        # Separator
+        ttk::style element create Horizontal.separator image $I(separator)
+
+        ttk::style element create Vertical.separator image $I(separator)
+
+        # Labelframe
+        ttk::style element create Labelframe.border image $I(checkbox-basic) \
+            -border 4 -padding 4 -sticky news
+        
+        # Notebook
+        ttk::style element create Notebook.client \
+            image $I(checkbox-basic) -border 4
+
+        ttk::style element create Notebook.tab \
+            image [list $I(tab-basic) \
+                selected $I(tab-current) \
+                active $I(tab-hover) \
+            ] -border 6 -padding {14 10} -sticky news
+
+        # Treeview
+        ttk::style element create Treeview.field image $I(checkbox-basic) \
+            -border 4
+
+        ttk::style element create Treeheading.cell \
+            image [list $I(tree-basic) \
+                pressed $I(tree-pressed)
+            ] -border 10 -padding 4 -sticky news
+        
+        ttk::style element create Treeitem.indicator \
+            image [list $I(plus) \
+                user2 $I(empty) \
+                user1 $I(minus) \
+            ] -width 15 -sticky w
+
+        ttk::style configure Treeview -background $colors(-bg)
+        ttk::style configure Treeview.Item
+        ttk::style map Treeview \
+            -background [list selected $colors(-selectbg)] \
+            -foreground [list selected $colors(-selectfg)]
+
+        # Sashes
+        ttk::style configure TPanedwindow \
+            -width 1 -padding 0
+        ttk::style map TPanedwindow \
+            -background [list hover $colors(-bg)]
+    }
+}
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-basic.png
new file mode 100644
index 0000000..dc3522b
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-hover.png b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-hover.png
new file mode 100644
index 0000000..23fa671
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-down-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-basic.png
new file mode 100644
index 0000000..b8591f0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-hover.png b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-hover.png
new file mode 100644
index 0000000..9225437
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/arrow-up-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/button-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/button-basic.png
new file mode 100644
index 0000000..f933953
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/button-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/button-disabled.png b/debian/projman/usr/share/projman/theme/yaru/yaru/button-disabled.png
new file mode 100644
index 0000000..da03c22
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/button-disabled.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/button-pressed.png b/debian/projman/usr/share/projman/theme/yaru/yaru/button-pressed.png
new file mode 100644
index 0000000..681fc3a
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/button-pressed.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-basic.png
new file mode 100644
index 0000000..810a330
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected-dis.png b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected-dis.png
new file mode 100644
index 0000000..396974d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected-dis.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected.png b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected.png
new file mode 100644
index 0000000..186ca0d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/checkbox-selected.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/empty.png b/debian/projman/usr/share/projman/theme/yaru/yaru/empty.png
new file mode 100644
index 0000000..202e3de
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/empty.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/entry-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-basic.png
new file mode 100644
index 0000000..f933953
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/entry-disabled.png b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-disabled.png
new file mode 100644
index 0000000..188349f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-disabled.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/entry-focus.png b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-focus.png
new file mode 100644
index 0000000..585a749
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-focus.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/entry-hover.png b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-hover.png
new file mode 100644
index 0000000..357fbf4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/entry-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/minus.png b/debian/projman/usr/share/projman/theme/yaru/yaru/minus.png
new file mode 100644
index 0000000..8e96a79
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/minus.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/plus.png b/debian/projman/usr/share/projman/theme/yaru/yaru/plus.png
new file mode 100644
index 0000000..446ff48
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/plus.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-hor.png b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-hor.png
new file mode 100644
index 0000000..f0b9a23
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-hor.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-hor.png b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-hor.png
new file mode 100644
index 0000000..bdbf1bc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-hor.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-vert.png b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-vert.png
new file mode 100644
index 0000000..d89da50
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-trough-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-vert.png b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-vert.png
new file mode 100644
index 0000000..6e40e6f
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/progressbar-vert.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/radio-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-basic.png
new file mode 100644
index 0000000..221a3b2
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/radio-mix.png b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-mix.png
new file mode 100644
index 0000000..7763ac4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-mix.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected-dis.png b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected-dis.png
new file mode 100644
index 0000000..129e058
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected-dis.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected.png b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected.png
new file mode 100644
index 0000000..aabe1e1
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/radio-selected.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider-hover.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider-hover.png
new file mode 100644
index 0000000..7983e8e
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider.png
new file mode 100644
index 0000000..f3d1115
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-slider.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough-disabled.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough-disabled.png
new file mode 100644
index 0000000..11b8958
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough-disabled.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough.png
new file mode 100644
index 0000000..be2a8bc
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scale-trough.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-gray.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-gray.png
new file mode 100644
index 0000000..c230ec9
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-gray.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-orange.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-orange.png
new file mode 100644
index 0000000..a6d2ecb
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-orange.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-purple.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-purple.png
new file mode 100644
index 0000000..cdecd2d
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-purple.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-trough.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-trough.png
new file mode 100644
index 0000000..3ca9c66
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-hor-trough.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-gray.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-gray.png
new file mode 100644
index 0000000..6f3966c
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-gray.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-orange.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-orange.png
new file mode 100644
index 0000000..c597d67
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-orange.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-purple.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-purple.png
new file mode 100644
index 0000000..7853073
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-purple.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-trough.png b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-trough.png
new file mode 100644
index 0000000..b124e24
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/scrollbar-vert-trough.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/separator.png b/debian/projman/usr/share/projman/theme/yaru/yaru/separator.png
new file mode 100644
index 0000000..d446e27
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/separator.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/sizegrip.png b/debian/projman/usr/share/projman/theme/yaru/yaru/sizegrip.png
new file mode 100644
index 0000000..3d1a712
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/sizegrip.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/tab-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-basic.png
new file mode 100644
index 0000000..80880b6
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/tab-current.png b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-current.png
new file mode 100644
index 0000000..b4bd334
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-current.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/tab-hover.png b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-hover.png
new file mode 100644
index 0000000..fef2099
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/tab-hover.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/tree-basic.png b/debian/projman/usr/share/projman/theme/yaru/yaru/tree-basic.png
new file mode 100644
index 0000000..1b7e0e4
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/tree-basic.png differ
diff --git a/debian/projman/usr/share/projman/theme/yaru/yaru/tree-pressed.png b/debian/projman/usr/share/projman/theme/yaru/yaru/tree-pressed.png
new file mode 100644
index 0000000..2acb4a0
Binary files /dev/null and b/debian/projman/usr/share/projman/theme/yaru/yaru/tree-pressed.png differ
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..dddb0a1
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,47 @@
+#!/usr/bin/make -f
+# debian/rules for alien
+
+PACKAGE=$(shell dh_listpackages)
+
+build:
+	dh_testdir
+
+clean:
+	dh_testdir
+	dh_testroot
+	dh_clean -d
+
+binary-indep: build
+
+binary-arch: build
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+	dh_install
+	dh_installdocs
+	dh_installchangelogs
+# Copy the packages's files.
+#	find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
+#		xargs -0 -r -i cp -a {} debian/$(PACKAGE)
+
+#
+# If you need to move files around in debian/$(PACKAGE) or do some
+# binary patching, do it here
+#
+
+
+# This has been known to break on some wacky binaries.
+#	dh_strip
+	dh_compress
+#	dh_fixperms
+	dh_makeshlibs
+	dh_installdeb
+	-dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+#	dh_link
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/img/archive.png b/img/archive.png
deleted file mode 100644
index 3865f34..0000000
Binary files a/img/archive.png and /dev/null differ
diff --git a/img/back.gif b/img/back.gif
deleted file mode 100644
index 1375542..0000000
Binary files a/img/back.gif and /dev/null differ
diff --git a/img/books.gif b/img/books.gif
deleted file mode 100644
index bc5a268..0000000
Binary files a/img/books.gif and /dev/null differ
diff --git a/img/c.gif b/img/c.gif
deleted file mode 100644
index 4577b01..0000000
Binary files a/img/c.gif and /dev/null differ
diff --git a/img/caml.gif b/img/caml.gif
deleted file mode 100644
index 0564329..0000000
Binary files a/img/caml.gif and /dev/null differ
diff --git a/img/class.gif b/img/class.gif
deleted file mode 100644
index 3f716e3..0000000
Binary files a/img/class.gif and /dev/null differ
diff --git a/img/close.gif b/img/close.gif
deleted file mode 100644
index d538353..0000000
Binary files a/img/close.gif and /dev/null differ
diff --git a/img/close.png b/img/close.png
deleted file mode 100644
index d1111eb..0000000
Binary files a/img/close.png and /dev/null differ
diff --git a/img/close_16x16.png b/img/close_16x16.png
deleted file mode 100644
index 4d8f760..0000000
Binary files a/img/close_16x16.png and /dev/null differ
diff --git a/img/color/archive.gif b/img/color/archive.gif
deleted file mode 100644
index ff40c60..0000000
Binary files a/img/color/archive.gif and /dev/null differ
diff --git a/img/color/archive.png b/img/color/archive.png
deleted file mode 100644
index da8371f..0000000
Binary files a/img/color/archive.png and /dev/null differ
diff --git a/img/color/back.gif b/img/color/back.gif
deleted file mode 100644
index 1375542..0000000
Binary files a/img/color/back.gif and /dev/null differ
diff --git a/img/color/books.gif b/img/color/books.gif
deleted file mode 100644
index bc5a268..0000000
Binary files a/img/color/books.gif and /dev/null differ
diff --git a/img/color/c.gif b/img/color/c.gif
deleted file mode 100644
index 4577b01..0000000
Binary files a/img/color/c.gif and /dev/null differ
diff --git a/img/color/caml.gif b/img/color/caml.gif
deleted file mode 100644
index 0564329..0000000
Binary files a/img/color/caml.gif and /dev/null differ
diff --git a/img/color/class.gif b/img/color/class.gif
deleted file mode 100644
index 3f716e3..0000000
Binary files a/img/color/class.gif and /dev/null differ
diff --git a/img/color/close.gif b/img/color/close.gif
deleted file mode 100644
index 7bf1cd6..0000000
Binary files a/img/color/close.gif and /dev/null differ
diff --git a/img/color/close.png b/img/color/close.png
deleted file mode 100644
index 2db97f5..0000000
Binary files a/img/color/close.png and /dev/null differ
diff --git a/img/color/color_selector.gif b/img/color/color_selector.gif
deleted file mode 100644
index d0a911b..0000000
Binary files a/img/color/color_selector.gif and /dev/null differ
diff --git a/img/color/copy.gif b/img/color/copy.gif
deleted file mode 100644
index 8bef3c7..0000000
Binary files a/img/color/copy.gif and /dev/null differ
diff --git a/img/color/copy.png b/img/color/copy.png
deleted file mode 100644
index 15bcb54..0000000
Binary files a/img/color/copy.png and /dev/null differ
diff --git a/img/color/cpp.gif b/img/color/cpp.gif
deleted file mode 100644
index 49b75c8..0000000
Binary files a/img/color/cpp.gif and /dev/null differ
diff --git a/img/color/cut.gif b/img/color/cut.gif
deleted file mode 100644
index c489bda..0000000
Binary files a/img/color/cut.gif and /dev/null differ
diff --git a/img/color/cut.png b/img/color/cut.png
deleted file mode 100644
index 52360a0..0000000
Binary files a/img/color/cut.png and /dev/null differ
diff --git a/img/color/cvs_in.gif b/img/color/cvs_in.gif
deleted file mode 100644
index 32148e8..0000000
Binary files a/img/color/cvs_in.gif and /dev/null differ
diff --git a/img/color/cvs_out.gif b/img/color/cvs_out.gif
deleted file mode 100644
index 22928ee..0000000
Binary files a/img/color/cvs_out.gif and /dev/null differ
diff --git a/img/color/doit.gif b/img/color/doit.gif
deleted file mode 100644
index 2ff9dc0..0000000
Binary files a/img/color/doit.gif and /dev/null differ
diff --git a/img/color/doit.png b/img/color/doit.png
deleted file mode 100644
index 3ee5d68..0000000
Binary files a/img/color/doit.png and /dev/null differ
diff --git a/img/color/doit_file.gif b/img/color/doit_file.gif
deleted file mode 100644
index 70c1f32..0000000
Binary files a/img/color/doit_file.gif and /dev/null differ
diff --git a/img/color/doit_file.png b/img/color/doit_file.png
deleted file mode 100644
index 3ee5d68..0000000
Binary files a/img/color/doit_file.png and /dev/null differ
diff --git a/img/color/file.gif b/img/color/file.gif
deleted file mode 100644
index c64635c..0000000
Binary files a/img/color/file.gif and /dev/null differ
diff --git a/img/color/folder.gif b/img/color/folder.gif
deleted file mode 100644
index 262aed5..0000000
Binary files a/img/color/folder.gif and /dev/null differ
diff --git a/img/color/font_selector.gif b/img/color/font_selector.gif
deleted file mode 100644
index 5bb9b3e..0000000
Binary files a/img/color/font_selector.gif and /dev/null differ
diff --git a/img/color/fortran.gif b/img/color/fortran.gif
deleted file mode 100644
index 111dec4..0000000
Binary files a/img/color/fortran.gif and /dev/null differ
diff --git a/img/color/forward.gif b/img/color/forward.gif
deleted file mode 100644
index 9b56ebb..0000000
Binary files a/img/color/forward.gif and /dev/null differ
diff --git a/img/color/gtk-floppy.png b/img/color/gtk-floppy.png
deleted file mode 100644
index 2e26b56..0000000
Binary files a/img/color/gtk-floppy.png and /dev/null differ
diff --git a/img/color/gtk-revert-to-saved.png b/img/color/gtk-revert-to-saved.png
deleted file mode 100644
index 3295025..0000000
Binary files a/img/color/gtk-revert-to-saved.png and /dev/null differ
diff --git a/img/color/help.gif b/img/color/help.gif
deleted file mode 100644
index d770ae0..0000000
Binary files a/img/color/help.gif and /dev/null differ
diff --git a/img/color/help.png b/img/color/help.png
deleted file mode 100644
index 6092c21..0000000
Binary files a/img/color/help.png and /dev/null differ
diff --git a/img/color/html.gif b/img/color/html.gif
deleted file mode 100644
index 2a7cd9a..0000000
Binary files a/img/color/html.gif and /dev/null differ
diff --git a/img/color/img.gif b/img/color/img.gif
deleted file mode 100644
index b6c4d8c..0000000
Binary files a/img/color/img.gif and /dev/null differ
diff --git a/img/color/java.gif b/img/color/java.gif
deleted file mode 100644
index 9afd868..0000000
Binary files a/img/color/java.gif and /dev/null differ
diff --git a/img/color/mytcladmin.gif b/img/color/mytcladmin.gif
deleted file mode 100644
index 3701661..0000000
Binary files a/img/color/mytcladmin.gif and /dev/null differ
diff --git a/img/color/new.gif b/img/color/new.gif
deleted file mode 100644
index fa061fa..0000000
Binary files a/img/color/new.gif and /dev/null differ
diff --git a/img/color/new.png b/img/color/new.png
deleted file mode 100644
index 33a93be..0000000
Binary files a/img/color/new.png and /dev/null differ
diff --git a/img/color/new_html.gif b/img/color/new_html.gif
deleted file mode 100644
index 49a3281..0000000
Binary files a/img/color/new_html.gif and /dev/null differ
diff --git a/img/color/new_tcl.gif b/img/color/new_tcl.gif
deleted file mode 100644
index 28ae130..0000000
Binary files a/img/color/new_tcl.gif and /dev/null differ
diff --git a/img/color/new_text.gif b/img/color/new_text.gif
deleted file mode 100644
index e28f263..0000000
Binary files a/img/color/new_text.gif and /dev/null differ
diff --git a/img/color/new_tk.gif b/img/color/new_tk.gif
deleted file mode 100644
index 4d16584..0000000
Binary files a/img/color/new_tk.gif and /dev/null differ
diff --git a/img/color/newfolder.gif b/img/color/newfolder.gif
deleted file mode 100644
index 3a914b4..0000000
Binary files a/img/color/newfolder.gif and /dev/null differ
diff --git a/img/color/open.png b/img/color/open.png
deleted file mode 100644
index 66c7c80..0000000
Binary files a/img/color/open.png and /dev/null differ
diff --git a/img/color/openfold.gif b/img/color/openfold.gif
deleted file mode 100644
index fc8adc5..0000000
Binary files a/img/color/openfold.gif and /dev/null differ
diff --git a/img/color/paste.gif b/img/color/paste.gif
deleted file mode 100644
index bb1b731..0000000
Binary files a/img/color/paste.gif and /dev/null differ
diff --git a/img/color/paste.png b/img/color/paste.png
deleted file mode 100644
index 99dabec..0000000
Binary files a/img/color/paste.png and /dev/null differ
diff --git a/img/color/perl.gif b/img/color/perl.gif
deleted file mode 100644
index b0ae951..0000000
Binary files a/img/color/perl.gif and /dev/null differ
diff --git a/img/color/php.gif b/img/color/php.gif
deleted file mode 100644
index 6af3cfe..0000000
Binary files a/img/color/php.gif and /dev/null differ
diff --git a/img/color/printer.gif b/img/color/printer.gif
deleted file mode 100644
index 96322af..0000000
Binary files a/img/color/printer.gif and /dev/null differ
diff --git a/img/color/printer.png b/img/color/printer.png
deleted file mode 100644
index 57f212d..0000000
Binary files a/img/color/printer.png and /dev/null differ
diff --git a/img/color/proc.gif b/img/color/proc.gif
deleted file mode 100644
index 621fd53..0000000
Binary files a/img/color/proc.gif and /dev/null differ
diff --git a/img/color/projman.gif b/img/color/projman.gif
deleted file mode 100644
index 60b3ce2..0000000
Binary files a/img/color/projman.gif and /dev/null differ
diff --git a/img/color/projman.png b/img/color/projman.png
deleted file mode 100644
index f04e4b4..0000000
Binary files a/img/color/projman.png and /dev/null differ
diff --git a/img/color/redo.png b/img/color/redo.png
deleted file mode 100644
index a3a9e25..0000000
Binary files a/img/color/redo.png and /dev/null differ
diff --git a/img/color/refresh.gif b/img/color/refresh.gif
deleted file mode 100644
index 9b7e599..0000000
Binary files a/img/color/refresh.gif and /dev/null differ
diff --git a/img/color/refresh.png b/img/color/refresh.png
deleted file mode 100644
index d799126..0000000
Binary files a/img/color/refresh.png and /dev/null differ
diff --git a/img/color/rpm.gif b/img/color/rpm.gif
deleted file mode 100644
index 521b468..0000000
Binary files a/img/color/rpm.gif and /dev/null differ
diff --git a/img/color/ruby.gif b/img/color/ruby.gif
deleted file mode 100644
index 2fc6d3a..0000000
Binary files a/img/color/ruby.gif and /dev/null differ
diff --git a/img/color/rvt.gif b/img/color/rvt.gif
deleted file mode 100644
index abe931b..0000000
Binary files a/img/color/rvt.gif and /dev/null differ
diff --git a/img/color/save.gif b/img/color/save.gif
deleted file mode 100644
index b288cfb..0000000
Binary files a/img/color/save.gif and /dev/null differ
diff --git a/img/color/save.png b/img/color/save.png
deleted file mode 100644
index 2e26b56..0000000
Binary files a/img/color/save.png and /dev/null differ
diff --git a/img/color/save_all.gif b/img/color/save_all.gif
deleted file mode 100644
index 3500311..0000000
Binary files a/img/color/save_all.gif and /dev/null differ
diff --git a/img/color/save_all.png b/img/color/save_all.png
deleted file mode 100644
index 0447fb1..0000000
Binary files a/img/color/save_all.png and /dev/null differ
diff --git a/img/color/save_as.gif b/img/color/save_as.gif
deleted file mode 100644
index dd65662..0000000
Binary files a/img/color/save_as.gif and /dev/null differ
diff --git a/img/color/save_as.png b/img/color/save_as.png
deleted file mode 100644
index fae921d..0000000
Binary files a/img/color/save_as.png and /dev/null differ
diff --git a/img/color/tcl.gif b/img/color/tcl.gif
deleted file mode 100644
index 5f81962..0000000
Binary files a/img/color/tcl.gif and /dev/null differ
diff --git a/img/color/tcl_file.gif b/img/color/tcl_file.gif
deleted file mode 100644
index a39dac3..0000000
Binary files a/img/color/tcl_file.gif and /dev/null differ
diff --git a/img/color/tclhtml.gif b/img/color/tclhtml.gif
deleted file mode 100644
index a578d9b..0000000
Binary files a/img/color/tclhtml.gif and /dev/null differ
diff --git a/img/color/tex.gif b/img/color/tex.gif
deleted file mode 100644
index 5a2e794..0000000
Binary files a/img/color/tex.gif and /dev/null differ
diff --git a/img/color/text.gif b/img/color/text.gif
deleted file mode 100644
index c64635c..0000000
Binary files a/img/color/text.gif and /dev/null differ
diff --git a/img/color/tk.gif b/img/color/tk.gif
deleted file mode 100644
index a7ce73b..0000000
Binary files a/img/color/tk.gif and /dev/null differ
diff --git a/img/color/tk_file.gif b/img/color/tk_file.gif
deleted file mode 100644
index a7ce73b..0000000
Binary files a/img/color/tk_file.gif and /dev/null differ
diff --git a/img/color/top.gif b/img/color/top.gif
deleted file mode 100644
index 76b4cab..0000000
Binary files a/img/color/top.gif and /dev/null differ
diff --git a/img/color/undo.png b/img/color/undo.png
deleted file mode 100644
index 75ad305..0000000
Binary files a/img/color/undo.png and /dev/null differ
diff --git a/img/color/xml.gif b/img/color/xml.gif
deleted file mode 100644
index b76c025..0000000
Binary files a/img/color/xml.gif and /dev/null differ
diff --git a/img/color_selector.gif b/img/color_selector.gif
deleted file mode 100644
index d0a911b..0000000
Binary files a/img/color_selector.gif and /dev/null differ
diff --git a/img/copy.png b/img/copy.png
deleted file mode 100644
index 9e74547..0000000
Binary files a/img/copy.png and /dev/null differ
diff --git a/img/cpp.gif b/img/cpp.gif
deleted file mode 100644
index 49b75c8..0000000
Binary files a/img/cpp.gif and /dev/null differ
diff --git a/img/cut.png b/img/cut.png
deleted file mode 100644
index 993486f..0000000
Binary files a/img/cut.png and /dev/null differ
diff --git a/img/cvs_in.gif b/img/cvs_in.gif
deleted file mode 100644
index 32148e8..0000000
Binary files a/img/cvs_in.gif and /dev/null differ
diff --git a/img/cvs_out.gif b/img/cvs_out.gif
deleted file mode 100644
index 22928ee..0000000
Binary files a/img/cvs_out.gif and /dev/null differ
diff --git a/img/del_project.png b/img/del_project.png
deleted file mode 100644
index a979b75..0000000
Binary files a/img/del_project.png and /dev/null differ
diff --git a/img/doit.png b/img/doit.png
deleted file mode 100644
index 4c2521d..0000000
Binary files a/img/doit.png and /dev/null differ
diff --git a/img/doit_file.png b/img/doit_file.png
deleted file mode 100644
index 4d93ad6..0000000
Binary files a/img/doit_file.png and /dev/null differ
diff --git a/img/file.gif b/img/file.gif
deleted file mode 100644
index c64635c..0000000
Binary files a/img/file.gif and /dev/null differ
diff --git a/img/folder.gif b/img/folder.gif
deleted file mode 100644
index 2013d99..0000000
Binary files a/img/folder.gif and /dev/null differ
diff --git a/img/font_selector.gif b/img/font_selector.gif
deleted file mode 100644
index 5bb9b3e..0000000
Binary files a/img/font_selector.gif and /dev/null differ
diff --git a/img/fortran.gif b/img/fortran.gif
deleted file mode 100644
index 111dec4..0000000
Binary files a/img/fortran.gif and /dev/null differ
diff --git a/img/forward.gif b/img/forward.gif
deleted file mode 100644
index 9b56ebb..0000000
Binary files a/img/forward.gif and /dev/null differ
diff --git a/img/gtk-floppy.png b/img/gtk-floppy.png
deleted file mode 100644
index 31e2352..0000000
Binary files a/img/gtk-floppy.png and /dev/null differ
diff --git a/img/gtk-revert-to-saved.png b/img/gtk-revert-to-saved.png
deleted file mode 100644
index 3295025..0000000
Binary files a/img/gtk-revert-to-saved.png and /dev/null differ
diff --git a/img/help.png b/img/help.png
deleted file mode 100644
index 7b52508..0000000
Binary files a/img/help.png and /dev/null differ
diff --git a/img/html.gif b/img/html.gif
deleted file mode 100644
index 2a7cd9a..0000000
Binary files a/img/html.gif and /dev/null differ
diff --git a/img/icons/large/projman.xpm b/img/icons/large/projman.xpm
deleted file mode 100644
index 27ad420..0000000
--- a/img/icons/large/projman.xpm
+++ /dev/null
@@ -1,148 +0,0 @@
-/* XPM */
-static char * projman_xpm[] = {
-"48 48 97 2",
-"  	c None",
-". 	c #122450",
-"+ 	c #A67D28",
-"@ 	c #715D36",
-"# 	c #FFB310",
-"$ 	c #C48F20",
-"% 	c #3A3C45",
-"& 	c #6B5A38",
-"* 	c #D3981C",
-"= 	c #B58624",
-"- 	c #564D3E",
-"; 	c #26304B",
-"> 	c #F0AA14",
-", 	c #896C30",
-"' 	c #97742C",
-") 	c #61543B",
-"! 	c #675739",
-"~ 	c #2A324A",
-"{ 	c #657096",
-"] 	c #B8BCDB",
-"^ 	c #5F6680",
-"/ 	c #E1A118",
-"( 	c #848DB0",
-"_ 	c #31416A",
-": 	c #4D4840",
-"< 	c #AEB3D2",
-"[ 	c #3C4A73",
-"} 	c #273B72",
-"| 	c #3D5394",
-"1 	c #445897",
-"2 	c #5869A0",
-"3 	c #7380AC",
-"4 	c #6C7AA9",
-"5 	c #394F8F",
-"6 	c #203467",
-"7 	c #6F7A9E",
-"8 	c #324783",
-"9 	c #5268AE",
-"0 	c #8F9AC9",
-"a 	c #B1B6D8",
-"b 	c #6D7EBA",
-"c 	c #5F73B4",
-"d 	c #4B62AB",
-"e 	c #8F96B8",
-"f 	c #555C77",
-"g 	c #2A3B67",
-"h 	c #9DA6CF",
-"i 	c #A4ABD2",
-"j 	c #5B678D",
-"k 	c #28314A",
-"l 	c #6679B7",
-"m 	c #AAB1D5",
-"n 	c #FF0000",
-"o 	c #CE0000",
-"p 	c #595C6B",
-"q 	c #828FC3",
-"r 	c #7484BD",
-"s 	c #BC0000",
-"t 	c #EC0000",
-"u 	c #A50000",
-"v 	c #7D0000",
-"w 	c #5E0000",
-"x 	c #FE0000",
-"y 	c #790000",
-"z 	c #96A0CC",
-"A 	c #FA0000",
-"B 	c #7B89C0",
-"C 	c #FD0000",
-"D 	c #930000",
-"E 	c #3D3E44",
-"F 	c #363A46",
-"G 	c #454342",
-"H 	c #7A6334",
-"I 	c #596DB1",
-"J 	c #475EA5",
-"K 	c #6375B1",
-"L 	c #9E0000",
-"M 	c #364B89",
-"N 	c #7A83A7",
-"O 	c #8895C6",
-"P 	c #243564",
-"Q 	c #A3A9CA",
-"R 	c #192C5B",
-"S 	c #354981",
-"T 	c #4A5A8A",
-"U 	c #435487",
-"V 	c #2F437E",
-"W 	c #2B3F78",
-"X 	c #20315E",
-"Y 	c #99A0C1",
-"Z 	c #979EBF",
-"` 	c #162753",
-" .	c #273761",
-"..	c #1A2C57",
-"+.	c #3E3F44",
-"@.	c #212D4C",
-"#.	c #46547B",
-"                                                                                                ",
-"                                                                        . .                     ",
-"                                                                        . + @ .                 ",
-"                                                                        . + # $ .               ",
-"                                                                          % # # & .             ",
-"                                                            . .           . * # = .             ",
-"                                                            - ;           ; > # $ .             ",
-"                                                            , + .       . + # # ' .             ",
-"                                                            , # ) ) ) ) ) # # # )               ",
-"                                                            ! # # # # # # # # > ~               ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ # # # # # # # $ .               ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ + # # # # # # / .               ",
-"  . { ] ] ] ] ( { { { { { { { { { { { { { { { { { { { { { { { { _ : , * # # # # ~               ",
-"  . { ] ] < [ } | 1 2 3 4 2 2 2 1 | | | | | | | | | | | | | | | 5 6 7 7 + # # # @               ",
-"  . { ] ] { 8 9 0 a 0 b c d d c 9 d d d d d d d d d d d d d d d d d 6 e f > # # = .             ",
-"  . { ] ] g d h i 9 d d d d d d d d d d d d d d d d d d d d d d d d 5 j e ' # # # k             ",
-"  . { ] ] 6 l m 9 d n n n n n o d d d n n n o d d d n o d d d d d d d [ ] p # # # , .           ",
-"  . { ] ] 6 q r d d o s t u v w d d n x v y w d d d n y d d d d d d d [ ] ( = # # / .           ",
-"  . { ] ] 6 z 9 d d d d A v d d d d n v d d d d d d n y d d d d d d d [ ] ] : # # # @ .         ",
-"  . { ] ] 6 r d d d d d n y d d d d n y d d d d d d n y d d d d d d d [ ] ] . * # # / .         ",
-"  . { ] ] 6 B d d d d d n y d d d d n s d d d d d d n s d d d d d d d [ ] ] . @ # # # @ .       ",
-"  . { ] ] 6 b d d d d d n y d d d d C x A n o d d d n t A n n o d d d [ ] ] . . > # # / ~       ",
-"  . { ] ] 6 d d d d d d o w d d d d d D y y w d d d o y y y y w d d d [ ] ] . . , # # # , .     ",
-"  . { ] ] 6 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d [ ] ] .   E # # # # F     ",
-"  . { ] ] 6 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d [ ] ] .   . + # # # $ .   ",
-"  . { ] ] 6 d d n x x x x x x x x x x x x x x x x x x x x x x x o d d [ ] ] .     G # # # # -   ",
-"  . { ] ] 6 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d [ ] ] .     . $ # # # = . ",
-"  . { ] ] 6 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d [ ] ] .       - # @ . = . ",
-"  . { ] ] 6 d d d d d d d d n n n n n o d d n o d d n s d d d d d d d [ ] ] .       . $ .   ) k ",
-"  . { ] ] 6 9 d d d d d d d o s t u v w d d n s d n u d d d d d d d d [ ] ] .         F + ) + . ",
-"  . { ] ] 6 b d d d d d d d d d A v d d d d n t o u d d d d d d d d d [ ] ] .         . % H ~ . ",
-"  . { ] ] 6 l d d d d d d d d d n y d d d d n x o d d d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 B d d d d d d d d d n y d d d d n u o t d d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 q I d d d d d d d d n y d d d d n v d t t d d d d d d d J [ ] ] .                   ",
-"  . { ] ] _ K z d d d d d d d d o w d d d d o w d d L v d d d d d d M { ] ] .                   ",
-"  . { ] ] N } O i r 9 d d d d d d d d d d d d d d d d d d d d d d J P Q ] ] .                   ",
-"  . { ] ] ] { R S T T U V V V V V V V V V V V V V V V V V V V V W X Y ] ] ] .                   ",
-"  . { ] ] ] ] < e e e e e e e e e e e e e e e e e e e e e e e e e ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Q Z Z Z Z Z Z Z Z Z .                   ",
-"  . . . . . . . . . ` Y ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]  ....................                   ",
-"                    . e ] ] ] j [ Y N [ ( j [ Y ] ] ] ] .                                       ",
-"                    . e ] ] Y +.+ { @./  .+.+ { ] ] ] ] .                                       ",
-"  . . . . . . . . . . e ] ] ] #. .Y {  .N #. .Y ] ] ] ] . . . . . . . . . . .                   ",
-"  . [ { { { { { { { { Q ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . [ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { .                   ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   "};
diff --git a/img/icons/large/tkregexp.xpm b/img/icons/large/tkregexp.xpm
deleted file mode 100644
index b58a7a5..0000000
--- a/img/icons/large/tkregexp.xpm
+++ /dev/null
@@ -1,194 +0,0 @@
-/* XPM */
-static char * 2ic_dev_environment_48_xpm[] = {
-"48 48 143 2",
-"  	c None",
-". 	c #122450",
-"+ 	c #A67D28",
-"@ 	c #715D36",
-"# 	c #FFB310",
-"$ 	c #C48F20",
-"% 	c #3A3C45",
-"& 	c #6B5A38",
-"* 	c #D3981C",
-"= 	c #B58624",
-"- 	c #564D3E",
-"; 	c #26304B",
-"> 	c #F0AA14",
-", 	c #896C30",
-"' 	c #97742C",
-") 	c #61543B",
-"! 	c #675739",
-"~ 	c #2A324A",
-"{ 	c #657096",
-"] 	c #B8BCDB",
-"^ 	c #5F6680",
-"/ 	c #E1A118",
-"( 	c #848DB0",
-"_ 	c #31416A",
-": 	c #4D4840",
-"< 	c #AEB3D2",
-"[ 	c #3C4A73",
-"} 	c #273B72",
-"| 	c #3D5394",
-"1 	c #445897",
-"2 	c #5869A0",
-"3 	c #7380AC",
-"4 	c #6C7AA9",
-"5 	c #394F8F",
-"6 	c #203467",
-"7 	c #6F7A9E",
-"8 	c #324783",
-"9 	c #5268AE",
-"0 	c #8F9AC9",
-"a 	c #B1B6D8",
-"b 	c #6D7EBA",
-"c 	c #5F73B4",
-"d 	c #4B62AB",
-"e 	c #8F96B8",
-"f 	c #555C77",
-"g 	c #2A3B67",
-"h 	c #9DA6CF",
-"i 	c #A4ABD2",
-"j 	c #5B678D",
-"k 	c #28314A",
-"l 	c #6679B7",
-"m 	c #AAB1D5",
-"n 	c #787684",
-"o 	c #5667A1",
-"p 	c #A58B5E",
-"q 	c #837B7B",
-"r 	c #595C6B",
-"s 	c #828FC3",
-"t 	c #7484BD",
-"u 	c #B09054",
-"v 	c #9A8567",
-"w 	c #BC954A",
-"x 	c #C79A40",
-"y 	c #6D718E",
-"z 	c #D29F37",
-"A 	c #96A0CC",
-"B 	c #DDA42D",
-"C 	c #E9A923",
-"D 	c #8F8071",
-"E 	c #303648",
-"F 	c #7B89C0",
-"G 	c #675945",
-"H 	c #3C4575",
-"I 	c #373C5E",
-"J 	c #AC802C",
-"K 	c #7A6334",
-"L 	c #DDA025",
-"M 	c #706B90",
-"N 	c #666699",
-"O 	c #625F84",
-"P 	c #534C45",
-"Q 	c #F4AE1A",
-"R 	c #D5991D",
-"S 	c #5E523D",
-"T 	c #F5AE19",
-"U 	c #83747F",
-"V 	c #C69643",
-"W 	c #3D3E44",
-"X 	c #363A46",
-"Y 	c #5C513C",
-"Z 	c #635642",
-"` 	c #BC914C",
-" .	c #ECA921",
-"..	c #E2A52A",
-"+.	c #CF9B3B",
-"@.	c #BB8928",
-"#.	c #464A6C",
-"$.	c #B38D55",
-"%.	c #454342",
-"&.	c #F2AB15",
-"*.	c #374170",
-"=.	c #C99325",
-"-.	c #967E6E",
-";.	c #626C98",
-">.	c #444458",
-",.	c #7F6739",
-"'.	c #735D3E",
-").	c #515687",
-"!.	c #797088",
-"~.	c #636396",
-"{.	c #615541",
-"].	c #444349",
-"^.	c #616294",
-"/.	c #D9A032",
-"(.	c #343E6D",
-"_.	c #353A4D",
-":.	c #B18631",
-"<.	c #323D6B",
-"[.	c #3E3F44",
-"}.	c #705E3D",
-"|.	c #B98A2A",
-"1.	c #596DB1",
-"2.	c #475EA5",
-"3.	c #6375B1",
-"4.	c #364B89",
-"5.	c #7A83A7",
-"6.	c #8895C6",
-"7.	c #243564",
-"8.	c #A3A9CA",
-"9.	c #192C5B",
-"0.	c #354981",
-"a.	c #4A5A8A",
-"b.	c #435487",
-"c.	c #2F437E",
-"d.	c #2B3F78",
-"e.	c #20315E",
-"f.	c #99A0C1",
-"g.	c #979EBF",
-"h.	c #162753",
-"i.	c #273761",
-"j.	c #1A2C57",
-"k.	c #212D4C",
-"l.	c #46547B",
-"                                                                                                ",
-"                                                                        . .                     ",
-"                                                                        . + @ .                 ",
-"                                                                        . + # $ .               ",
-"                                                                          % # # & .             ",
-"                                                            . .           . * # = .             ",
-"                                                            - ;           ; > # $ .             ",
-"                                                            , + .       . + # # ' .             ",
-"                                                            , # ) ) ) ) ) # # # )               ",
-"                                                            ! # # # # # # # # > ~               ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ # # # # # # # $ .               ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ + # # # # # # / .               ",
-"  . { ] ] ] ] ( { { { { { { { { { { { { { { { { { { { { { { { { _ : , * # # # # ~               ",
-"  . { ] ] < [ } | 1 2 3 4 2 2 2 1 | | | | | | | | | | | | | | | 5 6 7 7 + # # # @               ",
-"  . { ] ] { 8 9 0 a 0 b c d d c 9 d d d d d d d d d d d d d d d d d 6 e f > # # = .             ",
-"  . { ] ] g d h i 9 d d d d d d d d d d d d d d d d d d d d d d d d 5 j e ' # # # k             ",
-"  . { ] ] 6 l m 9 d d d d d d d n d o p q d d d d d d d d d d d d d d [ ] r # # # , .           ",
-"  . { ] ] 6 s t d d d d d d d u # v w # x y z n d d d d d d d d d d d [ ] ( = # # / .           ",
-"  . { ] ] 6 A 9 d d d d n # v B # $ > # # C # D d d d d d d d d d d d [ ] ] : # # # @ .         ",
-"  . { ] ] 6 t d d d d d z # # # $ E $ # # # # z q p o d d d d d d d d [ ] ] . * # # / .         ",
-"  . { ] ] 6 F d d d d d u # # / & G H H I & , : * # D d d d d d d d d [ ] ] . @ # # # @ .       ",
-"  . { ] ] 6 b d d d x u # # J K L M N N N O P K > Q d d d d d d d d d [ ] ] . . > # # / ~       ",
-"  . { ] ] 6 d d d d # # # R S # T M N N N N U & / # x z n d d d d d d [ ] ] . . , # # # , .     ",
-"  . { ] ] 6 d d d d w $ ' S > # # V N N N N N L K # # # D d d d d d d [ ] ] .   W # # # # X     ",
-"  . { ] ] 6 d d d d n , Y Z ` `  .# ..* ` U +.# K # # q d d d d d d d [ ] ] .   . + # # # $ .   ",
-"  . { ] ] 6 d d d x # # @.#.N N N $.' . $ # # # = + $ x n o d d d d d [ ] ] .     %.# # # # -   ",
-"  . { ] ] 6 d d d z # # &.*.N N N M =., L -.`  .$ : E # # y d d d d d [ ] ] .     . $ # # # = . ",
-"  . { ] ] 6 d d d ;.n # # >.N N N N +.V M N N M ,.* $ p n d d d d d d [ ] ] .       - # @ . = . ",
-"  . { ] ] 6 d d d d d Q # '.).N N !.# $.N N N ~.{.# # p d d d d d d d [ ] ] .       . $ .   ) k ",
-"  . { ] ] 6 9 d d d D # # &.].^.N /.# $.N N N (.* # # # v d d d d d d [ ] ] .         X + ) + . ",
-"  . { ] ] 6 b d d d Q Q # > = _.:.# # +.N ^.<.+ # # u D ;.d d d d d d [ ] ] .         . % K ~ . ",
-"  . { ] ] 6 l d d d d d z $ [.$ + K K , }.[.' # # # x d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 F d d d d d # C |.> # # # # # E ' # w w B d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 s 1.d d d d p o q # # # # # # # # u d d d d d d d d d d 2.[ ] ] .                   ",
-"  . { ] ] _ 3.A d d d d d d p # n ;.# B n u # z d d d d d d d d d d 4.{ ] ] .                   ",
-"  . { ] ] 5.} 6.i t 9 d d d o D d o x D d o p ;.d d d d d d d d d 2.7.8.] ] .                   ",
-"  . { ] ] ] { 9.0.a.a.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.e.f.] ] ] .                   ",
-"  . { ] ] ] ] < e e e e e e e e e e e e e e e e e e e e e e e e e ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 8.g.g.g.g.g.g.g.g.g..                   ",
-"  . . . . . . . . . h.f.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] i.j.j.j.j.j.j.j.j.j..                   ",
-"                    . e ] ] ] j [ f.5.[ ( j [ f.] ] ] ] .                                       ",
-"                    . e ] ] f.[.+ { k./ i.[.+ { ] ] ] ] .                                       ",
-"  . . . . . . . . . . e ] ] ] l.i.f.{ i.5.l.i.f.] ] ] ] . . . . . . . . . . .                   ",
-"  . [ { { { { { { { { 8.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . [ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { .                   ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   "};
diff --git a/img/icons/mini/projman.png b/img/icons/mini/projman.png
deleted file mode 100644
index 7a3ab13..0000000
Binary files a/img/icons/mini/projman.png and /dev/null differ
diff --git a/img/icons/mini/projman.xpm b/img/icons/mini/projman.xpm
deleted file mode 100644
index acce304..0000000
--- a/img/icons/mini/projman.xpm
+++ /dev/null
@@ -1,45 +0,0 @@
-/* XPM */
-static char * projman_xpm[] = {
-"32 32 10 1",
-" 	c None",
-".	c #000000",
-"+	c #808080",
-"@	c #FFFFFF",
-"#	c #C0C0C0",
-"$	c #800080",
-"%	c #FF00FF",
-"&	c #008000",
-"*	c #00FF00",
-"=	c #808000",
-"   ...  ++++++++                ",
-"   +@...@@@@@@@@.        ....+  ",
-"   +@#@@@#######@.      .###++. ",
-"   +##++####+++++@.    .@#++++. ",
-"   +++..++#++....+.   .@#+++++. ",
-"   ...  ..#..     .  .@#++++++. ",
-"         .#.        .@@#+++++.  ",
-"         .#.       .#@#++++++.  ",
-"  +++..  .#.       .@#++=++++.  ",
-"  +@#+.  $$$      .#@#++++++.   ",
-"  +@#+. $@@@.     .@#++.+++++   ",
-"  +@#+. $@%$.    .#@#++++++.    ",
-"  +@#.. $@%$.    .@#++.++++.    ",
-"   ...  $@%$.    .@#++++++.     ",
-"   +#.  $@%$.   .#@#+.++++.     ",
-"   +@.  $@%$.   .@#++.+++.      ",
-"   +@.  $@%$.   .@#++=+++=      ",
-"   +@.  $@%$.   .@#+.+++.       ",
-"   +#.  $@%$.   .@#+.+++.       ",
-"   &&.  $@%$.   .@#+.++.        ",
-"  &@**. $@%$. .+@@#+.+++..      ",
-"  &@*&. $@%$.  .#@@..+++.       ",
-"  &@*&. $@%$.   .@@..+++        ",
-"  &@*&. $@%$.    .@..+.         ",
-"  &@*&. $@%$.   ........        ",
-"  &@*&.  ...   ..........       ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"   ...              .           "};
diff --git a/img/icons/mini/tkregexp.xpm b/img/icons/mini/tkregexp.xpm
deleted file mode 100644
index 63016ba..0000000
--- a/img/icons/mini/tkregexp.xpm
+++ /dev/null
@@ -1,91 +0,0 @@
-/* XPM */
-static char * 2ic_dev_environment_16_xpm[] = {
-"16 16 72 1",
-" 	c None",
-".	c #122450",
-"+	c #303648",
-"@	c #F8AF12",
-"#	c #3F4044",
-"$	c #9D782A",
-"%	c #212D4C",
-"&	c #FFB310",
-"*	c #7A6334",
-"=	c #3F3F44",
-"-	c #AEB3D2",
-";	c #46547B",
-">	c #657096",
-",	c #505D84",
-"'	c #3C4A73",
-")	c #78633D",
-"!	c #EBA715",
-"~	c #745F36",
-"{	c #6F7A9E",
-"]	c #69749B",
-"^	c #6D7EBA",
-"/	c #4B62AB",
-"(	c #475EA5",
-"_	c #253152",
-":	c #CD951E",
-"<	c #5F6FA3",
-"[	c #626C98",
-"}	c #C79A41",
-"|	c #E8A923",
-"1	c #9A8667",
-"2	c #5667A1",
-"3	c #203467",
-"4	c #DFA733",
-"5	c #4A5E9A",
-"6	c #A6855A",
-"7	c #8F7868",
-"8	c #8F8071",
-"9	c #827D7D",
-"0	c #DA9D1A",
-"a	c #3D5394",
-"b	c #F4AE1A",
-"c	c #D9A032",
-"d	c #BC914C",
-"e	c #D29F37",
-"f	c #DE9F19",
-"g	c #242F4B",
-"h	c #445897",
-"i	c #DDA42D",
-"j	c #736982",
-"k	c #8C7977",
-"l	c #E2A52A",
-"m	c #5C513C",
-"n	c #F6AD13",
-"o	c #3E3F44",
-"p	c #F5AE19",
-"q	c #C69643",
-"r	c #E9A61E",
-"s	c #BB954A",
-"t	c #3D3E44",
-"u	c #7A83A7",
-"v	c #7781AA",
-"w	c #6679B7",
-"x	c #737690",
-"y	c #A58B5D",
-"z	c #445AA0",
-"A	c #2A3B67",
-"B	c #B8BCDB",
-"C	c #848DB0",
-"D	c #99A0C1",
-"E	c #5B678D",
-"F	c #273761",
-"G	c #898CA3",
-"           ...  ",
-"         ..+@#  ",
-"         .$%&*  ",
-"..........&&&=  ",
-".-;>>,'''')!&~  ",
-".{]^//////(_&:. ",
-".>5/}&67&8/39&0.",
-".>a/bccd&e/3>f&g",
-".>h/ijdkli/3>mno",
-".>.t.",
-".uvwx}i|y/zA>.  ",
-".B>>;''''';C>.  ",
-".>>>BDDDBE''F.  ",
-".'''BCuGBE''F.  ",
-".>>>>>>>>>>>'.  "};
diff --git a/img/icons/projman.png b/img/icons/projman.png
deleted file mode 100644
index 7ae5962..0000000
Binary files a/img/icons/projman.png and /dev/null differ
diff --git a/img/icons/projman.xpm b/img/icons/projman.xpm
deleted file mode 100644
index acce304..0000000
--- a/img/icons/projman.xpm
+++ /dev/null
@@ -1,45 +0,0 @@
-/* XPM */
-static char * projman_xpm[] = {
-"32 32 10 1",
-" 	c None",
-".	c #000000",
-"+	c #808080",
-"@	c #FFFFFF",
-"#	c #C0C0C0",
-"$	c #800080",
-"%	c #FF00FF",
-"&	c #008000",
-"*	c #00FF00",
-"=	c #808000",
-"   ...  ++++++++                ",
-"   +@...@@@@@@@@.        ....+  ",
-"   +@#@@@#######@.      .###++. ",
-"   +##++####+++++@.    .@#++++. ",
-"   +++..++#++....+.   .@#+++++. ",
-"   ...  ..#..     .  .@#++++++. ",
-"         .#.        .@@#+++++.  ",
-"         .#.       .#@#++++++.  ",
-"  +++..  .#.       .@#++=++++.  ",
-"  +@#+.  $$$      .#@#++++++.   ",
-"  +@#+. $@@@.     .@#++.+++++   ",
-"  +@#+. $@%$.    .#@#++++++.    ",
-"  +@#.. $@%$.    .@#++.++++.    ",
-"   ...  $@%$.    .@#++++++.     ",
-"   +#.  $@%$.   .#@#+.++++.     ",
-"   +@.  $@%$.   .@#++.+++.      ",
-"   +@.  $@%$.   .@#++=+++=      ",
-"   +@.  $@%$.   .@#+.+++.       ",
-"   +#.  $@%$.   .@#+.+++.       ",
-"   &&.  $@%$.   .@#+.++.        ",
-"  &@**. $@%$. .+@@#+.+++..      ",
-"  &@*&. $@%$.  .#@@..+++.       ",
-"  &@*&. $@%$.   .@@..+++        ",
-"  &@*&. $@%$.    .@..+.         ",
-"  &@*&. $@%$.   ........        ",
-"  &@*&.  ...   ..........       ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"  &@*&.            ..           ",
-"   ...              .           "};
diff --git a/img/icons/tkregexp.xpm b/img/icons/tkregexp.xpm
deleted file mode 100644
index b58a7a5..0000000
--- a/img/icons/tkregexp.xpm
+++ /dev/null
@@ -1,194 +0,0 @@
-/* XPM */
-static char * 2ic_dev_environment_48_xpm[] = {
-"48 48 143 2",
-"  	c None",
-". 	c #122450",
-"+ 	c #A67D28",
-"@ 	c #715D36",
-"# 	c #FFB310",
-"$ 	c #C48F20",
-"% 	c #3A3C45",
-"& 	c #6B5A38",
-"* 	c #D3981C",
-"= 	c #B58624",
-"- 	c #564D3E",
-"; 	c #26304B",
-"> 	c #F0AA14",
-", 	c #896C30",
-"' 	c #97742C",
-") 	c #61543B",
-"! 	c #675739",
-"~ 	c #2A324A",
-"{ 	c #657096",
-"] 	c #B8BCDB",
-"^ 	c #5F6680",
-"/ 	c #E1A118",
-"( 	c #848DB0",
-"_ 	c #31416A",
-": 	c #4D4840",
-"< 	c #AEB3D2",
-"[ 	c #3C4A73",
-"} 	c #273B72",
-"| 	c #3D5394",
-"1 	c #445897",
-"2 	c #5869A0",
-"3 	c #7380AC",
-"4 	c #6C7AA9",
-"5 	c #394F8F",
-"6 	c #203467",
-"7 	c #6F7A9E",
-"8 	c #324783",
-"9 	c #5268AE",
-"0 	c #8F9AC9",
-"a 	c #B1B6D8",
-"b 	c #6D7EBA",
-"c 	c #5F73B4",
-"d 	c #4B62AB",
-"e 	c #8F96B8",
-"f 	c #555C77",
-"g 	c #2A3B67",
-"h 	c #9DA6CF",
-"i 	c #A4ABD2",
-"j 	c #5B678D",
-"k 	c #28314A",
-"l 	c #6679B7",
-"m 	c #AAB1D5",
-"n 	c #787684",
-"o 	c #5667A1",
-"p 	c #A58B5E",
-"q 	c #837B7B",
-"r 	c #595C6B",
-"s 	c #828FC3",
-"t 	c #7484BD",
-"u 	c #B09054",
-"v 	c #9A8567",
-"w 	c #BC954A",
-"x 	c #C79A40",
-"y 	c #6D718E",
-"z 	c #D29F37",
-"A 	c #96A0CC",
-"B 	c #DDA42D",
-"C 	c #E9A923",
-"D 	c #8F8071",
-"E 	c #303648",
-"F 	c #7B89C0",
-"G 	c #675945",
-"H 	c #3C4575",
-"I 	c #373C5E",
-"J 	c #AC802C",
-"K 	c #7A6334",
-"L 	c #DDA025",
-"M 	c #706B90",
-"N 	c #666699",
-"O 	c #625F84",
-"P 	c #534C45",
-"Q 	c #F4AE1A",
-"R 	c #D5991D",
-"S 	c #5E523D",
-"T 	c #F5AE19",
-"U 	c #83747F",
-"V 	c #C69643",
-"W 	c #3D3E44",
-"X 	c #363A46",
-"Y 	c #5C513C",
-"Z 	c #635642",
-"` 	c #BC914C",
-" .	c #ECA921",
-"..	c #E2A52A",
-"+.	c #CF9B3B",
-"@.	c #BB8928",
-"#.	c #464A6C",
-"$.	c #B38D55",
-"%.	c #454342",
-"&.	c #F2AB15",
-"*.	c #374170",
-"=.	c #C99325",
-"-.	c #967E6E",
-";.	c #626C98",
-">.	c #444458",
-",.	c #7F6739",
-"'.	c #735D3E",
-").	c #515687",
-"!.	c #797088",
-"~.	c #636396",
-"{.	c #615541",
-"].	c #444349",
-"^.	c #616294",
-"/.	c #D9A032",
-"(.	c #343E6D",
-"_.	c #353A4D",
-":.	c #B18631",
-"<.	c #323D6B",
-"[.	c #3E3F44",
-"}.	c #705E3D",
-"|.	c #B98A2A",
-"1.	c #596DB1",
-"2.	c #475EA5",
-"3.	c #6375B1",
-"4.	c #364B89",
-"5.	c #7A83A7",
-"6.	c #8895C6",
-"7.	c #243564",
-"8.	c #A3A9CA",
-"9.	c #192C5B",
-"0.	c #354981",
-"a.	c #4A5A8A",
-"b.	c #435487",
-"c.	c #2F437E",
-"d.	c #2B3F78",
-"e.	c #20315E",
-"f.	c #99A0C1",
-"g.	c #979EBF",
-"h.	c #162753",
-"i.	c #273761",
-"j.	c #1A2C57",
-"k.	c #212D4C",
-"l.	c #46547B",
-"                                                                                                ",
-"                                                                        . .                     ",
-"                                                                        . + @ .                 ",
-"                                                                        . + # $ .               ",
-"                                                                          % # # & .             ",
-"                                                            . .           . * # = .             ",
-"                                                            - ;           ; > # $ .             ",
-"                                                            , + .       . + # # ' .             ",
-"                                                            , # ) ) ) ) ) # # # )               ",
-"                                                            ! # # # # # # # # > ~               ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ # # # # # # # $ .               ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ + # # # # # # / .               ",
-"  . { ] ] ] ] ( { { { { { { { { { { { { { { { { { { { { { { { { _ : , * # # # # ~               ",
-"  . { ] ] < [ } | 1 2 3 4 2 2 2 1 | | | | | | | | | | | | | | | 5 6 7 7 + # # # @               ",
-"  . { ] ] { 8 9 0 a 0 b c d d c 9 d d d d d d d d d d d d d d d d d 6 e f > # # = .             ",
-"  . { ] ] g d h i 9 d d d d d d d d d d d d d d d d d d d d d d d d 5 j e ' # # # k             ",
-"  . { ] ] 6 l m 9 d d d d d d d n d o p q d d d d d d d d d d d d d d [ ] r # # # , .           ",
-"  . { ] ] 6 s t d d d d d d d u # v w # x y z n d d d d d d d d d d d [ ] ( = # # / .           ",
-"  . { ] ] 6 A 9 d d d d n # v B # $ > # # C # D d d d d d d d d d d d [ ] ] : # # # @ .         ",
-"  . { ] ] 6 t d d d d d z # # # $ E $ # # # # z q p o d d d d d d d d [ ] ] . * # # / .         ",
-"  . { ] ] 6 F d d d d d u # # / & G H H I & , : * # D d d d d d d d d [ ] ] . @ # # # @ .       ",
-"  . { ] ] 6 b d d d x u # # J K L M N N N O P K > Q d d d d d d d d d [ ] ] . . > # # / ~       ",
-"  . { ] ] 6 d d d d # # # R S # T M N N N N U & / # x z n d d d d d d [ ] ] . . , # # # , .     ",
-"  . { ] ] 6 d d d d w $ ' S > # # V N N N N N L K # # # D d d d d d d [ ] ] .   W # # # # X     ",
-"  . { ] ] 6 d d d d n , Y Z ` `  .# ..* ` U +.# K # # q d d d d d d d [ ] ] .   . + # # # $ .   ",
-"  . { ] ] 6 d d d x # # @.#.N N N $.' . $ # # # = + $ x n o d d d d d [ ] ] .     %.# # # # -   ",
-"  . { ] ] 6 d d d z # # &.*.N N N M =., L -.`  .$ : E # # y d d d d d [ ] ] .     . $ # # # = . ",
-"  . { ] ] 6 d d d ;.n # # >.N N N N +.V M N N M ,.* $ p n d d d d d d [ ] ] .       - # @ . = . ",
-"  . { ] ] 6 d d d d d Q # '.).N N !.# $.N N N ~.{.# # p d d d d d d d [ ] ] .       . $ .   ) k ",
-"  . { ] ] 6 9 d d d D # # &.].^.N /.# $.N N N (.* # # # v d d d d d d [ ] ] .         X + ) + . ",
-"  . { ] ] 6 b d d d Q Q # > = _.:.# # +.N ^.<.+ # # u D ;.d d d d d d [ ] ] .         . % K ~ . ",
-"  . { ] ] 6 l d d d d d z $ [.$ + K K , }.[.' # # # x d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 F d d d d d # C |.> # # # # # E ' # w w B d d d d d d d d [ ] ] .                   ",
-"  . { ] ] 6 s 1.d d d d p o q # # # # # # # # u d d d d d d d d d d 2.[ ] ] .                   ",
-"  . { ] ] _ 3.A d d d d d d p # n ;.# B n u # z d d d d d d d d d d 4.{ ] ] .                   ",
-"  . { ] ] 5.} 6.i t 9 d d d o D d o x D d o p ;.d d d d d d d d d 2.7.8.] ] .                   ",
-"  . { ] ] ] { 9.0.a.a.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.e.f.] ] ] .                   ",
-"  . { ] ] ] ] < e e e e e e e e e e e e e e e e e e e e e e e e e ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 8.g.g.g.g.g.g.g.g.g..                   ",
-"  . . . . . . . . . h.f.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] i.j.j.j.j.j.j.j.j.j..                   ",
-"                    . e ] ] ] j [ f.5.[ ( j [ f.] ] ] ] .                                       ",
-"                    . e ] ] f.[.+ { k./ i.[.+ { ] ] ] ] .                                       ",
-"  . . . . . . . . . . e ] ] ] l.i.f.{ i.5.l.i.f.] ] ] ] . . . . . . . . . . .                   ",
-"  . [ { { { { { { { { 8.] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { .                   ",
-"  . { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] .                   ",
-"  . [ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { .                   ",
-"  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   "};
diff --git a/img/img.gif b/img/img.gif
deleted file mode 100644
index b6c4d8c..0000000
Binary files a/img/img.gif and /dev/null differ
diff --git a/img/java.gif b/img/java.gif
deleted file mode 100644
index 9afd868..0000000
Binary files a/img/java.gif and /dev/null differ
diff --git a/img/menu.png b/img/menu.png
deleted file mode 100644
index aeae7f6..0000000
Binary files a/img/menu.png and /dev/null differ
diff --git a/img/mytcladmin.gif b/img/mytcladmin.gif
deleted file mode 100644
index 3701661..0000000
Binary files a/img/mytcladmin.gif and /dev/null differ
diff --git a/img/new.png b/img/new.png
deleted file mode 100644
index 6bb8377..0000000
Binary files a/img/new.png and /dev/null differ
diff --git a/img/new_html.gif b/img/new_html.gif
deleted file mode 100644
index 49a3281..0000000
Binary files a/img/new_html.gif and /dev/null differ
diff --git a/img/new_project.png b/img/new_project.png
deleted file mode 100644
index eb032d8..0000000
Binary files a/img/new_project.png and /dev/null differ
diff --git a/img/new_tcl.gif b/img/new_tcl.gif
deleted file mode 100644
index 28ae130..0000000
Binary files a/img/new_tcl.gif and /dev/null differ
diff --git a/img/new_text.gif b/img/new_text.gif
deleted file mode 100644
index e28f263..0000000
Binary files a/img/new_text.gif and /dev/null differ
diff --git a/img/new_tk.gif b/img/new_tk.gif
deleted file mode 100644
index 4d16584..0000000
Binary files a/img/new_tk.gif and /dev/null differ
diff --git a/img/newfolder.gif b/img/newfolder.gif
deleted file mode 100644
index 3a914b4..0000000
Binary files a/img/newfolder.gif and /dev/null differ
diff --git a/img/old/archive.gif b/img/old/archive.gif
deleted file mode 100644
index ff40c60..0000000
Binary files a/img/old/archive.gif and /dev/null differ
diff --git a/img/old/close.gif b/img/old/close.gif
deleted file mode 100644
index 7bf1cd6..0000000
Binary files a/img/old/close.gif and /dev/null differ
diff --git a/img/old/copy.gif b/img/old/copy.gif
deleted file mode 100644
index 8bef3c7..0000000
Binary files a/img/old/copy.gif and /dev/null differ
diff --git a/img/old/cut.gif b/img/old/cut.gif
deleted file mode 100644
index c489bda..0000000
Binary files a/img/old/cut.gif and /dev/null differ
diff --git a/img/old/doit.gif b/img/old/doit.gif
deleted file mode 100644
index 2ff9dc0..0000000
Binary files a/img/old/doit.gif and /dev/null differ
diff --git a/img/old/doit_file.gif b/img/old/doit_file.gif
deleted file mode 100644
index 70c1f32..0000000
Binary files a/img/old/doit_file.gif and /dev/null differ
diff --git a/img/old/help.gif b/img/old/help.gif
deleted file mode 100644
index d770ae0..0000000
Binary files a/img/old/help.gif and /dev/null differ
diff --git a/img/old/new.gif b/img/old/new.gif
deleted file mode 100644
index fa061fa..0000000
Binary files a/img/old/new.gif and /dev/null differ
diff --git a/img/old/paste.gif b/img/old/paste.gif
deleted file mode 100644
index bb1b731..0000000
Binary files a/img/old/paste.gif and /dev/null differ
diff --git a/img/old/printer.gif b/img/old/printer.gif
deleted file mode 100644
index 96322af..0000000
Binary files a/img/old/printer.gif and /dev/null differ
diff --git a/img/old/save.gif b/img/old/save.gif
deleted file mode 100644
index b288cfb..0000000
Binary files a/img/old/save.gif and /dev/null differ
diff --git a/img/old/save_all.gif b/img/old/save_all.gif
deleted file mode 100644
index 3500311..0000000
Binary files a/img/old/save_all.gif and /dev/null differ
diff --git a/img/old/save_as.gif b/img/old/save_as.gif
deleted file mode 100644
index dd65662..0000000
Binary files a/img/old/save_as.gif and /dev/null differ
diff --git a/img/open.png b/img/open.png
deleted file mode 100644
index 05e3976..0000000
Binary files a/img/open.png and /dev/null differ
diff --git a/img/openfold.gif b/img/openfold.gif
deleted file mode 100644
index b535aee..0000000
Binary files a/img/openfold.gif and /dev/null differ
diff --git a/img/param.gif b/img/param.gif
deleted file mode 100644
index 140a9ce..0000000
Binary files a/img/param.gif and /dev/null differ
diff --git a/img/param.png b/img/param.png
deleted file mode 100644
index e50b17a..0000000
Binary files a/img/param.png and /dev/null differ
diff --git a/img/paste.png b/img/paste.png
deleted file mode 100644
index 7d2d9bf..0000000
Binary files a/img/paste.png and /dev/null differ
diff --git a/img/perl.gif b/img/perl.gif
deleted file mode 100644
index 44058c0..0000000
Binary files a/img/perl.gif and /dev/null differ
diff --git a/img/php.gif b/img/php.gif
deleted file mode 100644
index 6af3cfe..0000000
Binary files a/img/php.gif and /dev/null differ
diff --git a/img/printer.png b/img/printer.png
deleted file mode 100644
index e9e9c45..0000000
Binary files a/img/printer.png and /dev/null differ
diff --git a/img/proc.gif b/img/proc.gif
deleted file mode 100644
index 621fd53..0000000
Binary files a/img/proc.gif and /dev/null differ
diff --git a/img/project_settings.png b/img/project_settings.png
deleted file mode 100644
index a59ccda..0000000
Binary files a/img/project_settings.png and /dev/null differ
diff --git a/img/projman.gif b/img/projman.gif
deleted file mode 100644
index 60b3ce2..0000000
Binary files a/img/projman.gif and /dev/null differ
diff --git a/img/projman.png b/img/projman.png
deleted file mode 100644
index f04e4b4..0000000
Binary files a/img/projman.png and /dev/null differ
diff --git a/img/redo.png b/img/redo.png
deleted file mode 100644
index 0a80c61..0000000
Binary files a/img/redo.png and /dev/null differ
diff --git a/img/refresh.gif b/img/refresh.gif
deleted file mode 100644
index 9b7e599..0000000
Binary files a/img/refresh.gif and /dev/null differ
diff --git a/img/refresh.png b/img/refresh.png
deleted file mode 100644
index 3fe2587..0000000
Binary files a/img/refresh.png and /dev/null differ
diff --git a/img/rpm.gif b/img/rpm.gif
deleted file mode 100644
index 521b468..0000000
Binary files a/img/rpm.gif and /dev/null differ
diff --git a/img/ruby.gif b/img/ruby.gif
deleted file mode 100644
index 2fc6d3a..0000000
Binary files a/img/ruby.gif and /dev/null differ
diff --git a/img/rvt.gif b/img/rvt.gif
deleted file mode 100644
index abe931b..0000000
Binary files a/img/rvt.gif and /dev/null differ
diff --git a/img/save.png b/img/save.png
deleted file mode 100644
index 5a3c750..0000000
Binary files a/img/save.png and /dev/null differ
diff --git a/img/save_all.png b/img/save_all.png
deleted file mode 100644
index e30910d..0000000
Binary files a/img/save_all.png and /dev/null differ
diff --git a/img/save_as.png b/img/save_as.png
deleted file mode 100644
index 44e498f..0000000
Binary files a/img/save_as.png and /dev/null differ
diff --git a/img/sort.png b/img/sort.png
deleted file mode 100644
index 98a0473..0000000
Binary files a/img/sort.png and /dev/null differ
diff --git a/img/tcl.gif b/img/tcl.gif
deleted file mode 100644
index 40bb416..0000000
Binary files a/img/tcl.gif and /dev/null differ
diff --git a/img/tcl_file.gif b/img/tcl_file.gif
deleted file mode 100644
index a39dac3..0000000
Binary files a/img/tcl_file.gif and /dev/null differ
diff --git a/img/tclhtml.gif b/img/tclhtml.gif
deleted file mode 100644
index a578d9b..0000000
Binary files a/img/tclhtml.gif and /dev/null differ
diff --git a/img/tex.gif b/img/tex.gif
deleted file mode 100644
index 5a2e794..0000000
Binary files a/img/tex.gif and /dev/null differ
diff --git a/img/text.gif b/img/text.gif
deleted file mode 100644
index c64635c..0000000
Binary files a/img/text.gif and /dev/null differ
diff --git a/img/tk.gif b/img/tk.gif
deleted file mode 100644
index a7ce73b..0000000
Binary files a/img/tk.gif and /dev/null differ
diff --git a/img/tk_file.gif b/img/tk_file.gif
deleted file mode 100644
index a7ce73b..0000000
Binary files a/img/tk_file.gif and /dev/null differ
diff --git a/img/top.gif b/img/top.gif
deleted file mode 100644
index 76b4cab..0000000
Binary files a/img/top.gif and /dev/null differ
diff --git a/img/undo.png b/img/undo.png
deleted file mode 100644
index 09592c3..0000000
Binary files a/img/undo.png and /dev/null differ
diff --git a/img/var.gif b/img/var.gif
deleted file mode 100644
index 1723396..0000000
Binary files a/img/var.gif and /dev/null differ
diff --git a/img/xml.gif b/img/xml.gif
deleted file mode 100644
index b76c025..0000000
Binary files a/img/xml.gif and /dev/null differ
diff --git a/lib/about.tcl b/lib/about.tcl
deleted file mode 100644
index c98a99f..0000000
--- a/lib/about.tcl
+++ /dev/null
@@ -1,424 +0,0 @@
-######################################################
-#                projman
-#        Distributed under GNU Public License
-# Author: Sergey Kalinin s.v.kalinin28@gmail.com
-# Copyright (c) "https://nuk-svk.ru", 2018,
-# https://bitbucket.org/svk28/projman
-######################################################
-
-## ABOUT PROGRAMM DIALOG ##
-proc AboutDialog {} {
-    global docDir imgDir tree noteBook ver fontNormal dataDir env editor rootDir
-    set w {}
-    # prevent double creation "About" page
-    if { [catch {set w [$noteBook insert end about -text [::msgcat::mc "About ..."]]} ] } {
-        $noteBook raise about
-        return
-    }
-    frame $w.frmImg -borderwidth 2 -relief ridge -background white
-    #image create photo imgLogo -format png -file [file join $imgDir projman.png]
-    image create photo imgLogo -data {
-        iVBORw0KGgoAAAANSUhEUgAAAS8AAAA3CAYAAABdLMyaAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
-        WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gIFCRsEe8yHdwAAIABJREFUeNrsvXd8W/W9//+UdLSP
-        hmXZlrfj7B1nA2GvUChlt0B7Wy503Ut7S0vHHV23g96WEppuCjSlLZQVaFlhJ2Qnzl7OtmPZlmPZ
-        kW1ZPpKOdL5/nGHJI8SQcLm/Xz6PB8S2js7ncz7n83l93u/Xe5kURVE42862s+1s+z/WzGen4Gw7
-        2862/4tNODsFZ9vZdradSstV0kwm01nwOtvOtrPtwwtSJ/vb/zaQnQWvs+1sO9uGgJSiKGSz2TzQ
-        0n82mUyYTCbMZjMmkwlFUf5XAEw4y9efbWfbWbDSQUlRFDKZ19i9+9Ps3/8gV165GIdjOZL0OV55
-        pRqL5WtcfvmtOBwOBEHAYrEMBS5FARNo/ztj0tlZyWu4Fg6TXbt24PdnnmFTRYi5P1uiTprw/41p
-        yz75ZN4zAqT+/GcEQfjQPONTL8gn/fzceQIVoQ92TNFolDnXBmlphR98VeKez/GhmrPRgFY2mzUk
-        LJPJRDabRZaf4K23JjNjRpBUqhP4T+6771LKy69m/vzZSJIEgM1mQxAEQwIbTp00m80DgDYIJAcD
-        3GiB7v/f4LVhA9mf/1yd29ZWLBs3Gh8NNsP++ZKPUBONIggCoijicDj+74DUzTcPPNdzz434jJ+c
-        dRU/iXYiCBb8fv+H4hmfeQk27hRoadX+0J9l7vTdBIqr2XnETSQMddMSfOPzUT56VfEHAiI//rVT
-        HU9/lm9/5wU+dcO5OBz2/xPrQlEUTbrKkE6nSaVSJJNJMpkMmUxGA7NO2tun4/V6keVl/P3vpZSU
-        XMn555+Py+UikUggyzIWiwWz2WyAX65aabPZsFqtWK1WQ0LLVTOHh62h6ulpB6+8E/sDaPLCeZjL
-        q077osyuX8/m555jjcnE5xUFcYTrLgOmTqymoaGBYLCIUOgUTtpBnzXNm0fh66/jeumlD3a1traS
-        eO45fgh8C/CPcNktJhPWMS4aGvYTDBYBfCgA7KnfCTz6eCef+0YhSFFIPc2vfjIfQThGR5edO75a
-        xbbdLm79rJen/hLmkoVBHA7HmR93fxZSq5g2bguNjWX4/f5TWxfvsW3akeVr35f50h1mbrjqvUn/
-        Oo+VTCZJJBL09/djs9kAsFgsWCwWtmzZQnd3N7Jspbn5GH7/E+zceQmLF08kk8nQ39/PmjVr+PnP
-        f87MmTP58Y9/zISJE+iMdrJ163Z+8L2f4LFnuOtL/4LH56MoUERRcTEulwun04nVajWADAb4slxQ
-        yx3vyQBs9DMQDmO+/fYPbPG+CSgrXmOW23vaTzbzPfcw9bOfZeOjy1i+r4ErHv49oWE4wO3AVKCx
-        scnY1CcFxSVL8qSacuCfLrqEO+vrGfcBz13/8/9gVmMTZcufY1VfL+K3v82cYUBsraJwtdtF09Ej
-        yHIav9/7oZEWVrzjU09ipYm5s52Ew80Igg2/38cN13Tzmz/MAeDbPwxQ+6tmQqGiMwq8X/5nO/0n
-        3uLwoQN85raZRCJtp7Qu3mu75Qsyy1cImHp38dCPxhKLyQZAjwbEdODq6Ogg1h2jo7OD5nDzEIAQ
-        zHNwuV0cO/Y8kpTE6fSjKAp9fX2Iosj555/PhRdeyNixY3luVRP3/v417PIJKqxb+MkDP0RKxPjN
-        wz/l0NFmJhbXcvk111M7djy1Y2rx+Xy4XC5sNtsQvmy0vNionVTzuCBgGbAQCA767xaTiY0j3OPn
-        JtOQ66cCDwPRQZvvnwBBMBMOtxGNdhKPx0+fRCerfMq1136U2ttvHRa43tT+dYleenp6keVs3neH
-        PeE0/kifnyQwceIEon9/9gOdu48DouiisbGR+fPn4Z63gHHz5g0BrojJRBIoLC3jRHf3h4rXk2WZ
-        dduBdBYl20NxoIvOjiiynMLhcFBbMw2sZrB42b/zScLhZiKRDiRJOuk7ej+tohTu+95cHvjJhXi9
-        PhwOlyZxWU57n0+9oAIX/VlmTevFZIoQjUaJx+Oj6kuXuvr6+qivr2fpL5eyefNmOjo6SPQl8iyL
-        vX2FFBQWMH1mmFdfdZBMJolGo0iSRDabxW63U1xSzk3/vopPfXcDK9aG+fvGPp56J8G/f+c77D/a
-        zPe+82v+8+vfIGtpY+mvv89f/7aMbdu20dzcTEdHB/F4nFQqRSaTMVTO0RoPR79CtY0ZMZn4pKKw
-        HZi98Dxur5vB2PETsdmsWC0WABZ88QvD3uJpReHK62+kbsF8bDY7NpuVE11dbFu5HuGtl1lsMhFS
-        FF4Hxk6fzuGDhygpTeBwWPH7fad1cagclnvEU/N1YMy4ccjpFAAOhx2Hwz7y5t6wIY87W6bNT1tr
-        K3Nfef0Dnbsp06fT0LAfr9dLWVkpfr+P6s2bh9xzLeASReR0CpvNjiBYEQTLhwbAIhEByIISJVRW
-        BCQRBBui6KY/oZ3WmR4wB+np6ebRZ4poCruwO2D5i3D/9/q57korSx9NsvSPbm5YLPPYg7Kh4j34
-        cD/Pvmxh/SabsStuWCzzb3fCgroBIH/qBZlnNK2/7biL9Wsn8/wjTQSDhfj9PkMayrufAOfMTvGT
-        fzfn3UtXBe//bZblLwrGTvzyHX38+JsWtuwS+MUj0HY8qz1fM0db4HNfVX996IGYIXmN5j3Jskxv
-        by/dJ7rZunkr/VI/FRUVVI+pJlAYwG63Y7eXYbHIhIrbONZcTDzebEiyHo8Hrz/Ajf+xnnXbWwZu
-        nJGgayNt3T38/cWXOd7dw/jx47nuk19iw+oVmLN2Ors6cTiddHWdoKSkmGAwiMfjwW63G6rkaNwu
-        Ri15Ka0qc/pl4IAocvsXv8i5l11MqLQMwNh8U/fuGPEehwC320U83mt8p7qmhnm33Yj/1luRNQQ+
-        YjIRKC7meEcHPT3dyHLmtAOXw+FAFEWq61cPe81KoCBYgmC14fV63nXBZJ95Kk/d3A0UlYZIppJM
-        SSY/8Lk70dWlqTSFjDu2d3iAVhQCwaBmQbIaG/HD0Ja/kju5UebPTOJ0u7UxOnl5pbaEM9uoGbeH
-        o03q82/ZroGCpKr6i26GpX90Q3+W5Y//gWi0k+0HYpx/Q4p7f+hkw6pdfP9Lr9K4oYXPXN/F8hcF
-        LrzGzD/eaDSkDmNMLwqsfycByWcJhUoQRRFR9BDrFak+F+79TztlrheIbI/ynX9pY/1agQuvaqF+
-        +wnjXnfd08W5V5vZumE9u16P8Z1/aYP+LEt/mebfvrkFq83MzVe2IiVklV+TN3HejK1MH7eSc2bv
-        Q5LSo5YuzWYzLpeLefPmccstt1BeXo7UL7Fn9x7qN9XT1dmFoiiYzWZsNjOdnV2gWGlpaeHgwYMc
-        P36cQCDAnT/anA9cgD/+GlNq/cycMYP2Y8fYs/UtopGNKEIpF138aa6/wcH55xdTEAiyffde6rds
-        pampia6uLvr7+5FlmUwmk0fYn3bJy7JxI9s1juSmT30Kl6hyIwWBAMFgIcFgEIfDSc2qlcN+X5dJ
-        nB6VHg8GCykuLkEU3QDEKyqpeOIJAN5SFBZp19tsqjRwJprD4cC2+0De3+KAqIHFlaUh7HYrNpt6
-        2p/spDM/uNT4+W9ARU0NwVAxdpudRHMzhz7guUumVMAURReWnr5h7/sCMG/sWASrTQNn24fG9L9h
-        axJkATLN+AMK6UwGp/bO3lonsn6rDaQYZBq48twQoWCCqZNbOHRkApE3bUCK9StfZmJoLtbetTRH
-        D3DjddNpbGzknh/Wsa3Bhql3C/98616uvHQK4XCYqtIqQ5q7774wU36vAsRHLnaQ6G9l+YsTgA4u
-        WdRBNOrF7/cjiiIX3ibQcjjLvEm/439+eDWRSDtWx1hVrU0d4c03U/g/Vs2d93p5aWUA4k/z04fr
-        MJkinDPXDJk4pN4g1lmMOb2Nuul+2mI2A7ivv7YQSbYT9GeQ5RSynBm1mmq1WvH7/dTU1JDJZCgo
-        KGDPnj10d3fTGe00pC+LuYNDh1QS/3jHcQRBYMaMGby4oZNXN7Tl37N/PxODnUyeXIfT6cTj8dAv
-        reeu29/gf35xF5OmXEkqW41H/BxvvP3f7N6/j0R3Fz2xGHWz66ioqKCgoACXy2WA7Gm3NmaffBIz
-        cDsw79JLDYmhtKyMiopKKipUq4sgCAQ0KUMHAb2tMZnw+HzY7A4CgSDFxSXU1FQTDBYCGCecvlEn
-        z56rAYwLh8N5xjaUsj6fZRJz+K6y6irsNjuBQABR9IwsdWnzkwsK5aFyXKKXuv3bEXPmrqCwELvN
-        TnFREdVjas/Y3Imih0AgAID7pTeHvW8SKC4tw+sR8ft9iKLrQ6Mybt5h1X7yMW7cImA9NpuV3Uc8
-        fGepD+IRSD3H1Zf1M292obZWnOzca9f0pO1IiWbuvCWF1+tn9YaZnL/Qzp+fhm0NLojHUNKbuPBc
-        P5FIO4JgwWorAEoB2Lajg8bGJJKUpqKilJ37yjVgCzOmxkNXVxcOh50f/sKjuk8kn+ULd88hHA4j
-        y2mWvzwG0lnINOD11LBuQzcvrbRBPMa0cVsoFssIh5NYBTPf/3oSsj5mTncSjUY50eMhEhYgE6N8
-        /AkyaSsOK/j9xdoho6r2siyf0vsymUyGq09JSQmKomCz2chkMjQ0NJDoS5BOp7Hb7WQzh2hqclBW
-        XobdYefwocPUjKnlS79vACWbs+iTVLGGSZOmUFRUhNPppLCwkGPHFKzCYeo3bUMxV1E7NkTfJidt
-        bS3YXVl272ygv6cPWZaRZZlsVr2ny+UyfMfeDcBGt0I1lbEduOPyK0inUrhFDxUVlcYm0tUq3Z9I
-        HEZ6qKysRLDaDBVF3TCiIQXFFi9m34oVVNTUYLdbcYseTU2wn7FNlctTGfySJjkJVhtu0fOufJey
-        dGkeYd4OXFY3A7vdSjCTHDJ3BYEA1WNqz+jc2Wx2bdwOsuvXYx50Xx2gfcEgVpsNUfSO2op1Jtv6
-        rTZ189NB/ZZOMumJJDIz2N9ghsxqrr54Gx+79jwctiOkUin8fh8JxhKJOSATA+D8cxVSKZWzvPwi
-        lTN9aeMCkFV185ILVDWlp6ebsrJSDjcF88agA5Tf7+XwUa86HiWKYO4jlXLS1OFk2XMB6M/iDxZR
-        XtBHNNrDQ09dzLbdLuj/LR+7WqHQH+NHv1lgqLnnLLqMaLQDh8OJKPq58WMhZLmCaLQDgH+sKgcB
-        TMphZlU7NAnarb13VdobjYSsk/Zmsxm3201xcTEWi4VoNEo4HMbhcGAxW+jp6cGknFClygI/gcIA
-        jY2NHIkV0tnTnXdPb2IN06eUs3jxYiZOnMjq1asxm82MGRdk124HNk8t4Ug7fT17iHVMZ8rUAqp8
-        5fR2HWf/zr289UYyz2G2sLAQl8tluFSczBI5uhW6bh1fAG7/4hcp8Pno65eorVWlBl3310nrkdpb
-        isKi4mL1wb1eRNFt8Cv6S/A6nWwAasaORRQ9Btd0pniYwRKT3hqA4lC5NlaPIXUNu1jC4TwA/IFG
-        9NvsDkTRQ9Hh9iFzp0urZ3ruRNGjqruRyIgArarmdgOgR9bjtPEtXHjGgWvTjizIZkOC+thVHQQL
-        Pfh9Yb5213jmzy1Gli8nGu0gHnfi9foIBgvZsFuTjuigZtweRP8kbDYFUXQRDBbRdtyqSjSSCm7j
-        a80G8Pn9hXSc0OFdwi820t9XQDyeQJL6VamJLGSjnLdQNfI0tRRogHScmdPG8I+Vx3lz5Sz2N6SZ
-        VvMtbv7SxcyZCfF4L/vDKsihRBlbcYxEogyHw0kwGMTv9yHLMqIoIssyh49aQQYlc4RJk4txui3G
-        u9R5yVMBLkVRSKfTJJNJkskk6XQaRVGwWq14vara6/V5KSopwma3sXfvXqyWHuRMKV6fGykpMWvW
-        LP7xTguQy0cpyOIU1sUraPy7iQe+7KK3t5dsNsusBXG27hrLhAkTOXSwiZ3rj5KRJeTMLs4/71zO
-        X3gJNrOJ/Xsb2bxpC/3pNHUz+6lOJikqKsLr9ea5UwxH5I8KvMKKQuTSS/nKjTfS2tqG0+3WLC3+
-        vEnUT3iGMcmjKFRPmIDXI+JyOQ1VMPf7u8+ZQ6Snh0WXX0GBz4coug2u6aQva8MGsk0qQWs+7zzk
-        UOjUTqXW1mH/vDuH78odw7AA+OADxjNHTCZ2KwpXTp+JYLUh+stZ60wRufRSvnD1NUQiEYJneO4W
-        XHgRBT6fscgtz/9t2HHrAK0bJETRO3Sew2H1+XL4PDkUQnr9JYQxE88YP7ZucxIEJ0jHIRvlwnOy
-        QDdVVRUEg7JBWKuAW4QoegkGAxx7NatJVWEuXTgW5G5stkJE0UMoVEL93q6Bla9EET0ikEEUvYii
-        SwWodBYy+1gwt4q0JsHVHxIMy1/NhHZSKdVfafWmErU/YNXKTSRifUyp6+JLnznBwrm3E4t1Eo8n
-        WLfnqrznC2pGEl0y1g8wncd6aaXG52WjzJzqN6496SE6Anj19fWxa9cu/AV+lKxiEPOpVIre3l5E
-        UcTr89Ld3U1XZxeCIDJ50mzc7gKiXVE8oo/nXusDcnlnEwlKSXRlON51goY9O8hmswh2OxMmdPP3
-        lyciJdrpaY/gsltIZk3s37sPk6IwZ/58xk6aR2HJBJyCm95EP+s2bUKSJMN9wuv1GpbI9y15Ff/l
-        L/wq2kljYyMul1PzKg4NdQhct25YbkU3ydvsDqw2m/a9fDVMEAQm/MtXePCGWzl06DDxeI923TB8
-        lx7eU1+Publ5iPlUAGKLF8O3/g3H3PNHfuHaeIfz79LJdlH0nJRzy/7tKaPvv2rPWVZdhdcj4nUp
-        THlgGT8UzESjHQSDRYii64zOXWPjUWKxmKFeuAcZJEYCaIfDmjee7JIlmL/+9SGAKkUifPcT/8Rn
-        n3ySYDB4RkJj1tVbNRDax9y6BDabqEngTk29tSIIVkNl1g+XzTusBs9UVe7TPvMYc+1y1qr3tXhB
-        hjGVfdhsXhwOO+9s8hsARXoVM6dWYbVYEAQL0XA5yGBSohSJNRpH48xjD+fN6uPTn0ji9XZRXFyC
-        JCVYv72MbPIoRb4WkCcYBHwmbQWbzZCmljwEF5wjMGc6bNklaIAoG0DZmyim6XgZkyZZRq0qnjhx
-        gpdefolFFywi4AuQTqcB6Ozs5FjzMUSPiNPp5MD+A8ROxLjgwguYPXs2Bw8exOfzcbhZIikLgySv
-        HBhLdTF+zHg2rj3C1R+/mf0NyzlysIhs+gg+j4s+k4xJyWogupcUAtUTxnLBRRczvqqa9uMRVq5d
-        y9o1a8hqVkc9nEiXwAarj6NylVBdC+yatWIsNTVj8Pt9QyYyu379sJzNSyYTgWBQlUZEEYfDOeyC
-        132vQqESamrGUlFRmddP9sknyY4ZA4sWYX7uOVqbmw2HzZ+bTIRzTbgrVuC/6CqyX/mKYaYebKHJ
-        jffLVad0tc8terTxDs93ZZ98Mk8le0BRmDRtpsGVqT5WqngeDBZp6mLlGZ07vZ9QKIQouocYJBjG
-        IKEDdN7cfP3rw64FEfjbnj00NDQQDreN2mnylMBLc041mb1UV9YYnE8oVEYwGCAUChEKlVBRUU4w
-        WGgA6PqtNtXvCxhTbdKsxKKhZpUPCuROpdIGAP72Me355U187KPFVFWmsVitOBx23l6jbiAl28Oi
-        uXu0+dasgeks4KMjNjbnXZjpTRTw62VVfPzGcTjFSg1Ue8B2GZGoS7Oi24hGO/n1o6pfGcCzLye1
-        u/QxZ9J0bDYbv3t8AZqNbFRznc1mkSSJlpYWGvY10BJpoSfeQ19/H41NjaTSKTxeD52dnZw4cYKi
-        4iImjJ+A1Wqlv78fh8NBSrGNCFwArkwTY2pq6O7twW7bwSsrPPR2dlLo95LNZDCZTMYhl0qm6O7p
-        IZVOkZQz9MTjjKmp4YqLLqK+vp4DBw4QDoc5ceKEEXepE/q5bhTvAbwchEIlWgiGzyANc1WM4bgV
-        gL3ZLDVjx+aclGIeX5O/AUUqKsoJhYqMhSkIAtmbb8Z8++2GpHWLycQs4IZPfoqlj/2Z9C3/RIsm
-        ueS2Vx55hI1//CPhcEs+gI3AMXWZTIZ/l9vpOGk4xmCiPglMrpthuDP4/YXaXLmNudN5rjM5dzU1
-        1Rp4icMaJF7P4bt0g0SuaqwHdD8MhAfN6bOaV/6xY2HC4Wbi8b7TCl6bdmQ151RQTEECwQEJShRd
-        xtrT34n+79Y9ZkOFUyWW1BDJbM50mbppCVW6EuaTSiWx2ay8tcOmWiBjTxP07+HGjxZgtVgMLmxL
-        g9kg66tqL9FA0cUdN2sktsVLY9t57GgYi8vlZPkbbu74ahUvLjuIw+HgpsVdhEpTqsRHES+8OU31
-        Bzxg59a7S1n5TAvxeJx4PK7yXZqVtSkyniW/L6W2fBezJiSR5QySJOX5nr2b9JVMJtm7Zy9r1qwh
-        0Z8g1hOjta2VWCyG6BFxuV20R9qJtEaYPGkyBYECDhw4gGAVcLqcnIgPAq5sKu/Xi+aE2LZ9G+ZM
-        hvrVb7N7e4qaqnKSkkQ6laYoWERlZSW1tbWIbie9PSfoiHSw7+ARdh5o4ODhQ7zxxuv09vYSiUTo
-        6Oigp6cHSZIMjm6w/9eoiYpc9WBYKWTt2hER8RAw1uvH6xENsnkkVUPfhMYmjUTInn++AVqgBhq/
-        pSh87b9/gFv00NraimtBHSWrXoVhQODnTz3Ff9TNBiAUKsHhcGAexDHp6tpaRWGe24HdbtWcIv2n
-        RNTflyOxFRYG8Hp9+P1DLXgfxNwZv9fXD+vDdsRkwuvxGABtcCmRCNl77sH83HM8+J/fZW/TEdY9
-        /lduz2ZZAMRNJr6sKEyZPp2urijBYKEWtlVyWoBLKMlC5jhk9kF6FZhL+MOyIH8wVbHkRxKTJgkj
-        zuG6zUmQkpB6giKxBpvNpvGD+c7Fjy2Jc++/b+DVVcX85HdzKAlpFkz5ae78pMRHF8+np6db43WL
-        8Pu9KphmVA7K40oANhwOJ+fMs3DnJ9bzyJ9U7vQPfwryh79cxMRJWZ753Q6CwQoD2O+9W+Hee9Uw
-        sfotQT7xhZnUTW3hwftrEUU38XgfgmDhY1f08tLfd4ISpX5TlCsvCXDnrXYkyYEkuU5uVBmmeTwe
-        Lrn0Evbt28crL77C9BnTsdqsWAQLgUCARF+Cvt4+CgsLqa6uxmxS+TCbzaYS5uYBrstKgpoyGwf1
-        LaZkufGKqbzw/PP09cX5+/JjOF0Bw/WipKSE8vJyCgsLkWWZrq4utu3ciZzKYDKbyZrH8/brr7Jm
-        7XqqikuGGBd0ySvX+viewGukRTPgmLNxCGcTz/E9Kquu0kzynpNyJIMlEnnhwjypZLsmEVx5/Y2q
-        I2YciouKKCktI33tdMSH8sHrdQ21W5qbNR5Is9QN4rtEbaxJYPz0GYaf1Eh82WCifnsuUS+KmtTo
-        PjWC9UzM3TBGAP3eaxWFecXF2O1WfAXqnAhtTciXX40QiTCluJinbr6BSeEwu6dNY8mvfsnRcJh2
-        RcElikyaOSunz9MX1ye3m4nHRWKxCYTDLiKRNjo7ojjdMmVlpYZv0HD+TfNmWnn4N820tV5KqV9T
-        wUVvPpgLAmPGOPj1gwvZvn0br64U8bpf5rZrRK68rBZJkojFug1eNxgsZOUmVY0zKYeZO9upWWet
-        WlyjhR99eyI3fayIN97cRLx3P9NntDNpXAhRLDIkJF36uuai2fxh2U7iPfuZOG4PEyaMx23dRzw+
-        ECN57RUK/icq2be9m0K/GYdDAuynvg9zVX+zGZ/Px0033sQ777zD6tWreeuNt+iN9zJ3/lxCZSFO
-        dJ5AEATKystobWsl3BLGZDYR8ATIZrKYchLYTPPvY+/xqQZ8OJVOejuTNO7fz/FYN05RBAVSqRSh
-        UIjKykoDvPR9EIvFaDiwjywZDuzZxYn2dnwuNwV+P2632wBNnbx//35eo3D2FAdtlsEm+ZNxSEMA
-        4p57hqhTPzaZKC4qoqxa9YbWnT1DoRLsF98ED71OXJMSvqcoPANcOW4Cxzs6KI/FkKSQaqkahu9a
-        o907lZRyrEEj8F0nIepzY95OyaR9BuZuJIPEdg2gqydMwG6za6qXE9fFV/F2JMIvL72UpV//JuFw
-        GEnqp6ammtt+fB8rX3uNvr4E46dOJplMEwgEteDk0+9ArIOhagG1IQgWg5MbCSgX1MHU8cVEIhHC
-        4UotQ4ZviKVYEAT8fh/Tpk0nFIoiSUIe3yeKLhwONeohGCxk55Oa20K2h9lT44BHk3BdxvudPMFN
-        gXcy0WjUCGWTJAlBGHBxEAQBSbLzqU9MIBLxaZ9bkeUU4MqTmi+Y62dKzSTCYS+SJCGKLk0bcY/K
-        F89kMuFwOCgqKmLWrFmYzWa2b99OY2MjmzZsYs2qNaqUI6cZN34cvb29OF1OxtSOwW6zc/DAQWwm
-        AXCD3Mu0Wjfbtw4A6awxGZY9+ijR48fplSRqPR7cbrcBXJWVKvcaCAQM9wyTycQzzzzD0cOHKfD5
-        KCsuJhBQeczi4uK8mMeRHFWF073YhI0bR+SQck3ypxpUml2yZAihvlFTF68873wAAoEg5ZW6z1QI
-        Km7kuVk/4LPbw6BJCYsWLKCsugq36BmwmNWvZjj5ZSMQLCnBJXo1V40RJJ0NGwxQjQOPDiLqVYLS
-        c0pWuDMxdyczSLyZ463v1ixx/rv/lURzM3+85Hq+9z/fIRxuRpISOBwuQqFSHA4XVVVVRKMddHZE
-        sVhVR9mamup3DZsa9TrSDA8VFRUaR6mT6k7NbUUcUepUgcmvgULaeAe570EHCZ0vy+1DfRYr72zy
-        c45PteyF2+yGBXP6dGsOqA7wbX4/GlC5DfDSubbBdEsohNHvAB1jzxvTgPe81QBB3Xo8GsuuGqto
-        o6CggJqaGkwmEx6Ph5KSEo4cOUJLSwuJRAKb1UZbSxuHDh5CySosOn8Riy5YxO233s5/L/kLoODM
-        tlFePQVla1azMkZpqX+MtNRLT18fZeXl+Hw+ysrKDOAqKyujqEhNU2TTLOW6BXHfvn0kk0nsdjte
-        r5eioiLKysoMZ1X9OiMj65kCL/Ozz474WS7aApqhAAAgAElEQVSH9G4+U7nqIjlkuN7+CBQXFxMM
-        FeMWVX+piooKg5yWZZl5LzbytUfvo6c3jt1uJZlMG9KQvlC8m3ef1BlU57tGAovsz39uSF2HUL3n
-        zxtXi91uxev1aC4R7v+dudMtaU1HsI0A0Lne+rPuvx//ihVcsfA8fvrT7xCJtCJJCc03SrXuiaIb
-        SZIIBguJhVSS2u/3GVak0wVeuXOdC1K6tKVv7pGa/lkuWIxkmXU4HASDgqGG6n//5aMC337AQd2k
-        BG8/k1XT0qTe5sZri/F6U9hsumuJ3Rivvk70NZj7LIPXj87n6uCVe4/c59DBKvdvo51nk8mExWIx
-        QncAnM4BV6dwOExnZyeZjBor2dfXRzKZZNfOXcTjcS686KPEXfMxm5pxEsPuKgA6QclQKr1CUaGX
-        lrY+QqWllJWVUVpaSkVFBRUVFZSVlVFcVESgUN13drudbDZrZFotKysz+tbHVFBQQGFhoSF9CYJg
-        JCw8c2rjCM6egzkkh8N10hjBPD4ph6DX2zPAounTcYleI8ZP9+ExTl4xzvU3XE9jYxMRTTqy2WxU
-        VVVRUVExLN9FDr+kq1O5ZO9gYM2VaH6nAaovGMRusxtAesqL7TTPnfGCN2we9u97FIXxmrf+VX9a
-        hl9LlVPsKiYcbqanpxuv10dFRUWeM61u6QyFQnkAkDueaDTKW+uHphiaPwtqKkce99B89QKBwhgX
-        zffngdGpgJ8OIO82T/p6GayGXnAOmHq3sG3dJi6+ejJ0K1xy3j7u+ORY4vFe7T2IQ7i03HuN1Hfu
-        dX6//6TjdDgc73q/dwMu3SHVarXidKre/DabDbfbTSAQoKKiwsjukE6nSafT9Pf309nZidlsZvPu
-        MM+/HQZMeGwJMma3Cl4mM12Ft/Hgf0zmW/fcRVFRESUlJZSVlVFeXk5paSlFRUUEAgG8Xq+RSRUw
-        UkS73W56enpIp9N560sURdxutwFew8U6nl7wGgYMhuOQ1MDfd3e0y+WTBvsmVU+YoMYMBgs1a1C+
-        z5Tq0hFCEKw5nsyOPH+g4bzZ9bHmOoMOJ+lkn37a+G5YA9QrzzsfwWqjIBAY8Xsf1NwNIP0zQwVa
-        IAbMrhzPjPCxvBxfqbefJ3rbNdhsNm1uC/McaQdv9OHGcaQlwDMvadKK6mcJ6SwPLTnBDR+xDGsp
-        3bQjy21fEgw3B6QoV1/j5fqPdBGfIrwniWM01w++9rx5cKJpItFokFisB0lKIMszicW6cThceYA+
-        nLvKaPo8FYB9P03f8Lr6aDabDaDweFR6Ix6PDwGveDxOV1cXkc6Eca/K4lw53oSUArc1ZYCO1+vV
-        eMIghYWFFBQU4NGASwciwFAFHQ4HBQUFyLKMoigIgqDlFLPnAdf7j208RW5lsHf4KXNIueCQ4/iZ
-        ez+dvNZjBouLSwgGh1oDczkNPetCrmieajqCbRh3Cn2sgtV20rHmqowrNKI+GCrWVEbv6KSu0zx3
-        eUaAYSS6jSYTn1IUbP39XPfkE3mf1SoK61au5KIrrhhWqjqVzTR/ppnHf5XlxrtSvPSivvC7efXl
-        es6dPVXl1wZFFnzt+zLIWlhOahWXnLePb9+9QA02j3UjivKopK/TxbupYJ3KI/nVQzD4ocp7NhoA
-        09Uwi8WC3W7H4/EgSRLJZBJZlo3CHD09PXTHYsS62o37FHkttJ8Y8C9zC31AhvETx2NGBRmr1YrL
-        pUqmeu56W04hDn08+rVOp9OwKprNZiwWizH3ZrN5xAwTpw+8cpw9xRFUlHfjkEaSGMQRyOuB2D37
-        STmN4TbdSOrUKfFdOUQ9wBJg0rSZQ9TYUz4xT/fc5bThnFNfMpkorq7mE6teHfLZ9cADDRH6z+t7
-        35v/pTcc1M2V2VafAkslx8JvEw63IsuZPOnrwYf7Wb/JSSgoEQmrG6NuppfGxqMEg0HNymj/QDf7
-        gFrnywMzPZby/1oFqdzNr0s9OkjY7XacTqfB+6VSKeLxOPv27aNp3z6KJhboRyEOm5lUaiApqMsm
-        09vTy/gJ4zGbzHS0d9Df328kFtQLe1gGSVCDx6B70OsAq/+nXz+c5GU+XROjB0TntrimorSj5ovS
-        OaRTIXf1MJnB99ujKLhynEd1cXUk0/lwZOlI6pS+zcdPV73jRxqrXi5N/047UDOuFsAg6kcC1A9i
-        7nKl1+Ha3myWcG0d8WEsdgsAZcsb9PWrvk7x+HsDsS271KwN08c1qh7lmR4ONiY4frydWCxGPN5n
-        kNX3P2zlB98YAC4yDZiz+zSv/ex7Jqrfb9MBVo2KKMHv9xEKlWhJI9/beMKRDweA6TUVdfByOBy4
-        XC5cLhdms5nDhw6xbdMmAoUB3NakmsNLUZBTcTKZAb8rmxIn3hdH9IiMGTuGktISYrEYHR0d9Pb2
-        GtEsw+Wp16U/QRAMDkwvlfZuwHV6Ja9hwEAEXjWZcLndg/JFvbuP0nBhMqJu0Sst09K9+EYMk3nX
-        jX0SvkvlljzDBj8PJup1y2ehlsxP98Ye1al8mufOaJuHd71oBsb6zIQrKph26NCQz2sVhcMH91NV
-        VWEsvtHOb0tEJbtuvUHgsafVv8W6J9PfdxhJShqHzVe/3weShbqpCXAEjDQ1paWlGoDY84wxRn74
-        tQJYzdxwTf6h9diDMpEOgedfTauB3ah1HzMJiUMb1HXyq2Vpljyq1l4cnM8+tz34cD9/fUZh2zYH
-        WB15fSWlLM8+PECkhyPwwO/7ePZVNy2Hs2A1U14FN17ZR1W5mXX1VpY/Z2bVi1lCWrqwXy1Lj5jr
-        PtwGSx9NEm6z03Y8y/pNNg6tl2mJwLfuU39//LcyN1w1el4sL7hZyxsPahhRoq+PLRs2cOJEFzPq
-        ZpLuSRFP9UPWgsmsGqL2RAc4MCXVRTpdaaig1WOqaWtpY/fu3UPAyOl0GlLX4PGMVLT2pBhx2iSv
-        EVK5bNbyow8EFL/75hspv5YeW+fTCHg94+eoT8ARYggH813DBT+PRNQDGlHvy8uz9UHPXV5rGmqp
-        1WMvg6FiDlVPhJUrh/Bs1wMPbD5EbM5cLY+VNGoV6ZmXoG7qbkqLi9Q0yHghA5t22CkplZCkfiId
-        Akt/KbHiH/28/Lq6sE3KYebWKYZ1WPelinQIXPhxaDlspzL4Nza8fQUhb5Lr7ypQE/5JMa66dAex
-        2ET64w7KC3vYuLOKlmOA1MRVl3UQjZbyr/9VBFi0v8d47unDPDI7xY3XjjGsXOEInHfDQF/b35yJ
-        3+9X+9rmgMxxrrp0P5HIOETRzWurRc3Y4KbS9zhP/Wk+ZUEfN93lYelvnJDpYe6sg1x5zj6qSxex
-        dU8pN3/RTMthM1ddtJrI9qn85tE0//1TJxetOszat+roisaoKney9A+C5l/WxNY9aW75wjh1gvve
-        5s9/MXNu3TjDj+y9uFDooJVOp4nFYmzZsJGVb75FmhSzpk1DNim0Hm/DnBbJ2kMIlvzMEna5FUGY
-        Y3jg2+12yivLySpZNtdvzpO6cjnL4bJEjJpjP20cwQgBxSsZSOin+6281/xPuRtMTZznPOmGzt77
-        VbJLlgxRKQeXb8vluwI5/JIoightTfn5tnJUxuGI+lwp4X977gY7p8YZCMa22R1IIR9yKIQ8guoo
-        SRLxeM97KiPWdjxLqFR9YxNruiDTg8ms5uxXLXcZfvhAD3NnHWNarUzDftkob+b1eHA7HZqbipVY
-        rJsLPy7Qcgz8zt/xxCNjEVJtRCIRA7iQX2fhrBYOHTqs5oQ/p4pZE1Laxj/CwrpObvtcLwtnNfLz
-        /xoAdSXbw7FjEcLhFmKxbhqbZRW4jkFl8G/8+ffVSOYSta8Gl5oRQl7NwroTNDY2EolE+OqPNItq
-        /Gluud5JVbAbWTrAmFqzYayoDh3k3++tIBwOc8OnU0au+yU/qiAcbsPqKACHHyXbw+srXqem/Dg3
-        Le4yslCcO7+f++4Lc+6UBuj6LaRXcfXlbYTDYSKRyHsqCaiDSjwe5+iRI2zdsoUjBw/jtbro7+5n
-        1dureeSPj1K/ZQsOtJJ4VmvePSbWlrJx40aKi4oNQLJarVRWVRIoDLB121Z27txJc3PzkGIb76Xc
-        2WkHr8HcSu40HkKtnmO3WzV3Bsv7IjrtYDhW5hKrw5Hg5geX8rlf/IJ4PJ5fAUZT0+In4bu8Xh+O
-        aAfi9Dk0/exr6neHIeprxowxcsqrqW9GV+z0jM2dZgSIDwJ/HRDVObTTunDhsFW0axWFfXt2a1lK
-        8zNGZJcsUR2IT9LWrxW4frGa/SBQrIKYYgrS2KimoKnfa2XZ437++MsqJCnJa1phWTINjKvuxmK1
-        amqykzu+UalKSvGnufOTpUhSP9FoBy+/VTagO2SjeH0FRKMdxGLdILeoyfwyPWCpZeeuOOfU1XPO
-        rFbWbM0YoEKmgZlTJCIRlYu7+bMpo69brssiy2lirTvVvvQcYNkoXq+daLSD51aY1YBtPWngFEmL
-        TEjicfSD1YxJiXIs3Esk0sYDy+aoKaqTz/LZO+YQiUSIxTpZ/nLWKCTicR4kHG7ljXV94DQDMuvW
-        7eLqi1fy5X/ezUNLZ/PAj4OEgg5isZjhzT/aOo46cO3Zs5sn/vJn6tetozQUYPyUGkLFQXbu2cvO
-        PXvYvXs3JQUWQ2IK+lR3CXO6C0uqld27dnO8/TgetycfwKorCQQD7Ny1kx07dnDs2DE6OztJJBJG
-        3vr3A2CnR/LavHFYCWlwvihVUnK+r67GA4l4T56eP2zM4a238jBQ8ZnPEA635BXqHC5nVthkwqPV
-        btTTrgTvv5+NwOPpINFoJ4lly4zrt2v8W92iRUbYjt9feMoe9Wd67kbKC5YLiMFgIVw1X40BHXTd
-        3UBk8yESiX7i8YSxMfTkhI/96CfE4/FhpbKnXpAh08OUabUIgo26KTu0NDA+unorAfjZ0iB3fmI9
-        Tmc3B48kVRDSai/OnqX7lJnZ2pDWKgRF8fs7uPwiH7GYyott2O7S/MK68XvjuKwtJBL9AGza3W/4
-        jE2c5GHztnYmj88gSUneeUf7IHOEuXUJ+vv6kKQE9XutqnSl93VxGdFodKAvwCRvy+srnfKoaZ0B
-        LJNIpVIkEv0IgpnX1vlAiqFkjjC2oovW1ohajq0/S2V5mrJQjFism28vPVeVIFNP8LGrFcrKQkiS
-        pBb7kIHMLqrKO6gsryCVSlMc7GTKlCk5modlVLyXDhj9/f20t7fTsGcvvV3dNDYeYce2HbS2tnIk
-        3ER3IoHT5VI5XXcSMGEW7DgdKngVZPdyxeWXcffdd/PsM89y+NBhPKLHcG2w2WxUVVdRUFjA3r17
-        2blzJ+FwmK6urvcEYIOvOS3gNVyiOxiaL0oPKj3ZJMuyjLxw3hCpQW+fBOT9TSffuDffjLm5mcem
-        T2fx4qsIh8PEYt1IUlKNERtGTWsEfH6/kbZ5zOYX8K9YwdenT+ej115LJBLB9fDDxvV/04h6gMLC
-        gJEddbQq8emcu7w2QjA2Gt+lGzwS512LIxQacm0FMKb+daLRTmKxTmKxblJNR2DpUi4Cptx5B5FI
-        O9Fo5xDwam1PY1IOE/Srzp2lwYFCwW3dC1m9qYj2yE5u+lgRsVgP244mB0DI30HaJGp8l4f7Hiwz
-        NvCli0o4frwdWVZTQL/2js9QC9V0zRnDIrv/QIXWYwf7dz7Jv9zRb4zhtfoJRpzinJluTS138etH
-        K4b0BRCP96hApKm1C+ZWaZvTyrVXRNUcXchgqWPjdlXN/+lDdSqoSQ8yb1Yfl11WyL4jkzSQ7qKy
-        ejYvrwnwzZ8sZP1agWmhb/H9/6zls58eSyqVRhAsqiqttXPrJKPPYLCQUKiEcePGUVMzxrB+jga4
-        uru72bljBxvXrcOUyTK2qpqSQBF7Dxzgocce56nl/6AvkWDs2LGUl5fjEiQwmWmNdCGYVRBJWsv5
-        2XMJOjo6KCgoYPmzy9m/bz9ejzcPwGrG1FBYXEjD/ob3LIEN99lpIewtIwQUD84XdSo+SoIgIJdX
-        IYdCxNvbEbVB66TydcChI3tJpa4wErLlWsOyN9+M+bnnmFVTww9/8CNtc6UAP4JgwfXSS0PUNBFY
-        pCi0utWFPGvPWqp/+VsuA77w9W8QibRTvfxned/7MzBv+nTNWVY0KvmMViU+nXP3bkaAN3OiB9Ts
-        FGo5udQ11yDmALPePgG8tnI9saoK4vFeSu+8k67mZmZ+8YtIkqoe6fGbuc+9rt7K4ssVZFkN+dCz
-        fwJEwhJPvyhw7eJinLYOZNnByjfHGSA0vhqsShybTVW/tzW4jASANdVJUikVoJ5/c6G6eqUeUKJU
-        VOiOpGrtyQ1b9WK0YebVKYiiCoiHj+Xk5QLmaeltRNGlSV2xvL68Xp/al6xJhkqUmvIOwKGlwzGz
-        /E827vhXM/t3v84flsEf/jIXMlu58sLjzLv0SqaVtpBKpdlzoEKT0mTWrXmbdMLJtJpjfP2uOLNm
-        qbnuJSlJQIvQ2HnEbTz7okVuTZX2GPGko10TOkD09fVx5Mhh3nztNVoam5gyZRJFRQX0xns4caKb
-        lkgEhxYHWVRUxOc//3neXL2D1ZEsfWkrk4pFoIu4eQypnjjt7e2GdfjVFa+SyWSYOn0qPb09ZDIZ
-        gwNTsgoHDhwwwEpvJyt3djJAe9/glV2yZETx7fOKwh+LxuUQ4KcmOciyjO1rX6Pnm99EVBTEHPUn
-        CNzb2Ejj8meI1NYaZnehvp7M176GZeNGyoGf/fcPEAQLXV1dhkvFcMAiagC2ACjYt4+eggLmrlnD
-        F4C6r9xDWVkpsViMsa80GN9ZxkA6Gbfo1kIiCkdN1J+JuTtVa6rNFTQ2QuqK83A9/DAxyOO/ZgHj
-        /vEkDa4+Jqzdgbm5mQuKi/nplVcRi3XnFQHOPUDWbYePLowhyyowLJptUS2OGSCzDa99HxfMbSIW
-        K8LvR92kVjOkYPZMsyEJvbGhdgA0slEmj1ezDHSnS1mx3jugrmWjzJ9p5UBTMcFgAkEQBopXKFHj
-        njablcNtM7Q89Gperkw6zY6mmRw7XjHAaaUG+ursL1T7Smt9yXuYXjeJA412BH8hwXicp17tZ39j
-        gDs/XcY5dYew2eq1YsA1SFK/lqcrheKoNeZr3mwnn/6kg6BfIRisRpISvLNpIgAfuaQVmSqtZmME
-        v78Dh8NtpLPOLXt2quqiDly9vb20hMM0Hm0kI6Wwmizs3rUbm83KoWNNHGttw+v24Q/6qaiooKSk
-        hFQqRVOmDsXURbi9j8k5951clqa5uZnCwkK8Xi8ej4fV76jV56dMnUI8oVI1NpuNyupKFBQOHT5k
-        5NZXFEWrhyqecr3G9wxe2Xu/CvO02nOtrXlhMrmSDMClQOXKv7O3xEGouxN/7wG44Drk8VPfVfrq
-        ueMOuv70J5p372bBIO4mCATXrIE1a4gtXoywfTtEIhw2m7muuJhHHv0jspwhHu/F69UdC1Vw6SkP
-        4B80Tv3fCdks29esYSHgXXgeX77oYlpb23A3NeYFiC8DZi88zwhRCgQCp5TP6oOYO92aOtx9c6MH
-        vC5l4OT+yM3EFj9J44oVjGNoPrG5f3uROFAD/PA730WWVV6nuLhkyOnf2CwTCQvMm+VBlrNG9W3D
-        ez7TwMevbSGTHgNAf6pooAyZEqWs1IvFms4/aCxesExCkg5gs9n46S/Gs/icHpYd9QMSNbXTSGf2
-        8uLKC5k7J87WBj1FsQzZKPNmq3yV3x9g9XqTAUQXLPJxoAneXDmWT94UhXSJRvCP1JdMzbhLQd7L
-        iytv5py57/Cl712h8lXpLC+tmkM6U0DdlCYCgbSRzkZdey6VwM8ogEPNdS/vJZVSLbC9iQIeeryA
-        N/7WiMMR5K112iZWWhhf4zLAV6+rOaoQMQ24Eok+du/exZpV7xDw+aiqrsRtt7Fr317WbNzI0WPH
-        cDhcalB1eSmlWpaIpqYmfCYvKAJtXVmDvAdYMMFK874uxo0bRyAQoKSkBI/Hw8YNG1EUhUlTJiEl
-        JaOYbWVVJYqicOTIkSFSldvtxmq1Dpv+5rSAl/nBpWzXTuXtmiryKGqgL9rJfb72b5HJRI2icKNW
-        gv6A2Uz9fygsvLs8Lw/7cODlcDgQHn6El+/8Z17fs4frgamDNlYM2LJiBa+jZlVddPHF/NenP4Mk
-        9ZNI9OfwAyHDzUBceDFyKMSeSIQFg/yfvqzdc96ll7L4+htob2vF6XZTt2VLnvSiV9xR0/EEjTi3
-        dwOVD2LuhjMCHNL60kunDeetH7n/fg6/+iqdipJ3WCwD/hOwiCK3f+pTRqxhMFhkBMTnbqTnX00D
-        Aj3yDGR5rwFec2aZealxNfPqFKqrq7SiFg7W1XtyXvwsQsFV2GxqqpmqihZI12qAUsfba7rY3Xgx
-        n7wpqpYbU2U0AB55YiIXzN3KmMqCActgZhfzNOlKl1637XYBWRTTWPYejLNvv5n/+soLZG3XDEiH
-        I/VlCeT1FQqVMnOyxLb6BCAQCcNjT0/iMesUQkGJKxYd4dYbBMaE1BxfX74zw2tvqrJtY3g62/aZ
-        ufz8Npa/4Wb5i1U8//AeRDGEIFhYt9lkuHLMmGYBslrVeOuoqmTr4JVKpTh0+BD1GzZwZE8DnQVe
-        xtZWk1HSnOjtprO7G5vDQVFJEaGykJHWprS0lEAggM/XTUNzP81NdlzWJKBgV2Io8SaCwSBer5eC
-        ggJEUTQqZ+/YvoNMJsPkqZPJZrMk+lSpuKq6imaaOXL0yBAJy+1253nYn76K2eEwG/7yV/b09vJG
-        dzdCb4JeU4Zrk2mcHd3s7+6gryfGkT6JE9GBYM6foOYPcri93BAqJRJpz0uxMhKAjRs3lk/96S/8
-        5sEH+Pya1YQbGw13Cb22iksUmb1gAXefcw4TJkw0Ci7oBUgrKiryNpgsyzSseJU7rric48eP55PU
-        NTXcdNVVuEQv8XicYFCNU6x6/nm+ALyg9VtcXGxkcNWrF7+ryvgBzp2yfiMXaSCrt+KiIqaUlOQl
-        H8z1kaupqSH69kr+40t3s3fXrrz7TZk+nbpFiwiVltHT02tkm1BzfKkA+NQLMrfdZVZzz8ubuPer
-        UUzW+Tz5VyfBIMyZ0okcy3L7LWqc3NHmAHfdO1t1V5CfBnkPmEv4/NfgqqvK+O7XHZw7TiRUmiJy
-        RAXwN1fGuedfk5w/t5qO7nJee2UVZBpoPNTOwuu8nD+/FElyqpbBvrchvYoLzhsHyAZ1UDctwbYN
-        L0E2yvq1cT736UKCwRDB4CH8jl3E+hTINOT11Rbt5rVX4nl9XbqoCll2cu/njzNtajX33vsiZKNg
-        DkJmPpGwj8een8JrayT+9qstTJo0kYVzzHzmthjLHnkSzEEeeSzII3+dR93Uozzzux2EQhXaGs2w
-        Y58DU/8WlPQqBHMIm81nlH17L1Wyu7tjrF25kvbGY1QUhWg93sba1nU0trVytDmMRRAoKyykvLyc
-        srIyKioqqKysVNM8+XwUBYPcfM5+Ho8LeB0KpmyaycE2ws1N1NXVGeAVCAQwm814PB4j2aCSVRg7
-        YSyJRIJsNovP76OyWrU6Hz582FATdaDKBbCTqZCmbDY7KicLNb93zHDqkySJnp5uUqkUkiQZZaRS
-        qSRpDUisNtWnSC1q6sbvDxhZT0/mGaw6ScZpbGyisfEora0Rdm/dQl9fgr6eGOOnz1DdFDwiblF1
-        bHRqOYqCwaAmcfmGSCmxWIxIJMLKlavYqvlD6V77gtVGYWFATaJWXEKNYEbcv4qnkoW0tbXR2aZm
-        aSirqaayvIKJkyczbtxYLYBY+F+fO1mWqX/mWbbHYtTU1HDgwEHa2tqMz/VnmzJlGjU1lcY9cse2
-        bt16dm/dYsyLYLVht1sJBNSUyHpOND290OC5jUY7iUQiSFJSK8OmSqaSlKSxsZF4PK7lhg8a2UTD
-        4WZaW9vo7+vDV+A3yrY5HHYe+dMOeno6mFAj4XS7tcB3Hzt3y+w/1Ep5cQtup4PCoiDBYBH1DbOx
-        pFYypkpBkhKkUmnKykqpqRmDKLp5cvlBjjUdZuZUi3HQqdWc3Dz7fAM9vfG8voLBIrZuTxh92VxB
-        gn6Bg+EZ/HpZFZE2G5fO+yufvk1gx54M23covLlhIVAEdPNPn+jjG3ebtdxdGfYd6NNy3ceZNKma
-        6VOcWjysQzMeuHn5LSv98QPEutqZOgkSiX5qa2upqak+pbWWC17JZJI/LVtGw5Z6fB6RgC/I/gOH
-        2LRrK3sOHsRmtxuAVVpaSmVlpfFzUVERoihiNps50dXFQ0+u4apFtXzxp1sZb9/ABefOpba2lpKS
-        EkpLS4132t/fT3NzM5s2baKhoYExtWOorKrkREzNle/z+8hkMjQ3NdPV2cWE8ROYPn06VVVVRhbV
-        wVkoBgPZey7AofszybJbK1Oe1n7P5m1WPZ1IriVItU45T8nyKIoiNTXVRhqSYLBwyGbPBS19Uwxb
-        lk1XNLR7zZ07l2CwkO4TMfr6Ja2ggkMLwC0dUAdnzeLaWDeNjUdpbGxCkiSsFgvllZWjJurP9NwJ
-        gsCs6z5GRbSTQ4cOEgwWYrNZsVosRtpmVeUL5I1b9+AHOPfcc6iqqqCzI0pfv2qiDwYLjUNBfw+D
-        Jb/cUlyqZDhAJuvZGEKhkJaPXdTSJeupbpxakVZJkzBchnR5+8cnEQ6LRKMdOWmg3VywyMqMaQLR
-        qAtJ6kcU1QiH6y47DkzRfPt6keVsnlX0xmvH0NhoJhrtNJ5NvaeHG6+bRDTamdeXw2HlgkXBvL66
-        06V8+8EJqnra/1u+/a0ZRKMdzJzaz8ypcMGiPXz3/osA2LdrJeHwJE1S9zO+1n7SXPcOh4NbrhWI
-        x8cQDtu0lEDeUdVDyOW60uk0S5Ys4bL58/GUVxGJHud4tJ3eZBJ/QQEej8dIHqgXy1AP72IKCgqM
-        YG2n08kXb78IWZa5beEqPJ6F1NTUGCmOfD4fHo8Hp9OJ2+3GYrGgKAomk4mGBtXgVVlVyYkTJ+iO
-        deP3+6msrsRkMrF//34jy4SeccLpdEs511YAAAaGSURBVBoB5Pp93hfnlZuUbnDdOP1F5PlsDeP1
-        O7AJHe+60QfUGnVzVVRUEovF8vrO3dS56UpOlp1SvWc1fr9f81KWDStXbl3AgTQoknY6OpGkfhwO
-        Z14K5A/T3OnFgdXCtoU5+ahsOBzWIdaq3Hv7DUddN1JNGklKGPPi93uH5GMf7n3pllGdl9HfiQoU
-        Qt61uVlCJalf+9maV2RCT0sTDBYiy5k8nzd9zKpbhtUYn953PO7Oy3uvP3NFRYX2u8V4l/rY1d/1
-        eRjalyRJA5ZQKYbJOp94XHVm1Q/QqioZlnghtQ2PB2KxLgMgc/saLtd97tyo68udNyfvhe9qbGxk
-        f1ExDrefo40H2XdgP0ltHnJzzpeXl1NeXk6xVhDD41HB1Gw2GwUxjh8/zpQpUwxg0zOyer1eI/up
-        npsrF3D27dsHQFV1FdFolKbGJqKdUcwmMz29PRw4cMDoLzd3/Ujc13uSvHRrx0jhCLm5j3LDFgYn
-        CzzVF6D3pS98dRHLQ+41Yvqbk0h1enbVwTnHc8FPL+iQWzBBX9ijdY/4IOZuuESMgyMSRgI/XSrV
-        AWBw3vhT6Xfw8+WOd/Df1YPBkVfKLDcR4OBr9THmSoyq1CLkHRC5RTxynzc3b70uAQ8ueKHe0zfk
-        wMkd512fyHD/ryQi4W4U01i+d7+Ve79wwMgL/8Q/NMtlehX/r70reGkci8NfkuZVU9PWJqRInU7B
-        mQXbQRa8DIN4FITpbS87wv4Nu9fd/2HPe56TF8E5i6ziMh704MigzqGK4HYPtlLadFNTk+4hfc/X
-        TNXadmZkzQelUJLX9JF8/f1+7/e+7/WCDttudlw/jfBv07rn/zy7adz33CHguvjxzRt8OjzC2l8b
-        EFouhNFRRGUZmuYtaKVSqWvNecNgGvKKorAVQPpumiYSiQQikQgjsFgsBkVREA6HmdSzf9Ww1Wrh
-        8PAQgiDgaeYptt9vY3NzE/nXeWSzWRwcHKBQKLA/V949iI/i+q55fWv4H27/g9nvmL2M041wvrbG
-        VD+/q99r9JPJQ7sH7vrsS8wPfw8cHX3C738IePt200sJjWlMz7xC498r7O0c4vsXNfz2S+V6QWjy
-        CYv2e53XXu/Nm6Iux3FQrVaxu7uLtbU17O3twW40mBaeYRiYmJhgaSMfcVEyogRCo7harYbt7W0Q
-        QjA5OcnUWGnUxBrGXRfNZhP1eh3lchnHxyfY2dnFx4/7yGazzFw2n8+jXCnj3eo7iBAxOzuLmZkZ
-        pNNpjI+PszFpCjnUDvuvifs05t13zGEd99Dm6iHN9Zf6Xf1c46DnPHs2hV9//hs//TCNYvEfEFKC
-        rr9v19d0XF3FUSqNolKpsLSPj6x6zRAGAZVazmQymJubg67rKJVKsG0b4XAYmqbBMAzPjUvXPyMu
-        vm3B05j3JJ51Xcf5+TlGRkZYtMVblFGioSYbHpkCjiPg5KSAlZUVLC4u4uWrlzAtE/sf9nFpeS7Z
-        FxcXqNVqsCyL7YwYSs0rQIAA18RC03JaCw2FZK5m2Wwfo7eL2rGe66PDgiAIIIQgkUhgamoKiqKw
-        fYWSJEFVVVZwpx3yvFmGX9FUkjxC0jQNp6enjIx5c1i/WislMNcFJp+4WFhYQLFYxPLyMlZXV/H8
-        u+c4LhwjnU5Dlj2PSsuyYNs2HMfp2E7Ek1hAXgECDEBeVCbab1FGt055NnXSvbvih0VcgCdjo7TV
-        IQgh0DQNjUaDERtdHVQUhRXLuxEXLcJT1x9RFOG6bkdhvdv3e3LTcts3Mo5cLoelpSWsr69ja2sL
-        G39uIJfLwbIsxGIx5nDEbyHqOv+DKBkGCPDYQaWNVVV9sNcoSRIIIVBVFbLsiWY2m80OP0dCCDOC
-        9ZORnyNEUcTY2Bhs22bFdP+KoP9cSRIxMkKQEKOQxBay2SxCoRAymQzOzs5gmiZkWUYymYRhGMxw
-        9rYVxyDyChDgfww++qLEQwiB67pwXZdFUnx/1U1kwUdSqqpifn4ekUiERWp3adFTEo1Goyz9i0Qi
-        SKVSME0TgiAgHo8jmfRMTviVzm5EKrQG0WENECDAgwdfL+JTMUog9NWLYw8/BtXiuk4Nb9+TSM91
-        HAeXl5eo1+uoVquoVquwLAutVgvhcBiRtgQ7bbuhPV+fRXcBeQUI8PhI7Kbo6Dbi6kZgdKxeyI//
-        fsdxOgxuKRFSEuSt0LotBgTkFSDAIyax2wis1/P9Poz3IT9KgH4zDprG3kWI/wHZ5QxJ8MHl6wAA
-        AABJRU5ErkJggg==
-    }
-    #    image create photo imgAbout -format png -file [file join $imgDir icons large projman.png]
-    label $w.frmImg.lblImgLogo -image imgLogo -border 0
-    #label $w.frmImg.lblImg -image imgAbout
-    pack $w.frmImg.lblImgLogo -side top -pady 5 -padx 5
-    
-    frame $w.frmlbl -borderwidth 2 -relief ridge
-    label $w.frmlbl.lblVersion -text "[::msgcat::mc Version] $ver"
-    label $w.frmlbl.lblCompany -text "License: GPL"
-    label $w.frmlbl.lblAuthorName -text "[::msgcat::mc Author]: Sergey Kalinin"
-    label $w.frmlbl.lblEmail -text "[::msgcat::mc E-mail]: banzaj28@yandex.ru"
-    label $w.frmlbl.lblWWWhome -text "[::msgcat::mc "Home page"]: https://nuk-svk.ru"
-    label $w.frmlbl.lblWWWgit -text "Git repository: https://bitbucket.org/svk28/projman"
-    
-    pack $w.frmlbl.lblVersion $w.frmlbl.lblCompany $w.frmlbl.lblAuthorName \
-    $w.frmlbl.lblEmail $w.frmlbl.lblWWWhome $w.frmlbl.lblWWWgit -side top -padx 5
-    frame $w.frmThanks -borderwidth 2 -relief ridge
-    label $w.frmThanks.lblThanks -text "[::msgcat::mc Thanks]" -font $fontNormal
-    text $w.frmThanks.txtThanks -width 10 -height 10 -font $fontNormal\
-    -selectborderwidth 0 -selectbackground #55c4d1 -width 10
-    pack $w.frmThanks.lblThanks -pady 5
-    pack $w.frmThanks.txtThanks -fill both -expand true
-    
-    frame $w.frmBtn -borderwidth 2 -relief ridge
-    button $w.frmBtn.btnOk -text [::msgcat::mc "Close"] -borderwidth {1} \
-    -command {
-        $noteBook delete about
-        $noteBook  raise [$noteBook page end]
-    }
-    pack $w.frmBtn.btnOk -pady 2
-    pack $w.frmImg -side top -fill x
-    pack $w.frmlbl  -side top -expand true -fill both
-    pack $w.frmThanks  -side top -expand true -fill both
-    pack $w.frmBtn -side top -fill x
-    
-    bind $w  "$noteBook  delete about"
-    bind $w   "$noteBook  delete about"
-    bind $w  {$noteBook  delete about}
-    #
-    bind $w.frmlbl.lblWWWhome  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblWWWhome configure -fg blue -cursor hand1
-        LabelUpdate .frmStatus.frmHelp.lblHelp "Goto https://nuk-svk.ru"
-    }
-    bind $w.frmlbl.lblWWWhome  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblWWWhome configure -fg $editor(fg)
-        LabelUpdate .frmStatus.frmHelp.lblHelp ""
-    }
-    bind $w.frmlbl.lblWWWhome  {GoToURL "https://nuk-svk.ru"}
-    bind $w.frmlbl.lblWWWgit  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblWWWgit configure -fg blue -cursor hand1
-        LabelUpdate .frmStatus.frmHelp.lblHelp "Goto https://bitbucket.org/svk28/projman"
-    }
-    bind $w.frmlbl.lblWWWgit  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblWWWgit configure -fg $editor(fg)
-        LabelUpdate .frmStatus.frmHelp.lblHelp ""
-    }
-    bind $w.frmlbl.lblWWWgit  {GoToURL "https://bitbucket.org/svk28/projman"}
-    #
-    bind $w.frmlbl.lblEmail  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblEmail configure -fg blue -cursor hand1
-        LabelUpdate .frmStatus.frmHelp.lblHelp "Send email \"banzaj28@yandex.ru\""
-    }
-    bind $w.frmlbl.lblEmail  {
-        .frmBody.frmWork.noteBook.fabout.frmlbl.lblEmail configure -fg $editor(fg)
-        LabelUpdate .frmStatus.frmHelp.lblHelp ""
-    }
-    bind $w.frmlbl.lblEmail  {SendEmail "banzaj28@yandex.ru"}
-    
-    
-    $noteBook  raise about
-    focus $w.frmBtn.btnOk
-    if {[file exists [file join $rootDir THANKS]] == 1} {
-        set file [open [file join $rootDir THANKS] r]
-    } else {
-        set file [open [file join $docDir THANKS] r]
-    }
-    while {[gets $file line]>=0} {
-        $w.frmThanks.txtThanks insert end "$line\n"
-    }
-    close $file
-    $w.frmThanks.txtThanks configure -state disable
-}
-
-
diff --git a/lib/baloon.tcl b/lib/baloon.tcl
deleted file mode 100644
index d54c522..0000000
--- a/lib/baloon.tcl
+++ /dev/null
@@ -1,82 +0,0 @@
-#######################################################################
-#                        Baloon help
-#                Author: Alexander Dederer
-# Usage:
-#   Set balloon tips to widget:
-#     balloon $widget set "Hello World"
-#     balloon [button .exit -text "exit" -command exit] set "Hello world"
-#
-#   Clear ballon tips from widget:
-#     balloon $widget clear
-#
-#   Show balloon tips on widget:
-#     balloon $widget show "Hello World"
-#######################################################################
-
-proc balloon { widget action args } {
-    global BALLOON fontNormal
-    
-    switch -- $action {
-        set {
-            if { $args != {{}} } {
-                balloon $widget clear
-                #bind $widget  "after 1000 [list balloon %W show $args mousepointer %X %Y]"
-                #bind $widget  "catch { destroy %W.balloon }"
-                bind $widget  " balloon $widget show $args "
-                bind $widget  " wm withdraw .bubble "
-            }
-        }
-        show {
-            if ![winfo exists .bubble] {
-                toplevel .bubble -relief flat -background black -bd 1
-                wm withdraw .bubble
-                update
-                array set attrFont [font actual fixed]
-                set attrFont(-size) [expr $attrFont(-size) - 2]
-                eval pack [message .bubble.txt -aspect 5000 -bg lightyellow \
-                -font $fontNormal -text [lindex $args 0]]
-                #-font [array get attrFont] -text [lindex $args 0]]
-                pack .bubble.txt
-                wm transient .bubble .
-                wm overrideredirect .bubble 1
-                bind .bubble  "wm withdraw .bubble"
-            } ;# if
-            
-            if {$args == ""} {  wm withdraw .bubble  }
-            set text [lindex $args 0]
-            
-            set BALLOON $text
-            switch $text {
-                ""        {   wm withdraw .bubble ; update  }
-                "default" {
-                    after 1000 "raise_balloon $widget {$text}"
-                    after 7000 "if { \$BALLOON == {$text} } { wm withdraw .bubble ; update }"
-                }
-            } ;# switch
-        }
-        clear {
-            catch { destroy .balloon }
-            bind $widget  {}
-            bind $widget  {}
-        }
-    } ;# switch action
-} ;# proc balloon
-
-proc raise_balloon {widget text} {
-    global BALLOON
-    
-    if { $BALLOON != $text } {   wm withdraw .bubble ; update ; return  }
-    set cur_widget [winfo containing [winfo pointerx .] [winfo pointery .]]
-    if { $cur_widget != $widget } {  return  }
-    
-    raise .bubble
-    .bubble.txt configure -text $text
-    set b_x [expr [winfo pointerx .] - [winfo reqwidth .bubble]/2]
-    set b_y [expr [winfo pointery .] + 15]
-    wm geometry .bubble +$b_x+$b_y
-    wm deiconify .bubble
-    update
-} ;# proc raise_balloon
-
-
-
diff --git a/lib/completition.tcl b/lib/completition.tcl
deleted file mode 100644
index e067d54..0000000
--- a/lib/completition.tcl
+++ /dev/null
@@ -1,190 +0,0 @@
-###########################################################
-#                Tcl/Tk Project Manager                   #
-#                Distrubuted under GPL                    #
-# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru  #
-# Author: Sergey Kalinin banzaj28@yandex.ru       #
-###########################################################
-#                AutoCompletition Procedure               #
-#                    Author Alex DEDERER                  #
-###########################################################
-
-proc auto_completition { widget } {
-    set start_word [$widget get "insert - 1 chars wordstart" insert]
-    set box        [$widget bbox insert]
-    set box_x      [expr [lindex $box 0] + [winfo rootx $widget] ]
-    set box_y      [expr [lindex $box 1] + [winfo rooty $widget] + [lindex $box 3] ] 
-    set cnt 0
-    set pos "1.0"
-    set last_pos ""
-    set pattern "$start_word\\w*"
-    set list_word($start_word) 1
-    while { ([set start [$widget search -count cnt -regexp -- $pattern $pos end]] != "") } {
-        set word [$widget get $start "$start + $cnt chars"]
-        if { ![string equal $start_word $word] }  { set list_word($word) 1 }
-        set pos [$widget index "$pos + [expr $cnt + 1] chars"]
-        if { [string equal $last_pos $pos] } { break }
-        set last_pos $pos
-    } ;# while
-    
-    bindtags $widget [list CompletitionBind [winfo toplevel $widget] $widget Text sysAfter all]
-    bind CompletitionBind   "bindtags $widget {[list [winfo toplevel $widget] $widget Text sysAfter all]}; catch { destroy .aCompletition }"
-    bind CompletitionBind      { auto_completition_key %W %K %A ; break}
-    eval auto_completition_win $box_x $box_y [array names list_word]
-} ;# proc auto_completition
-
-## PROCEDURE LIST        ##
-## by BanZaj             ##
-
-proc auto_completition_proc { widget } {
-    global procList activeProject noteBook varList wishOpList
-    set nodeEdit [$noteBook raise]
-    if {$nodeEdit == "" || $nodeEdit == "newproj" || $nodeEdit == "about" || $nodeEdit == "debug"} {
-        return
-    }
-    #puts $procList()
-    set start_word [string tolower [$widget get "insert - 1 chars wordstart" insert]]
-    set box        [$widget bbox insert]
-    set box_x      [expr [lindex $box 0] + [winfo rootx $widget] ]
-    set box_y      [expr [lindex $box 1] + [winfo rooty $widget] + [lindex $box 3] ] 
-    
-    set cnt 0
-    set pos "1.0"
-    set last_pos ""
-    puts "$start_word"
-    #puts [regsub -all -- "\$" $start_word "\\\$" word]
-    #puts $word
-    #set list_word($start_word) 1
-    #puts $varList($activeProject)
-    #puts $procList($activeProject)
-    #puts [lindex $wishOpList 0]
-    if {[info exists procList($activeProject)]} {
-        set workList $procList($activeProject)
-        if [info exists workList] {
-            set len [llength $workList]
-            set i 0
-            while {$len >=$i} {
-                set line [lindex $workList $i]
-                scan $line "%s" word
-                if {[string match "$start_word*" [string tolower $word]]} {
-                    set list_word($word) $i
-                }
-                incr i
-            }
-        }
-    }
-    
-    set i 0
-    while {$i <= [llength $wishOpList]} {
-        set word [lindex $wishOpList $i]
-        if {[string match "$start_word*" [string tolower $word]]} {
-            set list_word($word) $i
-        }
-        incr i
-    }
-    bindtags $widget [list CompletitionBind [winfo toplevel $widget] $widget Text sysAfter all]
-    bind CompletitionBind   "bindtags $widget {[list [winfo toplevel $widget] $widget Text sysAfter all]}; catch { destroy .aCompletition }"
-    bind CompletitionBind      {auto_completition_key %W %K %A ; break}
-    eval auto_completition_win $box_x $box_y [array names list_word]
-} ;# proc auto_completition_proc
-
-
-proc auto_completition_win { x y args} {
-    set win .aCompletition
-    if { [winfo exists $win] }  { destroy $win }
-    toplevel $win
-    wm transient $win .
-    wm overrideredirect $win 1
-    
-    listbox $win.lBox -width 30 -border 2 -yscrollcommand "$win.yscroll set" -border 1
-    scrollbar $win.yscroll -orient vertical -command  "$win.lBox yview" -width 13 -border 1
-    pack $win.lBox -expand true -fill y -side left
-    pack $win.yscroll -side left -expand false -fill y
-    
-    foreach { word } $args {
-        $win.lBox insert end $word
-    } ;# foreach | insert all word 
-    
-    catch { $win.lBox activate 0 ; $win.lBox selection set 0 0 }
-    
-    if { [set height [llength $args]] > 10 } { set height 10 }
-    $win.lBox configure -height $height
-    
-    bind $win       " destroy $win "
-    bind $win.lBox  " destroy $win "
-    
-    wm geom $win +$x+$y
-} ;# auto_completition_win
-
-
-
-proc auto_completition_key { widget K A } {
-    set win .aCompletition
-    set ind [$win.lBox curselection]
-    
-    switch -- $K {
-        Prior   {
-            set up   [expr [$win.lBox index active] - [$win.lBox cget -height]]
-            if { $up < 0 } { set up 0 }
-            $win.lBox activate $up
-            $win.lBox selection clear 0 end
-            $win.lBox selection set $up $up
-        }
-        Next    {
-            set down [expr [$win.lBox index active] + [$win.lBox cget -height]]
-            if { $down >= [$win.lBox index end] }  { set down end }
-            $win.lBox activate $down
-            $win.lBox selection clear 0 end
-            $win.lBox selection set $down $down
-        }
-        Up      {
-            set up   [expr [$win.lBox index active] - 1]
-            if { $up < 0 } { set up 0 }
-            $win.lBox activate $up
-            $win.lBox selection clear 0 end
-            $win.lBox selection set $up $up
-        }
-        Down    {
-            set down [expr [$win.lBox index active] + 1]
-            if { $down >= [$win.lBox index end] }  { set down end }
-            $win.lBox activate $down 
-            $win.lBox selection clear 0 end 
-            $win.lBox selection set $down $down 
-        }
-        Return  {
-            $widget delete "insert - 1 chars wordstart" "insert wordend - 1 chars"
-            $widget insert "insert" [$win.lBox get [$win.lBox curselection]]
-            eval [bind CompletitionBind ]
-        }
-        default {
-            $widget insert "insert" $A
-            eval [bind CompletitionBind ] 
-        }
-    }
-} ;# proc auto_completition_key
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/config.tcl b/lib/config.tcl
new file mode 100644
index 0000000..d1bed31
--- /dev/null
+++ b/lib/config.tcl
@@ -0,0 +1,82 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# The config file procedures
+# create
+# copy
+# save
+######################################################
+
+namespace eval Config {} {
+    variable cfgINISections
+    variable cfgVariables
+}
+
+if [info exists env(LANG)] {
+    set locale $env(LANG)
+} else {
+    set locale "en"
+}
+
+set ::configDefault "\[General\]
+locale=$locale
+cfgModifyDate=''
+\[GUI\]
+theme=dark
+toolBarShow=true
+menuShow=true
+filesPanelShow=true
+geometry=1024x768
+\[Editor\]
+autoFormat=true
+font=courier 10 normal roman
+fontBold=courier 10 bold roman
+backGround=#333333
+foreground=#cccccc
+selectbg=#10a410a410a4
+nbNormal=#000000
+nbModify=#ffff5d705d70
+lineNumberFG=#a9a9a9
+selectBorder=0
+# must be: none, word or char
+editorWrap=word
+lineNumberShow=true
+tabSize=4
+"
+proc Config::create {dir} {
+    set cfgFile [open [file join $dir projman.ini]  "w+"]
+    puts $cfgFile $::configDefault        
+    close $cfgFile
+}
+
+proc Config::read {dir} {
+    set cfgFile [ini::open [file join $dir projman.ini] "r"]
+    foreach section [ini::sections $cfgFile] {
+        foreach key [ini::keys $cfgFile $section] {
+            lappend ::cfgINIsections($section)  $key
+            set ::cfgVariables($key)  [ini::value $cfgFile $section $key]
+        }
+    }
+    ini::close $cfgFile
+}
+
+proc Config::write {dir} {
+    set cfgFile [ini::open [file join $dir projman.ini] "w"]
+    foreach section  [array names ::cfgINIsections] {
+        foreach key $::cfgINIsections($section) {
+            ini::set $cfgFile $section $key $::cfgVariables($key)
+        }
+    }
+    set systemTime [clock seconds]
+    # Set a config modify time (i don't know why =))'
+    ini::set $cfgFile "General" cfgModifyDate [clock format $systemTime -format "%D %H:%M:%S"]
+  
+    # Save an top level window geometry into config
+    ini::set $cfgFile "GUI" geometry [wm geometry .]
+    
+    ini::commit $cfgFile
+    ini::close $cfgFile
+}
diff --git a/lib/editor.tcl b/lib/editor.tcl
index 200ad51..cefd7c3 100644
--- a/lib/editor.tcl
+++ b/lib/editor.tcl
@@ -1,1126 +1,443 @@
-###########################################################
-#                Tcl/Tk Project Manager                   #
-#                  all procedure file                     #
-# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru #
-# Author: Sergey Kalinin banzaj28@yandex.ru               #
-###########################################################
-## GETTING OPERATORS FOR COMPLITE PROCEDURE #
-proc GetOp {} {
-    global opList
-    set opList(if) "\{\} \{\n\n\}"
-    set opList(else) "\{\n\n\}"
-    set opList(elseif) "\{\} \{\n\n\}"
-    set opList(for) "\{\} \{\} \{\} \{\n\n\}"
-    set opList(foreach) "\{\n\n\}"
-    set opList(while) "\{\} \{\n\n\}"
-    set opList(switch) "\{\n\n\}"
-    set opList(proc) "\{\} \{\n\n\}"
-    # for Object extention
-    set opList(method) "\{\} \{\n\n\}"
-    set opList(class) "\{\n\n\}"
-}
-## COMPLITE PRODEDURE AND OPERATOR ##
-proc OpComplite {text fileExt node} {
-    global opList autoFormat fileList
-    if {$node == "newproj" || $node == "settings" || $node == "about"} {return}
-    
-    set pos [$text index insert]
-    set line [lindex [split $pos "."] 0]
-    set posNum [lindex [split $pos "."] 1]
-    set string [$text get $line.0 $pos]
-    set first [string wordstart $string [expr $posNum-1]]
-    set op [string range $string $first $posNum]
-    if {[info exists opList($op)] == 1} {
-        if {[string match "*\{" [$text get $pos $line.end]] != 1} {
-            $text insert $pos $opList($op)
-            set x [expr $posNum + 2]
-            $text mark set insert $line.$posNum
-            $text see $line.$posNum
-        } else {
-            return
-        }
-    }
-}
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "SVK", 2022, https://nuk-svk.ru
+######################################################
+# Editor module
+######################################################
 
-## Alexander Dederer (aka Korwin) dederer-a@mail.ru ##
-## SETTING DEFAULT STYLE FOR TEXT WIDGET    ##
-proc SetDefStyle { text args } {
-    global editor(font) editor(fontBold)
-    set a_args(-wrap)     none
-    set a_args(-background)  white
-    set a_args(-font)      {$editor(font)}
-    array set a_args $args
-    
-    foreach { key value } [ array get a_args ] {
-        catch { $text configure $key $value }
-    } ;# foreach
-}
-
-## CURSOR POSITION COUNTERED ##
-proc Position {} {
-    global noteBook noteBookFiles fontNormal fontBold replace
-    set nodeEdit [$noteBook raise]
-    set tree [GetTreeForNode $nodeEdit]
-    if {$tree eq ".frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles"} {
-        $noteBookFiles raise files
-    } elseif {$tree eq ".frmBody.frmCat.noteBook.fprojects.frmTree.tree"} {
-        $noteBookFiles raise projects
-    }
-    
-    if {$nodeEdit == "" || $nodeEdit == "newproj" || $nodeEdit == "debug" || $nodeEdit == "about"} {
-        return
-    }
-    set text "$noteBook.f$nodeEdit.text"
-    set pos [$text index insert]
-    set posY [lindex [split $pos "."] 0]
-    set posX [lindex [split $pos "."] 1]
-    set lbl .frmStatus.frmLine.lblLine
-    $lbl configure -text $pos -font $fontBold
-    return $pos
-}
-proc ReplaceChar {text} {
-    global replace
-    set pos [$text index insert]
-    set posY [lindex [split $pos "."] 0]
-    set posX [lindex [split $pos "."] 1]
-    if {$replace == 1} {
-        $text delete $posY.$posX $posY.[expr $posX + 1]
-    }
-}
-
-## OVERWRITE SYMBOL PROCEDURE ##
-proc OverWrite {} {
-    global replace fontNormal
-    if {$replace == 1} {
-        set replace 0
-        .frmStatus.frmOvwrt.lblOvwrt configure -text [::msgcat::mc "Insert"] -font $fontNormal\
-        -foreground black
-    } else {
-        set replace 1
-        .frmStatus.frmOvwrt.lblOvwrt configure -text [::msgcat::mc "Overwrite"] -font $fontNormal\
-        -foreground red
-    }
-}
-## GOTO LINE DIALOG FORM ##
-proc GoToLine {} {
-    global noteBook fileList fontNormal
-    #  toolbar entry used #######
-    focus .frmTool.frmGoto.entGoTo
-    .frmTool.frmGoto.entGoTo delete 0 end
-    return
-    #############################
-    set node [$noteBook raise]
-    
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
-        return
-    }
-    set file $fileList($node)
-    set w $noteBook.f$node.goto
-    set text "$noteBook.f$node.text"
-    # destroy the find window if it already exists
-    if {[winfo exists $w]} {
-        destroy $w
-    }
-    # create the new "goto" window
-    toplevel $w
-    wm title $w [::msgcat::mc "Goto line"]
-    wm resizable $w 0 0
-    wm transient $w $noteBook.f$node
-    
-    label $w.text -text [::msgcat::mc "Line number"] -font $fontNormal
-    entry $w.entGoTo -width 6 -validate key -validatecommand "ValidNumber %W %P"
-    pack $w.text $w.entGoTo -side left -anchor nw  -padx 2 -pady 2
-    
-    bind $w.entGoTo  "+GoToLineNumber $text $noteBook.f$node"
-    bind $w.entGoTo  "destroy $w"
-    focus -force $w.entGoTo
-}
-## Check input number ##
-proc ValidNumber {w value} {
-    if [string is integer $value] {
-        return 1
-    } else {
-        bell
-        return 0
-    }
-}
-## GOTO LINE ##
-proc GoToLineNumber {text w} {
-    set lineNumber [$w.goto.entGoTo get]
-    destroy $w.goto
-    catch {
-        $text mark set insert $lineNumber.0
-        $text see insert
-        Position $text .frmStatus.frmLine.lblLine
-    }
-}
-#.frmBody.frmWork.noteBook.f_home_svk_projects_tcl_projman_projman_conf.text
-proc ToolBarGoToLineNumber {w} {
-    global noteBook
-    set lineNumber [$w.entGoTo get]
-    append text $noteBook .f [$noteBook raise] ".text"
-    catch {
-        focus $text
-        $text mark set insert $lineNumber.0
-        $text see $lineNumber.0
-    }
-    #Position ;#$text .frmStatus.frmLine.lblLine
-}
-## SEARCH DIALOG FORM ##
-set findHistory ""
-set findString ""
-set replaceString ""
-proc Find {} {
-    global noteBook fileList  findHistory findString fontNormal
-    
-    set node [$noteBook raise]
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
-        return
-    }
-    set file $fileList($node)
-    set w $noteBook.f$node.find
-    set text "$noteBook.f$node.text"
-    set findString ""
-    # destroy the find window if it already exists
-    if {[winfo exists $w]} {
-        destroy $w
-    }
-    
-    toplevel $w
-    wm title $w [::msgcat::mc "Find"]
-    wm resizable $w 0 0
-    wm transient $w $noteBook.f$node
-    frame $w.frmCombo -borderwidth 1
-    frame $w.frmBtn -borderwidth 1
-    pack $w.frmCombo $w.frmBtn -side top -fill x
-    
-    #    set combo [entry $w.frmCombo.entFind]
-    set combo [ComboBox $w.frmCombo.txtLocale\
-    -textvariable findString \
-    -selectbackground "#55c4d1" -selectborderwidth 0\
-    -values $findHistory]
-    
-    pack $combo -fill x -padx 2 -pady 2
-    
-    button $w.frmBtn.btnFind -text "[::msgcat::mc "Find"] - F3"\
-    -font $fontNormal -width 12 -relief groove\
-    -command "FindCommand $text $w"
-    button $w.frmBtn.btnCancel -text "[::msgcat::mc "Close"] - Esc"\
-    -relief groove -width 12 -font $fontNormal\
-    -command "destroy $w"
-    pack $w.frmBtn.btnFind $w.frmBtn.btnCancel -fill x -padx 2 -pady 2 -side left
-    
-    bind $w  "FindCommand  $text $w"
-    bind $w  "FindCommand  $text $w"
-    bind $w  "destroy $w"
-    focus -force $combo
-    
-    #    set findIndex [lsearch -exact $findHistory "$findString"]
-    $combo setvalue @0
-}
-
-proc FindCommand {text w} {
-    global findString findHistory
-    #    set findString [$entry get]
-    destroy $w
-    # if null string? do nothing
-    if {$findString == ""} {
-        return
-    }
-    # search "again" (starting from current position)
-    FindNext $text 0
-}
-
-proc FindNext {text {incr 1}} {
-    global findString findHistory
-    set t $text
-    puts $t
-    # append find string into find history list #
-    if {[lsearch -exact $findHistory $findString] == -1} {
-        set findHistory [linsert $findHistory 0 $findString]
-    }
-    
-    set pos [$t index insert]
-    set line [lindex [split $pos "."] 0]
-    set x [lindex [split $pos "."] 1]
-    incr x $incr 
-    
-    set pos [$t search -nocase $findString $line.$x end]
-    
-    # if found then move the insert cursor to that position, otherwise beep
-    if {$pos != ""} {
-        $t mark set insert $pos
-        $t see $pos
-        
-        # highlight the found word
-        set line [lindex [split $pos "."] 0]
-        set x [lindex [split $pos "."] 1]
-        set x [expr {$x + [string length $findString]}]
-        $t tag remove sel 1.0 end
-        $t tag add sel $pos $line.$x
-        focus -force $t
-        return 1
-    } else {
-        bell
-        return 0
-    }
-    Position
-}
-## FIND FUNCTION PROCEDURE ##
-proc FindProc {text findString node} {
-    global noteBook editor
-    set pos "0.0"
-    $text see $pos
-    set line [lindex [split $pos "."] 0]
-    set x [lindex [split $pos "."] 1]
-    set pos [$text search -nocase $findString $line.$x end]
-    $text mark set insert $pos
-    $text see $pos
-    # highlight the found word
-    set line [lindex [split $pos "."] 0]
-    set x [lindex [split $pos "."] 1]
-    set x [expr {$x + [string length $findString]}]
-    $text tag remove sel 1.0 end
-    $text tag add sel $pos $line.$x
-    #$text tag configure sel -background $editor(selectbg) -foreground $editor(fg)
-    $text tag raise sel
-    focus -force $text
-    Position
-    return 1
-}
-
-#3 REPLACE DIALOG FORM ##
-proc ReplaceDialog {} {
-    global noteBook fontNormal fontBold fileList findString replaceString text
-    set node [$noteBook raise]
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
-        return
-    }
-    #set file $fileList($node)
-    set w .replace
-    set text "$noteBook.f$node.text"
-    #    set findString ""
-    # destroy the find window if it already exists
-    if {[winfo exists $w]} {
-        destroy $w
-    }
-    
-    # create the new "find" window
-    toplevel $w
-    wm transient $w $noteBook.f$node
-    wm title $w [::msgcat::mc "Replace"]
-    wm resizable $w 0 0
-
-    set f1 [frame $w.frmFind]
-    set f2 [frame $w.frmReplace]
-    set f3 [frame $w.frmBtn -borderwidth 1]
-    pack $f1 $f2 $f3 -side top -fill x -expand true
-
-    label $f1.lblFind -text [::msgcat::mc "Find"] -font $fontNormal -width 15 -anchor w
-    entry $f1.entFind -width 30
-    pack $f1.lblFind $f1.entFind -side left -padx 2 -pady 2
-    pack $f1.entFind -side left -fill x -expand true  -padx 2 -pady 2
-
-    label $f2.lblReplace -text [::msgcat::mc "Replace with"] -font $fontNormal -width 15 -anchor w
-    entry $f2.entReplace -width 30
-    pack $f2.lblReplace $f2.entReplace -side left -padx 2 -pady 2
-    pack $f2.entReplace -side left -fill x -expand true -padx 2 -pady 2
-
-    button $f3.btnFind -text "[::msgcat::mc "Find"] - Enter" -width 12 -pady 0 -font $fontNormal -relief groove\
-     -command "ReplaceCommand $text $w $f1.entFind $f2.entReplace find"
-    button $f3.btnReplace -text "[::msgcat::mc "Replace"] - F4" -width 12 -pady 0\
-            -font $fontNormal -relief groove\
-            -command {
-                ReplaceCommand $text $w  .replace.frmFind.entFind .replace.frmReplace.entReplace replace
-                focus -force .replace
+namespace eval Editor {
+    variable selectionTex
+    proc Comment {txt} {
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set PosNum [lindex [split $pos "."] 1]
+        puts "Select : $selIndex"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
             }
-    button $f3.btnReplaceAll -text [::msgcat::mc "Replace all"] -width 12 -pady 0\
-            -font $fontNormal -relief groove\
-            -command "ReplaceCommand $text $w $f1.entFind $f2.entReplace replace_all"
-    button $f3.btnCancel -text "[::msgcat::mc "Cancel"] - Esc" -command "destroy $w"\
-      -width 12 -pady 0 -font $fontNormal -relief groove
-      pack $f3.btnFind $f3.btnReplace $f3.btnReplaceAll $f3.btnCancel\
-            -side left -padx 2 -pady 2 -fill x
-
-    bind $w  "ReplaceCommand $text $w  $f1.entFind $f2.entReplace find"
-    bind $w  "ReplaceCommand $text $w  $f1.entFind $f2.entReplace replace"
-    bind $w  "destroy $w"
-    focus -force $f1.entFind
-
-    if {$findString != ""} {
-        InsertEnt $f1.entFind $findString
-    }
-    if {$replaceString != ""} {
-        InsertEnt $f2.entReplace $replaceString
-    }
-}
-## REPLACE COMMAND ##
-proc ReplaceCommand {text w entFind entReplace command} {
-    global noteBook fontNormal fontBold fileList findString replaceString
-    set node [$noteBook raise]
-    
-    set findString [$entFind get]
-    set replaceString [$entReplace get]
-    
-    switch -- $command {
-        "find" {
-            FindNext $text 1
-            focus -force .replace
-        }
-        "replace" {
-            if {[Replace $text 0]} {
-                FindNext $text 1
-                if {[lindex $fileList($node) 1] == 0} {
-                    set fileList($node) [list [lindex $fileList($node) 0] 1]
-                    LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-                }
-                focus -force .replace
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                #$txt insert $i.0 "# "
+                regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
+                $txt insert  $i.[lindex [split $v2] 0] "# "
             }
-        }
-        "replace_all" {
-            set stringsReplace 0
-            if {[Replace $text 0]} {
-                if {[lindex $fileList($node) 1] == 0} {
-                    set fileList($node) [list [lindex $fileList($node) 0] 1]
-                    LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-                }
-                incr stringsReplace
-                while {[Replace $text 1]} {
-                    incr stringsReplace
-                }
-            }
-            tk_messageBox -icon info -title [::msgcat::mc "Replace"]\
-            -parent $text -message\
-            "[::msgcat::mc "Was replacement"] $stringsReplace."
-            destroy $w
-        }
-    }
-}
-## REPLACE ONE WORD PROCEDURE ##
-proc Replace {text incr} {
-    global noteBook fontNormal fontBold fileList findString replaceString
-    
-    if {[FindNext $text $incr]} {
-        set selected [$text tag ranges sel]
-        set start [lindex $selected 0]
-        set end [lindex $selected 1]
-        $text delete $start $end
-        $text insert [$text index insert] $replaceString
-        return 1
-    } else {
-        return 0
-    }
-    #    focus -force .replace
-}
-## OPEN AND CLOSE BRACE HIGHLIGHT ##
-proc BraceHighLight {text} {
-    set pos [$text index insert]
-    set lineNum [lindex [split $pos "."] 0]
-    set posNum [lindex [split $pos "."] 1]
-    set curChar [$text get $lineNum.$posNum $lineNum.[expr $posNum+1]]
-    #    _searchCloseBracket $text \{ \} insert end]
-    
-}
-
-
-## NOTEBOOK PAGE SWITCHER ##
-## NOTEBOOK PAGE SWITCHER ##
-proc PageTab {key} {
-    global noteBook tree fileList editor
-    set nb $noteBook
-    set len [llength [$nb pages]]
-    if {$len > 0} {
-        set newIndex [expr [$nb index [$nb raise]] + $key]
-        if {$newIndex < 0} {
-            set newIndex [expr $len - 1]
-        } elseif {$newIndex >= $len} {
-            set newIndex 0
-        }
-        $nb see [lindex [$nb pages] $newIndex]
-        $nb raise [lindex [$nb pages] $newIndex]
-        PageRaise $tree [lindex [$nb pages] $newIndex]
-    }
-}
-
-## RAISED NOTEBOOK TAB IF CLICK MOUSE BUTTON ##
-proc PageRaise {tree node} {
-    global noteBook fileList editor nodeEdit noteBookFiles
-    #puts $node
-    $noteBook raise $node
-    set tree [GetTreeForNode $node]
-    if {$tree eq ".frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles"} {
-        $noteBookFiles raise files
-    } elseif {$tree eq ".frmBody.frmCat.noteBook.fprojects.frmTree.tree"} {
-        $noteBookFiles raise projects
-    }
-    
-    set nodeEdit [$noteBook raise]
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-        return
-    } else {
-        $tree selection set $node
-        $tree see $node
-        set item [$tree itemcget $node -data]
-        puts $item ;# debug
-        set ext [GetExtention $node]
-        if {$ext == "gif" || $ext == "jpg" || $ext == "png" || $ext == "xpm"  || $ext == "xbm"} {
-            focus -force $noteBook.f$node.f.c
+            $txt tag add comments $lineBegin.0 $lineEnd.end
+            $txt tag raise comments
         } else {
-            focus -force $noteBook.f$node.text
-            Position
-        }
-        LabelUpdate .frmStatus.frmHelp.lblHelp "[FileAttr $item]"
-        LabelUpdate .frmStatus.frmFile.lblFile "[file size $item] b."
-        if {[lindex $fileList($node) 1] == 0} {
-            LabelUpdate .frmStatus.frmProgress.lblProgress ""
-            $noteBook itemconfigure $node 
-            #-foreground $editor(nbNormal)
-        } else {
-            LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-            $noteBook itemconfigure $node -foreground $editor(nbModify)
+            regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
+            $txt insert  $lineNum.[lindex [split $v2] 0] "# "
+            $txt tag add comments $lineNum.0 $lineNum.end
+            $txt tag raise comments
         }
     }
-}
-
-## TABULAR INSERT (auto indent)##
-proc TabIns {text} {
-    set tabSize 4
-    set indentSize 4
-    set pos [$text index insert]
-    set lineNum [lindex [split $pos "."] 0]
-    set posNum [lindex [split $pos "."] 1]
-    if {$lineNum > 1} {
-        # get current text
-        set curText [$text get $lineNum.0 "$lineNum.0 lineend"]
-        #get text of prev line
-        set prevLineNum [expr {$lineNum - 1}]
-        set prevText [$text get $prevLineNum.0 "$prevLineNum.0 lineend"]
-        #count first spaces in current line
-        set spaces ""
-        regexp "^| *" $curText spaces
-        #count first spaces in prev line
-        set prevSpaces ""
-        regexp "^( |\t)*" $prevText prevSpaces
-        set len [string length $prevSpaces]
-        set shouldBeSpaces 0
-        for {set i 0} {$i < $len} {incr i} {
-            if {[string index $prevSpaces $i] == "\t"} {
-                incr shouldBeSpaces $tabSize
-            } else  {
-                incr shouldBeSpaces
+    proc Uncomment {txt} {
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
             }            
-        }
-        #see last symbol in the prev String.
-        set lastSymbol [string index $prevText [expr {[string length $prevText] - 1}]]
-        # is it open brace?
-        if {$lastSymbol == "\{"} {
-            incr shouldBeSpaces $indentSize
-        }
-        set a ""
-        regexp "^| *\}" $curText a
-        if {$a != ""} {
-            # make unindent
-            if {$shouldBeSpaces >= $indentSize} {
-                set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                set str [$txt get $i.0 $i.end]
+                if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
+                    $txt delete $i.[lindex [split $v2] 0] $i.[lindex [split $v3] 0]
+                }
             }
-        }
-        if {$lastSymbol == "\["} {
-            incr shouldBeSpaces $indentSize
-        }
-        set a ""
-        regexp "^| *\]" $curText a
-        if {$a != ""} {
-            # make unindent
-            if {$shouldBeSpaces >= $indentSize} {
-                set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
-            }
-        }
-        if {$lastSymbol == "\("} {
-            incr shouldBeSpaces $indentSize
-        }
-        set a ""
-        regexp {^| *\)} $curText a
-        if {$a != ""} {
-            # make unindent
-            if {$shouldBeSpaces >= $indentSize} {
-                set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
-            }
-        }
-        set spaceNum [string length $spaces]
-        if {$shouldBeSpaces > $spaceNum} {
-            #insert spaces
-            set deltaSpace [expr {$shouldBeSpaces - $spaceNum}]
-            set incSpaces ""
-            for {set i 0} {$i < $deltaSpace} {incr i} {
-                append incSpaces " "
-            }
-            $text insert $lineNum.0 $incSpaces
-        } elseif {$shouldBeSpaces < $spaceNum} {
-            #delete spaces
-            set deltaSpace [expr {$spaceNum - $shouldBeSpaces}]
-            $text delete $lineNum.0 $lineNum.$deltaSpace
-        }
-    }
-}
-
-proc EditFlag {node file flag} {
-    global fileList editor noteBook
-    if {$flag == 0} {
-        set fileList($node) [list $file 0]
-        LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File saved"]
-        $noteBook itemconfigure $node -foreground $editor(nbNormal)
-    } else {
-        set fileList($node) [list $file end 1]
-        LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-        $noteBook itemconfigure $node -foreground $editor(nbModify)
-    }
-}
-proc TextEncode {encode} {
-    global fileList editor noteBook
-    set node [$noteBook raise]
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} {
-        return
-    }
-    #set file $fileList($node)
-    set w .replace
-    set text "$noteBook.f$node.text"
-    set contents [$text get 0.0 end]
-    #puts "[lindex $files($activeFile) 2] $encode"
-    set contents [encoding convertfrom $encode $contents]
-    #set contents [encoding convertfrom $encode $contents]
-    $text delete 0.0 end
-    $text insert end $contents
-    unset text
-    #SetEncode $encode
-}
-
-## EDITING  FILE ##
-proc EditFile {tree node fileName} {
-    global projDir workDir imgDir  noteBook fontNormal fontBold w fileList replace nodeEdit procList
-    global backUpFileCreate fileExt progress editor braceHighLightBG braceHighLightFG activeProject
-    global varList noteBookFiles
-    set nodeEdit $node
-    set replace 0
-    set file [file tail $fileName]
-    set name [file rootname $file]
-    set fileExt [string tolower [string range [file extension $fileName] 1 end]]
-    set parentNode  [$tree parent $node]
-    set project [$tree itemcget $parentNode -data]
-    image create photo close_16x16 -data {
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAFMXpUWHRSYXcgcHJvZmlsZSB0eXBl
-        IGV4aWYAAHjarVdrrjM3CP3vVXQJBowfy/FT6g66/OKZgdw4udIntbEyJn4APgfwxM1//l7uL/kg
-        hOgCpxxLjF4+oYSCVYTs70+9nuDD9Xx+eBXexp1NoAyR9HT/zPFZr+Pg3zRBFYl/KMr9mWjvEyU8
-        +vOh6DFE2yMUYTyKyqOI8J6AR0G9j+VjyennEdq8+6EnyffX7QelS7cpOX+HJOgNlkFCnATk5YmE
-        twO0v+ioisDyREqyEKRtOciTROHtiQDyDSf/wyt3smIS/DJ+kELxHncy8A5mtP7rOPB38N0F8Q/L
-        1M3y2zgsn87j6Hetkd1a8z5dDVEgjc+h9CiXJAubQE7XtigtyZdFTlcr0rKT6O3CzvDdN2kdCqDQ
-        siDAgAoL5tV36OJiwIlCCSJ2pGssC0UFO3knLIXdYGGiQoOycNaFXpJRNF/gslsucx2yGB4gKxFE
-        Gdz04//TflW01g55AJ8NK/ELdxCKG5u5/ZRV4SLiiSO+ANZ2fjavJAzyBXOWA1bfbhWN4YmtHUd0
-        EU2ykKW/0wLSeBQIRGKbxRmJ+gA+AjFE8AkxAQiOWfipoihLPmATCoAZh3iJgSgKORm3bdmT4FqL
-        jPew1CwhgilSEmoKVeEqSGGT+EkhSwxVJg7MHDlx5sI1UgyRY4wp7uJXE6WQOMWUUk4l1Uw5ZM4x
-        p5xdLrkWLCTFkUssqeRSSq1itIrmKrurLKi1YaMWGrfYUsuttNolfHro3GNPPbteeh04aEidGHGk
-        kUcZdcKUUJph8owzzTzLrEtCbdEKi1dcaeVVVjXWwN20frQ/Zw2UNbyY2guTsSZbU1IVsMsJb86E
-        MQwgjKfNgAQ0bs58hhDQbeo2Z76gZAWjeMmbnAGbMWEwTEBeYNy9mHvjzYXwn3hDZc5t6v4P5tym
-        7hfmPnn7wtrYt0335C6GdhpuUD1J+glKFXPdF9rVycqBzwiRDs1eVZKIrOi22Iutm89sTYEh8K5F
-        j2AqbAqenoNMuMtyfNbEcU2KFfWpqRq1v1jnqCWVsF6KtntBXZnpwzKddnYxuIWy1CvHj1Z/+gBH
-        L3VlqJh0kcTbI7lUptrpQw3NppYi2SzpbF+P5FWfhKJ7PFOiMCtM/N7DHHrU1KpqZ0VkyXWkiOWg
-        UjVpFiP+hSIb8NR0trupSHZFCcGCQecseJZKK3Uzu7bk9s4XSl2lmSxKzOWRVXGph4Wda48tb6f1
-        ZisvddKbk3asCm9B7m6x6fzIGgZqvRo1CraFpP/Ru7ecWjQM5hRVBHU2z1N5avCA4cBCJllaJQMo
-        1jNp/C+98x8UrTIML1L2YX3krsV5jSK4i6NadNBb1EXztDblchireMatOwPY4k7ejCzasrrR+UxJ
-        fqCUu7/RZ/C+SgAbWmpqSWlVD5M55r5nli8n54mMqZItbKNh4sCoCjoYiy4s5TiAJMQrQIoNRtTC
-        hvnPestmX18cX6LbMlrNTDpv0WXB9TpkMxZfdSu4cdbTGY2i8Z7gV34rzmzZAEOzX97R1ZFq9g2w
-        plvxrItSfE2srvCRA2hQL7Jq38OrCtsRa3kV3+FskzndDQKLqzaOmyB+2Je/WVYuR7SoDtmier1y
-        sCkufF7FszmrDHbtoOLEH1dV+c0xiKaIjRfjthiUxJbUVuasHNwa5NUvf+RVsHqdTp+O7bL7Idz5
-        8oGoLYpnrbBXgo/oq87KAf0GBJz6i90dKjTQm9YSwS4fOwSeBQFe9/QPANz3Onr28mZWpAr+C4xG
-        57m7leTpAAAAZHpUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHjaPUoxDoAwENrvFT7hCmj1Oabt
-        4Obg/yNpjJCDCxDX/bRYJrQFd0GHesr8AZSWYPV7Ekwf0O2r1flsm9vBYnoTlI2sHnwRFS/2cRdj
-        W7BhmgAAASRpQ0NQSUNDIHByb2ZpbGUAAHicnZC/SsNQFMZ/qf+K2ElxUIcMOhZczORSFYKgEGMF
-        q1OapFhMYkhSim/gm+jDdBAEH8EHUHD2u9HBwSxeOHw/Dud8370XWnYSpuX8LqRZVbh+b3A5uLKX
-        3lhgkzYddoKwzHued0Lj+XzFMvrSNV7Nc3+exSguQ+lMlYV5UYG1L3amVW5Yxdpt3z8UP4jtKM0i
-        8ZN4O0ojw2bXT5NJ+ONpbrMSZxfnpq/awuWYUzxshkwYk1DRlWbqHOGwJ3UpCLinJJQmxOpNNVNx
-        Iyrl5HIg6ot0m4a8jTrPU8pQHmN5mYQ7UnmaPMz/fq99nNWb1vosD4qgbs2pWqMRvD9CZwCrz7B8
-        3ZDV/v22hhmnnvnnG78A3slQYApdFcIAAA+LaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hw
-        YWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBt
-        ZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2
-        MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
-        LXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpp
-        cHRjRXh0PSJodHRwOi8vaXB0Yy5vcmcvc3RkL0lwdGM0eG1wRXh0LzIwMDgtMDItMjkvIgogICAg
-        eG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpz
-        dEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgog
-        ICAgeG1sbnM6cGx1cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIKICAgIHht
-        bG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOmRjPSJodHRwOi8v
-        cHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9i
-        ZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x
-        LjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6MGQ3ZjM0YWItOTUzZS00
-        ODY1LWJkYWMtNWZjYzA5MmNjNWVkIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmI2MTk2
-        NTlmLWJiZjMtNDBkNi05YWMwLThiMmIyNzc4MGU3YiIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVu
-        dElEPSJ4bXAuZGlkOjAyODVmOGJjLTU1NjgtNGJmMS1iNDhkLTUwZGM2MGZkYjU5ZCIKICAgR0lN
-        UDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIx
-        NjUzNjM5ODc4NjYyNDkwIgogICBHSU1QOlZlcnNpb249IjIuMTAuMjIiCiAgIGRjOkZvcm1hdD0i
-        aW1hZ2UvcG5nIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJ
-        TVAgMi4xMCI+CiAgIDxpcHRjRXh0OkxvY2F0aW9uQ3JlYXRlZD4KICAgIDxyZGY6QmFnLz4KICAg
-        PC9pcHRjRXh0OkxvY2F0aW9uQ3JlYXRlZD4KICAgPGlwdGNFeHQ6TG9jYXRpb25TaG93bj4KICAg
-        IDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgIDxpcHRjRXh0OkFydHdv
-        cmtPck9iamVjdD4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OkFydHdvcmtPck9iamVjdD4K
-        ICAgPGlwdGNFeHQ6UmVnaXN0cnlJZD4KICAgIDxyZGY6QmFnLz4KICAgPC9pcHRjRXh0OlJlZ2lz
-        dHJ5SWQ+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAg
-        ICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2
-        dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjNjMGYyODI4LTRhY2EtNDdmMy1iZjM4LWJjY2YzYTM5MTEz
-        YyIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0
-        RXZ0OndoZW49IiswMzowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAg
-        IDxwbHVzOkltYWdlU3VwcGxpZXI+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFnZVN1cHBs
-        aWVyPgogICA8cGx1czpJbWFnZUNyZWF0b3I+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFn
-        ZUNyZWF0b3I+CiAgIDxwbHVzOkNvcHlyaWdodE93bmVyPgogICAgPHJkZjpTZXEvPgogICA8L3Bs
-        dXM6Q29weXJpZ2h0T3duZXI+CiAgIDxwbHVzOkxpY2Vuc29yPgogICAgPHJkZjpTZXEvPgogICA8
-        L3BsdXM6TGljZW5zb3I+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBt
-        ZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
-        Cjw/eHBhY2tldCBlbmQ9InciPz5/607fAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCa
-        nBgAAAAHdElNRQfmBRsIGCYdNEHNAAABw0lEQVQozz3NPUxTURxA8XPvfe1TFKRFo8UIRT40GqNh
-        QdEYFReNg4tx00QDC9HBzcQRJ6ODMcbZuDg4OBLTaKIYQgcDVUClDfGjUKClYGn7Xvvu3wU98y85
-        SiNEyTu9+zuOLJ0txku+PxWMlabIbaCwKI1FN14b7Lux3PnZSasS1lrPSxYflkepW4xA4/2Ry7fz
-        bRPOnL6u2/S6KYRNR7hfFqrTCJjhO/PFWbkpB+WSZGRNxmVETku7xL65Z1wY6HmbKkhNvsgjeSae
-        iIh4kpCL0iotr3SzM3DY66rSzCHi1AkDEELIoXD6t3U7S+dnnCrH2UUD/1rlJb8xqKhuN53DftcL
-        naaJVswmCMiSYR2xtaTZeaV+oKBn+EgfezZBiF7OEWXV/hzVK5Mrtg7E2P1/oQjRw1VitpJ11j7g
-        +SHhAlHA8pUCR9lOmdckcm5a51OlCYshggOUecAQj5nlPc+DSsL7brZuVPLuCYksYNhHgif4JJnk
-        jUynKvf0vPHwMnrRHMtFxtUy7/hBmDDZ+q+Uf7c2JqIMhpp2TzXdMidtC0qjrV0sJ0pPg09YUAYH
-        jy34Oxq6TVz2ipCtpatz5k8AwF+X6NHCM54kXAAAAABJRU5ErkJggg==
-    }
-    #    set w [$noteBook insert end $node -text "$file" -image [Bitmap::get [file join $imgDir [GetImage $fileName].gif]] \
-    #-background $editor(bg) -foreground $editor(fg)]
-    set w [$noteBook insert end $node -text "$file" -image [Bitmap::get [file join $imgDir [GetImage $fileName].gif]] \
-    -ractiveimage  close_16x16 -rimage close_16x16  -rimagecmd CloseFileNB]
-    # set w [$noteBook insert end $node -text "$file" -image [Bitmap::get [file join $imgDir close.png]]]
-    
-    EditorFileNavigateMenu $w $fileName
-    
-    #puts $w 
-    # create array with file names #
-    if {[info exists fileList($node)] != 1} {
-        set fileList($node) [list $fileName 0]
-        LabelUpdate .frmStatus.frmProgress.lblProgress ""
-    }    
-    if {$fileExt == "gif" || $fileExt == "jpg" || $fileExt == "png"  || $fileExt == "xpm" || $fileExt == "xbm"} {
-        ImageViewer $fileName $w $node
-        #$scrwin setwidget $w.Ó
-        $noteBook raise $node
-        return
-    }
-    # Textbox with line numbers
-#      text $w.textLines\
-#      -relief flat -highlightthickness 0 -font $editor(font) -blockcursor true\
-#      -selectborderwidth 0 -selectbackground $editor(selectbg) -width 5 \
-#      -background $editor(bg) -foreground $editor(fg)
-#      pack $w.textLines -side left -fill y -expand true
-    # Editor textbox
-    set scrwin [ScrolledWindow $w.scrwin -bg $editor(bg)]
-    pack $scrwin -side top -fill both -expand true
-    text $w.text -relief sunken -wrap $editor(wrap) -highlightthickness 0 \
-    -undo 1 -font $editor(font) -blockcursor true -selectborderwidth 0 \
-    -selectbackground $editor(selectbg) -width 10 -background $editor(bg) \
-    -foreground $editor(fg)
-    
-    pack $w.text -side left -fill both -expand true
-    #$scrwin setwidget $w.textLines 
-    $scrwin setwidget $w.text
-    
-    if {$backUpFileCreate == "Yes"} {file copy -force $fileName "$fileName~"}
-    
-    $noteBook raise $node
-    set procName ""
-    set file [open "$fileName" r]
-    set lineNumber 1
-    #    Progress start
-    #    LabelUpdate .frmStatus.frmProgress.lblProgress "[::msgcat::mc "Opened file in progress"]"
-    #puts [$tree nodes $node]
-    while {[gets $file line] >=0} {
-        ReadFileStructure "openFile" $line $lineNumber $tree $node
-        incr lineNumber
-    }
-    close $file
-    $w.text mark set insert 0.0
-    $w.text see insert
-    $w.text tag configure lightBracket -background #000000 -foreground #00ffff
-    
-    # key bindings #
-    set text $w.text
-    bind $text  {
-        regexp {^(\s*)} [%W get "insert linestart" end] -> spaceStart
-        %W insert insert "\n$spaceStart"
-        break
-    }    
-    bind $text  GoToLine
-    #bind $text  GoToLine
-    bind $text  {focus .frmTool.frmGoto.entGoTo; .frmTool.frmGoto.entGoTo delete 0 end}
-    bind $text  Find
-    bind $text  Find
-    bind $text  {FindNext $w.text 1}
-    bind $text  ReplaceDialog
-    bind $text  ReplaceDialog
-    bind $text  {ReplaceCommand $w.text 1}
-    bind $text  {FileDialog [$noteBookFiles raise] save}
-    bind $text  {FileDialog [$noteBookFiles raise] save}
-    bind $text  {FileDialog [$noteBookFiles raise] save_as}
-    bind $text  {FileDialog [$noteBookFiles raise] save_as}
-    bind $text  {FileDialog [$noteBookFiles raise] close}
-    bind $text  {FileDialog [$noteBookFiles raise] close}
-    bind $text  "tk_textCut $w.text;break"
-    bind $text  "tk_textCut $w.text;break"
-    bind $text  "tk_textCopy $w.text;break"
-    bind $text  "tk_textCopy $w.text;break"
-    bind $text  "tk_textPaste $w.text;break"
-    bind $text  {TextOperation paste; break}
-    
-    #bind $text  "auto_completition $text"
-    #bind $text  "auto_completition $text"
-    bind $text  "auto_completition_proc $text"
-    bind $text  "auto_completition_proc $text"
-    #bind $text  "auto_completition_proc $text"
-    bind $text  "ImageBase64Encode $text"
-    
-    bind $text  Find
-    bind $text  {TextOperation comment}
-    bind $text  {TextOperation uncomment}
-    bind $text  Find
-    #bind .  PageTab
-    #bind .  PageTab
-    bind $text  {OverWrite}
-    bind $text  {Position}
-    bind $text  {catch [PopupMenuEditor %X %Y]}
-    bind $text  "%W yview scroll -3 units"
-    bind $text  "%W yview scroll  3 units"
-    #bind $text  "%W xview scroll -2 units"
-    #bind $text  "%W xview scroll  2 units"
-    
-    bind $text  {
-        Position
-        set nodeEdit [$noteBook raise]
-        if {$nodeEdit == "" || $nodeEdit == "newproj" || $nodeEdit == "settings" || $nodeEdit == "about" || $nodeEdit == "debug"} {
+           $txt tag remove comments $lineBegin.0 $lineEnd.end
+           $txt tag add	sel $lineBegin.0 $lineEnd.end
+           $txt highlight $lineBegin.0 $lineEnd.end
         } else {
-            set textEdit "$noteBook.f$nodeEdit.text"
-            set pos [$textEdit index insert]
-            set line [lindex [split $pos "."] 0]
-            set editLine [$textEdit get $line.0 $pos]
-            if {$autoFormat == "Yes"} {
-                if {$fileExt != "for"} {
-                    TabIns $textEdit
-                }
+            #set posNum [lindex [split $pos "."] 1]
+            set str [$txt get $lineNum.0 $lineNum.end]
+            if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
+                puts ">>>>> $v1, $v2, $v3"
+                    $txt delete $lineNum.[lindex [split $v2] 0] $lineNum.[lindex [split $v3] 0]
+                    #$txt insert $i.0 $v3
             }
-            HighLight $fileExt $textEdit $editLine $line $nodeEdit
+            $txt tag remove comments $lineNum.0 $lineNum.end
+            $txt highlight $lineNum.0 $lineNum.end
         }
     }
-    bind $text  {
-        if {$nodeEdit == "" || $nodeEdit == "newproj" || $nodeEdit == "settings" || $nodeEdit == "about"  || $nodeEdit == "debug"} {
+
+    proc InsertTabular {txt} {
+        global cfgVariables
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+
+        puts "Select : $selIndex"
+        for {set i 0} {$i < $cfgVariables(tabSize)} { incr i} {
+            append tabInsert " "
+        }
+        puts ">$tabInsert<"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            # if {$lineBegin == $lineNum} {
+                # set lineBegin [expr $lineBegin +	 1]
+            # }
+            if {$lineEnd == $lineNum || $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
+            }
+            puts "Pos: $pos, Begin: $lineBegin, End: $lineEnd"
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                #$txt insert $i.0 "# "
+                regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
+                $txt insert  $i.[lindex [split $v2] 0]  $tabInsert
+            }
+            $txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
+            $txt tag add	sel $lineBegin.0 $lineEnd.end
+            $txt highlight $lineBegin.0 $lineEnd.end            
         } else {
-            set nodeEdit [$noteBook raise]
-            if {[Key %k] == "true"} {
-                if {[lindex $fileList($nodeEdit) 1] == 0} {
-                    set fileList($nodeEdit) [list [lindex $fileList($nodeEdit) 0] 1]
-                    LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-                    $noteBook itemconfigure $nodeEdit -foreground $editor(nbModify)
-                }
-                ReplaceChar %W
-            };# if
-        };# if
-    };# bind
-    bind $text  {
-        if {$nodeEdit == ""} {return}
-        set textEdit "$noteBook.f$nodeEdit.text"
-        #OpComplite $textEdit $fileExt $nodeEdit
-        if {[lindex $fileList($nodeEdit) 1] == 0} {
-            set fileList($nodeEdit) [list [lindex $fileList($nodeEdit) 0] 1]
-            LabelUpdate .frmStatus.frmProgress.lblProgress [::msgcat::mc "File modify"]
-            $noteBook itemconfigure $nodeEdit -foreground  $editor(nbModify)
+            # set pos [$txt index insert]
+            # set lineNum [lindex [split $pos "."] 0]
+            regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
+            puts "$v1<>$v2"
+            $txt insert  $lineNum.[lindex [split $v2] 0] $tabInsert
         }
     }
-    # Alexander Dederer (aka Korwin)
-    # bind like VI editor
-    bind $text  {
-        set i -1
-        switch -- [%W get "insert - 1 chars"] {
-            \{ {set i [_searchCloseBracket %W \{ \} insert end]}
-            \[ {set i [_searchCloseBracket %W \[ \] insert end]}
-            (  {set i [_searchCloseBracket %W  (  ) insert end]}
-            \} {set i [_searchOpenBracket  %W \{ \} insert 1.0]}
-            \] {set i [_searchOpenBracket  %W \[ \] insert 1.0]}
-            )  {set i [_searchOpenBracket  %W  (  ) insert 1.0]}
-        } ;# switch
-        if { $i != -1 } {
-            %W mark set insert $i
-            %W see insert
-        }
-    } ;# bind
-    bindtags $text [list [winfo toplevel $text] $text Text sysAfter all]
-    bind sysAfter  {+ set i -1
-            catch {
-            switch -- [%W get "insert - 1 chars"] {
-                \{ {set i [_searchCloseBracket %W \{ \} insert end]}
-                \[ {set i [_searchCloseBracket %W \[ \] insert end]}
-                ( {set i [_searchCloseBracket %W (   ) insert end]}
-                \} {set i [_searchOpenBracket  %W \{ \} insert 1.0]}
-                \] {set i [_searchOpenBracket  %W \[ \] insert 1.0]}
-                ) {set i [_searchOpenBracket  %W  (  ) insert 1.0]}
-            } ;# switch
-            catch { %W tag remove lightBracket 1.0 end }
-            if { $i != -1 } {
-                %W tag add lightBracket "$i - 1 chars" $i
-            };#if
-        };#catch
-    } ;# bind sysAfter
-    
-    bind sysAfter  [bind sysAfter ]
-    focus -force $w.text
-    Position
-    .frmStatus.frmOvwrt.lblOvwrt configure -text [::msgcat::mc "Insert"] -font $fontNormal
-    bind $text  {OverWrite; break}
-    ## READ TEXT FOR HIGHLIGHTNING ##
-    set lineNum 1
-    while {$lineNum <=[expr $lineNumber + 1]} {
-        set line [$w.text get $lineNum.0 $lineNum.end]
-        HighLight $fileExt $w.text $line $lineNum $nodeEdit
-        incr lineNum
-    }
-}
-## GET KEYS CODE ##
-proc Key {key} {
-    if {$key >= 10 && $key <= 22} {return "true"}
-    if {$key >= 24 && $key <= 36} {return "true"}
-    if {$key >= 38 && $key <= 50} {return "true"}
-    if {$key >= 51 && $key <= 61 && $key != 58} {return "true"}
-    if {$key >= 79 && $key <= 91} {return "true"}
-    if {$key == 63 || $key == 107 || $key == 108 || $key == 112} {return "true"}
-}
-# "Alexander Dederer (aka Korwin)
-## Search close bracket in editor widget
-proc _searchCloseBracket { widget o_bracket c_bracket start_pos end_pos } {
-    set o_count 1
-    set c_count 0
-    set found 0
-    set pattern "\[\\$o_bracket\\$c_bracket\]"
-    set pos [$widget search -regexp -- $pattern $start_pos $end_pos]
-    while { ! [string equal $pos {}] } {
-        set char [$widget get $pos]
-        #tk_messageBox -title $pattern -message "char: $char; $pos; o_count=$o_count; c_count=$c_count"
-        if {[string equal $char $o_bracket]} {incr o_count ; set found 1}
-        if {[string equal $char $c_bracket]} {incr c_count ; set found 1}
-        if {($found == 1) && ($o_count == $c_count) } { return [$widget index "$pos + 1 chars"] }
-        set found 0
-        set start_pos "$pos + 1 chars"
-        set pos [$widget search -regexp -- $pattern $start_pos $end_pos]
-    } ;# while search
-    
-    return -1
-} ;# proc _searchCloseBracket
-
-# "Alexander Dederer (aka Korwin)
-## Search open bracket in editor widget
-proc _searchOpenBracket { widget o_bracket c_bracket start_pos end_pos } {
-    set o_count 0
-    set c_count 1
-    set found 0
-    set pattern "\[\\$o_bracket\\$c_bracket\]"
-    set pos [$widget search -backward -regexp -- $pattern "$start_pos - 1 chars" $end_pos]
-    while { ! [string equal $pos {}] } {
-        set char [$widget get $pos]
-        #tk_messageBox -title $pattern -message "char: $char; $pos; o_count=$o_count; c_count=$c_count"
-        if {[string equal $char $o_bracket]} {incr o_count ; set found 1}
-        if {[string equal $char $c_bracket]} {incr c_count ; set found 1}
-        if {($found == 1) && ($o_count == $c_count) } { return [$widget index "$pos + 1 chars"] }
-        set found 0
-        set start_pos "$pos - 0 chars"
-        set pos [$widget search -backward -regexp -- $pattern $start_pos $end_pos]
-    } ;# while search
-    return -1
-} ;# proc _searchOpenBracket
-
-proc SelectAll {text} {
-    global noteBook
-    
-    $text tag remove sel 1.0 end
-    $text tag add sel 1.0 end
-    
-}
-
-proc TextOperation {oper} {
-    global noteBook fileList autoFormat
-    set nb [$noteBook raise]
-    if {$nb == "" || $nb == "newproj" || $nb == "about" || $nb == "debug"} {
-        return
-    }
-    set nb "$noteBook.f$nb"
-    switch $oper {
-        "copy" {tk_textCopy $nb.text}
-        "paste" {
-            set startPos [Position]
-            set nodeEdit [$noteBook raise]
-            EditFlag $nodeEdit [lindex $fileList($nodeEdit) 0] 1
-            set fileList($nodeEdit) [list [lindex $fileList($nodeEdit) 0] 1]
-            set fileExt [string range [file extension [lindex $fileList($nodeEdit) 0]] 1 end]
-            tk_textPaste $noteBook.f$nodeEdit.text
-            set endPos [Position]
-            set lineBegin [lindex [split $startPos "."] 0]
-            set lineEnd [lindex [split $endPos "."] 0]
-            for {set line $lineBegin} {$line <= $lineEnd} {incr line} {
-                if {$nodeEdit == "" || $nodeEdit == "newproj" || $nodeEdit == "settings" || $nodeEdit == "about" || $nodeEdit == "debug"} {
-                } else {
-                    set textEdit "$noteBook.f$nodeEdit.text"
-                    set editLine [$textEdit get $line.0 $line.end]
-                    if {$autoFormat == "Yes"} {
-                        if {$fileExt != "for"} {
-                            TabIns $textEdit
-                        }
-                    }
-                    HighLight $fileExt $textEdit $editLine $line $nodeEdit
-                }
+    proc DeleteTabular {txt} {
+        global cfgVariables
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            if {$lineEnd == $lineNum && $posEnd == 0} {
+                set lineEnd [expr $lineEnd - 1]
             }
-        }
-        "cut" {tk_textCut $nb.text}
-        "redo" {$nb.text edit redo}
-        "undo" {$nb.text edit undo}
-        "comment" {
-            set selIndex [$nb.text tag ranges sel]
-            if {$selIndex != ""} {
-                set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
-                set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
-                for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
-                    $nb.text insert $i.0 "# "
-                }
-                $nb.text tag add comments $lineBegin.0 $lineEnd.end
-                $nb.text tag raise comments
-            } else {
-                return
-            }
-        }
-        "uncomment" {
-            set selIndex [$nb.text tag ranges sel]
-            if {$selIndex != ""} {
-                set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
-                set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
-                for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
-                    set str [$nb.text get $i.0 $i.end]
-                    if {[regexp -nocase -all -line -- {(^| )(#+)(.+)} $str match v1 v2 v3]} {
-                        $nb.text delete $i.0 $i.end
-                        $nb.text insert $i.0 $v3
+            for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
+                set str [$txt get $i.0 $i.end]
+                if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1 v2]} {
+                    set posBegin [lindex [split $v1] 0]
+                    set posEnd [lindex [split $v1] 1]
+                    if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
+                        $txt delete $i.$posBegin $i.$cfgVariables(tabSize)
                     }
                 }
-                $nb.text tag remove comments $lineBegin.0 $lineEnd.end
-            } else {
-                return
             }
+            $txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
+            $txt tag add	sel $lineBegin.0 $lineEnd.end
+            $txt highlight $lineBegin.0 $lineEnd.end
+        } else {
+            set str [$txt get $lineNum.0 $lineNum.end]
+            if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1]} {
+                    set posBegin [lindex [split $v1] 0]
+                    set posEnd [lindex [split $v1] 1]
+                    if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
+                        $txt delete $lineNum.$posBegin $lineNum.$cfgVariables(tabSize)
+                    }
+             }
         }
     }
-    unset nb
-}
-proc ReadFileStructure {mod line lineNumber tree node} {
-    global projDir workDir imgDir  noteBook fontNormal fontBold fileList replace nodeEdit procList
-    global backUpFileCreate fileExt progress editor braceHighLightBG braceHighLightFG activeProject
-    global varList
-    set dot "_"
-                
-    # Insert procedure names into tree #
-    regsub -all {\t} $line "        " line
-    set w $noteBook.f$node
-    if {$mod eq "openFile"} {
-        $w.text insert end "$line\n"
-    }
-    #        set progress $lineNumber
-    set keyWord ""
-    set procName ""                                                         
-    
-    if {$fileExt == "php" || $fileExt == "phtml"} {
-        regexp -nocase -all -- {(function) (.*?)\(} $line match keyWord procName
-        #puts "$keyWord --- $procName"
-    } else {
-        scan $line "%s%s" keyWord procName
-    }
-    
-    ###################
-    #regexp -nocase -all -line -- {proc (::|)(\w+)(::|)(\w+) \{(.*)\} \{} string match v1 v2 v3 v4 v5
-    #regexp -nocase -all -line -- {proc (.*) \{(.*)\}} $line match procName params
-    if {[regexp -nocase -all -line -- {proc (::|)(\w+)(::|)(\w+) \{(.*)\} \{}  $line match v1 v2 v3 v4 params]} {
-        set procName "$v1$v2$v3$v4"  
-        lappend procList($activeProject) [list $procName [string trim $params]]
-        #puts "proc $procName $params"
-    }
-    if {$keyWord == "proc" || $keyWord == "let" || $keyWord == "class" || $keyWord == "sub" || $keyWord == "function" || $keyWord == "fun" } {
-        set openBrace [string first "\{" $line]
-        set closeBrace [expr [string first "\}" $line]-1]
-        set var [string range $line $openBrace end]
-        regsub -all ":" $procName "_" prcNode
-        set prcNode [string tolower $prcNode]
-        if {$keyWord == "proc" || $keyWord == "sub" || $keyWord == "function"  || $keyWord == "let"} {
-            set img "proc.gif"
-        } elseif {$keyWord == "class"} {
-            set img "class.gif"
-        }
-        if {[$tree exists $prcNode$dot$lineNumber] !=1} {
-            $tree insert end $node $prcNode$dot$lineNumber -text $procName \
-            -data "prc_$procName" -font $fontNormal \
-            -image [Bitmap::get [file join $imgDir $img]]
-            if {[info exists params] == 1 && $params ne ""} {
-                foreach par $params {
-                    $tree insert end $prcNode$dot$lineNumber param_$prcNode$dot$lineNumber$dot$par \
-                    -text $par -data "param_$procName$dot$par" -font $fontNormal \
-                    -image [Bitmap::get [file join $imgDir param.gif]]
+    ## TABULAR INSERT (auto indent)##
+    proc Indent {txt} {
+        global cfgVariables
+        # set tabSize 4
+        set indentSize $cfgVariables(tabSize)
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        puts "$pos"
+        if {$lineNum > 1} {
+            # get current text
+            set curText [$txt get $lineNum.0 "$lineNum.0 lineend"]
+            #get text of prev line
+            set prevLineNum [expr {$lineNum - 1}]
+            set prevText [$txt get $prevLineNum.0 "$prevLineNum.0 lineend"]
+            #count first spaces in current line
+            set spaces ""
+            regexp "^| *" $curText spaces
+            #count first spaces in prev line
+            set prevSpaces ""
+            regexp "^( |\t)*" $prevText prevSpaces
+            set len [string length $prevSpaces]
+            set shouldBeSpaces 0
+            for {set i 0} {$i < $len} {incr i} {
+                if {[string index $prevSpaces $i] == "\t"} {
+                    incr shouldBeSpaces $tabSize
+                } else  {
+                    incr shouldBeSpaces
+                }            
+            }
+            #see last symbol in the prev String.
+            set lastSymbol [string index $prevText [expr {[string length $prevText] - 1}]]
+            # is it open brace?
+            if {$lastSymbol == ":" || $lastSymbol == "\\"} {
+                incr shouldBeSpaces $indentSize
+            }
+            if {$lastSymbol == "\{"} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp "^| *\}" $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
                 }
             }
+            if {$lastSymbol == "\["} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp "^| *\]" $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+                }
+            }
+            if {$lastSymbol == "\("} {
+                incr shouldBeSpaces $indentSize
+            }
+            set a ""
+            regexp {^| *\)} $curText a
+            if {$a != ""} {
+                # make unindent
+                if {$shouldBeSpaces >= $indentSize} {
+                    set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
+                }
+            }
+            set spaceNum [string length $spaces]
+            if {$shouldBeSpaces > $spaceNum} {
+                #insert spaces
+                set deltaSpace [expr {$shouldBeSpaces - $spaceNum}]
+                set incSpaces ""
+                for {set i 0} {$i < $deltaSpace} {incr i} {
+                    append incSpaces " "
+                }
+                $txt insert $lineNum.0 $incSpaces
+            } elseif {$shouldBeSpaces < $spaceNum} {
+                #delete spaces
+                set deltaSpace [expr {$spaceNum - $shouldBeSpaces}]
+                $txt delete $lineNum.0 $lineNum.$deltaSpace
+            }
         }
     }
-    if {$keyWord == "set"} {
-        #         set var $procName
-        #         $tree insert end $node var$dot$lineNumber$dot$var \
-        #         -text $var -data "var_$procName$dot$var" -font $fontNormal \
-        #         -image [Bitmap::get [file join $imgDir var.gif]]
+    proc SelectionPaste {txt} {
+        set selBegin [lindex [$txt tag ranges sel] 0]
+        set selEnd [lindex [$txt tag ranges sel] 1]
+        if {$selBegin ne ""} {
+            $txt delete $selBegin $selEnd
+            $txt highlight $selBegin $selEnd
+            #tk_textPaste $txt
+        }
+    }
+    proc SelectionGet {txt} {
+        variable selectionText
+        
+        set selBegin [lindex [$txt tag ranges sel] 0]
+        set selEnd [lindex [$txt tag ranges sel] 1]
+        if {$selBegin ne "" && $selEnd ne ""} {
+            set selectionText [$txt get $selBegin $selEnd]
+        }
+    }
+    proc ReleaseKey {k txt} {
+        switch $k {
+            Return {
+                set pos [$txt index insert]
+                set lineNum [lindex [split $pos "."] 0]
+                set posNum [lindex [split $pos "."] 1]
+                regexp {^(\s*)} [$txt get [expr $lineNum - 1].0 [expr $lineNum - 1].end] -> spaceStart
+		# puts "$pos, $lineNum, $posNum, >$spaceStart<"
+                $txt insert insert $spaceStart
+                Editor::Indent $txt
+            }
+        }
+    }
+    proc PressKey {k txt} {
+        # puts [Editor::Key $k]
+        switch $k {
+           apostrophe {
+               QuotSelection $txt {'}
+            }
+            quotedbl {
+                QuotSelection $txt {"}
+            }
+            grave {
+                QuotSelection $txt {`}
+            }
+            parenleft {
+                # QuotSelection $txt {)}
+            }
+            bracketleft {
+                # QuotSelection $txt {]}
+            }
+            braceleft {
+                # {QuotSelection} $txt {\}}
+            }
+        }
+    }
+    ## GET KEYS CODE ##
+    proc Key {key str} {
+        puts "Pressed key code: $key, $str"
+        if {$key >= 10 && $key <= 22} {return "true"}
+        if {$key >= 24 && $key <= 36} {return "true"}
+        if {$key >= 38 && $key <= 50} {return "true"}
+        if {$key >= 51 && $key <= 61 && $key != 58} {return "true"}
+        if {$key >= 79 && $key <= 91} {return "true"}
+        if {$key == 63 || $key == 107 || $key == 108 || $key == 112} {return "true"}
+    }
+    
+    proc BindKeys {w} {
+        global cfgVariables
+        #  variable txt
+        set txt $w.frmText.t
+        bind $txt  "Editor::ReleaseKey %K $txt"
+        bind $txt  "Editor::PressKey %K $txt"
+        # bind $txt  "Editor::Key %k %K" 
+        #$txt tag bind Sel   {puts ">>>>>>>>>>>>>>>>>>>"}
+        #bind $txt  {puts "/////////////////"}
+        #     #bind $txt  GoToLine
+        #     bind $txt  {focus .frmTool.frmGoto.entGoTo; .frmTool.frmGoto.entGoTo delete 0 end}
+        #     bind $txt  Find
+        #     bind $txt  Find
+        #     bind $txt  {FindNext $w.text 1}
+        #     bind $txt  ReplaceDialog
+        #     bind $txt  ReplaceDialog
+        #     bind $txt  {ReplaceCommand $w.text 1}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save_as}
+        #     bind $txt  {FileDialog [$noteBookFiles raise] save_as}
+        bind $txt  FileOper::Close
+        bind $txt  FileOper::Close
+        #     bind $txt  "tk_textCut $w.text;break"
+        #     bind $txt  "tk_textCut $w.text;break"
+        #     bind $txt  "tk_textCopy $txt"
+        #     bind $txt  "tk_textCopy $txt"
+        bind $txt  "Editor::SelectionPaste $txt"
+        bind $txt  "Editor::SelectionPaste $txt"
+        
+        #bind $txt  "auto_completition $txt"
+        #bind $txt  "auto_completition $txt"
+        bind $txt  "auto_completition_proc $txt"
+        bind $txt  "auto_completition_proc $txt"
+        bind $txt  "ImageBase64Encode $txt"
+
+        bind $txt  "Editor::InsertTabular $txt"
+        bind $txt  "Editor::DeleteTabular $txt"
+        
+        bind $txt  "Editor::Comment $txt"
+        bind $txt  "Editor::Uncomment $txt"
+        bind $txt  Find
+        #bind .  PageTab
+        #bind .  PageTab
+        bind $txt  {OverWrite}
+        bind $txt  []
+        bind $txt  {catch [PopupMenuEditor %X %Y]}
+        bind $txt  "%W yview scroll -3 units"
+        bind $txt  "%W yview scroll  3 units"
+        #bind $txt  "%W xview scroll -2 units"
+        #bind $txt  "%W xview scroll  2 units"
+        bind $txt <> "SetModifiedFlag $w"
+        bind $txt <> "Editor::SelectionGet $txt"
+    }
+
+    proc QuotSelection {txt symbol} {
+        variable selectionText
+        set selIndex [$txt tag ranges sel]
+        set pos [$txt index insert]
+        set lineNum [lindex [split $pos "."] 0]
+        set posNum [lindex [split $pos "."] 1]
+        set symbol [string trim [string trimleft $symbol "\\"]]
+        # puts "Selindex : $selIndex, cursor position: $pos"
+        if {$selIndex != ""} {
+            set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
+            set posBegin [lindex [split [lindex $selIndex 0] "."] 1]
+            set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
+            set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
+            # set selText [$txt get $lineBegin.$posBegin $lineEnd.$posEnd]
+            set selText $selectionText
+            puts "Selected text: $selText, pos: $pos, lineBegin: $lineBegin, posBegin: $posBegin, pos end: $posEnd"
+            if {$posNum == $posEnd} {
+                $txt insert $lineBegin.$posBegin "$symbol"
+            }
+            if {$posNum == $posBegin} {
+                $txt insert $lineBegin.$posEnd "$symbol"
+            }
+            $txt highlight $lineBegin.$posBegin $lineEnd.end
+            # $txt insert $lineBegin.[expr $posBegin + 1] "$symbol"
+        } else {
+            $txt insert $lineNum.[expr $posNum + 1] "$symbol"
+            $txt mark set insert $lineNum.[expr $posNum - 1]
+            # $txt see $lineNum.[expr $posNum - 1]
+            $txt see insert
+            $txt highlight $lineNum.$posNum $lineNum.end
+        }
+    }
+ 
+    # Create editor for new file (Ctrl+N)
+    proc New {} {
+        global nbEditor tree untitledNumber
+        if [info exists untitledNumber] {
+            incr untitledNumber 1
+        } else {
+            set untitledNumber 0
+        }
+        set filePath untitled-$untitledNumber
+        set fileName untitled-$untitledNumber
+        set fileFullPath untitled-$untitledNumber
+        #puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
+        set nbEditorItem [NB::InsertItem $nbEditor  $fileFullPath "file"]
+        puts "$nbEditorItem, $nbEditor"
+        Editor $fileFullPath $nbEditor $nbEditorItem
+    }
+    proc Editor {fileFullPath nb itemName} {
+        global cfgVariables
+        set fr $itemName
+        if ![string match "*untitled*" $itemName] {
+            set lblName "lbl[string range $itemName [expr [string last "." $itemName] +1] end]"
+            ttk::label $fr.$lblName -text $fileFullPath
+            pack $fr.$lblName  -side top  -anchor w -fill x  
+        }
+        
+        set frmText [ttk::frame $fr.frmText -border 1]
+        set txt $frmText.t
+
+        pack $frmText  -side top -expand true -fill both 
+        pack [ttk::scrollbar $frmText.s -command "$frmText.t yview"] -side right -fill y
+        ctext $txt -yscrollcommand "$frmText.s set" -font $cfgVariables(font) -linemapfg $cfgVariables(lineNumberFG) \
+        -tabs "[expr {4 * [font measure $cfgVariables(font) 0]}] left" -tabstyle tabular -undo true
+        pack $txt -fill both -expand 1
+        puts ">>>>>>> [bindtags $txt]"
+        if {$cfgVariables(lineNumberShow) eq "false"} {
+            $txt configure -linemap 0
+        }
+        set fileType [string toupper [string trimleft [file extension $fileFullPath] "."]]
+        
+        if  {[info procs Highlight::$fileType] ne ""} {
+            Highlight::$fileType $txt
+        } else {
+            Highlight::Default $txt
+        }
+        
+        BindKeys $itemName
+        # bind $txt  {
+            # regexp {^(\s*)} [%W get "insert linestart" end] -> spaceStart
+            # %W insert insert "\n$spaceStart"
+            # break
+        # }
+
+        return $fr
     }
 }
-
-# View modern notebook tab header for edited file
-# like as : "> dir1 > dir2 > file.tcl"
-proc EditorFileNavigateMenu {w fullPathFile} {
-    set lblEditFileFullPath [label $w.lblEditFileFullPath -text [regsub -all -- {/|\\} $fullPathFile " > "] -anchor w ]
-    pack $lblEditFileFullPath -side top -fill x -padx 2 -pady 3
-}
-
-#################################### 
-GetOp
-
-proc CloseFileNB {node nodeItem} {
-    global tree
-    FileDialog $tree close
-}
-
-
-
diff --git a/lib/filedialog.tcl b/lib/filedialog.tcl
deleted file mode 100644
index 9a6f4ae..0000000
--- a/lib/filedialog.tcl
+++ /dev/null
@@ -1,647 +0,0 @@
-#!
-######################################################
-#                projman
-#        Distributed under GNU Public License
-# Author: Sergey Kalinin s.v.kalinin28@gmail.com
-# Copyright (c) "https://nuk-svk.ru"
-# 2018, https://bitbucket.org/svk28/projman
-######################################################
-
-## FILE OPERATION ##
-proc FileDialog {nbNode operation} {
-    global noteBook noteBookFiles fontNormal fontBold
-    global fileList projDir activeProject imgDir editor
-    set dot "_"
-    set types {
-        {"Tcl files" {.tcl}}
-        {"Tk files" {.tk}}
-        {"Rivet files" {.rvt}}
-        {"TclHttpd Template" {.tml}}
-        {"Sql files" {.sql}}
-        {"Html files" {.html}}
-        {"Text files" {.txt}}
-        {"JAVA files" {.java}}
-        {"PERL files" {.pl}}
-        {"PHP files" {.php}}
-        {"FORTRAN files" {.for}}
-        {"CAML or ML files" {.ml}}
-        {"CAML or ML interface files" {.mli}}
-        {"Ruby files" {.rb}}
-        {"Text files" {} TEXT}
-        {"All files" *}
-    }
-    variable tree
-    if {$nbNode eq "files"} {
-        set tree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles
-    } elseif {$nbNode eq "projects"} {
-        set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree 
-    }
-    puts "node $nbNode , Tree - $tree"
-    if {$operation == "open"} {
-        set dir $projDir
-        set fullPath [tk_getOpenFile -initialdir $dir -filetypes $types -parent $noteBook]
-        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
-        regsub -all "." $file "_" node
-        set dir [file dirname $fullPath]
-        set file [file tail $fullPath]
-        set name [file rootname $file]
-        set ext [string range [file extension $file] 1 end]
-        set node "$name$dot$ext"
-        EditFile $tree $node $fullPath
-        return 1
-    } elseif {$operation == "delete"} {
-        set node [$tree selection get]
-        set fullPath [$tree itemcget $node -data]
-        set dir [file dirname $fullPath]
-        set file [file tail $fullPath]
-        set answer [tk_messageBox -message "[::msgcat::mc "Delete file"] \"$file\"?"\
-        -type yesno -icon question -default yes]
-        case $answer {
-            yes {
-                FileDialog $tree close
-                file delete -force "$fullPath"
-                $tree delete $node
-                $tree configure -redraw 1
-                return 0
-            }
-        }
-    } elseif {$operation == "close"} {
-        set node [$noteBook raise]
-        if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-            $noteBook delete $node
-            set node [$noteBook raise]
-            return
-        } else {
-            if {$node == ""} {return}
-            if {[info exists fileList($node)] == 0} {return}
-            set fullPath [lindex $fileList($node) 0]
-            set dir [file dirname $fullPath]
-            set file [file tail $fullPath]
-            set text "$noteBook.f$node.text"
-        }
-    } elseif {$operation == "close" && [info exists files] == 0} {
-        return
-    }  else {
-        set node [$noteBook raise]
-        puts $node        
-        if {$node == ""} {return}
-        if {[info exists fileList($node)] == 0} {return}
-        set fullPath [lindex $fileList($node) 0]
-        set dir [file dirname $fullPath]
-        set file [file tail $fullPath]
-        set text "$noteBook.f$node.text"
-    }
-    set name [file rootname $file]
-    set ext [string range [file extension $file] 1 end]
-    set treeSubNode "$name$dot$ext"
-    
-    set img [GetImage $file]
-    
-    if {$operation == "open"} {
-        set fullPath [tk_getOpenFile -initialdir $dir -filetypes $types -parent $noteBook]
-        puts $fullPath
-        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
-        
-        regsub -all "." $file "_" node
-        $noteBook insert end $node -text "$file"
-        EditFile $node $fullPath
-    } elseif {$operation == "save"} {
-        if {$name == "untitled"} {
-            set file [tk_getSaveFile -initialdir $dir -filetypes \
-            $types -parent $text -initialfile $file \
-            -defaultextension .$ext]
-            set contents [$text get 0.0 end]
-            set fhandle [open "$file" "w"]
-            puts $fhandle $contents nonewline
-            close $fhandle
-            file delete [file join $dir $name.$ext]
-            #$tree delete $treeSubNode
-            unset fileList($node)
-            # change data into tree and notebook
-            set dir [file dirname $file]
-            set file [file tail $file]
-            set name [file rootname $file]
-            set ext [string range [file extension $file] 1 end]
-            $tree itemconfigure $treeSubNode -text $name
-            set treeSubNode "$activeProject$dot$name$dot$ext"
-            
-            #$tree insert end $activeProject $treeSubNode -text "$file" \
-            #-data "[file join $dir $file]" -open 1\
-            #-image [Bitmap::get [file join $imgDir $img.gif]]\
-            #-font $fontNormal
-            set nbNode [$noteBook raise]
-            $noteBook itemconfigure $nbNode -text $file
-            set fileList($nbNode) [list $file 0]
-        } else {
-            set fhandle [open [file join $dir $file] "w"]
-            set lineNumber 1
-            #    Progress start
-            #    LabelUpdate .frmStatus.frmProgress.lblProgress "[::msgcat::mc "Opened file in progress"]"
-            set linesCount [$text count -lines $lineNumber.0 end]
-            
-            ######## change the active tree if file opened from different tree ######
-            if {[$tree exists $node] == 0 && $tree eq ".frmBody.frmCat.noteBook.fprojects.frmTree.tree"} {
-                set tree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles
-            } elseif {[$tree exists $node] == 0 && $tree eq ".frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles" } {
-                set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree
-            } else {
-                #return
-            }
-            ########## end ########
-            
-            foreach item [$tree nodes $node] {
-                puts $item
-                $tree delete $item
-            }
-            for {set lineNumber 1} {$lineNumber <= $linesCount} {incr lineNumber} {
-                set line [$text get $lineNumber.0 $lineNumber.end]
-                #puts $line
-                puts $fhandle $line
-                ReadFileStructure "updateFile" $line $lineNumber $tree $node
-                #exit
-            }
-            close $fhandle
-            EditFlag $node [file join $dir $file] 0
-        }
-    } elseif {$operation == "save_all"} {
-        set i 0
-        set nodeList [$noteBook pages 0 end]
-        set length [llength $nodeList]
-        while {$i < $length} {
-            set nbNode [lindex $nodeList $i]
-            if {[info exists fileList($nbNode)] == 1} {
-                set text "$noteBook.f$nbNode.text"
-                set savedFile [lindex $fileList($nbNode) 0]
-                set contents [$text get 0.0 end]
-                set fhandle [open [file join $dir $savedFile] "w"]
-                puts $fhandle $contents nonewline
-                close $fhandle
-                EditFlag $nbNode [file join $dir $savedFile] 0
-            }
-            incr i
-        }
-    } elseif {$operation == "close"} {
-        # delete file name from fileList array #
-        if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-            $noteBook delete $node
-            set node [$noteBook raise]
-            return
-        }
-        set tree [GetTreeForNode $node]
-        set editFlag [lindex $fileList($node) 1]
-        set closedFile [file tail [lindex $fileList($node) 0]]
-        if {$editFlag == 1} {
-            set answer [tk_messageBox\
-            -message "$closedFile [::msgcat::mc "File was modifyed. Save?"]"\
-            -type yesnocancel -icon warning\
-            -title [::msgcat::mc "Warning"]]
-            case $answer {
-                yes {
-                    FileDialog $tree save
-                    #                    FileDialog close
-                }
-                no {
-                    set index 0
-                    
-                    set nl [$tree nodes $node 0 end]
-                    if {$nl != ""} {
-                        foreach n $nl {
-                            $tree delete $n
-                        }
-                    }
-                    $noteBook delete $node
-                    unset fileList($node)
-                    $noteBook raise [$noteBook page $index]
-                    set node [$noteBook raise]
-                }
-                cancel {
-                    return 0
-                }
-            }
-        } else {
-            set index 0
-            set nl [$tree nodes $node 0 end]
-            if {$nl != ""} {
-                foreach n $nl {
-                    $tree delete $n
-                }
-            }
-            #puts $node
-            $noteBook delete $node
-            unset fileList($node)
-            $noteBook raise [$noteBook page $index]
-            set node [$noteBook raise]
-        }
-        if {$node != ""} {
-            if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-                $noteBook delete $node
-            } else {
-                focus -force $noteBook.f$node
-            }
-            set tree [GetTreeForNode $node]
-            focus $tree
-            $tree selection set $node
-        } else {
-            LabelUpdate .frmStatus.frmLine.lblLine ""
-            LabelUpdate .frmStatus.frmFile.lblFile ""
-            LabelUpdate .frmStatus.frmOvwrt.lblOvwrt ""
-            LabelUpdate .frmStatus.frmProgress.lblProgress ""
-        }
-    } elseif {$operation == "close_all"} {
-        set nodeList [$noteBook pages 0 end]
-        $noteBook raise [$noteBook page 0]
-        set nbNode [$noteBook raise]
-        set tree [GetTreeForNode $nbNode]
-        if {$tree eq ".frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles"} {
-            $noteBookFiles raise files
-        } elseif {$tree eq ".frmBody.frmCat.noteBook.fprojects.frmTree.tree"} {
-            $noteBookFiles raise projects
-        }
-        
-        while {$nbNode != ""} {
-            if {$nbNode == "newproj" || $nbNode == "settings" || $nbNode == "about" || $nbNode == "debug"} {
-                $noteBook delete $nbNode
-                $noteBook raise [$noteBook page 0]
-                set nbNode [$noteBook raise]
-            }
-            if {[info exists fileList($nbNode)] == 1} {
-                set editFlag [lindex $fileList($nbNode) 1]
-                if {$editFlag == 1} {
-                    set f [lindex $fileList($nbNode) 0]
-                    set f [file tail $f]
-                    set answer [tk_messageBox\
-                    -message "$f [::msgcat::mc "File was modifyed. Save?"]"\
-                    -type yesnocancel -icon warning\
-                    -title [::msgcat::mc "Warning"]]
-                    case $answer {
-                        yes {
-                            FileDialog $tree save
-                        }
-                        no {}
-                        cancel {return cancel}
-                    }
-                }
-                set tree [GetTreeForNode $nbNode]
-                set nl [$tree nodes $nbNode 0 end]
-                if {$nl != ""} {
-                    foreach n $nl {
-                        $tree delete $n
-                    }
-                }
-                $noteBook delete $nbNode
-                $noteBook raise [$noteBook page 0]
-                unset fileList($nbNode)
-                set nbNode [$noteBook raise]
-            }
-        }
-        LabelUpdate .frmStatus.frmLine.lblLine ""
-        LabelUpdate .frmStatus.frmFile.lblFile ""
-        LabelUpdate .frmStatus.frmOvwrt.lblOvwrt ""
-        
-    } elseif {$operation == "save_as"} {
-        set file [tk_getSaveFile -initialdir $dir -filetypes \
-        $types -parent $text -initialfile $file]
-        if {$file != ""} {
-            set contents [$text get 0.0 end]
-            set fhandle [open $file "w"]
-            puts $fhandle $contents nonewline
-            close $fhandle
-            set dir [file dirname $file]
-            set file [file tail $file]
-            set name [string range $file 0 [expr [string last "." $file]-1]]
-            if {[string last "." $file] == -1} {
-                set ext [string range [file extension $file] 1 end]
-            } else {
-                set ext ""
-            }
-            set treeSubNode "$activeProject$dot$name$dot$ext"
-            $tree insert end $activeProject $treeSubNode -text "$file" \
-            -data "[file join $dir $file]" -open 1\
-            -image [Bitmap::get [file join $imgDir $img.gif]]\
-            -font $fontNormal
-            set nbNode [$noteBook raise]
-            $noteBook itemconfigure $nbNode -text $file
-            set fileList($nbNode) [list $file 0]
-        }
-        return 0
-    }
-}
-
-
-namespace eval FileOperation {
-    global types noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor rootDir
-}
-set types {
-    {"Tcl files" {.tcl}}
-    {"Tk files" {.tk}}
-    {"Rivet files" {.rvt}}
-    {"TclHttpd Template" {.tml}}
-    {"Sql files" {.sql}}
-    {"Html files" {.html}}
-    {"Text files" {.txt}}
-    {"JAVA files" {.java}}
-    {"PERL files" {.pl}}
-    {"PHP files" {.php}}
-    {"FORTRAN files" {.for}}
-    {"CAML or ML files" {.ml}}
-    {"CAML or ML interface files" {.mli}}
-    {"Ruby files" {.rb}}
-    {"Text files" {} TEXT}
-    {"All files" *}
-}
-set dot "_"
-
-proc FileOperation::Open {} {
-    global tree node types dot env noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor rootDir
-    #     set dir $projDir
-    set dir $env(HOME)
-    set fullPath [tk_getOpenFile -initialdir $dir -filetypes $types -parent $noteBook]
-    set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
-    regsub -all "." $file "_" node
-    set dir [file dirname $fullPath]
-    set file [file tail $fullPath]
-    set name [file rootname $file]
-    set ext [string range [file extension $file] 1 end]
-    set node "$name$dot$ext"
-    EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
-    return 1
-}
-proc FileOperation::Close {} {
-    set node [$noteBook raise]
-    if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-        $noteBook delete $node
-        set node [$noteBook raise]
-        return
-    } else {
-        if {$node == ""} {return}
-        if {[info exists fileList($node)] == 0} {return}
-        set fullPath [lindex $fileList($node) 0]
-        set dir [file dirname $fullPath]
-        set file [file tail $fullPath]
-        set text "$noteBook.f$node.text"
-    }
-}
-proc FileOperation::Save {} {
-    
-}
-proc FileOperation::SaveAll {} {
-    
-}
-proc FileOperation::Delete {} {
-    set node [$tree selection get]
-    set fullPath [$tree itemcget $node -data]
-    set dir [file dirname $fullPath]
-    set file [file tail $fullPath]
-    set answer [tk_messageBox -message "[::msgcat::mc "Delete file"] \"$file\"?"\
-    -type yesno -icon question -default yes]
-    case $answer {
-        yes {
-            FileDialog $tree close
-            file delete -force "$fullPath"
-            $tree delete $node
-            $tree configure -redraw 1
-            return 0
-        }
-    }
-}
-## FILE OPERATION ##
-proc FileOperation::FileDialog {tree operation} {
-    global noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor
-    set dot "_"
-    set types {
-        {"Tcl files" {.tcl}}
-        {"Tk files" {.tk}}
-        {"Rivet files" {.rvt}}
-        {"TclHttpd Template" {.tml}}
-        {"Sql files" {.sql}}
-        {"Html files" {.html}}
-        {"Text files" {.txt}}
-        {"JAVA files" {.java}}
-        {"PERL files" {.pl}}
-        {"PHP files" {.php}}
-        {"FORTRAN files" {.for}}
-        {"CAML or ML files" {.ml}}
-        {"CAML or ML interface files" {.mli}}
-        {"Ruby files" {.rb}}
-        {"Text files" {} TEXT}
-        {"All files" *}
-    }
-    
-    if {$operation == "open"} {
-        FileOperation::Open
-    } elseif {$operation == "delete"} {
-        FileOperation::Delete
-    } elseif {$operation == "close"} {
-        FileOperation::Close
-    } elseif {$operation == "close" && [info exists files] == 0} {
-        return
-    }  else {
-        set node [$noteBook raise]
-        puts $node        
-        if {$node == ""} {return}
-        if {[info exists fileList($node)] == 0} {return}
-        set fullPath [lindex $fileList($node) 0]
-        set dir [file dirname $fullPath]
-        set file [file tail $fullPath]
-        set text "$noteBook.f$node.text"
-    }
-    set name [file rootname $file]
-    set ext [string range [file extension $file] 1 end]
-    set treeSubNode "$name$dot$ext"
-    
-    set img [GetImage $file]
-    
-    if {$operation == "open"} {
-        set fullPath [tk_getOpenFile -initialdir $dir -filetypes $types -parent $noteBook]
-        puts $fullPath
-        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
-        
-        regsub -all "." $file "_" node
-        $noteBook insert end $node -text "$file"
-        EditFile $node $fullPath
-    } elseif {$operation == "save"} {
-        if {$name == "untitled"} {
-            set file [tk_getSaveFile -initialdir $dir -filetypes \
-            $types -parent $text -initialfile $file \
-            -defaultextension .$ext]
-            set contents [$text get 0.0 end]
-            set fhandle [open "$file" "w"]
-            puts $fhandle $contents nonewline
-            close $fhandle
-            file delete [file join $dir $name.$ext]
-            #$tree delete $treeSubNode
-            unset fileList($node)
-            # change data into tree and notebook
-            set dir [file dirname $file]
-            set file [file tail $file]
-            set name [file rootname $file]
-            set ext [string range [file extension $file] 1 end]
-            $tree itemconfigure $treeSubNode -text $name
-            set treeSubNode "$activeProject$dot$name$dot$ext"
-            
-            #$tree insert end $activeProject $treeSubNode -text "$file" \
-            #-data "[file join $dir $file]" -open 1\
-            #-image [Bitmap::get [file join $imgDir $img.gif]]\
-            #-font $fontNormal
-            set nbNode [$noteBook raise]
-            $noteBook itemconfigure $nbNode -text $file
-            set fileList($nbNode) [list $file 0]
-        } else {
-            set contents [$text get 0.0 end]
-            set fhandle [open [file join $dir $file] "w"]
-            puts $fhandle $contents nonewline
-            close $fhandle
-            EditFlag $node [file join $dir $file] 0
-        }
-    } elseif {$operation == "save_all"} {
-        set i 0
-        set nodeList [$noteBook pages 0 end]
-        set length [llength $nodeList]
-        while {$i < $length} {
-            set nbNode [lindex $nodeList $i]
-            if {[info exists fileList($nbNode)] == 1} {
-                set text "$noteBook.f$nbNode.text"
-                set savedFile [lindex $fileList($nbNode) 0]
-                set contents [$text get 0.0 end]
-                set fhandle [open [file join $dir $savedFile] "w"]
-                puts $fhandle $contents nonewline
-                close $fhandle
-                EditFlag $nbNode [file join $dir $savedFile] 0
-            }
-            incr i
-        }
-    } elseif {$operation == "close"} {
-        # delete file name from fileList array #
-        if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-            $noteBook delete $node
-            set node [$noteBook raise]
-            return
-        }
-        set editFlag [lindex $fileList($node) 1]
-        set closedFile [file tail [lindex $fileList($node) 0]]
-        if {$editFlag == 1} {
-            set answer [tk_messageBox\
-            -message "$closedFile [::msgcat::mc "File was modifyed. Save?"]"\
-            -type yesnocancel -icon warning\
-            -title [::msgcat::mc "Warning"]]
-            case $answer {
-                yes {
-                    FileDialog $tree save
-                    #                    FileDialog close
-                }
-                no {
-                    set index 0
-                    set nl [$tree nodes $node 0 end]
-                    if {$nl != ""} {
-                        foreach n $nl {
-                            $tree delete $n
-                        }
-                    }
-                    $noteBook delete $node
-                    unset fileList($node)
-                    $noteBook raise [$noteBook page $index]
-                    set node [$noteBook raise]
-                }
-                cancel {
-                    return 0
-                }
-            }
-        } else {
-            set index 0
-            set nl [$tree nodes $node 0 end]
-            if {$nl != ""} {
-                foreach n $nl {
-                    $tree delete $n
-                }
-            }
-            #puts $node
-            $noteBook delete $node
-            unset fileList($node)
-            $noteBook raise [$noteBook page $index]
-            set node [$noteBook raise]
-        }
-        if {$node != ""} {
-            if {$node == "newproj" || $node == "settings" || $node == "about" || $node == "debug"} {
-                $noteBook delete $node
-            } else {
-                focus -force $noteBook.f$node
-            }
-            $tree selection set $node
-        } else {
-            LabelUpdate .frmStatus.frmLine.lblLine ""
-            LabelUpdate .frmStatus.frmFile.lblFile ""
-            LabelUpdate .frmStatus.frmOvwrt.lblOvwrt ""
-            LabelUpdate .frmStatus.frmProgress.lblProgress ""
-        }
-    } elseif {$operation == "close_all"} {
-        set nodeList [$noteBook pages 0 end]
-        $noteBook raise [$noteBook page 0]
-        set nbNode [$noteBook raise]
-        while {$nbNode != ""} {
-            if {$nbNode == "newproj" || $nbNode == "settings" || $nbNode == "about" || $nbNode == "debug"} {
-                $noteBook delete $nbNode
-                $noteBook raise [$noteBook page 0]
-                set nbNode [$noteBook raise]
-            }
-            if {[info exists fileList($nbNode)] == 1} {
-                set editFlag [lindex $fileList($nbNode) 1]
-                if {$editFlag == 1} {
-                    set f [lindex $fileList($nbNode) 0]
-                    set f [file tail $f]
-                    set answer [tk_messageBox\
-                    -message "$f [::msgcat::mc "File was modifyed. Save?"]"\
-                    -type yesnocancel -icon warning\
-                    -title [::msgcat::mc "Warning"]]
-                    case $answer {
-                        yes {
-                            FileDialog $tree save
-                        }
-                        no {}
-                        cancel {return cancel}
-                    }
-                }
-                set nl [$tree nodes $nbNode 0 end]
-                if {$nl != ""} {
-                    foreach n $nl {
-                        $tree delete $n
-                    }
-                }
-                $noteBook delete $nbNode
-                $noteBook raise [$noteBook page 0]
-                unset fileList($nbNode)
-                set nbNode [$noteBook raise]
-            }
-        }
-        LabelUpdate .frmStatus.frmLine.lblLine ""
-        LabelUpdate .frmStatus.frmFile.lblFile ""
-        LabelUpdate .frmStatus.frmOvwrt.lblOvwrt ""
-        
-    } elseif {$operation == "save_as"} {
-        set file [tk_getSaveFile -initialdir $dir -filetypes \
-        $types -parent $text -initialfile $file]
-        if {$file != ""} {
-            set contents [$text get 0.0 end]
-            set fhandle [open $file "w"]
-            puts $fhandle $contents nonewline
-            close $fhandle
-            set dir [file dirname $file]
-            set file [file tail $file]
-            set name [string range $file 0 [expr [string last "." $file]-1]]
-            if {[string last "." $file] == -1} {
-                set ext [string range [file extension $file] 1 end]
-            } else {
-                set ext ""
-            }
-            set treeSubNode "$activeProject$dot$name$dot$ext"
-            $tree insert end $activeProject $treeSubNode -text "$file" \
-            -data "[file join $dir $file]" -open 1\
-            -image [Bitmap::get [file join $imgDir $img.gif]]\
-            -font $fontNormal
-            set nbNode [$noteBook raise]
-            $noteBook itemconfigure $nbNode -text $file
-            set fileList($nbNode) [list $file 0]
-        }
-        return 0
-    }
-}
-
diff --git a/lib/files.tcl b/lib/files.tcl
new file mode 100644
index 0000000..b7e5a6f
--- /dev/null
+++ b/lib/files.tcl
@@ -0,0 +1,180 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+# Working with files module
+######################################################
+
+
+namespace eval FileOper {
+    variable  types
+    
+    set ::types {
+        {"All files" *}
+    }
+    
+    proc OpenDialog {} {
+        global env
+        set dir $env(HOME)
+        set fullPath [tk_getOpenFile -initialdir $dir -filetypes $::types -parent .]
+        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
+        regsub -all "." $file "_" node
+        set dir [file dirname $fullPath]
+        set file [file tail $fullPath]
+        set name [file rootname $file]
+        set ext [string range [file extension $file] 1 end]
+        if {$fullPath != ""} {
+            puts $fullPath
+            return $fullPath
+        } else {
+            return
+        }
+    }
+    
+    proc OpenFolderDialog {} {
+        global env
+        #global tree node types dot env noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor rootDir
+        #     set dir $projDir
+        set dir $env(HOME)
+        set fullPath [tk_chooseDirectory  -initialdir $dir -parent .]
+        set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
+        regsub -all "." $file "_" node
+        set dir [file dirname $fullPath]
+        #     EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
+        puts $fullPath
+       
+        return $fullPath
+    }
+    
+    proc Close {} {
+        global nbEditor modified tree
+        set nbItem [$nbEditor select]
+        if {$nbItem == ""} {return}
+        if {$modified($nbItem) eq "true"} {
+            Save
+        }
+        $nbEditor forget $nbItem
+        destroy $nbItem
+        set treeItem "file::[string range $nbItem [expr [string last "." $nbItem] +1] end ]"
+        if {[$tree parent $treeItem] eq "" } {
+            $tree delete $treeItem
+        }
+    }
+    
+    proc Save {} {
+        global nbEditor tree env
+        set nbEditorItem [$nbEditor select]
+        puts "Saved editor text: $nbEditorItem"
+        if [string match "*untitled*" $nbEditorItem] {
+            set filePath [tk_getSaveFile -initialdir $env(HOME) -filetypes $::types -parent .]
+            if {$filePath eq ""} {
+                return
+            }
+            set fileName [string range $filePath [expr [string last "/" $filePath]+1] end]
+            puts "$filePath, $fileName"
+            set treeitem [Tree::InsertItem $tree {} $filePath "file" $fileName]
+        } else {
+            set treeItem "file::[string range $nbEditorItem [expr [string last "." $nbEditorItem] +1] end ]"
+            set filePath [Tree::GetItemID $tree $treeItem]
+        }
+        set editedText [$nbEditorItem.frmText.t get 0.0 end]
+        set f [open $filePath "w+"]
+        puts -nonewline $f $editedText
+        puts "$f was saved"
+        close $f
+        ResetModifiedFlag $nbEditorItem
+    }
+    
+    proc SaveAll {} {
+        
+    }
+    
+    proc Delete {} {
+        set node [$tree selection get]
+        set fullPath [$tree itemcget $node -data]
+        set dir [file dirname $fullPath]
+        set file [file tail $fullPath]
+        set answer [tk_messageBox -message "[::msgcat::mc "Delete file"] \"$file\"?"\
+        -type yesno -icon question -default yes]
+        case $answer {
+            yes {
+                FileDialog $tree close
+                file delete -force "$fullPath"
+                $tree delete $node
+                $tree configure -redraw 1
+                return 0
+            }
+        }
+    }
+    
+    proc ReadFolder {dir} {
+        global tree
+        puts "Read the folder $dir"
+        set rList ""
+        if {[catch {cd $dir}] != 0} {
+            return ""
+        }
+        set parent [Tree::InsertItem $tree {} $dir "directory" $dir]
+        # if {[ $tree  item $parent -open] eq "false"} {
+            # $tree  item $parent -open true
+        # } else {
+            # $tree  item $parent -open false
+        # }
+        # Getting an files and directorues lists
+        foreach file [glob -nocomplain *] {
+            lappend rList [list [file join $dir $file]]
+            if [file isdirectory $file] {
+                lappend lstDir $file
+            } else {
+                lappend lstFiles $file
+            }
+        }
+        # Sort  lists and insert into tree
+        if {[info exists lstDir] && [llength $lstDir] > 0} {
+            foreach f [lsort $lstDir] {
+                puts " Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "directory" $f]"
+            }
+        }
+        if {[info exists lstFiles] && [llength $lstFiles] > 0} {
+            foreach f [lsort $lstFiles] {
+                puts "Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "file" $f]"
+            }
+        }
+    }
+    
+    proc ReadFile {fileFullPath itemName} {
+        set txt $itemName.frmText.t
+        if ![string match "*untitled*" $itemName] {
+            set file [open "$fileFullPath" r]
+            $txt insert end  [chan read -nonewline $file]  
+            close $file
+        }
+        # Delete emty last line
+        if {[$txt get {end-1 line} end] eq "\n" || [$txt get {end-1 line} end] eq "\r\n"} {
+            $txt delete {end-1 line} end
+            puts ">[$txt get {end-1 line} end]<"
+        }
+    }
+    
+    proc Edit {fileFullPath} {
+        global nbEditor tree
+        set filePath [file dirname $fileFullPath]
+        set fileName [file tail $fileFullPath]
+        regsub -all {\.|/|\\|\s} $fileFullPath "_" itemName
+        set itemName "$nbEditor.$itemName"
+        puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
+        if {[winfo exists $itemName] == 0} {
+            NB::InsertItem $nbEditor $fileFullPath "file"
+            Editor::Editor $fileFullPath $nbEditor $itemName
+            ReadFile $fileFullPath $itemName
+            $itemName.frmText.t highlight 1.0 end
+            ResetModifiedFlag $itemName
+        }
+        $nbEditor select $itemName
+        focus -force $itemName.frmText.t
+        
+        return $itemName
+    }
+}
diff --git a/lib/gui.tcl b/lib/gui.tcl
new file mode 100644
index 0000000..938f40e
--- /dev/null
+++ b/lib/gui.tcl
@@ -0,0 +1,164 @@
+######################################################
+#                ProjMan 2
+#        Distributed under GNU Public License
+# Author: Sergey Kalinin svk@nuk-svk.ru
+# Copyright (c) "", 2022, https://nuk-svk.ru
+######################################################
+#  GUI module
+#######################################################
+
+if {[info exists cfgVariables(geometry)]} {
+    wm geometry . $cfgVariables(geometry)
+} else {
+    wm geometry . 1024x768
+}
+# Заголовок окна
+wm title . "ProjMan \($projmanVersion-$projmanRelease\)"
+wm iconname . "ProjMan"
+# иконка окна (берется из файла lib/imges.tcl)
+wm iconphoto . projman
+wm protocol . WM_DELETE_WINDOW Quit
+wm overrideredirect . 0
+#wm positionfrom . user
+
+bind .  Quit
+bind .  Quit
+bind .  Quit
+bind .  Add
+bind .  Del
+bind .  Edit
+bind .  ShowHelpDialog
+bind .  Editor::New
+bind .  Editor::New
+bind .  {
+    set filePath [FileOper::OpenDialog]
+    if {$filePath != ""} {
+        FileOper::Edit $filePath
+    }
+}
+bind .  {
+    set filePath [FileOper::OpenDialog]
+    if {$filePath != ""} {
+        FileOper::Edit $filePath
+    }
+}
+bind .  {
+    set folderPath [FileOper::OpenFolderDialog]
+    if {$folderPath != ""} {
+        FileOper::ReadFolder $folderPath
+    }
+}
+bind .  {
+    set folderPath [FileOper::OpenFolderDialog]
+    if {$folderPath != ""} {
+        FileOper::ReadFolder $folderPath
+    }
+}
+bind .  {FileOper::Save}
+bind .  {FileOper::Save}
+#ttk::style configure TPanedwindow -background blue
+#ttk::style configure Sash -sashthickness 5
+#ttk::style configure TButton  -padding 60  -relief flat -bg black
+#ttk::style configure Custom.Treeview -foreground red
+#ttk::style configure Custom.Treeview -rowheight 20
+
+if [info exists cfgVariables(theme)] {
+    ttk::style theme use $cfgVariables(theme)
+}
+
+frame .frmMenu -border 1 -relief raised  -highlightthickness 0
+frame .frmBody -border 1 -relief raised -highlightthickness 0
+frame .frmStatus -border 1 -relief sunken 
+pack .frmMenu -side top -padx 1 -fill x
+pack .frmBody -side top -padx 1 -fill both -expand true
+pack .frmStatus -side top -padx 1 -fill x
+
+# pack .panel -expand true -fill both
+# pack propagate .panel false
+#pack [label .frmMenu.lbl -text "ddd"]
+pack [label .frmStatus.lbl2 -text "ddd"]
+
+menubutton .frmMenu.mnuFile -text [::msgcat::mc "File"] -menu .frmMenu.mnuFile.m
+GetFileMenu [menu .frmMenu.mnuFile.m]
+
+menubutton .frmMenu.mnuEdit -text [::msgcat::mc "Edit"] -menu .frmMenu.mnuEdit.m
+GetEditMenu [menu .frmMenu.mnuEdit.m]
+
+menubutton .frmMenu.mnuView -text [::msgcat::mc "View"] -menu .frmMenu.mnuView.m
+GetViewMenu [menu .frmMenu.mnuView.m]
+
+pack .frmMenu.mnuFile .frmMenu.mnuEdit .frmMenu.mnuView -side left
+
+menubutton .frmMenu.mnuHelp -text [::msgcat::mc "Help"] -menu .frmMenu.mnuHelp.m
+pack .frmMenu.mnuHelp -side right
+
+
+set frmTool [ttk::frame .frmBody.frmTool]
+ttk::panedwindow .frmBody.panel -orient horizontal -style TPanedwindow
+pack propagate .frmBody.panel false
+
+pack .frmBody.frmTool -side left -fill y
+pack .frmBody.panel -side left -fill both -expand true
+
+ttk::button $frmTool.btn_tree  -command  ViewFilesTree  -image tree_32x32
+
+pack $frmTool.btn_tree -side top -padx 1 -pady 1
+# #label $frmTool.lbl_logo -image tcl
+# pack $frmTool.btn_quit -side bottom -padx 5 -pady 5
+# #pack $frmTool.lbl_logo -side bottom -padx 5 -pady 5
+# 
+# # Дерево с полосами прокрутки
+set frmTree [ttk::frame .frmBody.frmTree]
+
+ttk::scrollbar $frmTree.hsb1 -orient horizontal -command {$frmTree.tree xview}
+ttk::scrollbar $frmTree.vsb1 -orient vertical -command [list $frmTree.tree yview]
+set tree [ttk::treeview $frmTree.tree -show tree \
+-xscrollcommand {$frmTree.hsb1 set} -yscrollcommand [list $frmTree.vsb1 set]]
+
+bind $tree  {Tree::DoublePressItem $tree}
+bind $tree   {Tree::PressItem $tree}
+
+grid $tree -row 0 -column 0 -sticky nsew
+grid $frmTree.vsb1 -row 0 -column 1 -sticky nsew
+grid $frmTree.hsb1 -row 1 -column 0 -sticky nsew
+grid columnconfigure $frmTree 0 -weight 1
+grid rowconfigure $frmTree 0 -weight 1
+
+set frm_work [ttk::frame .frm_work]
+
+set nbEditor [ttk::notebook $frm_work.nbEditor]
+
+#grid $nbEditor -row 0 -column 0 -sticky nsew
+pack $nbEditor -fill both -expand true
+
+# Create an image CLOSE for tab
+ttk::style element create close_button image close_10x10 -height 12 -width 12 -sticky e -padding {10 0}
+
+ttk::style layout TNotebook.Tab {
+    Notebook.tab -sticky nswe -children {
+        Notebook.padding -expand 1 -sticky nswe -children {
+            Notebook.label
+            -expand 1 -sticky nesw -side left close_button -side right
+        }
+    }
+}
+
+bind TNotebook  "NB::CloseTab %W %x %y\;[bind TNotebook ]"
+
+# ttk::scrollbar $nbEditor.hsb1 -orient horizontal -command [list $frm_tree.work xview]
+# ttk::scrollbar $fbEditor.vsb1 -orient vertical -command [list $frm_tree.work yview]
+# set tree [ttk::treeview $frm_tree.tree -show tree \
+# -xscrollcommand [list $frm_tree.hsb1 set] -yscrollcommand [list $frm_tree.vsb1 set]]
+# 
+
+# # назначение обработчика нажатия кнопкой мыши
+# #bind $frm_tree.tree  "TreePress %x %y %X %Y $frm_tree.tree"
+# bind $frm_tree.tree  "TreePress $frm_tree.tree"
+
+#.panel add $frmTool -weight 1
+if {$cfgVariables(toolBarShow) eq "true"} {        
+    .frmBody.panel add $frmTree -weight 0
+} 
+.frmBody.panel add $frm_work -weight 1 
+# # 
+
diff --git a/lib/help.tcl b/lib/help.tcl
deleted file mode 100644
index 423c6e9..0000000
--- a/lib/help.tcl
+++ /dev/null
@@ -1,327 +0,0 @@
-##!/usr/bin/wish                                                                 
-
-###########################################################
-#                Tcl/Tk Project Manager                   #
-#                    version 0.0.1                        #
-#                    help module                          #
-# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru  #
-# Author: Sergey Kalinin banzaj28@yandex.ru       #
-###########################################################
-
-#package require BWidget                                                         
-#package require msgcat
-
-## GETTING TABLES OF CONTENT ##
-#set homeDir "$env(HOME)/projects/tcl/projman"
-#set docDir "$env(HOME)/projects/tcl/projman/hlp"
-#set imgDir "$env(HOME)/projects/tcl/projman/img"
-#set msgDir "$env(HOME)/projects/tcl/projman/msgs"
-
-#set workDir "$env(HOME)/.projman"
-
-#source $workDir/projman.conf
-source [file join $dataDir html_lib.tcl]
-#source [file join $dataDir htmllib.tcl]
-
-set sourceEncode "utf-8"
-
-## LOAD MESSAGES FILE? LANGUAGE AND NEDDED FILES ##
-#source $homeDir/html.tcl
-
-#::msgcat::mclocale $locale
-#::msgcat::mcload $msgDir
-proc HlpTreeOneClick {node} {
-    global fontNormal hlpTree wordList hlpNoteBook findString imgDir fontBold fontNormal
-    global lstSearch nodeParent
-    $hlpTree selection set $node
-    set nodeParent [$hlpTree parent $node]
-    set item [$hlpTree itemcget $node -data]
-    set file [string range $item 4 end]
-    #puts "$file" ;#debuf info
-    if {[string range $item 0 2] == "toc"} {
-        #        $hlpTree configure
-    }
-    if {[$hlpTree itemcget $node -open] == 1} {
-        $hlpTree itemconfigure $node -open 0
-    } elseif {[$hlpTree itemcget $node -open] == 0} {
-        $hlpTree itemconfigure $node -open 1
-    }
-    if {[string range $item 0 2] == "doc"} {
-        GetContent $file
-    }
-}
-## GETTING TABLE OF CONTENT ##
-proc GetTOC {} {
-    global docDir hlpTree imgDir fontNormal lstSearch arr sourceEncode editor
-    if {[catch {cd $docDir}] != 0} {
-        return ""
-    }
-    foreach dir [lsort [glob -nocomplain *]] {
-        if {[file isdirectory $dir] == 1} {
-            foreach file [lsort [glob -nocomplain [file join $dir *toc.html]]] {
-                set fileName [file join $file]
-                set tocFile [open $fileName r]
-                fconfigure $tocFile -encoding binary
-                set dot "_"
-                set nodeParent [file dirname $fileName]
-                while {[gets $tocFile line]>=0} {
-                    set a ""
-                    set b ""
-                    set line [encoding convertfrom $sourceEncode $line]
-                    if {[regexp -nocase ".+\" $line a]} {
-                        if {[regexp ">.+\<" $line a]} {
-                            set length [string length $a]
-                            set title [string range $a 1 [expr $length-2]]
-                            $hlpTree insert end root $nodeParent -text "$title" -font $fontNormal \
-                            -fill $editor(fg) \
-                            -data "toc_$nodeParent" -open 0\
-                            -image [Bitmap::get [file join $imgDir books.gif]]
-                        }
-                    } elseif {[regexp -nocase -all -line -- {(|>)(.+)(
)} $line match v1 v2 v3 v4 v5 v6]} { - regsub -all {[ :]} $v5 "_" subNode - set subNode "$nodeParent$dot$subNode" - if {[info exists arr($subNode)] == 0} { - set arr($subNode) [file join $dir $v3] - } - set data [file join $dir $v3] - $hlpTree insert end "$nodeParent" $subNode -text "$v5"\ - -font $fontNormal -data "doc_$data" -open 0\ - -fill $editor(fg) \ - -image [Bitmap::get [file join $imgDir file.gif]] - $lstSearch insert end $v3 - } else { - break - } - } - - } ;# foreach - } - } - $hlpTree configure -redraw 1 -} -proc SearchWord {word} { - global arr nBookTree - set word [string tolower [string trim $word]] - puts $word - $nBookTree raise hlpSearch - InsertEnt .help.frmBody.frmCat.nBookTree.fhlpSearch.frmScrhEnt.entSearch $word - foreach wrd [array names arr] { - set name "[file rootname [file tail $arr($wrd)]]" - set file "$arr($wrd)" - if {[string match "$word*" [string tolower $name]] == 1} { - GetContent $file - } - } -} -## GETTING CONTENT FROM FILES ## -proc GetContent {file} { - global docDir hlpNoteBook fontNormal sourceEncode editor - $hlpNoteBook raise [$hlpNoteBook page 0] - set node [$hlpNoteBook raise] - if {$node != ""} { - $hlpNoteBook delete hlpHTML - } - set nbTitle "" - set html "" - set file [open $file r] - fconfigure $file -encoding binary - while {[gets $file line]>=0} { - set line [encoding convertfrom $sourceEncode $line] - if {[regexp -nocase ".+\" $line a]} { - if {[regexp ">.+\<" $a a]} { - set length [string length $a] - set nbTitle [string range $a 1 [expr $length-2]] - #puts $nbTitle - #puts $a - } - } - append html $line\n - } - set frmHTML [$hlpNoteBook insert end hlpHTML -text $nbTitle] - set txt [text $frmHTML.txtHTML -yscrollcommand "$frmHTML.yscroll set" \ - -relief sunken -wrap word -highlightthickness 0 -font $fontNormal\ - -selectborderwidth 0 -selectbackground #55c4d1 -width 10] - scrollbar $frmHTML.yscroll -relief sunken -borderwidth {1} -width {10} -takefocus 0\ - -command "$frmHTML.txtHTML yview" - - pack $txt -side left -fill both -expand true - pack $frmHTML.yscroll -side left -fill y - $hlpNoteBook raise hlpHTML - focus -force $txt -# $txt configure -state disabled - HM::init_win $txt - HM::set_link_callback LinkCallback - HM::set_state $txt -size 0 - HM::set_indent $txt 1.2 - HM::parse_html $html "HM::render $txt" -# HM::tag_title .help "Help - $nbTitle" - $txt configure -state disabled - -} -## GOTO URL PROCEDURE ## -proc LinkCallback {w url} { - global docDir nodeParent - set url "[file join $docDir $nodeParent $url]" - if {[catch {open $url r} oHTML]} { - tk_messageBox -title "[::msgcat::mc "Error open URL"]"\ - -message "[::msgcat::mc "Can't found file:"] $url"\ - -icon error -type ok - } else { - GetContent $url - } -} - - -## autor DEDERER ## -proc LinkCallback_ {w url} { - global docDir - set url "[file join $docDir $url]" - if {[catch {open $url r} oHTML]} { - tk_messageBox -title "[::msgcat::mc "Error open URL"]"\ - -message "[::msgcat::mc "Can't founf file: $url"]"\ - -icon error -type ok - } else { - set html [read $oHTML] - $w configure -state normal - HM::reset_win $w - HM::parse_html $html "HM::render $w" - $w configure -state disable - } -# HM::render [winfo toplevel $w] $url -} - -## MAIN HELP WINDOW ## -proc TopLevelHelp {} { - global fontNormal fontBold hlpTree hlpNoteBook nBookTree homeDir docDir lstSearch w frmSrchList - global imgDir color editor - set w .help - set w_exist [winfo exists $w] - if !$w_exist { - toplevel $w - # wm resizable .help 0 0 - wm geometry $w 900x800+0+0 - wm title $w [::msgcat::mc "Help"] - # wm protocol $w WM_DELETE_WINDOW {destroy .msg .help} - #wm geometry . 600x400+0+0 - wm title $w [::msgcat::mc "Help"] - - frame $w.frmMenu -border 1 -relief raised - frame $w.frmTool -border 1 -relief raised - frame $w.frmBody -border 1 -relief raised - frame $w.frmStatus -border 1 -relief sunken - pack $w.frmMenu -side top -padx 1 -fill x - pack $w.frmTool -side top -padx 1 -fill x - pack $w.frmBody -side top -padx 1 -fill both -expand true - pack $w.frmStatus -side top -padx 1 -fill x - - - button $w.frmTool.btnBack -relief groove -font $fontBold -command Back -state disable - button $w.frmTool.btnForward -relief groove -font $fontBold -command Forward -state disable - button $w.frmTool.btnRefresh -relief groove -font $fontBold -command Refresh -state disable - button $w.frmTool.btnPrint -relief groove -font $fontBold -command Print -state disable - image create photo imgBack -format gif -file [file join $imgDir back.gif] - image create photo imgForward -format gif -file [file join $imgDir forward.gif] - image create photo imgRefresh -format gif -file [file join $imgDir refresh.gif] - image create photo imgPrint -format png -file [file join $imgDir printer.png] - $w.frmTool.btnBack configure -image imgBack - $w.frmTool.btnForward configure -image imgForward - $w.frmTool.btnRefresh configure -image imgRefresh - $w.frmTool.btnPrint configure -image imgPrint - pack $w.frmTool.btnBack $w.frmTool.btnForward $w.frmTool.btnRefresh $w.frmTool.btnPrint\ - -side left -fill x - - - set frmCat [frame $w.frmBody.frmCat -border 1 -relief sunken] - pack $frmCat -side left -fill y - set frmWork [frame $w.frmBody.frmWork -border 1 -relief sunken] - pack $frmWork -side left -fill both -expand true - - set nBookTree [NoteBook $frmCat.nBookTree -font $fontNormal -bg $editor(bg) -fg $editor(fg)] - pack $nBookTree -fill both -expand true -padx 2 -pady 2 - set frmTreeNb [$nBookTree insert end hlpTree -text "[::msgcat::mc "Contents"]"] - set frmSearch [$nBookTree insert end hlpSearch -text "[::msgcat::mc "Search"]"] - $nBookTree raise hlpTree - - set frmScrlX [frame $frmTreeNb.frmScrlX -border 0 -relief sunken] - set frmTree [frame $frmTreeNb.frmTree -border 1 -relief sunken] - set hlpTree [Tree $frmTree.tree \ - -relief sunken -borderwidth 1 -width 20 -highlightthickness 0\ - -redraw 0 -dropenabled 1 -dragenabled 1 -dragevent 3 \ - -yscrollcommand {.help.frmBody.frmCat.nBookTree.fhlpTree.frmTree.scrlY set} \ - -xscrollcommand {.help.frmBody.frmCat.nBookTree.fhlpTree.frmScrlX.scrlX set} \ - -selectbackground "#55c4d1" \ - -droptypes { - TREE_NODE {copy {} move {} link {}} - LISTBOX_ITEM {copy {} move {} link {}} - } -opencmd "" -closecmd ""] - - pack $frmTree -side top -fill y -expand true - pack $frmScrlX -side top -fill x - - scrollbar $frmTree.scrlY -command {$hlpTree yview} \ - -borderwidth {1} -width {10} -takefocus 0 - pack $hlpTree $frmTree.scrlY -side left -fill y - - scrollbar $frmScrlX.scrlX -command {$hlpTree xview} \ - -orient horizontal -borderwidth {1} -width {10} -takefocus 0 - pack $frmScrlX.scrlX -fill x -expand true - - set frmSrchList [frame $frmSearch.frmScrhList -border 0 -relief sunken] - set frmSrchEnt [frame $frmSearch.frmScrhEnt -border 0 -relief sunken] - set frmSrchScrollX [frame $frmSearch.frmScrhScrollX -border 0 -relief sunken] - pack $frmSrchEnt -side top -fill x - pack $frmSrchList -side top -fill both -expand true - pack $frmSrchScrollX -side top -fill x - - entry $frmSrchEnt.entSearch - set lstSearch [listbox $frmSrchList.lstSearch -font $fontNormal\ - -yscrollcommand {.help.frmBody.frmCat.nBookTree.fhlpSearch.frmScrhList.scrListY set}\ - -xscrollcommand {.help.frmBody.frmCat.nBookTree.fhlpSearch.frmScrhScrollX.scrListX set}\ - -selectmode single -selectbackground #55c4d1 -selectborderwidth 0] - scrollbar $frmSrchList.scrListY -command\ - {$frmSrchList.lstSearch yview} -borderwidth {1} -width {10} -takefocus 0 - - pack $frmSrchEnt.entSearch -side top -fill x -expand true - - pack $frmSrchList.lstSearch -side left -fill both -expand true - pack $frmSrchList.scrListY -side left -fill y - - scrollbar $frmSrchScrollX.scrListX -orient horizontal -command\ - {$frmSrchList.lstSearch xview} -borderwidth {1} -width {10} -takefocus 0 - pack $frmSrchScrollX.scrListX -fill x - # $hlpTree bindText [puts %k] - # $hlpTree bindText [puts %k] - # bind $frmTree {$frmSrchList.lstSearch xview} - # $hlpTree bindText "HlpTreeDoubleClick [$hlpTree selection get]" - # $hlpTree bindImage "HlpTreeDoubleClick [$hlpTree selection get]" - $hlpTree bindText "HlpTreeOneClick [$hlpTree selection get]" - $hlpTree bindImage "HlpTreeOneClick [$hlpTree selection get]" - bind .help "destroy .help" - - # bind $frmSrchEnt.entSearch \ - # {SearchWord [Text .help.frmBody.frmCat.nBookTree.fhlpSearch.frmScrhEnt.entSearch]} - - #bind $w exit - #bind $frmTree {TreeClick [$hlpTree selection get]} - #bind $frmTree {TreeClick [$hlpTree selection get]} - #bind $frmTree {TreeClick [$hlpTree selection get]} - bind $frmTree.tree.c "$hlpTree yview scroll -3 units" - bind $frmTree.tree.c "$hlpTree yview scroll 3 units" - bind $frmTree.tree.c "$hlpTree xview scroll -2 units" - bind $frmTree.tree.c "$hlpTree xview scroll 2 units" - - set hlpNoteBook [NoteBook $frmWork.hlpNoteBook -font $fontNormal -bg $editor(bg) -fg $editor(fg)] - pack $hlpNoteBook -fill both -expand true -padx 2 -pady 2 - GetTOC - } - -} - -################################################## -#TopLevelHelp -#GetTOC - -#GetContent $docDir/tcl.toc.html - - - diff --git a/lib/highlight.tcl b/lib/highlight.tcl new file mode 100644 index 0000000..9217937 --- /dev/null +++ b/lib/highlight.tcl @@ -0,0 +1,44 @@ +###################################################### +# ProjMan 2 +# Distributed under GNU Public License +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru +###################################################### +namespace eval Highlight {} { + proc TCL {txt} { + ctext::addHighlightClass $txt widgets purple [list ctext button label text frame toplevel scrollbar checkbutton canvas listbox menu menubar menubutton radiobutton scale entry message tk_chooseDir tk_getSaveFile tk_getOpenFile tk_chooseColor tk_optionMenu] + ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z]+} + ctext::addHighlightClass $txt stackControl #19a2a6 [info commands] + ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$" + ctext::addHighlightClass $txt variable_funcs gold {set global variable unset} + ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()} + ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+} + ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*} + ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::} + ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`} + } + + proc Default {txt} { + ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z\-_]+} + ctext::addHighlightClass $txt stackControl #19a2a6 [info commands] + ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$" + ctext::addHighlightClass $txt variable_funcs gold {set global variable unset} + ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()} + ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+} + ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*} + ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::} + ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`} + } + + proc SH {txt} { + ctext::addHighlightClassForRegexp $txt flags orange {-+[a-zA-Z\-_]+} + ctext::addHighlightClass $txt stackControl #19a2a6 {if fi else elseif then while case esac do in exit source echo} + ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$" + ctext::addHighlightClassForRegexp $txt vars_extended #4471ca {\$\{[a-zA-Z0-9\_\-:\./\$\{\}]+\}} + ctext::addHighlightClass $txt variable_funcs gold {set export} + ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()} + ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+} + ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*} + ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`} + } +} diff --git a/lib/highlight/caml.tcl b/lib/highlight/caml.tcl deleted file mode 100644 index f4d6747..0000000 --- a/lib/highlight/caml.tcl +++ /dev/null @@ -1,219 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" - -proc HighLightML {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - # for OOP extention - foreach n {let match compile load exception function bol begin end then type done with class method attribute constructor destructor invariant attribute binding new delete extends final finally implements import interface native new private protected public static super this throw synchronized throws transient try volatile void else} {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="let" || [string trim $word]=="extends" || [string trim $word]=="implements"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices {(^|\t|;| )\(\*} $workLine begin]} { - set p [lindex $begin 0] - $text tag add comments $lineNumber.[expr $p - 0] $lineNumber.end - } elseif {[regexp -indices {(^|\t|;| )\*} $workLine beginIndex]} { - set beginQuote "$lineNumber.[lindex $beginIndex 0]" - set endQuote [$text search -forward -regexp -- {\*\)} $beginQuote end] - if {$endQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 2 chars" - } else { - $text tag add comments $beginQuote end - } - set endQuotePrev [$text search -backward -regexp -- {\*\)} [expr $lineNumber - 1].end 0.0] - if {$endQuotePrev != ""} { - $text tag remove comments "$endQuotePrev + 2 chars" $beginQuote - } - } elseif {[regexp -indices {\*\)} $workLine endIndex]} { - set endQuote "$lineNumber.[lindex $endIndex 1]" - set beginQuote [$text search -backward -regexp -- {\(\*} $endQuote 0.0] - if {$beginQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 1 chars" - } else { - $text tag add comments 0.0 "$endQuote + 1 chars" - } - set beginQuoteNext [$text search -forward -regexp -- {\(\*} $endQuote end] - if {$beginQuoteNext != ""} { - $text tag remove comments "$endQuote + 2 chars" $beginQuoteNext - } - } else { - if {[lindex [split $beginQuote "."] 0] <= $lineNumber && [lindex [split $endQuote "."] 0] >= $lineNumber} { - #$text tag add comments $lineNumber.0 $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } -} - - - - - - - - - diff --git a/lib/highlight/erlang.tcl b/lib/highlight/erlang.tcl deleted file mode 100644 index e74fcd3..0000000 --- a/lib/highlight/erlang.tcl +++ /dev/null @@ -1,220 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" - -proc HighLightErl {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - # for OOP extention - foreach n {let match compile load exception function bol begin end then type done with class method attribute constructor destructor invariant attribute binding new delete extends final finally implements import interface native new private protected public static super this throw synchronized throws transient try volatile void else} {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="let" || [string trim $word]=="extends" || [string trim $word]=="implements"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices {(^|\t|;| )\(\*} $workLine begin]} { - set p [lindex $begin 0] - $text tag add comments $lineNumber.[expr $p - 0] $lineNumber.end - } elseif {[regexp -indices {(^|\t|;| )\*} $workLine beginIndex]} { - set beginQuote "$lineNumber.[lindex $beginIndex 0]" - set endQuote [$text search -forward -regexp -- {\*\)} $beginQuote end] - if {$endQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 2 chars" - } else { - $text tag add comments $beginQuote end - } - set endQuotePrev [$text search -backward -regexp -- {\*\)} [expr $lineNumber - 1].end 0.0] - if {$endQuotePrev != ""} { - $text tag remove comments "$endQuotePrev + 2 chars" $beginQuote - } - } elseif {[regexp -indices {\*\)} $workLine endIndex]} { - set endQuote "$lineNumber.[lindex $endIndex 1]" - set beginQuote [$text search -backward -regexp -- {\(\*} $endQuote 0.0] - if {$beginQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 1 chars" - } else { - $text tag add comments 0.0 "$endQuote + 1 chars" - } - set beginQuoteNext [$text search -forward -regexp -- {\(\*} $endQuote end] - if {$beginQuoteNext != ""} { - $text tag remove comments "$endQuote + 2 chars" $beginQuoteNext - } - } else { - if {[lindex [split $beginQuote "."] 0] <= $lineNumber && [lindex [split $endQuote "."] 0] >= $lineNumber} { - #$text tag add comments $lineNumber.0 $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } -} - - - - - - - - - - diff --git a/lib/highlight/fortran.tcl b/lib/highlight/fortran.tcl deleted file mode 100644 index 2b3658f..0000000 --- a/lib/highlight/fortran.tcl +++ /dev/null @@ -1,214 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" - -proc HighLightFORTRAN {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) ;#-background $editor(bg) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - - $text tag configure label -background $color(label) - $text tag configure six -foreground $color(sixFG) -background $color(sixBG) - $text tag configure operator -background $editor(bg) - - set keyWord [info commands] - # for OOP extention - foreach n {program function subroutine entry block data implicit integer real double precision complex\ - logical character dimension common equivalence parameter external intrinsic save data goto assign if then\ - else elseif endif end do while enddo continue stop pause end open close read write print\ - inquire rewind backspace endfile format call return include} {lappend keyWord $n} - #set dataType {list abstract boolean byte char double float int long short} - set dataType "" - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="class" || [string trim $word]=="extends" || [string trim $word]=="implements"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b] || [regexp "\'.*?\'" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - $text tag remove label $lineNumber.0 $lineNumber.end - $text tag add label $lineNumber.0 $lineNumber.5 - $text tag remove six $lineNumber.0 $lineNumber.5 - $text tag remove six $lineNumber.6 $lineNumber.end - $text tag add six $lineNumber.5 $lineNumber.6 - $text tag remove operator $lineNumber.6 $lineNumber.end - $text tag add operator $lineNumber.7 $lineNumber.71 - $text tag remove comments $lineNumber.72 $lineNumber.end - $text tag add comments $lineNumber.72 $lineNumber.end - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - #if {[regexp -indices -nocase {^(c|\*)} $workLine word]} - if {[regexp -indices -nocase {^(c|\*)} $workLine word]} { - set p [lindex $word 1] - #puts "$p $lineNumber -- $workLine" - $text tag remove label $lineNumber.0 $lineNumber.end - $text tag remove operator $lineNumber.0 $lineNumber.end - $text tag add comments $lineNumber.$p $lineNumber.end - $text tag remove six $lineNumber.5 $lineNumber.6 - #puts [$text dump -tag $lineNumber.0 $lineNumber.end] - #$text tag raise comments - #puts [$text tag ranges comments] - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices -nocase {\!} $workLine word]} { - set p [lindex $word 1] - if {([string index $workLine [expr $p + 1]] == "\'") || ([string index $workLine [expr $p + 1]] == "\"")} { - } else { - #$text tag add comments $lineNumber.$p $lineNumber.end - } - } else { - #$text tag remove comments $lineNumber.0 $lineNumber.end - } - - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } -} - diff --git a/lib/highlight/html.tcl b/lib/highlight/html.tcl deleted file mode 100644 index 00afa99..0000000 --- a/lib/highlight/html.tcl +++ /dev/null @@ -1,106 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### - -proc HighLightHTML {text line lineNumber node} { - global fontNormal editorFontBold tree imgDir fontBold - global editor color - set startIndex 0 - # bind text tags for highlightning # - $text tag configure bold -font $editor(fontBold) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) -# incr lineNumber - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete} { - lappend keyWord $n - } - # add comment # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<\!--.+-->" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add coments $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # get keywords - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "( \t\])|>" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add keyWord $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # get variables - set workLine $line - set startPos 0 - while {$workLine != ""} { - if {[regexp "\[a-zA-Z0-9\]+=" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add variable $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # get strings - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".+\"" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - -} - - - - - - diff --git a/lib/highlight/java.tcl b/lib/highlight/java.tcl deleted file mode 100644 index 98d24b8..0000000 --- a/lib/highlight/java.tcl +++ /dev/null @@ -1,211 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" -proc HighLightJAVA {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete extends final finally implements import interface native new private protected public static super this throw synchronized throws transient try volatile void else} {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - - if {[string trim $word]=="class" || [string trim $word]=="extends" || [string trim $word]=="implements"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )//" $workLine begin]} { - set p [lindex $begin 0] - $text tag add comments $lineNumber.[expr $p - 0] $lineNumber.end - } elseif {[regexp -indices {(^|\t|;| )/\*} $workLine beginIndex]} { - set beginQuote "$lineNumber.[lindex $beginIndex 0]" - set endQuote [$text search -forward -regexp -- {\*/} $beginQuote end] - if {$endQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 2 chars" - } else { - $text tag add comments $beginQuote end - } - set endQuotePrev [$text search -backward -regexp -- {\*/} [expr $lineNumber - 1].end 0.0] - if {$endQuotePrev != ""} { - $text tag remove comments "$endQuotePrev + 2 chars" $beginQuote - } - } elseif {[regexp -indices {\*/} $workLine endIndex]} { - set endQuote "$lineNumber.[lindex $endIndex 1]" - set beginQuote [$text search -backward -regexp -- {/\*} $endQuote 0.0] - if {$beginQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 1 chars" - } else { - $text tag add comments 0.0 "$endQuote + 1 chars" - } - set beginQuoteNext [$text search -forward -regexp -- {/\*} $endQuote end] - if {$beginQuoteNext != ""} { - $text tag remove comments "$endQuote + 2 chars" $beginQuoteNext - } - } else { - if {[lindex [split $beginQuote "."] 0] <= $lineNumber && [lindex [split $endQuote "."] 0] >= $lineNumber} { - #$text tag add comments $lineNumber.0 $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } -} - diff --git a/lib/highlight/perl.tcl b/lib/highlight/perl.tcl deleted file mode 100644 index aec82cc..0000000 --- a/lib/highlight/perl.tcl +++ /dev/null @@ -1,201 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" -proc HighLightPERL {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - # for OOP extention - foreach n {print my use sub printf substr ord class method attribute constructor destructor invariant attribute binding new delete extends final finally implements import interface native new private protected public static super this throw synchronized throws transient try volatile void else } {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="class" || [string trim $word]=="extends" || [string trim $word]=="implements" || [string trim $word]=="use"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\@\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b] || [regexp "\'.*?\'" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b] || [regexp "(\-\>)" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - $text tag raise comments - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } -} - diff --git a/lib/highlight/php.tcl b/lib/highlight/php.tcl deleted file mode 100644 index b2f6945..0000000 --- a/lib/highlight/php.tcl +++ /dev/null @@ -1,271 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### - -proc HighLightPHP {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - # set pos [$text index insert] - # set lineNumber [lindex [split $pos "."] 0] - - set startIndex 0 - # bind text tags for highlightning # - $text tag configure bold -font $editor(fontBold) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure rivet -foreground $color(bindKey) -font $editor(fontBold) -foreground "#ff8800" ;#-background "#c6c6c6" - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - # incr lineNumber - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete \ - mcset mc mclocale mcpreferences mcload mcunknown configure match else elseif} { - lappend keyWord $n - } - foreach n {var include_once include function case echo select from where in order by and or} { - lappend keyWord $n - } - set dataType {true false} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="proc"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - set workLine $line - while {$workLine != ""} { - if {[regexp {(\{|\[)[a-zA-Z\\_:]+} $workLine word v]} { - set word [string trim $word $v] - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="proc"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "( \t\])|>" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add keyWord $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # DEDERER - # hightlight [, {, }, ] - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\<\?|\?>} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add rivet $lineNumber.$start $lineNumber.end - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add coments $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # add comment # - - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )//" $workLine begin]} { - set p [lindex $begin 0] - $text tag add comments $lineNumber.[expr $p - 0] $lineNumber.end - } elseif {[regexp -indices {(^|\t|;| )/\*} $workLine beginIndex]} { - set beginQuote "$lineNumber.[lindex $beginIndex 0]" - set endQuote [$text search -forward -regexp -- {\*/} $beginQuote end] - if {$endQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 2 chars" - } else { - $text tag add comments $beginQuote end - } - set endQuotePrev [$text search -backward -regexp -- {\*/} [expr $lineNumber - 1].end 0.0] - if {$endQuotePrev != ""} { - $text tag remove comments "$endQuotePrev + 2 chars" $beginQuote - } - } elseif {[regexp -indices {\*/} $workLine endIndex]} { - set endQuote "$lineNumber.[lindex $endIndex 1]" - set beginQuote [$text search -backward -regexp -- {/\*} $endQuote 0.0] - if {$beginQuote != ""} { - $text tag add comments $beginQuote "$endQuote + 1 chars" - } else { - $text tag add comments 0.0 "$endQuote + 1 chars" - } - set beginQuoteNext [$text search -forward -regexp -- {/\*} $endQuote end] - if {$beginQuoteNext != ""} { - $text tag remove comments "$endQuote + 2 chars" $beginQuoteNext - } - } else { - if {[lindex [split $beginQuote "."] 0] <= $lineNumber && [lindex [split $endQuote "."] 0] >= $lineNumber} { - #$text tag add comments $lineNumber.0 $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - } -} - - - - - - diff --git a/lib/highlight/rivet.tcl b/lib/highlight/rivet.tcl deleted file mode 100644 index 3556605..0000000 --- a/lib/highlight/rivet.tcl +++ /dev/null @@ -1,236 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### - -proc HighLightRIVET {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - # set pos [$text index insert] - # set lineNumber [lindex [split $pos "."] 0] - - set startIndex 0 - # bind text tags for highlightning # - $text tag configure bold -font $editor(fontBold) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure rivet -foreground $color(bindKey) -font $editor(fontBold) -foreground "#ff8800" ;#-background "#c6c6c6" - # incr lineNumber - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete \ - mcset mc mclocale mcpreferences mcload mcunknown configure match else elseif} { - lappend keyWord $n - } - set dataType {true false} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string tolower [string trim $word]]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.[expr $endPos - 1] - } - if {[string trim $word]=="proc"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - set workLine $line - while {$workLine != ""} { - if {[regexp {(\{|\[)[a-zA-Z\\_:]+} $workLine word v]} { - set word [string trim $word $v] - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="proc"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "( \t\])|>" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add keyWord $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b] || [regexp "\'.*?\'" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # add comment # - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - $text tag raise comments - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - # DEDERER - # hightlight [, {, }, ] - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\<\?|\?>} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add rivet $lineNumber.$start $lineNumber.end - set startPos $end - } else { - break - } - } - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add coments $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - -} - - diff --git a/lib/highlight/ruby.tcl b/lib/highlight/ruby.tcl deleted file mode 100644 index 2626d52..0000000 --- a/lib/highlight/ruby.tcl +++ /dev/null @@ -1,189 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" -proc HighLightRUBY {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete extends final finally implements import interface native new private protected public static super this throw synchronized throws transient try volatile void else def end slots require} {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="class"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - puts "$text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]]" - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\@\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - # add comment # - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } -} - - - - - - - - - diff --git a/lib/highlight/shell.tcl b/lib/highlight/shell.tcl deleted file mode 100644 index cd1471f..0000000 --- a/lib/highlight/shell.tcl +++ /dev/null @@ -1,202 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# TCL highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -set beginQuote "0.0" -set endQuote "2.0" -set endQuotePrev "0.0" - -proc HighLightSHELL {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook systemCmdList - global editor color - global beginQuote endQuote endQuotePrev - set startIndex 0 - - $text tag configure bold -font $editor(fontBold) - $text tag configure className -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - $text tag configure sql -font $editor(fontBold) -foreground $color(sql) - - set keyWord [info commands] - - foreach n $systemCmdList {lappend keyWord $n} - - # for OOP extention - foreach n {if else then fi for done do while lt gt} {lappend keyWord $n} - set dataType {list abstract boolean byte char double float int long short} - set sqlOperators {select from where and or count sum in order cast as by} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - set className "" - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $sqlOperators [string trim $word]] != -1} { - $text tag add sql $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="class" || [string trim $word]=="extends" || [string trim $word]=="implements" || [string trim $word]=="use"} { - $text tag add className $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b] || [regexp "\'.*?\'" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # variable highlight #regexp -nocase -all -- {\$({|)[a-zA-Z0-9]+(:-|)(.+?}|)} string match v1 v2 v3 - #[regexp "\\$\[a-zA-Z0-9\\_\-\]+" $workLine a] || - set startPos 0 - set workLine $line - while {$workLine != ""} { - if [regexp -nocase -all -- {\$({|)([a-zA-Z0-9_\-]+)(:-|)(.+?}|\}|)} $workLine match v1 a v3 v4] { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\@\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - # if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b] || [regexp "(\-\>)" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # DEDERER - # hightlight [, {, }, ], ( , ) - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|{|}|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bold $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - - # parameter for command hightlight regexp -nocase -all -- {\s-+\w+(?=\s)} string match - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -nocase -all -- {\s-+\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - $text tag raise comments - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } -} - - - - - - - - - - - - - diff --git a/lib/highlight/spec.tcl b/lib/highlight/spec.tcl deleted file mode 100644 index db4a5d6..0000000 --- a/lib/highlight/spec.tcl +++ /dev/null @@ -1,136 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# version 0.0.1 # -# SPEC highlight file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### - -proc HighLightSPEC {text line lineNumber node} { - global fontNormal editorFontBold fontBold tree imgDir noteBook - global editor color -# set pos [$text index insert] -# set lineNumber [lindex [split $pos "."] 0] - - set startIndex 0 - # bind text tags for highlightning # -# foreach tag {bold procName comments string number variable} { -# $text tag remove $tag $lineNumber.0 $lineNumber.end -# } - - $text tag configure bold -font $editor(fontBold) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) -# $text tag configure bold -font $fontBold -# $text tag configure procName -font $editorFontBold -foreground blue -# $text tag configure keyWord -foreground #0000a8 -# $text tag configure comments -foreground #9b9b9b -# $text tag configure variable -foreground #e50000 -# $text tag configure string -foreground #168400 -# $text tag configure braceHighLight -font $editorFontBold -foreground green -background black -# $text tag configure brace -foreground brown -# $text tag configure percent -foreground #a500c6 - - foreach n {define name version release description prep setup build install post postun clean files defattr changelog doc} { - lappend keyWord $n - } - # add comment # - if {[string range [string trim $line] 0 0] == "#"} { - $text tag add comments $lineNumber.0 $lineNumber.end - return 0 - } - - set a "" - regexp "^( |\t|\%)*(\[a-z\]|\[A-Z\]|\[0-9\]|_|:|~|\\.|/)+" $line a - if {$a != ""} { - # gets name - set b "" - regexp "^( |\t|\%)*" $line b - set nameStart [string length $b] - set nameEnd [string length $a] - set name [string range $a [string length $b] end] - # is it keyword? - if {[lsearch $keyWord $name] != -1} { - incr nameStart $startIndex - incr nameEnd $startIndex - $text tag add keyWord $lineNumber.$nameStart $lineNumber.$nameEnd - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string { } highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\{.*?\}" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { -# if {[regexp "\%.*? " $workLine a b]} - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - #find [ -# set i [string first "\[" $line] -# if {$i != -1} { -# incr i -# set line [string range $line $i end] -# incr i $startIndex -# set l [HighLight $text $line $i $node] -# eval lappend res $l -# } - -# return $res - -} - - - diff --git a/lib/highlight/tcl.tcl b/lib/highlight/tcl.tcl deleted file mode 100644 index 753f220..0000000 --- a/lib/highlight/tcl.tcl +++ /dev/null @@ -1,236 +0,0 @@ -########################################### -# Tcl/Tk Project Manager -# version 0.0.1 -# TCL highlight file -# Copyright (c) Sergey Kalinin 2001, http://nuk-svk.ru -# Author: Sergey Kalinin (aka BanZaj) banzaj28@gmail.com -########################################### - -proc HighLightTCL {text line lineNumber node} { - global fontNormal fontBold editorFontBold tree imgDir noteBook - global editor color - - set startIndex 0 - # bind text tags for highlightning # - $text tag configure bold -font $editor(fontBold) - $text tag configure procName -font $editor(fontBold) -foreground $color(procName) - $text tag configure keyWord -foreground $color(keyWord) - $text tag configure comments -foreground $color(comments) - $text tag configure variable -foreground $color(var) - $text tag configure string -foreground $color(string) - $text tag configure braceHighLight -font $editor(fontBold)\ - -foreground $color(braceBG) -background $color(braceFG) - $text tag configure brace -foreground $color(brace) - $text tag configure bracequad -foreground $color(bracequad) - $text tag configure percent -foreground $color(percent) - $text tag configure bindKey -foreground $color(bindKey) - - # incr lineNumber - set keyWord [info commands] - # for OOP extention - foreach n {class method attribute constructor destructor invariant attribute binding new delete \ - mcset mc mclocale mcpreferences mcload mcunknown configure match else elseif} { - lappend keyWord $n - } - set dataType {true false} - set a "" - set startPos 0 - set endPos 0 - set length 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "(^|\t| )\[a-zA-Z\\_:\]+" $workLine word]} { - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[lsearch $dataType [string trim $word]] != -1} { - $text tag add bold $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="proc"} { - #$text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # Procedure name highlight - set workLine $line - while {$workLine != ""} { - #regexp -nocase -all -line -- {proc (::|)(\w+)(::|)(\w+) \{(.*)\} \{} $workLine match v1 v2 v3 v4 params - set endPos [string first "\{" $workLine] - #puts $workLine - if {[regexp -nocase -all -line -- {proc (::|)(\w+)(::|-|_|)(\w+)(.+) \{(.*)\} \{} $workLine match v1 v2 v3 v4 v5 params]} { - set word "$v1$v2$v3$v4$v5" - #puts $word - set length [string length $word] - set startPos [string first [string trim $word] $line] - #set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - #puts "$length $startPos $endPos\n$workLine" - $text tag add procName $lineNumber.$startPos $lineNumber.$endPos - set startPos [expr $endPos + 1] - } else { - break - } - } - set workLine $line - while {$workLine != ""} { - if {[regexp {(\{|\[)[a-zA-Z\\_:]+} $workLine word v]} { - set word [string trim $word $v] - set length [string length $word] - set startPos [string first [string trim $word] $line] - set endPos [expr $startPos + $length] - set workLine [string range $workLine $length end] - if {[lsearch $keyWord [string trim $word]] != -1} { - $text tag add keyWord $lineNumber.$startPos $lineNumber.$endPos - } - if {[string trim $word]=="proc"} { - $text tag add procName $lineNumber.[expr $startPos + $length] $lineNumber.[string wordend $line [expr $startPos + $length +2]] - } - set startPos [expr $endPos + 1] - } else { - break - } - } - - # key binding highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "<.*?>" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # variable highlight # - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\\$\[a-zA-Z\\_:\]+" $workLine a]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - if {$a != ""} { - $text tag add variable $lineNumber.$start $lineNumber.$end - } - set startPos $end - } else { - break - } - } - # string " " highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\".*?\"" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add string $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # persent % highlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\%" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add percent $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp "\{|\}" $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add brace $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - $text tag lower brace - break - } - } - - # DEDERER - # hightlight [, {, }, ] - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp {\(|\[|\]|\)} $workLine a b]} { - set start [string first $a $workLine] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bracequad $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - $text tag lower bracequad - break - } - } - # parameter for command hightlight - set startPos 0 - set workLine $line - while {$workLine != ""} { - if {[regexp -- {\s-\w+(?=\s)} $workLine a b]} { - set start [expr [string first $a $workLine] + 1] - set end $start - incr end [string length $a] - set workLine [string range $workLine $end end] - incr start $startPos - incr end $startPos - $text tag add bindKey $lineNumber.$start $lineNumber.$end - set startPos $end - } else { - break - } - } - # add comment # - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - $text tag raise comments - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } -} - diff --git a/lib/html_lib.tcl b/lib/html_lib.tcl deleted file mode 100644 index d9a6f44..0000000 --- a/lib/html_lib.tcl +++ /dev/null @@ -1,1437 +0,0 @@ -# Simple HTML display library by Stephen Uhler (stephen.uhler@sun.com) -# Copyright (c) 1995 by Sun Microsystems -# Version 0.3 Fri Sep 1 10:47:17 PDT 1995 -# -# See the file "license.terms" for information on usage and redistribution -# of this file, and for a DISCLAIMER OF ALL WARRANTIES. -# -# To use this package, create a text widget (say, .text) -# and set a variable full of html, (say $html), and issue: -# HM::init_win .text -# HM::parse_html $html "HM::render .text" -# You also need to supply the routine: -# proc HM::link_callback {win href} { ...} -# win: The name of the text widget -# href The name of the link -# which will be called anytime the user "clicks" on a link. -# !!! Use HM::set_link_callback !!! -# The supplied version just prints the link to stdout. -# In addition, if you wish to use embedded images, you will need to write -# proc HM::set_image {handle src} -# handle an arbitrary handle (not really) -# src The name of the image -# Which calls -# HM::got_image $handle $image -# with the TK image. -# -# To return a "used" text widget to its initialized state, call: -# HM::reset_win .text -# See "sample.tcl" for sample usage -################################################################## -############################################ -# mapping of html tags to text tag properties -# properties beginning with "T" map directly to text tags - -namespace eval HM { -} - -# These are Defined in HTML 2.0 - -proc HM::init_array {} { - global HM::tag_map HM::insert_map HM::list_elements HM::param_map - global HM::events HM::esc_map HM::form_map HM::proc_link_callback - -array set HM::tag_map { - b {weight bold} - blockquote {style i indent 1 Trindent rindent} - bq {style i indent 1 Trindent rindent} - cite {style i} - code {family courier} - dfn {style i} - dir {indent 1} - dl {indent 1} - em {style i} - h1 {size 24 weight bold} - h2 {size 22} - h3 {size 20} - h4 {size 18} - h5 {size 16} - h6 {style i} - i {style i} - kbd {family courier weight bold} - menu {indent 1} - ol {indent 1} - pre {fill 0 family courier Tnowrap nowrap} - samp {family courier} - strong {weight bold} - tt {family courier} - u {Tunderline underline} - ul {indent 1} - var {style i} -} - -# These are in common(?) use, but not defined in html2.0 - -array set HM::tag_map { - center {Tcenter center} - strike {Tstrike strike} - u {Tunderline underline} -} - -# initial values - -set HM::tag_map(hmstart) { - family times weight medium style r size 14 - Tcenter "" Tlink "" Tnowrap "" Tunderline "" list list - fill 1 indent "" counter 0 adjust 0 -} - -# html tags that insert white space - -array set HM::insert_map { - blockquote "\n\n" /blockquote "\n" - br "\n" - dd "\n" /dd "\n" - dl "\n" /dl "\n" - dt "\n" - form "\n" /form "\n" - h1 "\n\n" /h1 "\n" - h2 "\n\n" /h2 "\n" - h3 "\n\n" /h3 "\n" - h4 "\n" /h4 "\n" - h5 "\n" /h5 "\n" - h6 "\n" /h6 "\n" - li "\n" - /dir "\n" - /ul "\n" - /ol "\n" - /menu "\n" - p "\n\n" - pre "\n" /pre "\n" -} - -# tags that are list elements, that support "compact" rendering - -array set HM::list_elements { - ol 1 ul 1 menu 1 dl 1 dir 1 -} - -# alter the parameters of the text state -# this allows an application to over-ride the default settings -# it is called as: HM::set_state -param value -param value ... - -array set HM::param_map { - -update S_update - -tab S_tab - -unknown S_unknown - -stop S_stop - -size S_adjust_size - -symbols S_symbols - -insert S_insert -} - -array set HM::events { - Enter {-borderwidth 2 -relief flat -underline 1} - Leave {-borderwidth 2 -relief flat -underline 0} - 1 {-borderwidth 2 -relief sunken} - ButtonRelease-1 {-borderwidth 2 -relief flat} -} - -# table of escape characters (ISO latin-1 esc's are in a different table) - -array set HM::esc_map { - lt < gt > amp & quot \" copy \xa9 - reg \xae ob \x7b cb \x7d nbsp \xa0 -} -############################################################# -# ISO Latin-1 escape codes - -array set HM::esc_map { - nbsp \xa0 iexcl \xa1 cent \xa2 pound \xa3 curren \xa4 - yen \xa5 brvbar \xa6 sect \xa7 uml \xa8 copy \xa9 - ordf \xaa laquo \xab not \xac shy \xad reg \xae - hibar \xaf deg \xb0 plusmn \xb1 sup2 \xb2 sup3 \xb3 - acute \xb4 micro \xb5 para \xb6 middot \xb7 cedil \xb8 - sup1 \xb9 ordm \xba raquo \xbb frac14 \xbc frac12 \xbd - frac34 \xbe iquest \xbf Agrave \xc0 Aacute \xc1 Acirc \xc2 - Atilde \xc3 Auml \xc4 Aring \xc5 AElig \xc6 Ccedil \xc7 - Egrave \xc8 Eacute \xc9 Ecirc \xca Euml \xcb Igrave \xcc - Iacute \xcd Icirc \xce Iuml \xcf ETH \xd0 Ntilde \xd1 - Ograve \xd2 Oacute \xd3 Ocirc \xd4 Otilde \xd5 Ouml \xd6 - times \xd7 Oslash \xd8 Ugrave \xd9 Uacute \xda Ucirc \xdb - Uuml \xdc Yacute \xdd THORN \xde szlig \xdf agrave \xe0 - aacute \xe1 acirc \xe2 atilde \xe3 auml \xe4 aring \xe5 - aelig \xe6 ccedil \xe7 egrave \xe8 eacute \xe9 ecirc \xea - euml \xeb igrave \xec iacute \xed icirc \xee iuml \xef - eth \xf0 ntilde \xf1 ograve \xf2 oacute \xf3 ocirc \xf4 - otilde \xf5 ouml \xf6 divide \xf7 oslash \xf8 ugrave \xf9 - uacute \xfa ucirc \xfb uuml \xfc yacute \xfd thorn \xfe - yuml \xff -} - -########################################################## -# html forms management commands - -# As each form element is located, it is created and rendered. Additional -# state is stored in a form specific global variable to be processed at -# the end of the form, including the "reset" and "submit" options. -# Remember, there can be multiple forms existing on multiple pages. When -# HTML tables are added, a single form could be spread out over multiple -# text widgets, which makes it impractical to hang the form state off the -# HM::$win structure. We don't need to check for the existance of required -# parameters, we just "fail" and get caught in HM::render - -# This causes line breaks to be preserved in the inital values -# of text areas -array set HM::tag_map { - textarea {fill 0} -} - -# These are handled specially -array set HM::form_map { - " " + \n %0d%0a -} - -} -############################################ -# initialize the window and stack state - -proc HM::init_win {win} { - HM::init_array - upvar #0 HM::$win var - - HM::init_state $win - $win tag configure underline -underline 1 - $win tag configure center -justify center - $win tag configure nowrap -wrap none - $win tag configure rindent -rmargin $var(S_tab)c - $win tag configure strike -overstrike 1 - $win tag configure mark -foreground red ;# list markers - $win tag configure list -spacing1 3p -spacing3 3p ;# regular lists - $win tag configure compact -spacing1 0p ;# compact lists - $win tag configure link -borderwidth 0 -foreground blue;# hypertext links - HM::set_indent $win $var(S_tab) - $win configure -wrap word - - # configure the text insertion point - $win mark set $var(S_insert) 1.0 - - # for horizontal rules - $win tag configure thin -font [HM::x_font times 2 medium r] - $win tag configure hr -relief sunken -borderwidth 2 -wrap none \ - -tabs [winfo width $win] - bind $win { - %W tag configure hr -tabs %w - %W tag configure last -spacing3 %h - } - - # generic link enter callback - - $win tag bind link <1> "HM::link_hit $win %x %y" -} - -proc HM::set_link_callback {name} { - global HM::proc_link_callback - set HM::proc_link_callback $name -} - -# set the indent spacing (in cm) for lists -# TK uses a "weird" tabbing model that causes \t to insert a single -# space if the current line position is past the tab setting - -proc HM::set_indent {win cm} { - set tabs [expr $cm / 2.0] - $win configure -tabs ${tabs}c - foreach i {1 2 3 4 5 6 7 8 9} { - set tab [expr $i * $cm] - $win tag configure indent$i -lmargin1 ${tab}c -lmargin2 ${tab}c \ - -tabs "[expr $tab + $tabs]c [expr $tab + 2*$tabs]c" - } -} - -# reset the state of window - get ready for the next page -# remove all but the font tags, and remove all form state - -proc HM::reset_win {win} { - upvar #0 HM::$win var - regsub -all { +[^L ][^ ]*} " [$win tag names] " {} tags - catch "$win tag delete $tags" - eval $win mark unset [$win mark names] - $win delete 0.0 end - $win tag configure hr -tabs [winfo width $win] - - # configure the text insertion point - $win mark set $var(S_insert) 1.0 - - # remove form state. If any check/radio buttons still exists, - # their variables will be magically re-created, and never get - # cleaned up. - catch unset [info globals HM::$win.form*] - - HM::init_state $win - return HM::$win -} - -# initialize the window's state array -# Parameters beginning with S_ are NOT reset -# adjust_size: global font size adjuster -# unknown: character to use for unknown entities -# tab: tab stop (in cm) -# stop: enabled to stop processing -# update: how many tags between update calls -# tags: number of tags processed so far -# symbols: Symbols to use on un-ordered lists - -proc HM::init_state {win} { - upvar #0 HM::$win var - array set tmp [array get var S_*] - catch {unset var} - array set var { - stop 0 - tags 0 - fill 0 - list list - S_adjust_size 0 - S_tab 1.0 - S_unknown \xb7 - S_update 10 - S_symbols O*=+-o\xd7\xb0>:\xb7 - S_insert Insert - } - array set var [array get tmp] -} - -proc HM::set_state {win args} { - upvar #0 HM::$win var - global HM::param_map - set bad 0 - if {[catch {array set params $args}]} {return 0} - foreach i [array names params] { - incr bad [catch {set var($HM::param_map($i)) $params($i)}] - } - return [expr $bad == 0] -} - -############################################ -# manage the display of html - -# HM::render gets called for every html tag -# win: The name of the text widget to render into -# tag: The html tag (in arbitrary case) -# not: a "/" or the empty string -# param: The un-interpreted parameter list -# text: The plain text until the next html tag - -proc HM::render {win tag not param text} { - upvar #0 HM::$win var - if {$var(stop)} return - global HM::tag_map HM::insert_map HM::list_elements - set tag [string tolower $tag] - set text [HM::map_esc $text] - - # manage compact rendering of lists - if {[info exists HM::list_elements($tag)]} { - set list "list [expr {[HM::extract_param $param compact] ? "compact" : "list"}]" - } else { - set list "" - } - - # Allow text to be diverted to a different window (for tables) - # this is not currently used - if {[info exists var(divert)]} { - set win $var(divert) - upvar #0 HM::$win var - } - - # adjust (push or pop) tag state - catch {HM::stack $win $not "$HM::tag_map($tag) $list"} - - # insert white space (with current font) - # adding white space can get a bit tricky. This isn't quite right - set bad [catch {$win insert $var(S_insert) $HM::insert_map($not$tag) "space $var(font)"}] - if {!$bad && [lindex $var(fill) end]} { - set text [string trimleft $text] - } - - # to fill or not to fill - if {[lindex $var(fill) end]} { - set text [HM::zap_white $text] - } - - # generic mark hook - catch {HM::mark $not$tag $win $param text} err - - # do any special tag processing - catch {HM::tag_$not$tag $win $param text} msg - - - # add the text with proper tags - - set tags [HM::current_tags $win] - $win insert $var(S_insert) $text $tags - - # We need to do an update every so often to insure interactive response. - # This can cause us to re-enter the event loop, and cause recursive - # invocations of HM::render, so we need to be careful. - if {!([incr var(tags)] % $var(S_update))} { - update - } -} - -# html tags requiring special processing -# Procs of the form HM::tag_ or HM::tag_ get called just before -# the text for this tag is displayed. These procs are called inside a -# "catch" so it is OK to fail. -# win: The name of the text widget to render into -# param: The un-interpreted parameter list -# text: A pass-by-reference name of the plain text until the next html tag -# Tag commands may change this to affect what text will be inserted -# next. - -# A pair of pseudo tags are added automatically as the 1st and last html -# tags in the document. The default is and . -# Append enough blank space at the end of the text widget while -# rendering so HM::goto can place the target near the top of the page, -# then remove the extra space when done rendering. - -proc HM::tag_hmstart {win param text} { - upvar #0 HM::$win var - $win mark gravity $var(S_insert) left - $win insert end "\n " last - $win mark gravity $var(S_insert) right -} - -proc HM::tag_/hmstart {win param text} { - $win delete last.first end -} - -# put the document title in the window banner, and remove the title text -# from the document - -proc HM::tag_title {win param text} { - upvar $text data - wm title [winfo toplevel $win] $data - set data "" -} - -proc HM::tag_hr {win param text} { - upvar #0 HM::$win var - $win insert $var(S_insert) "\n" space "\n" thin "\t" "thin hr" "\n" thin -} - -# list element tags - -proc HM::tag_ol {win param text} { - upvar #0 HM::$win var - set var(count$var(level)) 0 -} - -proc HM::tag_ul {win param text} { - upvar #0 HM::$win var - catch {unset var(count$var(level))} -} - -proc HM::tag_menu {win param text} { - upvar #0 HM::$win var - set var(menu) -> - set var(compact) 1 -} - -proc HM::tag_/menu {win param text} { - upvar #0 HM::$win var - catch {unset var(menu)} - catch {unset var(compact)} -} - -proc HM::tag_dt {win param text} { - upvar #0 HM::$win var - upvar $text data - set level $var(level) - incr level -1 - $win insert $var(S_insert) "$data" \ - "hi [lindex $var(list) end] indent$level $var(font)" - set data {} -} - -proc HM::tag_li {win param text} { - upvar #0 HM::$win var - set level $var(level) - incr level -1 - set x [string index $var(S_symbols)+-+-+-+-" $level] - catch {set x [incr var(count$level)]} - catch {set x $var(menu)} - $win insert $var(S_insert) \t$x\t "mark [lindex $var(list) end] indent$level $var(font)" -} - -# Manage hypertext "anchor" links. A link can be either a source (href) -# a destination (name) or both. If its a source, register it via a callback, -# and set its default behavior. If its a destination, check to see if we need -# to go there now, as a result of a previous HM::goto request. If so, schedule -# it to happen with the closing tag, so we can highlight the text up to -# the . - -proc HM::tag_a {win param text} { - upvar #0 HM::$win var - - # a source - - if {[HM::extract_param $param href]} { - set var(Tref) [list L:$href] - HM::stack $win "" "Tlink link" - HM::link_setup $win $href - } - - # a destination - - if {[HM::extract_param $param name]} { - set var(Tname) [list N:$name] - HM::stack $win "" "Tanchor anchor" - $win mark set N:$name "$var(S_insert) - 1 chars" - $win mark gravity N:$name left - if {[info exists var(goto)] && $var(goto) == $name} { - unset var(goto) - set var(going) $name - } - } -} - -# The application should call here with the fragment name -# to cause the display to go to this spot. -# If the target exists, go there (and do the callback), -# otherwise schedule the goto to happen when we see the reference. - -proc HM::goto {win where {callback HM::went_to}} { - upvar #0 HM::$win var - if {[regexp N:$where [$win mark names]]} { - $win see N:$where - update - eval $callback $win [list $where] - return 1 - } else { - set var(goto) $where - return 0 - } -} - -# We actually got to the spot, so highlight it! -# This should/could be replaced by the application -# We'll flash it orange a couple of times. - -proc HM::went_to {win where {count 0} {color orange}} { - upvar #0 HM::$win var - if {$count > 5} return - catch {$win tag configure N:$where -foreground $color} - update - after 200 [list HM::went_to $win $where [incr count] \ - [expr {$color=="orange" ? "" : "orange"}]] -} - -proc HM::tag_/a {win param text} { - upvar #0 HM::$win var - if {[info exists var(Tref)]} { - unset var(Tref) - HM::stack $win / "Tlink link" - } - - # goto this link, then invoke the call-back. - - if {[info exists var(going)]} { - $win yview N:$var(going) - update - HM::went_to $win $var(going) - unset var(going) - } - - if {[info exists var(Tname)]} { - unset var(Tname) - HM::stack $win / "Tanchor anchor" - } -} - -# Inline Images -# This interface is subject to change -# Most of the work is getting around a limitation of TK that prevents -# setting the size of a label to a widthxheight in pixels -# -# Images have the following parameters: -# align: top,middle,bottom -# alt: alternate text -# ismap: A clickable image map -# src: The URL link -# Netscape supports (and so do we) -# width: A width hint (in pixels) -# height: A height hint (in pixels) -# border: The size of the window border - -proc HM::tag_img {win param text} { - upvar #0 HM::$win var - - # get alignment - array set align_map {top top middle center bottom bottom} - set align bottom ;# The spec isn't clear what the default should be - HM::extract_param $param align - catch {set align $align_map([string tolower $align])} - - # get alternate text - set alt "" - HM::extract_param $param alt - set alt [HM::map_esc $alt] - - # get the border width - set border 1 - HM::extract_param $param border - - # see if we have an image size hint - # If so, make a frame the "hint" size to put the label in - # otherwise just make the label - set item $win.$var(tags) - # catch {destroy $item} - if {[HM::extract_param $param width] && [HM::extract_param $param height]} { - frame $item -width $width -height $height - pack propagate $item 0 - set label $item.label - label $label - pack $label -expand 1 -fill both - } else { - set label $item - label $label - } - - $label configure -relief ridge -fg orange -text $alt - catch {$label configure -bd $border} - $win window create $var(S_insert) -align $align -window $item -pady 2 -padx 2 - - # add in all the current tags (this is overkill) - set tags [HM::current_tags $win] - foreach tag $tags { - $win tag add $tag $item - } - - # set imagemap callbacks - if {[HM::extract_param $param ismap]} { - # regsub -all {[^L]*L:([^ ]*).*} $tags {\1} link - set link [lindex $tags [lsearch -glob $tags L:*]] - regsub L: $link {} link - global HM::events - regsub -all {%} $link {%%} link2 - foreach i [array names HM::events] { - bind $label <$i> "catch \{%W configure $HM::events($i)\}" - } - bind $label <1> "+HM::link_callback $win $link2?%x,%y" - } - - # now callback to the application - set src "" - HM::extract_param $param src - HM::set_image $win $label $src - return $label ;# used by the forms package for input_image types -} - -# The app needs to supply one of these -proc HM::set_image {win handle src} { - HM::got_image $handle "can't get\n$src" -} - -# When the image is available, the application should call back here. -# If we have the image, put it in the label, otherwise display the error -# message. If we don't get a callback, the "alt" text remains. -# if we have a clickable image, arrange for a callback - -proc HM::got_image {win image_error} { - # if we're in a frame turn on geometry propogation - if {[winfo name $win] == "label"} { - pack propagate [winfo parent $win] 1 - } - if {[catch {$win configure -image $image_error}]} { - $win configure -image {} - $win configure -text $image_error - } -} - -# Sample hypertext link callback routine - should be replaced by app -# This proc is called once for each tag. -# Applications can overwrite this procedure, as required, or -# replace the HM::events array -# win: The name of the text widget to render into -# href: The HREF link for this tag. - -# We need to escape any %'s in the href tag name so the bind command -# doesn't try to substitute them. - -proc HM::link_setup {win href} { - global HM::events - regsub -all {%} $href {%%} href2 - foreach i [array names HM::events] { - eval {$win tag bind L:$href <$i>} \ - \{$win tag configure \{L:$href2\} $HM::events($i)\} - } -} - -# generic link-hit callback -# This gets called upon button hits on hypertext links -# Applications are expected to supply ther own HM::link_callback routine -# win: The name of the text widget to render into -# x,y: The cursor position at the "click" - -proc HM::link_hit {win x y} { - set tags [$win tag names @$x,$y] - set link [lindex $tags [lsearch -glob $tags L:*]] - # regsub -all {[^L]*L:([^ ]*).*} $tags {\1} link - regsub L: $link {} link - HM::link_callback $win $link -} - -# replace this! -# win: The name of the text widget to render into -# href: The HREF link for this tag. - -proc HM::link_callback {win href} { - if {$HM::proc_link_callback != ""} { - $HM::proc_link_callback $win $href - } -} - -# extract a value from parameter list (this needs a re-do) -# returns "1" if the keyword is found, "0" otherwise -# param: A parameter list. It should alredy have been processed to -# remove any entity references -# key: The parameter name -# val: The variable to put the value into (use key as default) - -proc HM::extract_param {param key {val ""}} { - - if {$val == ""} { - upvar $key result - } else { - upvar $val result - } - set ws " \n\r" - - # look for name=value combinations. Either (') or (") are valid delimeters - if { - [regsub -nocase [format {.*%s[%s]*=[%s]*"([^"]*).*} $key $ws $ws] $param {\1} value] || - [regsub -nocase [format {.*%s[%s]*=[%s]*'([^']*).*} $key $ws $ws] $param {\1} value] || - [regsub -nocase [format {.*%s[%s]*=[%s]*([^%s]+).*} $key $ws $ws $ws] $param {\1} value] } { - set result $value - return 1 - } - - # now look for valueless names - # I should strip out name=value pairs, so we don't end up with "name" - # inside the "value" part of some other key word - some day - - set bad \[^a-zA-Z\]+ - if {[regexp -nocase "$bad$key$bad" -$param-]} { - return 1 - } else { - return 0 - } -} - -# These next two routines manage the display state of the page. - -# Push or pop tags to/from stack. -# Each orthogonal text property has its own stack, stored as a list. -# The current (most recent) tag is the last item on the list. -# Push is {} for pushing and {/} for popping - -proc HM::stack {win push list} { - upvar #0 HM::$win var - array set tags $list - if {$push == ""} { - foreach tag [array names tags] { - lappend var($tag) $tags($tag) - } - } else { - foreach tag [array names tags] { - # set cnt [regsub { *[^ ]+$} $var($tag) {} var($tag)] - set var($tag) [lreplace $var($tag) end end] - } - } -} - -# extract set of current text tags -# tags starting with T map directly to text tags, all others are -# handled specially. There is an application callback, HM::set_font -# to allow the application to do font error handling - -proc HM::current_tags {win} { - upvar #0 HM::$win var - set font font - foreach i {family size weight style} { - set $i [lindex $var($i) end] - append font :[set $i] - } - set xfont [HM::x_font $family $size $weight $style $var(S_adjust_size)] - HM::set_font $win $font $xfont - set indent [llength $var(indent)] - incr indent -1 - lappend tags $font indent$indent - foreach tag [array names var T*] { - lappend tags [lindex $var($tag) end] ;# test - } - set var(font) $font - set var(xfont) [$win tag cget $font -font] - set var(level) $indent - return $tags -} - -# allow the application to do do better font management -# by overriding this procedure - -proc HM::set_font {win tag font} { - catch {$win tag configure $tag -font $font} msg -} - -# generate an X font name -proc HM::x_font {family size weight style {adjust_size 0}} { - catch {incr size $adjust_size} - return "-*-$family-$weight-$style-normal-*-*-${size}0-*-*-*-*-*-*" -} - -# Optimize HM::render (hee hee) -# This is experimental - -proc HM::optimize {} { - regsub -all "\n\[ \]*#\[^\n\]*" [info body HM::render] {} body - regsub -all ";\[ \]*#\[^\n]*" $body {} body - regsub -all "\n\n+" $body \n body - proc HM::render {win tag not param text} $body -} -############################################ -# Turn HTML into TCL commands -# html A string containing an html document -# cmd A command to run for each html tag found -# start The name of the dummy html start/stop tags - -proc HM::parse_html {html {cmd HM::test_parse} {start hmstart}} { - regsub -all \{ $html {\&ob;} html - regsub -all \} $html {\&cb;} html - set w " \t\r\n" ;# white space - proc cl x {return "\[$x\]"} - set exp <(/?)([HM::cl ^$w>]+)[HM::cl $w]*([HM::cl ^>]*)> - set sub "\}\n$cmd {\\2} {\\1} {\\3} \{" - regsub -all $exp $html $sub html - eval "$cmd {$start} {} {} \{ $html \}" - eval "$cmd {$start} / {} {}" -} - -proc HM::test_parse {command tag slash text_after_tag} { - puts "==> $command $tag $slash $text_after_tag" -} - -# Convert multiple white space into a single space - -proc HM::zap_white {data} { - regsub -all "\[ \t\r\n\]+" $data " " data - return $data -} - -# find HTML escape characters of the form &xxx; - -proc HM::map_esc {text} { - if {![regexp & $text]} {return $text} - regsub -all {([][$\\])} $text {\\\1} new - regsub -all {&#([0-9][0-9]?[0-9]?);?} \ - $new {[format %c [scan \1 %d tmp;set tmp]]} new - regsub -all {&([a-zA-Z]+);?} $new {[HM::do_map \1]} new - return [subst $new] -} - -# convert an HTML escape sequence into character - -proc HM::do_map {text {unknown ?}} { - global HM::esc_map - set result $unknown - catch {set result $HM::esc_map($text)} - return $result -} - -########################################################## -# html isindex tag. Although not strictly forms, they're close enough -# to be in this file - -# is-index forms -# make a frame with a label, entry, and submit button - -proc HM::tag_isindex {win param text} { - upvar #0 HM::$win var - - set item $win.$var(tags) - if {[winfo exists $item]} { - destroy $item - } - frame $item -relief ridge -bd 3 - set prompt "Enter search keywords here" - HM::extract_param $param prompt - label $item.label -text [HM::map_esc $prompt] -font $var(xfont) - entry $item.entry - bind $item.entry "$item.submit invoke" - button $item.submit -text search -font $var(xfont) -command \ - [format {HM::submit_index %s {%s} [HM::map_reply [%s get]]} \ - $win $param $item.entry] - pack $item.label -side top - pack $item.entry $item.submit -side left - - # insert window into text widget - - $win insert $var(S_insert) \n isindex - HM::win_install $win $item - $win insert $var(S_insert) \n isindex - bind $item {focus %W.entry} -} - -# This is called when the isindex form is submitted. -# The default version calls HM::link_callback. Isindex tags should either -# be deprecated, or fully supported (e.g. they need an href parameter) - -proc HM::submit_index {win param text} { - HM::link_callback $win ?$text -} - -# initialize form state. All of the state for this form is kept -# in a global array whose name is stored in the form_id field of -# the main window array. -# Parameters: ACTION, METHOD, ENCTYPE - -proc HM::tag_form {win param text} { - upvar #0 HM::$win var - - # create a global array for the form - set id HM::$win.form$var(tags) - upvar #0 $id form - - # missing /form tag, simulate it - if {[info exists var(form_id)]} { - puts "Missing end-form tag !!!! $var(form_id)" - HM::tag_/form $win {} {} - } - catch {unset form} - set var(form_id) $id - - set form(param) $param ;# form initial parameter list - set form(reset) "" ;# command to reset the form - set form(reset_button) "" ;# list of all reset buttons - set form(submit) "" ;# command to submit the form - set form(submit_button) "" ;# list of all submit buttons -} - -# Where we're done try to get all of the state into the widgets so -# we can free up the form structure here. Unfortunately, we can't! - -proc HM::tag_/form {win param text} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - # make submit button entries for all radio buttons - foreach name [array names form radio_*] { - regsub radio_ $name {} name - lappend form(submit) [list $name \$form(radio_$name)] - } - - # process the reset button(s) - - foreach item $form(reset_button) { - $item configure -command $form(reset) - } - - # no submit button - add one - if {$form(submit_button) == ""} { - HM::input_submit $win {} - } - - # process the "submit" command(s) - # each submit button could have its own name,value pair - - foreach item $form(submit_button) { - set submit $form(submit) - catch {lappend submit $form(submit_$item)} - $item configure -command \ - [list HM::submit_button $win $var(form_id) $form(param) \ - $submit] - } - - # unset all unused fields here - unset form(reset) form(submit) form(reset_button) form(submit_button) - unset var(form_id) -} - -################################################################### -# handle form input items -# each item type is handled in a separate procedure -# Each "type" procedure needs to: -# - create the window -# - initialize it -# - add the "submit" and "reset" commands onto the proper Q's -# "submit" is subst'd -# "reset" is eval'd - -proc HM::tag_input {win param text} { - upvar #0 HM::$win var - - set type text ;# the default - HM::extract_param $param type - set type [string tolower $type] - if {[catch {HM::input_$type $win $param} err]} { - puts stderr $err - } -} - -# input type=text -# parameters NAME (reqd), MAXLENGTH, SIZE, VALUE - -proc HM::input_text {win param {show {}}} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - # make the entry - HM::extract_param $param name ;# required - set item $win.input_text,$var(tags) - set size 20; HM::extract_param $param size - set maxlength 0; HM::extract_param $param maxlength - entry $item -width $size -show $show - - # set the initial value - set value ""; HM::extract_param $param value - $item insert 0 $value - - # insert the entry - HM::win_install $win $item - - # set the "reset" and "submit" commands - append form(reset) ";$item delete 0 end;$item insert 0 [list $value]" - lappend form(submit) [list $name "\[$item get]"] - - # handle the maximum length (broken - no way to cleanup bindtags state) - if {$maxlength} { - bindtags $item "[bindtags $item] max$maxlength" - bind max$maxlength "%W delete $maxlength end" - } -} - -# password fields - same as text, only don't show data -# parameters NAME (reqd), MAXLENGTH, SIZE, VALUE - -proc HM::input_password {win param} { - HM::input_text $win $param * -} - -# checkbuttons are missing a "get" option, so we must use a global -# variable to store the value. -# Parameters NAME, VALUE, (reqd), CHECKED - -proc HM::input_checkbox {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - HM::extract_param $param name - HM::extract_param $param value - - # Set the global variable, don't use the "form" alias as it is not - # defined in the global scope of the button - set variable $var(form_id)(check_$var(tags)) - set item $win.input_checkbutton,$var(tags) - checkbutton $item -variable $variable -off {} -on $value -text " " - if {[HM::extract_param $param checked]} { - $item select - append form(reset) ";$item select" - } else { - append form(reset) ";$item deselect" - } - - HM::win_install $win $item - lappend form(submit) [list $name \$form(check_$var(tags))] -} - -# radio buttons. These are like check buttons, but only one can be selected - -proc HM::input_radio {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - HM::extract_param $param name - HM::extract_param $param value - - set first [expr ![info exists form(radio_$name)]] - set variable $var(form_id)(radio_$name) - set variable $var(form_id)(radio_$name) - set item $win.input_radiobutton,$var(tags) - radiobutton $item -variable $variable -value $value -text " " - - HM::win_install $win $item - - if {$first || [HM::extract_param $param checked]} { - $item select - append form(reset) ";$item select" - } else { - append form(reset) ";$item deselect" - } - - # do the "submit" actions in /form so we only end up with 1 per button grouping - # contributing to the submission -} - -# hidden fields, just append to the "submit" data -# params: NAME, VALUE (reqd) - -proc HM::input_hidden {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - HM::extract_param $param name - HM::extract_param $param value - lappend form(submit) [list $name $value] -} - -# handle input images. The spec isn't very clear on these, so I'm not -# sure its quite right -# Use std image tag, only set up our own callbacks -# (e.g. make sure ismap isn't set) -# params: NAME, SRC (reqd) ALIGN - -proc HM::input_image {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - HM::extract_param $param name - set name ;# barf if no name is specified - set item [HM::tag_img $win $param {}] - $item configure -relief raised -bd 2 -bg blue - - # make a dummy "submit" button, and invoke it to send the form. - # We have to get the %x,%y in the value somehow, so calculate it during - # binding, and save it in the form array for later processing - - set submit $win.dummy_submit,$var(tags) - if {[winfo exists $submit]} { - destroy $submit - } - button $submit -takefocus 0;# this never gets mapped! - lappend form(submit_button) $submit - set form(submit_$submit) [list $name $name.\$form(X).\$form(Y)] - - $item configure -takefocus 1 - bind $item "catch \{$win see $item\}" - bind $item <1> "$item configure -relief sunken" - bind $item " - set $var(form_id)(X) 0 - set $var(form_id)(Y) 0 - $submit invoke - " - bind $item " - set $var(form_id)(X) %x - set $var(form_id)(Y) %y - $item configure -relief raised - $submit invoke - " -} - -# Set up the reset button. Wait for the /form to attach -# the -command option. There could be more that 1 reset button -# params VALUE - -proc HM::input_reset {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - set value reset - HM::extract_param $param value - - set item $win.input_reset,$var(tags) - button $item -text [HM::map_esc $value] - HM::win_install $win $item - lappend form(reset_button) $item -} - -# Set up the submit button. Wait for the /form to attach -# the -command option. There could be more that 1 submit button -# params: NAME, VALUE - -proc HM::input_submit {win param} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - HM::extract_param $param name - set value submit - HM::extract_param $param value - set item $win.input_submit,$var(tags) - button $item -text [HM::map_esc $value] -fg blue - HM::win_install $win $item - lappend form(submit_button) $item - # need to tie the "name=value" to this button - # save the pair and do it when we finish the submit button - catch {set form(submit_$item) [list $name $value]} -} - -######################################################################### -# selection items -# They all go into a list box. We don't what to do with the listbox until -# we know how many items end up in it. Gather up the data for the "options" -# and finish up in the /select tag -# params: NAME (reqd), MULTIPLE, SIZE - -proc HM::tag_select {win param text} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - - HM::extract_param $param name - set size 5; HM::extract_param $param size - set form(select_size) $size - set form(select_name) $name - set form(select_values) "" ;# list of values to submit - if {[HM::extract_param $param multiple]} { - set mode multiple - } else { - set mode single - } - set item $win.select,$var(tags) - frame $item - set form(select_frame) $item - listbox $item.list -selectmode $mode -width 0 -exportselection 0 - HM::win_install $win $item -} - -# select options -# The values returned in the query may be different from those -# displayed in the listbox, so we need to keep a separate list of -# query values. -# form(select_default) - contains the default query value -# form(select_frame) - name of the listbox's containing frame -# form(select_values) - list of query values -# params: VALUE, SELECTED - -proc HM::tag_option {win param text} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - upvar $text data - set frame $form(select_frame) - - # set default option (or options) - if {[HM::extract_param $param selected]} { - lappend form(select_default) [$form(select_frame).list size] - } - set value [string trimright $data " \n"] - $frame.list insert end $value - HM::extract_param $param value - lappend form(select_values) $value - set data "" -} - -# do most of the work here! -# if SIZE>1, make the listbox. Otherwise make a "drop-down" -# listbox with a label in it -# If the # of items > size, add a scroll bar -# This should probably be broken up into callbacks to make it -# easier to override the "look". - -proc HM::tag_/select {win param text} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - set frame $form(select_frame) - set size $form(select_size) - set items [$frame.list size] - - # set the defaults and reset button - append form(reset) ";$frame.list selection clear 0 $items" - if {[info exists form(select_default)]} { - foreach i $form(select_default) { - $frame.list selection set $i - append form(reset) ";$frame.list selection set $i" - } - } else { - $frame.list selection set 0 - append form(reset) ";$frame.list selection set 0" - } - - # set up the submit button. This is the general case. For single - # selections we could be smarter - - for {set i 0} {$i < $size} {incr i} { - set value [format {[expr {[%s selection includes %s] ? {%s} : {}}]} \ - $frame.list $i [lindex $form(select_values) $i]] - lappend form(submit) [list $form(select_name) $value] - } - - # show the listbox - no scroll bar - - if {$size > 1 && $items <= $size} { - $frame.list configure -height $items - pack $frame.list - - # Listbox with scrollbar - - } elseif {$size > 1} { - scrollbar $frame.scroll -command "$frame.list yview" \ - -orient v -takefocus 0 - $frame.list configure -height $size \ - -yscrollcommand "$frame.scroll set" - pack $frame.list $frame.scroll -side right -fill y - - # This is a joke! - - } else { - scrollbar $frame.scroll -command "$frame.list yview" \ - -orient h -takefocus 0 - $frame.list configure -height 1 \ - -yscrollcommand "$frame.scroll set" - pack $frame.list $frame.scroll -side top -fill x - } - - # cleanup - - foreach i [array names form select_*] { - unset form($i) - } -} - -# do a text area (multi-line text) -# params: COLS, NAME, ROWS (all reqd, but default rows and cols anyway) - -proc HM::tag_textarea {win param text} { - upvar #0 HM::$win var - upvar #0 $var(form_id) form - upvar $text data - - set rows 5; HM::extract_param $param rows - set cols 30; HM::extract_param $param cols - HM::extract_param $param name - set item $win.textarea,$var(tags) - frame $item - text $item.text -width $cols -height $rows -wrap none \ - -yscrollcommand "$item.scroll set" -padx 3 -pady 3 - scrollbar $item.scroll -command "$item.text yview" -orient v - $item.text insert 1.0 $data - HM::win_install $win $item - pack $item.text $item.scroll -side right -fill y - lappend form(submit) [list $name "\[$item.text get 0.0 end]"] - append form(reset) ";$item.text delete 1.0 end; \ - $item.text insert 1.0 [list $data]" - set data "" -} - -# procedure to install windows into the text widget -# - win: name of the text widget -# - item: name of widget to install - -proc HM::win_install {win item} { - upvar #0 HM::$win var - $win window create $var(S_insert) -window $item -align bottom - $win tag add indent$var(level) $item - set focus [expr {[winfo class $item] != "Frame"}] - $item configure -takefocus $focus - bind $item "$win see $item" -} - -##################################################################### -# Assemble and submit the query -# each list element in "stuff" is a name/value pair -# - The names are the NAME parameters of the various fields -# - The values get run through "subst" to extract the values -# - We do the user callback with the list of name value pairs - -proc HM::submit_button {win form_id param stuff} { - upvar #0 HM::$win var - upvar #0 $form_id form - set query "" - foreach pair $stuff { - set value [subst [lindex $pair 1]] - if {$value != ""} { - set item [lindex $pair 0] - lappend query $item $value - } - } - # this is the user callback. - HM::submit_form $win $param $query -} - -# sample user callback for form submission -# should be replaced by the application -# Sample version generates a string suitable for http - -proc HM::submit_form {win param query} { - set result "" - set sep "" - foreach i $query { - append result $sep [HM::map_reply $i] - if {$sep != "="} {set sep =} {set sep &} - } - puts $result -} - -# do x-www-urlencoded character mapping -# The spec says: "non-alphanumeric characters are replaced by '%HH'" - -set HM::alphanumeric a-zA-Z0-9 ;# definition of alphanumeric character class -for {set i 1} {$i <= 256} {incr i} { - set c [format %c $i] - if {![string match \[$HM::alphanumeric\] $c]} { - set HM::form_map($c) %[format %.2x $i] - } -} - -# 1 leave alphanumerics characters alone -# 2 Convert every other character to an array lookup -# 3 Escape constructs that are "special" to the tcl parser -# 4 "subst" the result, doing all the array substitutions - -proc HM::map_reply {string} { - global HM::form_map HM::alphanumeric - regsub -all \[^$HM::alphanumeric\] $string {$HM::form_map(&)} string - regsub -all \n $string {\\n} string - regsub -all \t $string {\\t} string - regsub -all {[][{})\\]\)} $string {\\&} string - return [subst $string] -} - -# convert a x-www-urlencoded string int a a list of name/value pairs - -# 1 convert a=b&c=d... to {a} {b} {c} {d}... -# 2, convert + to " " -# 3, convert %xx to char equiv - -proc HM::cgiDecode {data} { - set data [split $data "&="] - foreach i $data { - lappend result [cgiMap $i] - } - return $result -} - -proc HM::cgiMap {data} { - regsub -all {\+} $data " " data - - if {[regexp % $data]} { - regsub -all {([][$\\])} $data {\\\1} data - regsub -all {%([0-9a-fA-F][0-9a-fA-F])} $data {[format %c 0x\1]} data - return [subst $data] - } else { - return $data - } -} - -# There is a bug in the tcl library focus routines that prevents focus -# from every reaching an un-viewable window. Use our *own* -# version of the library routine, until the bug is fixed, make sure we -# over-ride the library version, and not the otherway around - -#auto_load tkFocusOK -#proc tkFocusOK w { -# set code [catch {$w cget -takefocus} value] -# if {($code == 0) && ($value != "")} { -# if {$value == 0} { -# return 0 -# } elseif {$value == 1} { -# return 1 -# } else { -# set value [uplevel #0 $value $w] -# if {$value != ""} { -# return $value -# } -# } -# } -# set code [catch {$w cget -state} value] -# if {($code == 0) && ($value == "disabled")} { -# return 0 -# } -# regexp Key|Focus "[bind $w] [bind [winfo class $w]]" -#} - - diff --git a/lib/image_library.tcl b/lib/image_library.tcl new file mode 100644 index 0000000..f51993c --- /dev/null +++ b/lib/image_library.tcl @@ -0,0 +1,126 @@ +###################################################### +# ProjMan 2 +# Distributed under GNU Public License +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru +###################################################### +# Base64 encoded Images library +###################################################### +image create photo projman -data { + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI + WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1AsFAhA0bYcHMAAACoFJREFUeNqlV1uMG9UZ/uZiz9ge + X9drr51dZ7037SUkQEJIwqUh3BTRClqREBWqVmorpbxQIaU8UGiloraqVKlPqA/QBwRFItA2AcqG + hGwgLNmEvWSzt6zjvXl37V2P7+OxZ8Yzc/qAF6WwCUj80pFGo3P5znf+833nZ3DjoABQkoTogQN4 + 7e23Ecvl8ODu3XidYcBOTGAEAMF3DHaTf0y9WQBQ4+PY2t8P8fnnYVy4gIeeeQZ/TiTQX+9rqc9B + Xzderzfz2wD8EsCbb77JBoPBTofg+BVrYY/QFN0IALHYGVXTzlxsbLz8+DvvrOcTCbwLQBIE4anD + hw//5mdHn+urKAZ1ZagfU+Oj4pX40MupheR8Xqp+Yph0RleNSh3MzQE4HA6PKIo/Hx4bfprneYbj + ObAsC0J4rrXt7ntNkuqIxSpvsGyV0XWdGR0dzw5cKTuf/usVKpeT0C3E9YP7dzbced+uF8+dOp4f + Gp44zXENr1to22eiKEqiKNZwA7o3GNBPnjy5vpxYFhbmFxxyWRZsNhsjCB5YOTtY+lPnxUvNwbJU + Hnnttdcc/VeYt196dWLLyloZUmFNWbr06pnFpbgS6WgL7Lprvz0a8fccfOiePXff+313SswWlhbm + CgCMrx4Lc903MQyjpKpqvCyVEzWttsVmtwVC4RDNsgpSq59h7DIlyLJ8ded9P378L28s7imVNcBQ + DKTPDpHixB+kUunq3t2LdzU00I4tLXvo7X1DvunZYM/E1KSQTq7NmqZZBoh+IwAAYKiqmiuXy/Fo + NOpzu907g6EgBzKHhfkcHEIX7XQ3No+kWm+bSyo8ANDSldi+aP7lUx+8Fz954sT0wYO5aGJZ2p7M + bIG4No9MzmWXq9neQlp0GZqxrhtG5nommI0EfOGFF3p9Pp9x/vx5FYC2bdu22yJbI3fb7XY+uXoV + lQoPl7uZKmqCEMuHBKliUABgYdR8c+/Dfbd1Cg9IxYzSu8P2RDrf2jA5kcf4qIjmLRF0tbWzJUmM + EJN1NLZERFVVipqiaAAIAwChUMjP2/j+7p7uHQcOHGAbGhpYp8v5WLQjesvq6iqbzarYseMeWKxW + rEkeamSBZQioLyhjPA2J9Up4T2vB7fI473X7klsHP+VINpXO5dLZheRqknO4vFzPjl32/fvv74m2 + R++iaMqYi12LAdBYANTIyAjH2/jOnbt2RvyN/l3bd2yfTa2ltjMMw2UyGfR296GpKYyavgxJMxmT + UP+fybW07vdtc+n0Mn3+4zLy6ZqsVMqfrKVSo5Zc/nuc4L73wbaodfut2zkrQ3WtLi7+GsA5ACoL + APPz86aiKgu6oW/p7OrsKsvljmBTkMplcxRLs+ju7sZKcgU2uw2SUvmCeloHAQ3dpHHfbT7Llctj + WFq+gMQyyalq4ezl0bHjtVot1traSovp1I7pyZlGmmaBikSPjAxnAfgBJBgAlKqqRlkqLxWLRVex + UGxXNZVpCjVR2UwWglMAZ+VQ02vgrBxG4jWs5lmEbSlSMZwUMXXcfwuN8cH3sZTIV0Ux078wv9Cv + KMowgBWapsVMOu2TZblXKkv0mVOnZhcWFj/WNe0igPQGlzRN026n09nqEByPCoLwADFJr1SWlI7O + Dtbv97v27ttrafQ30v/4r4jPZikc6DNw5qoXHmYdW9R+rC5MZmqGcbZSrR4nhEwASABQAXAAoizL + PsuwrEdT1Y8IITMApgDkN5TQNE2zVCwWY4qivC6X5UsWi2VfoVAwCoWClWGYplKxdPevn31uq26B + hSezcPt6AVRglwZRKiUqxXL5HCHkQwATAFYBKPWrpgJY1HX9b7quewHkAaQBFAAY15uRAUBWVXVR + VdUUgDEAnK7rAMAllhJ9M4vS74dmtFu22BSAdQCoov3Op+ArvZtPnvzXR4ZhXLpu5xuKZwKoAJit + S78JoLbhD5u5oV4Ho25YMgAmEAjwuVxJA4CAh4Ws6HUzUREO+b19fX1NsVhMVRRFv4H51Opzk2+y + Y9Q76QBw4j//cSwtLfV8Pjh4jFVSfYAPNitBtQ7AQkqIbI3YXR7XD/iP+KmpyamsLMvFjfGbzIub + SfFXg24Lhbq9Xu9LPp/voJ2z8h9OUugKlM2i3kClcjqi7jQ6W2xoCjW5/X5/WNO0SjaTTdZqNfVm + NvxNDOB3L77oCTU17bk6On50fGz0e01NQS6VyYHRWwjPO2RNNpwAwBNRp+BmOY6zR9uj+wlIl91u + bxv8dPCVcrmcrh/lDWNTBo48eYRTZPkQTchvu9rb9hk1jT/x3vsYHR+vUt5bSWvIKqtwOZKiTCLs + lTmXYGObI828aZoQBEGw2WxdlUpFLBaLq5qmyTdj4msAfvmLX3jvuH3n407e/idxLdWRTK0y07EY + puNzmUw2+4GreZ816LNZaM7rXEnM5Z98bG9+avzCBGflvH6/3w4KlMfrcbrd7ls5K8dmM9m4qqrV + emLfHMCx547xlGkeLmSyx1rCoSjPWvDhwDlcGB4pVxXl1NGjR7OLebcGYoT9jUHXzCrN5AoSI+jz + b128eHE20BjoCIVCgklMOJ1OwWazdaiqmq/IlWSlUilvxsSXAH7y1I+9DR7f4a0tkT9qcrV1cmoC + ly6PkWtzS2lFUc7ohv7WoUOH9IVy8zOLy2ul7o5m1+SiyvQ0rC2m5i69MjkxeTp+LZ6NRCK3+hv9 + DpqmKbfH7RQEYZuFtXDFQnFOUZQqIcT4GoCf/PQptjkcPlIUs8fsVmur4OBxaewyGbk8XiqVpbOE + kFMEZDiTyYwEwu27F1Ny8I5tIX4sVqB2BuYHBs+fPW6a5rokSSsVucL5fL72YDAo6LoOh8Mh8Da+ + VVXUgizLSVmW/48JBgBFE9LRGYm86eGFSCwWw7kLg2Qqdm1d1WoDuq6/RUCGASyvra2VutvDH2s6 + ae1pbwpfmx5Lzwz983eqqk4B0ADI6XQ6lkwmS/5G/zaO5xxaTaMb/Y0ul8vVx7KsNZvJziqKUt3Q + CQYAU5ErT9/e0/sIx/OIxeNkOh4v5fKFAdM0TxFChgEkAVQBmLGZy4WC4R995J5o52cD/36/lF35 + V133NzylWiqVkpqm8V6Pt9XldDm1moYGf4Ngs9vaqpVqtpAvJFRVLW+8iFgATzgczl2p9XUyOTuz + XlHVjxRFOV5fPLGx+JdyJsULTx75kd/nZCeGh4dnv/quNE1TSq+n46IoFsPh8DZBEISZ6RlaKklO + wSFEsplsvFAoJADUGAA0z/NFQtPNiZWEWK3VLhQKhTOEkNHrd/7V7H344YcbS6WSa2hoaHqT22Ua + hlEplUpJVVO5QCDQpqqq0NXZhUAw4FpeXl5fWVkZA1BhAZiKogzPzc89W6vVvDRNK6Zprtct84Zy + 2tLSkpmcnAzUzYpsovmKpmlLw58Pvz4/N7/10cce/SGhCDMxPsGpihoG4AIgsnW0VcMw4gCshmGY + 9YTSblbbMQyT5jhud/0IazcwnpphGHOZTObv5wbOdZ8+fbrX6/HmRVFMbNSO1CYV8beqeA8dOsRm + Mpm9AwMDn1+XhJsaGgA7gCiArQBsANbrL6IC9R2ra8tmHn8DEDYAjjpjCgAJgP4/zJqKdgq3EfoA + AAAASUVORK5CYII= +} +image create photo folder -data { +R0lGODlhEAANAOMMAAAAABwcHC4uLlxcXGpqant7e4ODg4aGhqGhoaioqLCwsLe3t/////////// +/////yH5BAEKAA8ALAAAAAAQAA0AAAQ48Ell6pA4v5WqKYSGKZ33HUiKhA9ivp4AtDAs07V5u3k8 +8z3DLlgZEo3BG0HAbDqZgdkDQK1arREAOw== +} +image create photo imgFile -data { +R0lGODlhCwANAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O +Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh +ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0 +NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH +R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa +WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t +bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA +gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT +k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam +pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5 +ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM +zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f +3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy +8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///yH5BAEAAKoALAAAAAALAA0A +AAg5AFUJHEhQIICDCA8OBPCvoUOGBh0+VMgw4UNVDCVerHhQIgCMGjf+S5jxY8aQJkdaHAkyJEuS +JAMCADs= +} +image create photo tree_32x32 -data { +iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9 +kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg ++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4 +rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG +zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob +cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon +QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T +ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw +SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCwkONjcAirYAAAAZdEVYdENvbW1lbnQAQ3JlYXRl +ZCB3aXRoIEdJTVBXgQ4XAAAAyklEQVRYw+2VMQ7DIAxFf9KcoVfIKdrJUm6TnqU9Ry8QiY0DdPaW +OXvndmFAWQDVtdzKlhBCIPiY7wfg8WPR5YMQwkv6ACLqWtb31jI0KJwxp34BwBYydErt2OyhvZeI +6C4o7AYg/p2HGMBa8/YVwRKCtrRRNFVlmnwaCkKu2h7qC7e4ENH5i3yaAYytVTZp8qnGQ2uWpWl/ +I9Uny8o1prZZ+8sWAA9hDfyJIBaCpHPIOeQccg45h5xDziHnkBUOmYtDYX5Ma55agt4p2lAY80lC +JwAAAABJRU5ErkJggg== +} +image create photo close_12x12 -data { +iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9 +kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg ++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4 +rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG +zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob +cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon +QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T +ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw +SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww0DNJuT5YAAAAZdEVYdENvbW1lbnQAQ3JlYXRl +ZCB3aXRoIEdJTVBXgQ4XAAAATUlEQVQoz52QQQ4AMQgCR9/rc/xv99SkIdWN5QgoqGXmAogIo8H2 +uRKdGcCU0CTVrBIqrtx24ky1ru+tojPEe6XR0aO3dubbkP+ZVfsAVVNBhh3Rb78AAAAASUVORK5C +YII= +} +image create photo close_10x10 -data { +iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9 +kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg ++APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4 +rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG +zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob +cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon +QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T +ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw +SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww2COc16Q0AAAAZdEVYdENvbW1lbnQAQ3JlYXRl +ZCB3aXRoIEdJTVBXgQ4XAAAARElEQVQY05WPwQ0AIAgDr2zNBIytLxPToNE+j9KCMnMAVJVotObh +oDMByMFKdqZb4r6oU5XfHTzqr/rpmc7UtcTJ5GwCGLsw4txYqA4AAAAASUVORK5CYII= +} diff --git a/lib/imgviewer.tcl b/lib/imgviewer.tcl deleted file mode 100644 index 16fc1b4..0000000 --- a/lib/imgviewer.tcl +++ /dev/null @@ -1,75 +0,0 @@ -proc ImageViewer {f w node} { - global tab_label noteBook factor im1 im2 editor - set factor($node) 1.0 - frame $w.f -bg $editor(bg) - pack $w.f -side left -fill both -expand true - canvas $w.f.c -xscrollcommand "$w.f.x set" -yscrollcommand "$w.y set" -bg $editor(bg) - scrollbar $w.f.x -ori hori -command "$w.f.c xview" -bg $editor(bg) - scrollbar $w.y -ori vert -command "$w.f.c yview" -bg $editor(bg) - - pack $w.f.c -side top -fill both -expand true - pack $w.f.x -side top -fill x - pack $w.y -side left -fill y - bind $w.f.c "%W yview scroll -3 units" - bind $w.f.c "%W yview scroll 3 units" - bind $w.f.c "%W xview scroll -2 units" - bind $w.f.c "%W xview scroll 2 units" - bind $w.f.c "scale $w.f.c 0.5 $node" - bind $w.f.c "scale $w.f.c 2 $node" - #$w.scrwin setwidget $w.scrwin.f - openImg $f $w.f.c $node - set tab_label [$noteBook itemcget $node -text] - balloon $w.f.c set "Mouse wheel up/down - vertiÓal scrolling the image\n\ - Shift + mouse wheel up/down - horizontal image scrolling\n\ - Control + mouse wheel up/down is a scale image -/+" -} - -proc openImg {fn w node} { - global im1 - set im1 [image create photo -file $fn] - #scale $w - list [file size $fn] bytes, [image width $im1]x[image height $im1] - $w create image 1 1 -image $im1 -anchor nw -tag img -} - -proc scale {w {n 1} node} { - global im1 im2 factor noteBook tab_label - set factor($node) [expr {$factor($node) * $n}] - $w delete img - catch {image delete $im2} - set im2 [image create photo] - if {$factor($node)>=1} { - set f [expr int($factor($node))] - $im2 copy $im1 -zoom $f $f - } else { - set f [expr round(1./$factor($node))] - $im2 copy $im1 -subsample $f $f - } - $w create image 1 1 -image $im2 -anchor nw -tag img - $noteBook itemconfigure $node -text "$tab_label (size x$factor($node))" - $w config -scrollregion [$w bbox all] -} - -proc ImageBase64Encode {text} { - global env - set types { - {"PNG" {.png}} - {"GIF" {.gif}} - {"JPEG" {.jpg}} - {"BMP" {.bmp}} - {"All files" *} - } - set img [tk_getOpenFile -initialdir $env(HOME) -filetypes $types -parent .] - if {$img ne ""} { - set f [open $img] - fconfigure $f -translation binary - set data [base64::encode [read $f]] - close $f - # base name on root name of the image file - set name [file root [file tail $img]] - $text insert [Position] "image create photo $name -data {\n$data\n}" - } -} - - - diff --git a/lib/main.tcl b/lib/main.tcl deleted file mode 100644 index 7f9d9a6..0000000 --- a/lib/main.tcl +++ /dev/null @@ -1,389 +0,0 @@ -########################################################### -# Tcl/Tk Project Manager # -# Distrubuted under GPL # -# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### - -Modules -## MAIN INTERFACE ## -# -if {[info exists topLevelGeometry]} { - wm geometry . $topLevelGeometry -} else { - wm geometry . 1200x1024+0+0 -} - -wm title . "Tcl/Tk Project Manager $ver" -wm iconname . "Tcl/Tk Project Manager $ver" -#image create photo icon -format png -file [file join $imgDir icons large projman.png] -image create photo icon -data { - iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI - WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1AoBATAgUp33UQAAE4hJREFUeJy1WmmQW9WV/t6T9KTW - rlarW+q92+72hgMYG6iAsQGzBsZJjMFZPZmaSWAqM1QWhsxUSM0kVYHJ/EgqVFKpVFIwIWAgTGKc - gMGGtIndbru9dWP3vqg37ct70tPblzs/JLW7jW2aUDlV94ek++79vnvOPdsT8FeIquKu/n4kLRZ8 - FgBjmvh8Pg/9l7/E5JYt+AoA21+z7t9KKAD00sHz+PVjj+EdAFtyOXhZFrG77sIBAF8C0F6ZR61w - fCyxfghoS2WObemGsRj8r7yCkwDmamqw96c/xczhw3gJwOsApMqz1sqwVMZSsASAXhkGALPyHfnY - BJ544gm6o6PD19XVtba5ufkxv9//paW/nzlzBsePfzPqdIqjXq9Rl0gk/umHP8RrAN6rgKcA7ATw - o9tvv9337LPP1nav6bbksjmcPTuAH/znM8jMjw0WTP5JXpJZlIysCmQJBRUmtCVkViTLVPjkk0/S - 27ZtC9fV1f2rjbE9mcllML8wD4parmkrPYixUTcY25F329uPt+zdS34A4A8A5Mrm9tdee23T/fff - v///eqJ1L74VhV1n0Ww7Q3bv3gVZ5Kif/+pHGJuc0YpT8YNF03xBJfQkVHpG0zQJWCTyoWJZ+uGh - hx6yNjQ0XDcxMfH4K6++ElBUhZJkiaJAwWItT6UoCoKow2rzYvPmic59LwliImH/i2maMcMwVADm - 0NBQ47r1nzj8uaeO1v/PC6OYnOMwFtMwPT2rn+37nd7Y3GLd+6XHsGFNm4UrTq0pydL9Pn8w2N6y - Oh0Oh2W3223m8/kVaWIZgbfffpv67W9/Wzh06FCczbOhAluwzs3OOWVJpqw2K8XYGVitVlgsblht - VqzrPoTfvdbi8bh9NlmWp0VRZB999FF86sGdb37mO8e7ek4tAKRykIZMpMkXJ/OJyRSvqN6Sptr8 - oVasvWYD7IzBdLau6di69Y7mW27d6iYULY9PTAi6phn4kLthucx3RNf1tGEYFxRFkfL5vDWfyztE - QXQGagOU2+0GTdOwWAjstj/hSE+YUhSliWXZSUmS5t54441vfvm/Tuw6cjq2fNX4H2bAnXtB17S3 - 87lc0FUjN4bqDGuNdx26Oq7F5k3z9k3Xb17tD3RfNzY944xGZ7ICX+CBq9+LSwlQlYmGoigCy7LT - hJAxh8Nhs1gsrX6/v8Yf8Je1QKeQSfdjaKgBC7EFks1kZ/bs2SOnjFXP/OIPUcuy/fixEub3vQDg - eQBTiiTNtbemr3n6+++FD/zRi0BoNeyMjpbIv+PdI2tcU7MzrbGFqFMV1ZxpmEUCol6JxKVeiFQm - yii7N4njuGJjY6PXbrdvFgWxVtM02O12mMYkZmcdaGxqhN1ht/JF/saHH/lc5z/+ZMS2aDYAYCrA - /MtHAPIqgBkADIAzkxPmr2xW89nT/edA6FZ0rgpD6K9BIhGD20vXeXy2T8lcDQXdhKzLgwSEBaDg - kst9KYGq/0dFdQYA3el05ux2u+pwOGChLSgWi6AIi2zWC3/Aj9pgrWVycrJzOOlanyte4jwyR2ZX - NTnf7e/PXef3+7/61FNP/ezll1/Of2pnW8uFoeMm4+mkF5IpCMUhcJmNWL8hgFZfE/h8Ojgonb2f - 6ApllmxENbT3CQi3hARZZkL79u1zPv3007fv2rUr9Pzzz3MVIgQAaWtrawlHwne2d7ZHvD4vhoeG - USzEICte+LytMAwDPp/PPDFbXxPL6csVynhk0vjAjgPvze9e28xsmhw952cYxr9rT+0/j46rHsq2 - FYlYGoOnJhGPcQAFtLe0obWpDYRSnLKiNbtcQWdL12oPZaHypUKhSsBcSoDasmVL2GKxPOd0OTfd - e++99ltvvdX91ltvcZ2dnd62tratzS3N2yNNkYAgCJienIaiUOjuugnBYD1MYqI2UGf+/hRjNUx6 - CQEKsLjdsmI4kjkJN3eUeEVkfY0tLTdu3Tbf+tqBIAp5gszCgmFqMmeoSpHNszZJkqz1kSa4fSGE - m9pqNm68vi3SHLmBZmzOfDY7I0tS1cTNKgHaarVGJFn6fl19XUswGNzk8/rWPfDAA36Px9Ok6dq9 - HZ0dm/wBv2VsdAzxWBybt9yKG264ESzHwmq1Ip4DdWLavRT9clFZ41tfWGP0HDnivuXuHfVc9gB1 - 8KADhXzWcDpsqSLHns5msxdURaFYjg/IBrHW+P3Yesst2L71k47mprBP1bU1qiA6Z2dmhlC+p1r1 - DlDZbNYSi8WosdExR1t7W7PD7mhwe93X+Py+mEGMkNfnZXK5HFiWRag+hO6ubthsNkiShBpnDRTT - tFwt7ti1GaWt9RFnscSDsQ1QBw94wOdypLGxPp1Opk5MTEz0K7KSsFgsmQbaFi4UixFVU6HoBoql - Ejra23GvzRZ4509vfAHA7wGUAMiLlziZTNK6roMv8Qg1hChZkRlFVuo1TaurC9VRTpcT0WgUyXgS - d955JwK1AYyPj8Nqs6LGWQO2JCxHbKoAzSx+3LElUnP23FmKNgycPtqDCwMqWprCmXgi3jt4bvCY - LMvjAFL19fVuB2OV+CKLTDKDkYlpcFwePB/G8WPHMDU1dQGAH4ADAL1IIJvN5op88elcPneTw+64 - Y+MnNsLG2CiL1WKpra2FKIgQeAHBYBBtbW2gKRqqqoJhGFAUBUJfDCk2iGhvZDCRrN5lE7vuXk/9 - cf9+CEIJr/9+Dozdx8Zk+cjZM2d7dV0fAxAFwLnd7tPFAncsx+ZDump4KJqGSXeh5/DbONbbB7ZQ - 6MdFD0kWd9V13VAUZUyRlZQsy75MOtM6MDBA+fw+KtIYQYEtQBAE+AN+UBSFhdgCDNOAx+sBMQkm - FxSMxMsnfq3/fWMyX0cbpHw+NSSL27oV9B3pQTyZJrTVkUslU4fGRsd6TdOsgs8AEHK5HFcqlWKS - IAQKBbYVIPbJkVGjv7dvoFAo9BmqegaETAFIAhAXvRAqEZiiqAKAaY7jkrqu29KpdOBk30n69KnT - GB4eVjVdMw3DoEVJpGqDtfB5fYhOR8GVDFyIuQCdx13XKNS5eANVTXa3tPM4/e5LiMcTJJ5KZRVF - eTeTyfQBGAcwXQEvolwfkIp9xzVFqS1yXF1qYeGsyPNHDFU9CULGASwA4AAoS1MJAkA3TVMSRTGv - KMqMaZpRWZYThBBHPp/n06n0iVw2F5+amnKMDI8YdsZON4QbrJ9+8NM4emIA78fcqNFncdct66hj - o5WTUbOgos+jyOXNZDab1XS9R5KkPgBjS8ALVZPAxWKnCGBWU9ULuq6fWzJ/HkAOZS9kWi8hYKBc - lBiqqkr5fD5vt9snHA7HSVmW/QDkYrFIFYtFPwD3wTcP3lYoFK7dtv3BUMl5I2hqHjXgYHcGynsQ - AxH5IEJBL4nOsnnDNP8C4ASA0SuAB8oBSq2c8CCAWQB2lCNwsaKdxWh8uVyIVCboABRFUYqKoiQA - OHExOlsAOFmWPU9MctupCwvf2N+zAICChxFh0K4yAYpGPvh5/OQ/1lGP/cPuJID3AUygnBNVzWYp - +KqYS0BKlf0MlC+vjiX50JVq4qoajcppiJVFqgQolJOyhK7rejInfqP6YEs9s2QZCrIKuGwqPB6P - U1EUqVQq5SqnK+GizV8Jg1YZ1JJ5y+ZficDliAAXS1AKgGKz2TS3y7WumE9VSSHktSDFyosLuKxl - C7n2+mub+QK/bWBg4EI+n7+0yL/a/h8A/VEIXG4h6plnnrH19vbWKIryaRchX2NIiar+7GBoqKqx - +KCT0cEXeXR1dzEW2nJTNpc9XCgU5g3DqJrP5UxoxbJSAkuF2nHHHTtcTueu031921sbI+0um7IY - UnS1BItxEQ9DSigJJbg9boTDYd89993zWQCZRDxBZTKZeZRNSftrSVyupLwicACW69au9auC8Eg4 - 3PCVtlUdDS7GS2mahEPnDVCUBXdsUPVpro6OpspptceM4tbrQpAVGYFAwOLz+SLhcHgjTdMdxWJx - UhAECctd6EeSlWqAevHFF90zMzON42cH756fX/gMrwrO6zduhE4RxNMJ0Jobpj0Mm9VWAoi/+qBd - j5tW6w00VTF5hmHsre2t60GhVdd1ZuDcwM/T6fQYyi6yWjquWFaiAWrz5s2e7tWr7w/V1X3PVeN6 - 2G11NLMcZ5memsbb77yDHMuSlBgwdWsdfdsaMRcXgt5oqnwPbuooiXx+nu7u7qZtjA2EEFgsFng8 - HsbldLWZphkUBGGuVCoVcdFFrlgTH0aA+vJXvuxtjITvnY9Gv0UZ5s3dXe1uf8BNy5KMo30ncH5k - hKTT6VyobQsKei2zfa2UlemGwNCsCkpjjXZmYHBsdDTX2dnpb2pqsmq6tkjC7XHbnS5nKzGJTxTE - WIXER+rOXc2EqB//+Mdev99/VzIW+1ZybmHz7GyU1mUJPq8L0wuzKIgiQFFZURQPu2zK9ZCpdbTV - YdY4yrGgRr6Q3vPIboRCIXz9X75+8vHHH7+5c3WnvcgXYZomGIZBW3ubhxByHwDQNP2rWCx2HuU4 - sSJzupIGqO3bt/stwH1el+s7tV7fZjdjp0zDwOjUJA6+04PeE/1E1bQ0TdOHdF3vY3wdMm/p3Nzq - nE0wnpb6c5MSNBNc7xj8N7TJ2Ldv33Pj4+NUR0dHS2NTo03V1EVNeH1eu9PlbKMp2q+qapLneY4Q - siJzuhwB6rvf+26gpanpHqFY/HYmntjk87oRCgYgiRKGRscwMjlhqpqW0jTtiK7rfT09PQ/Gk9zw - aNpze3ugmO/qXlP3l8ECYPP7DF3zbGxIjxw9evRljuPOzszM1DU3N7e0tLTYNG2ZOTF2u72Zoiif - ruuZUqnEGYbxoeb0gcbWnocf9q9fu+6eumDdt01Fu0ERJCSSCcQTCZwbGcL0zLwhCXJS07VjAI4B - GNu9e/em43P1j07EVFik6dSGdWvr3xssAAA2NIqKlOw/OjExcQBALJ/Pz8UWYsFIJNLS3NRs0w0d - pmku3gnGzjQREK+u6VlRFDld11fcmaP2fO4Rj9vtuo8vFJ+oCwRuCAT8YCwWxJNJ9Pb349z753Wu - UEyCoM8kZi8BGQEwYxjGoN1Z+8WhecoisvPZz9y9MfTmSQ4AsHOzKb7+6q9f1HX9OMo5VSGXyy2k - UqnahoaG5kgkwhBCYJomrFYrXG6Xg2GYRhC4NU3LCYLA6bp+xc7cYkHztce+6ujsaH/ATlu/U0jn - rhdKPHweJyRZxHg0ionojM4LQsIk5knd1HsJyDAqWeXQ0NDszruuF3mF2bGQLEoP372K2d9bsDGk - YGzwj505dar/VZSzUANlV8nlcrl4gSsEA4FAUzgcZkzThCzJsFqt8Hq9DoZhGgkhHlVTM6IgFq5E - YrGtsn5Nd9jv9vxCL0nXBt1+5LJZTE1P4dTgIIbHJ3RJlhOGYZw0TfMYgGGU8/TFSuro0aNntt+8 - FrJu3fZ321ZJr/RkXd2+mczJP7/0nKIoh1DO+6utS50QwuXz+TRf5P0+ry8SDAbthUIBsiTD6XTC - 4/U4GIZpggmPLMtpQRDYavt+KYkqAWs2k/3iqsbGv3fV2BHwB5DPcxgcHcbA0LBeKBYThmGcJIQc - I4QMVcCnsbwM1C8MnjxRoFpsD9zW2frHnpGa1OBzrytS8TmUq6iqVElohmFwLMtmS6WSz+PxNIZC - IbsoitBUDU6nE16f12G325tN0/RKkhTneb5AyPJGbzWttZmG8dLGrm5/Q6QZmVwG8/NzmMtmdEmW - E4qinDRNcyn4S2vYquikMHzi3554omPo6HMX5mYm/hfAeXzQny+S0DSN4zguI4qit7a2NhIOhx2i - IELTyiQ8Po+9xlHTbJpmgOf5GVEUl5JYJOCgKOq/XU4XXE4vJqcnMDQ2arClUtJisfSJotgLYCl4 - 4TLgF0ns3bs3pCjK6mPHjr1YIXo5qZJQVVXlCoVCVigJ3tra2sZIJGLneR7ZbBbRaBSKotgN3WhJ - JVMjLMsmKmtqqOTAFAA7Y7fX14ZCm0Ynx5HnOEPQtEQ6kzmqKEqfaZpLbf5q4AEAN954o+ZyuT57 - 8ODBtwDwV5p3KQmO47KlUskbDAabmpqb7CPDI/jzu3/G+rXr0d7ezsiK7E+n0hcURcmjXHIaVQK0 - y+WKudwuaWJiIioryhQo6myxWDxhmuYorm42H5Dh4eHCjh079h44cOAwgPzV5l6GRJplWV8kHGl2 - 1jiZrtVd2LlzJ9xeN+bn50NTk1MnJUlKoFzcL/ZGdUEQJqPR6POyojSomuawCIJaAZ0GwK4UPABE - o1E9GAyyAGqxvJ69khgon2hWEIQz58+fv4Zl2Zsfeugh982fvBklqYT3B9+HIimMaZp+AG6U8zjK - Wllc13Wd53l+GkDKNE2raZrVNzViZfGPUvoRr9c71tra2jw3N3caF2vqlZDIa5r2p9nZ2VW/+c1v - du3fv9/T1d2F6alptLa2ghBSfXlOAxffxlQ7ADyALIAUyqdf7R585LqV47gT99xzzydQ7umsVKrt - lBnTNH/W1NT0pizL4pGeI/B4PBgdHX2N5/kFlA9WBz6YC1Xt0cDHLLgpisomEolrpqenz1VArVSq - GKREInGuWCwe1jStJx6PHyoUCkOEkBkAMZQrOO1j/9niKkIBCOFibv9Rn2UAuFBupXtQ/r+GUlmP - Q6Up9rck8HGFwvI/m9CoBD8sqdr+H8azwnc3xO1JAAAAAElFTkSuQmCC -} -wm iconphoto . icon -wm protocol . WM_DELETE_WINDOW Quit -wm overrideredirect . 0 -wm positionfrom . user -#wm resizable . 0 0 - -frame .frmMenu -border 1 -relief raised -background $editor(bg) -highlightthickness 0 -frame .frmTool -border 1 -relief raised -background $editor(bg) -highlightthickness 0 -frame .frmBody -border 1 -relief raised -background $editor(bg) -highlightthickness 0 -frame .frmStatus -border 1 -relief sunken -bg $editor(bg) -if {[info exists menuShow]==1 && $menuShow eq "Yes"} { - pack .frmMenu -side top -padx 1 -fill x -} -pack .frmTool -side top -padx 1 -fill x -pack .frmBody -side top -padx 1 -fill both -expand true -pack .frmStatus -side top -padx 1 -fill x - -########## CREATE MENU LINE ########## -menubutton .frmMenu.mnuFile -text [::msgcat::mc "File"] -menu .frmMenu.mnuFile.m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -set m [menu .frmMenu.mnuFile.m -bg $editor(bg) -fg $editor(fg)] -GetFileMenu $m -##.frmMenu 'Project' ## - - -menubutton .frmMenu.mnuProj -text [::msgcat::mc "Project"] -menu .frmMenu.mnuProj.m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -set m [menu .frmMenu.mnuProj.m -bg $editor(bg) -fg $editor(fg)] -GetProjMenu $m - -##.frmMenu 'Edit' ## -menubutton .frmMenu.mnuEdit -text [::msgcat::mc "Edit"] -menu .frmMenu.mnuEdit.m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -## BUILDING EDIT-MENU FOR MAIN AND POP-UP MENU ## -GetMenu [menu .frmMenu.mnuEdit.m -bg $editor(bg) -fg $editor(fg)];# main edit menu -GetMenu [menu .popMnuEdit -bg $editor(bg) -fg $editor(fg)] ;# pop-up edit menu - -## VIEW MENU ## -menubutton .frmMenu.mnuView -text [::msgcat::mc "View"] -menu .frmMenu.mnuView.m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -set m [menu .frmMenu.mnuView.m -bg $editor(bg) -fg $editor(fg)] -GetViewMenu $m -##.frmMenu Settings ## -menubutton .frmMenu.mnuCVS -text [::msgcat::mc "Modules"] -menu .frmMenu.mnuCVS.m \ --font $fontNormal -state normal -bg $editor(bg) -fg $editor(fg) -set m [menu .frmMenu.mnuCVS.m -bg $editor(bg) -fg $editor(fg)] -GetModulesMenu $m - -menubutton .frmMenu.mnuHelp -text [::msgcat::mc "Help"] -menu .frmMenu.mnuHelp.m \ --underline 0 -font $fontNormal -bg $editor(bg) -fg $editor(fg) -set m [menu .frmMenu.mnuHelp.m -bg $editor(bg) -fg $editor(fg)] -GetHelpMenu $m - -pack .frmMenu.mnuFile .frmMenu.mnuProj .frmMenu.mnuEdit .frmMenu.mnuView .frmMenu.mnuCVS -side left -pack .frmMenu.mnuHelp -side right -## Bind command ## -bind . ShowHelp -bind . UpdateTree -bind . MakeRPM -bind . MakeTGZ -bind . {MakeProj compile proj} -bind . {MakeProj compile file} -bind . {MakeProj run proj} -bind . {MakeProj run file} -bind . {AddToProjDialog file [$noteBookFiles raise]} -bind . {AddToProjDialog file [$noteBookFiles raise]} -#bind . AddToProjDialog -#bind . AddToProjDialog -bind . Quit -bind . Quit -bind . PrintDialog -bind . PrintDialog -bind . FileOperation::Open -bind . FileOperation::Open - -set sepIndex 0 - -########## STATUS BAR ########## -set frm1 [frame .frmStatus.frmHelp -bg $editor(bg)] -set frm2 [frame .frmStatus.frmActive -bg $editor(bg)] -set frm3 [frame .frmStatus.frmProgress -relief sunken -bg $editor(bg)] -set frm4 [frame .frmStatus.frmLine -bg $editor(bg)] -set frm5 [frame .frmStatus.frmFile -bg $editor(bg)] -set frm6 [frame .frmStatus.frmOvwrt -bg $editor(bg)] -pack $frm1 $frm4 $frm6 $frm2 $frm5 -side left -fill x -pack $frm3 -side left -fill x -expand true -label $frm1.lblHelp -width 25 -relief sunken -font $fontNormal \ --anchor w -bg $editor(bg) -fg $editor(fg) -pack $frm1.lblHelp -fill x -label $frm4.lblLine -width 10 -relief sunken -font $fontNormal \ --anchor w -bg $editor(bg) -fg $editor(fg) -pack $frm4.lblLine -fill x -label $frm2.lblActive -width 25 -relief sunken -font $fontNormal \ --anchor center -bg $editor(bg) -fg $editor(fg) -pack $frm2.lblActive -fill x -label $frm3.lblProgress -relief sunken -font $fontNormal \ --anchor w -bg $editor(bg) -fg $editor(fg) -pack $frm3.lblProgress -fill x -label $frm5.lblFile -width 10 -relief sunken -font $fontNormal \ --anchor w -bg $editor(bg) -fg $editor(fg) -pack $frm5.lblFile -fill x -label $frm6.lblOvwrt -width 10 -relief sunken -font $fontNormal \ --anchor center -bg $editor(bg) -fg $editor(fg) -pack $frm6.lblOvwrt -fill x - -########## PROJECT-FILE-FUNCTION TREE ################## - -#set frmCat [frame .frmBody.frmCat -border 1 -relief sunken -bg $editor(bg)] -set frmCat [frame .frmBody.frmCat -border 0 -relief flat -highlightthickness 0] -pack $frmCat -side left -fill y -fill both -#set frmWork [frame .frmBody.frmWork -border 1 -relief sunken -bg $editor(bg)] -set frmWork [frame .frmBody.frmWork -border 0 -relief flat -highlightthickness 0] -pack $frmWork -side left -fill both -expand true - -## CREATE PANE ## -pane::create .frmBody.frmCat .frmBody.frmWork -percent 0.20 - -# NoteBook - Projects and Files -#################### WORKING AREA #################### -set noteBookFiles [NoteBook $frmCat.noteBook -font $fontNormal -side top -bg $editor(bg) -fg $editor(fg) \ --activebackground $editor(bg) -activeforeground $editor(fg)] -pack $noteBookFiles -fill both -expand true -padx 2 -pady 2 -set nbProjects [$noteBookFiles insert end projects -text [::msgcat::mc "Projects"] \ --activebackground $editor(bg) -activeforeground $editor(fg)] -set nbFiles [$noteBookFiles insert end files -text [::msgcat::mc "Files"] \ --activebackground $editor(bg) -activeforeground $editor(fg)] - - -#set frmButtonBoxTreeProj [frame $nbFiles.frmButtonBoxTreeProj] -#pack $frmButtonBoxTreeProj -side top -fill both -expand true -set bBoxProjectTree [ButtonBox $nbProjects.bboxProjectTree -spacing 0 -padx 1 -pady 1 -bg $editor(bg)] -#add_toolbar_button $bBoxProjectTree new_project.png {NewProj new "" ""} [::msgcat::mc "New project"] -#add_toolbar_button $bBoxProjectTree del_project.png DelProj [::msgcat::mc "Delete project"] -add_toolbar_button $bBoxProjectTree project_settings.png {NewProj edit $activeProject ""} [::msgcat::mc "Project settings"] -add_toolbar_button $bBoxProjectTree sort.png {SortTree [$noteBookFiles raise]} [::msgcat::mc "Sort tree"] -pack $bBoxProjectTree -side top -pady 4 -anchor w - -# Create FileTree -#FileTree::create $nbFiles -set frmTreeFiles [ScrolledWindow $nbFiles.frmTreeFiles -bd 0 -bg $editor(bg) -background $editor(bg)] - -set treeFiles [ - Tree $frmTreeFiles.treeFiles \ - -relief sunken -borderwidth 0 -width 5 -highlightthickness 1\ - -redraw 0 -dropenabled 1 -dragenabled 1 -dragevent 3 \ - -background $editor(bg) -selectbackground $editor(selectbg) -selectforeground white\ - -droptypes { - TREE_NODE {copy {} move {} link {}} - LISTBOX_ITEM {copy {} move {} link {}} - } -opencmd {TreeOpen} \ - -closecmd {TreeClose} -] -$frmTreeFiles setwidget $treeFiles -pack $frmTreeFiles -side top -fill both -expand true -$treeFiles bindText "TreeOneClick $treeFiles [$treeFiles selection get]" -$treeFiles bindImage "TreeOneClick $treeFiles [$treeFiles selection get]" -$treeFiles bindImage "TreeDoubleClick $treeFiles [$treeFiles selection get]" -$treeFiles bindText "TreeDoubleClick $treeFiles [$treeFiles selection get]" -GetAllDirs $treeFiles - -$treeFiles bindText {$treeFiles selection add $treeFiles [$treeFiles selection get]} -# Added menu - -GetMenuFileTree [menu .popMenuFileTree -bg $editor(bg) -fg $editor(fg)] ;# pop-up edit menu - -bind $frmTreeFiles.treeFiles.c {catch [PopupMenuFileTree $treeFiles %X %Y]} - -# Create Project tree -set frmTree [ScrolledWindow $nbProjects.frmTree -bd 0 -bg $editor(bg)] -global tree noteBook -set tree [Tree $frmTree.tree \ --relief sunken -borderwidth 0 -width 3 -height 5 -highlightthickness 1\ --redraw 0 -dropenabled 1 -dragenabled 1 -dragevent 3 \ --background $editor(bg) -selectbackground $editor(selectbg) -selectforeground white\ --droptypes { - TREE_NODE {copy {} move {} link {}} - LISTBOX_ITEM {copy {} move {} link {}} -} -opencmd {TreeOpen} -closecmd {TreeClose}] -$frmTree setwidget $tree -pack $frmTree -side top -fill both -expand true - -$noteBookFiles raise projects - -$tree bindText "TreeDoubleClick $tree [$tree selection get]" -$tree bindText "TreeOneClick $tree [$tree selection get]" -$tree bindImage "TreeDoubleClick $tree [$tree selection get]" -$tree bindImage "TreeOneClick $tree [$tree selection get]" -$tree bindText {$tree selection add [$tree selection get]} -bind $frmTree.tree.c {FileDialog [$noteBookFiles raise] delete} -bind $frmTree.tree.c {FileDialog [$noteBookFiles raise] delete} -bind $frmTree.tree.c { - set node [$tree selection get] - TreeOneClick $tree $node - TreeDoubleClick $tree $node -} - -$noteBookFiles bindtabs "FileNotePageRaise [$noteBookFiles raise]" - -## POPUP FILE-MENU ## -set m .popupFile -menu $m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -$m add command -label [::msgcat::mc "New file"] -command {AddToProjDialog file [$noteBookFiles raise]}\ --font $fontNormal -accelerator "Ctrl+N" -$m add command -label [::msgcat::mc "New directory"] -command {AddToProjDialog directory [$noteBookFiles raise]}\ --font $fontNormal -accelerator "Alt + Ctrl+N" -$m add command -label [::msgcat::mc "Open"] -command {FileDialog [$noteBookFiles raise] open}\ --font $fontNormal -accelerator "Ctrl+O" -state disable -$m add command -label [::msgcat::mc "Save"] -command {FileDialog [$noteBookFiles raise] save}\ --font $fontNormal -accelerator "Ctrl+S" -$m add command -label [::msgcat::mc "Save as"] -command {FileDialog [$noteBookFiles raise] save_as}\ --font $fontNormal -accelerator "Ctrl+A" -$m add command -label [::msgcat::mc "Save all"] -command {FileDialog [$noteBookFiles raise] save_all}\ --font $fontNormal -$m add command -label [::msgcat::mc "Close"] -command {FileDialog [$noteBookFiles raise] close}\ --font $fontNormal -accelerator "Ctrl+W" -$m add command -label [::msgcat::mc "Close all"] -command {FileDialog [$noteBookFiles raise] close_all}\ --font $fontNormal -$m add command -label [::msgcat::mc "Delete"] -command {FileDialog [$noteBookFiles raise] delete}\ --font $fontNormal -accelerator "Ctrl+D" -$m add separator -$m add command -label [::msgcat::mc "Compile file"] -command {MakeProj compile file} \ --font $fontNormal -accelerator "Ctrl+F8" -$m add command -label [::msgcat::mc "Run file"] -command {MakeProj run file} -font $fontNormal \ --accelerator "Ctrl+F9" -$m add separator -$m add command -label [::msgcat::mc "Add to existing project"] -command {AddToProjDialog "" [$noteBookFiles raise]} \ --font $fontNormal -state disable -$m add command -label [::msgcat::mc "Add as new project"] -command {OpenProj [$noteBookFiles raise]} -font $fontNormal - -## POPUP PROJECT-MENU ## -set m [menu .popupProj -font $fontNormal -bg $editor(bg) -fg $editor(fg)] -GetProjMenu $m - -## TABS popups ## -set m .popupTabs -menu $m -font $fontNormal -bg $editor(bg) -fg $editor(fg) -$m add command -label [::msgcat::mc "Close"] -command {FileDialog [$noteBookFiles raise] close}\ --font $fontNormal -accelerator "Ctrl+W" -$m add command -label [::msgcat::mc "Close all"] -command {FileDialog [$noteBookFiles raise] close_all}\ --font $fontNormal - -bind $frmTree.tree.c {catch [PopupMenuTree %X %Y]} - -######### DEDERER: bind Wheel Scroll ################## -bind $frmTree.tree.c "$tree yview scroll -3 units" -bind $frmTree.tree.c "$tree yview scroll 3 units" -bind $frmTree.tree.c "$tree xview scroll -2 units" -bind $frmTree.tree.c "$tree xview scroll 2 units" - -#################### WORKING AREA #################### -set noteBook [NoteBook $frmWork.noteBook -font $fontNormal -side top -bg $editor(bg) -fg $editor(fg)] -pack $noteBook -fill both -expand true -padx 2 -pady 2 -$noteBook bindtabs "PageRaise $tree [$noteBook raise]" -$noteBook bindtabs {catch [PopupMenuTab .popupTabs %X %Y]} - -#bind . PageTab -#bind . PageTab -bind . {PageTab 1} -bind . {PageTab -1} - -################################################## -CreateToolBar -GetProj $tree -$tree configure -redraw 1 -set activeProject "" -focus -force $tree - -# Opened last active project -if {[info exists workingProject]} { - if {$workingProject ne ""} { - .frmBody.frmCat.noteBook.fprojects.frmTree.tree opentree $workingProject - - } -} - - - - - - - - diff --git a/lib/menu.tcl b/lib/menu.tcl index 7dd3806..527376c 100644 --- a/lib/menu.tcl +++ b/lib/menu.tcl @@ -1,185 +1,64 @@ - ###################################################### -# Tcl/Tk Project Manager +#!/usr/bin/wish +###################################################### +# ProjMan 2 # Distributed under GNU Public License -# Author: Sergey Kalinin banzaj28@yandex.ru -# Copyright (c) "https://nuk-svk.ru", 2018, https://bitbucket.org/svk28/projman +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru ###################################################### -# -# Menu file -# +# Generate menu module ###################################################### -proc PopupMenuTab {menu x y} { - tk_popup $menu $x $y -} - -# File tree pop-up menu -proc GetMenuFileTree {m} { - global fontNormal - -} - -# Project menu -proc GetProjMenu {m} { - global fontNormal - $m add command -label [::msgcat::mc "Project settings"] -command {NewProj edit $activeProject ""}\ - -font $fontNormal - $m add separator - $m add command -label [::msgcat::mc "Open project"] -command {OpenProj "projects"} -font $fontNormal - $m add command -label [::msgcat::mc "New project"] -command {NewProj new "" ""} -font $fontNormal - $m add command -label [::msgcat::mc "Delete project"] -command DelProj -font $fontNormal - $m add separator - $m add command -label [::msgcat::mc "Add to project"] \ - -command {AddToProjDialog ""} -font $fontNormal -state disable - $m add command -label [::msgcat::mc "Delete from project"]\ - -command {FileDialog delete} -font $fontNormal -state disable - $m add separator - $m add command -label [::msgcat::mc "Make archive"] -command MakeTGZ -font $fontNormal -accelerator "F7" - $m add command -label [::msgcat::mc "Make RPM"] -command MakeRPM -font $fontNormal -accelerator "F6" - $m add separator - $m add command -label [::msgcat::mc "Compile"] -command {MakeProj compile proj} -font $fontNormal -accelerator "F8" - $m add command -label [::msgcat::mc "Run"] -command {MakeProj run proj} -font $fontNormal -accelerator "F9" -} - -# Edit menu -proc GetMenu {m} { - global fontNormal fontBold imgDir editor - $m add command -label [::msgcat::mc "Undo"] -font $fontNormal -accelerator "Ctrl+Z"\ - -state normal -command {TextOperation undo} - $m add command -label [::msgcat::mc "Redo"] -font $fontNormal -accelerator "Ctrl+G"\ - -state normal -command {TextOperation redo} - $m add separator - $m add command -label [::msgcat::mc "Procedure name complit"] -font $fontNormal -accelerator "Ctrl+J" -state normal\ - -command { - set nb "$noteBook.f[$noteBook raise]" - auto_completition_proc $nb.text - unset nb - } - $m add separator - $m add command -label [::msgcat::mc "Copy"] -font $fontNormal -accelerator "Ctrl+C"\ - -command {TextOperation copy} - $m add command -label [::msgcat::mc "Paste"] -font $fontNormal -accelerator "Ctrl+V"\ - -command {TextOperation paste} - $m add command -label [::msgcat::mc "Cut"] -font $fontNormal -accelerator "Ctrl+X"\ - -command {TextOperation cut} - $m add separator - $m add command -label [::msgcat::mc "Select all"] -font $fontNormal -accelerator "Ctrl+/"\ - -command { - set nb [$noteBook raise] - if {$nb == "" || $nb == "newproj" || $nb == "about" || $nb == "debug"} { - return - } - set nb "$noteBook.f$nb" - SelectAll $nb.text - unset nb - } - $m add command -label [::msgcat::mc "Comment selected"] -font $fontNormal -accelerator "Ctrl+,"\ - -command {TextOperation comment} - $m add command -label [::msgcat::mc "Uncomment selected"] -font $fontNormal -accelerator "Ctrl+." \ - -command {TextOperation uncomment} - - $m add separator - $m add command -label [::msgcat::mc "Goto line"] -command GoToLine -font $fontNormal -accelerator "Ctrl+g" - $m add separator - - $m add command -label [::msgcat::mc "Find"] -command Find -font $fontNormal -accelerator "Ctrl+F" - $m add command -label [::msgcat::mc "Replace"] -command ReplaceDialog -font $fontNormal\ - -accelerator "Ctrl+R" - $m add cascade -label [::msgcat::mc "Encode"] -menu $m.encode -font $fontNormal - set me [menu $m.encode -bg $editor(bg) -fg $editor(fg)] - $me add command -label [::msgcat::mc "KOI8-R"] -command {TextEncode koi8-r} -font $fontNormal - $me add command -label [::msgcat::mc "CP1251"] -command {TextEncode cp1251} -font $fontNormal - $me add command -label [::msgcat::mc "CP866"] -command {TextEncode cp866} -font $fontNormal - $m add separator - $m add command -label [::msgcat::mc "Insert image"] -font $fontNormal -accelerator "Ctrl+I" \ - -command { - set nb [$noteBook raise] - if {$nb == "" || $nb == "newproj" || $nb == "about" || $nb == "debug"} { - return - } - set nb "$noteBook.f$nb" - ImageBase64Encode $nb.text - unset nb - } -} -proc GetViewMenu {m} { - global fontNormal fontBold imgDir editor - $m add checkbutton -label [::msgcat::mc "Show the Menu"] -font $fontNormal -state normal\ - -offvalue "No" -onvalue "Yes" -variable showMenu -command {ToolBar} - $m add checkbutton -label [::msgcat::mc "Toolbar"] -font $fontNormal -state normal\ - -offvalue "No" -onvalue "Yes" -variable toolBar -command {ToolBar} - $m add command -label [::msgcat::mc "Split edit window"] -font $fontNormal -accelerator "F4" -state disable\ - -command SplitWindow - $m add separator - $m add command -label [::msgcat::mc "Refresh"] -font $fontNormal -accelerator "F5" -state normal\ - -command UpdateTree -} - -proc GetModulesMenu {m} { - global fontNormal fontBold imgDir editor module activeProject - if {[info exists module(tkcvs)]} { - $m add command -label "TkCVS" -command {DoModule tkcvs} -font $fontNormal - } - if {[info exists module(tkdiff)]} { - $m add command -label "TkDIFF+" -command {DoModule tkdiff} -font $fontNormal - } - if {[info exists module(tkregexp)]} { - $m add command -label "TkREGEXP" -command {DoModule tkregexp} -font $fontNormal - } - if {[info exists module(gitk)]} { - $m add command -label "Gitk" -font $fontNormal -command { - DoModule gitk - GetTagList [file join $workDir $activeProject.tags] ;# geting tag list - } - } -} - -proc GetHelpMenu {m} { - global fontNormal fontBold imgDir editor - $m add command -label [::msgcat::mc "Help"] -command ShowHelp \ - -accelerator F1 -font $fontNormal - $m add command -label [::msgcat::mc "About ..."] -command AboutDialog \ - -font $fontNormal -} proc GetFileMenu {m} { - global fontNormal fontBold imgDir editor noteBookFiles noteBook - $m add cascade -label [::msgcat::mc "New"] -menu $m.new -font $fontNormal - set mn [menu $m.new -bg $editor(bg) -fg $editor(fg)] - $mn add command -label [::msgcat::mc "New file"] -command {AddToProjDialog file [$noteBookFiles raise]}\ - -font $fontNormal -accelerator "Ctrl+N" - $mn add command -label [::msgcat::mc "New directory"] -command {AddToProjDialog directory [$noteBookFiles raise]}\ - -font $fontNormal -accelerator "Ctrl+N" - $mn add command -label [::msgcat::mc "New project"] -command {NewProjDialog "new"}\ - -font $fontNormal + $m add command -label [::msgcat::mc "New file"] -command Editor::New\ + -accelerator "Ctrl+N" + $m add command -label [::msgcat::mc "Open file"] -accelerator "Ctrl+O" -command { + set filePath [FileOper::OpenDialog] + if {$filePath != ""} { + FileOper::Edit $filePath + } + } + $m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command { + set folderPath [FileOper::OpenFolderDialog] + if {$folderPath != ""} { + FileOper::ReadFolder $folderPath + } + } + $m add command -label [::msgcat::mc "Save file"] -command {FileOper::Save}\ + -accelerator "Ctrl+S" #$m add command -label [::msgcat::mc "Open"] -command {FileDialog $tree open}\ #-font $fontNormal -accelerator "Ctrl+O" -state disable - $m add command -label [::msgcat::mc "Save"] -command {FileDialog [$noteBookFiles raise] save}\ - -font $fontNormal -accelerator "Ctrl+S" - $m add command -label [::msgcat::mc "Save as"] -command {FileDialog [$noteBookFiles raise] save_as}\ - -font $fontNormal - $m add command -label [::msgcat::mc "Save all"] -command {FileDialog [$noteBookFiles raise] save_all}\ - -font $fontNormal - $m add command -label [::msgcat::mc "Close"] -command {FileDialog [$noteBookFiles raise] close}\ - -font $fontNormal -accelerator "Ctrl+W" - $m add command -label [::msgcat::mc "Close all"] -command {FileDialog [$noteBookFiles raise] close_all}\ - -font $fontNormal - $m add command -label [::msgcat::mc "Delete"] -command {FileDialog [$noteBookFiles raise] delete}\ - -font $fontNormal -accelerator "Ctrl+D" $m add separator - $m add command -label [::msgcat::mc "Compile file"] -command {MakeProj compile file} -font $fontNormal -accelerator "Ctrl+F8" - $m add command -label [::msgcat::mc "Run file"] -command {MakeProj run file} -font $fontNormal -accelerator "Ctrl+F9" - $m add separator - $m add command -label [::msgcat::mc "Print"] -command PrintDialog\ - -font $fontNormal -accelerator "Ctrl+P" - $m add separator - $m add command -label [::msgcat::mc "Settings"] -command {Settings $noteBook} -font $fontNormal - $m add separator - $m add command -label [::msgcat::mc "Exit"] -command Quit -font $fontNormal -accelerator "Ctrl+Q" + $m add command -label [::msgcat::mc "Exit"] -command Quit -accelerator "Ctrl+Q" } +proc GetEditMenu {m} { + $m add command -label [::msgcat::mc "Undo"] -command Undo\ + -accelerator "Ctrl+Z" + $m add command -label [::msgcat::mc "Redo"] -command Redo\ + -accelerator "Ctrl+Y" + $m add separator + $m add command -label [::msgcat::mc "Copy"] -command Copy\ + -accelerator "Ctrl+C" + $m add command -label [::msgcat::mc "Paste"] -command Paste\ + -accelerator "Ctrl+V" + $m add command -label [::msgcat::mc "Cut"] -command Cut\ + -accelerator "Ctrl+Z" + $m add separator + $m add command -label [::msgcat::mc "Find"] -command Find\ + -accelerator "Ctrl+F" + $m add command -label [::msgcat::mc "Replace"] -command Replace\ + -accelerator "Ctrl+R" + $m add separator + $m add command -label [::msgcat::mc "Find in files"] -command File::Find\ + -accelerator "Ctrl+Shift+F" + $m add command -label [::msgcat::mc "Replace in files"] -command File::Replace\ + -accelerator "Ctrl+Shift+RV" + +} - - - +proc GetViewMenu {m} { + $m add command -label [::msgcat::mc "View files tree"] -command ViewFilesTree + $m add command -label [::msgcat::mc "View line numbers"] -command ViewLineNumbers +} diff --git a/lib/msgs/de.msg b/lib/msgs/de.msg new file mode 100644 index 0000000..691c686 --- /dev/null +++ b/lib/msgs/de.msg @@ -0,0 +1,133 @@ +########################################################### +# Tcl/Tk Project Manager # +# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # +# Author: Sergey Kalinin banzaj28@yandex.ru # +########################################################### +# german messages file # +# Author: Roman Schaller # +########################################################### + +::msgcat::mcset de "About ..." "ber ..." +::msgcat::mcset de "Add to project" "Zu Projekt hinzufgen" +::msgcat::mcset de "Author" "Autor" +::msgcat::mcset de "Text autoformat" "Text autoformat" +::msgcat::mcset de "Cancel" "Abbrechen" +::msgcat::mcset de "Can't found file:" "Datei nicht gefunden:" +::msgcat::mcset de "Close" "Schliessen" +::msgcat::mcset de "Close all" "Alles Schliessen" +::msgcat::mcset de "Close Project Manager?" "Project Manager Schliessen?" +::msgcat::mcset de "Company" "Firma" +::msgcat::mcset de "Contents" "Inhalt" +::msgcat::mcset de "Copy" "Kopieren" +::msgcat::mcset de "Copy into clipboard" "In Zwischenablage kopieren" +::msgcat::mcset de "Create backup files" "Backup-Dateien erstellen" +::msgcat::mcset de "Create new project" "Neuse Projekt erstellen" +::msgcat::mcset de "Create new file" "Neue Datei erstellen" +::msgcat::mcset de "Create directory" "Verzeichnis erstelle" +::msgcat::mcset de "Curent directory" "Aktuelles Verzeichnis" +::msgcat::mcset de "Cut" "Ausschneiden" +::msgcat::mcset de "Cut into clipboard" "In Zwischenablage ausschneiden" +::msgcat::mcset de "CVS commit" +::msgcat::mcset de "CVS update" +::msgcat::mcset de "Delete" "Lschen" +::msgcat::mcset de "Delete backup files" "Backup-Dateien lschen" +::msgcat::mcset de "Delete project" "Projekt lschen" +::msgcat::mcset de "Delete from project" "Von Projekt entfernen" +::msgcat::mcset de "Docs dir" "Dok Verzeichnis" +::msgcat::mcset de "Don't selected file" +::msgcat::mcset de "E-mail" +::msgcat::mcset de "Edit" "Bearbeiten" +::msgcat::mcset de "Editor font" "Editor Schriftart" +::msgcat::mcset de "Editor font bold Editor Schriftart fett" +::msgcat::mcset de "Error open URL" +::msgcat::mcset de "Exit" "Beenden" +::msgcat::mcset de "File" "Datei" +::msgcat::mcset de "File already exists. Overwrite?" "Datei besteht bereits. berschreiben?" +::msgcat::mcset de "File modify" "Datei bearbeiten" +::msgcat::mcset de "File was modifyed. Close?" "Datei wurde gendert. Trotzdem schliessen?" +::msgcat::mcset de "File was modifyed. Save?" "Datei wurde gendert. Jetzt speichern?" +::msgcat::mcset de "File saved" "Datei gespeichert" +::msgcat::mcset de "Find" "Suchen" +::msgcat::mcset de "Font normal" "Schrift normal" +::msgcat::mcset de "Font bold" "Schrift fett" +::msgcat::mcset de "Goto line" "Gehezu Zeile" +::msgcat::mcset de "Help" "Hilfe" +::msgcat::mcset de "Home dir" "Home Verzeichnis" +::msgcat::mcset de "Home page" "Homepage" +::msgcat::mcset de "Image dir" "Image Verzeichnis" +::msgcat::mcset de "Insert" "Einfgen" +::msgcat::mcset de "Interface language" "Interface Sprache" +::msgcat::mcset de "Install Tcl/Tk Project Manager" "Tcl/Tk Project Manager installieren" +::msgcat::mcset de "Line number" "Zeilennummer" +::msgcat::mcset de "Make RPM" "RPM erstellen" +::msgcat::mcset de "Make archive" "Archiv erstellen" +::msgcat::mcset de "Make backup files" "Backup-Dateien erstellen" +::msgcat::mcset de "Must be one file select!" "Eine Datei muss ausgewhlt sein!" +::msgcat::mcset de "Must be one or two file select!" "Eine oder zwei Dateien mssen ausgewhlt sein!" +::msgcat::mcset de "Modifying the Registry..." +::msgcat::mcset de "Modules" "Module" +::msgcat::mcset de "New" "Neu" +::msgcat::mcset de "New file" "Neue Datei" +::msgcat::mcset de "New project" "Neues Projekt" +::msgcat::mcset de "Not implemented yet" "Noch nicht implementiert" +::msgcat::mcset de "Not found active project" "Kein aktives Projekt gefunden" +::msgcat::mcset de "Open" "ffnen" +::msgcat::mcset de "Open file" "Datei ffnen" +::msgcat::mcset de "Open project" "Projekt ffnen" +::msgcat::mcset de "Opened file in progress" "Geffnete Datei in Bearbeitung" +::msgcat::mcset de "Overwrite" "berschreiben" +::msgcat::mcset de "Paste" "Einfgen" +::msgcat::mcset de "Paste from clipboard" "Von Zwischenablage einfgen" +::msgcat::mcset de "Print ..." "Drucken ..." +::msgcat::mcset de "Print" "Drucken" +::msgcat::mcset de "Print command" "Druck-Befehl" +::msgcat::mcset de "Print selected text" "Markierter Text drucken" +::msgcat::mcset de "Program finished successfully" "Programm wurde erfolgreich beendet" +::msgcat::mcset de "Program failed" "Ausfhrung fehlgeschlagen" +::msgcat::mcset de "Programm output" "Programm Ausgabe" +::msgcat::mcset de "Project" "Projekt" +::msgcat::mcset de "Projects" "Projekte" +::msgcat::mcset de "Project settings" "Projekt einstellungen" +::msgcat::mcset de "Project name" "Projekt-Name" +::msgcat::mcset de "Project file" "Projekt-Datei" +::msgcat::mcset de "Project dir" "Projekt-Verzeichnis" +::msgcat::mcset de "Question" "Frage" +::msgcat::mcset de "Quit without saving?" "Beenden ohne zu speichern?" +::msgcat::mcset de "Redo" "Wiederherstellen" +::msgcat::mcset de "Refresh" "Auffrischen" +::msgcat::mcset de "Replace" "Ersetzen" +::msgcat::mcset de "Replace with" "Ersetzen mit" +::msgcat::mcset de "Replace all" "Alles ersetzen" +::msgcat::mcset de "Release" +::msgcat::mcset de "RPM dir" "RPM Verzeichnis" +::msgcat::mcset de "RPM file mask" "RPM Datei Maske" +::msgcat::mcset de "Run" "Ausfhren" +::msgcat::mcset de "Running project" "Projekt ausfhren" +::msgcat::mcset de "Running file" +::msgcat::mcset de "Save" "Speichern" +::msgcat::mcset de "Save as" "Speichern unter" +::msgcat::mcset de "Save file" "Datei speichern" +::msgcat::mcset de "Save file as" "Datei speichern unter" +::msgcat::mcset de "Save all" "Alles speichern" +::msgcat::mcset de "Search" "Suchen" +::msgcat::mcset de "Select" "Auswhlen" +::msgcat::mcset de "Select directory" "Verzeichnis auswhlen" +::msgcat::mcset de "Selected directory" "Ausgewhltes Verzeichnis" +::msgcat::mcset de "Settings" "Einstellungen" +::msgcat::mcset de "Show backup files" "Backup-Dateien anzeigen" +::msgcat::mcset de "Interpretator" "Interpreter" +::msgcat::mcset de "TGZ dir" "TGZ Verzeichnis" +::msgcat::mcset de "TGZ file mask" "TGZ Datei Maske" +::msgcat::mcset de "Thanks" "Danksagung" +::msgcat::mcset de "Toolbar" "Symbolleiste" +::msgcat::mcset de "Undo" "Rckgngig" +::msgcat::mcset de "Update" +::msgcat::mcset de "Version" +::msgcat::mcset de "View" "Ansicht" +::msgcat::mcset de "Warning" "Warnung" +::msgcat::mcset de "Was replacement" +::msgcat::mcset de "Work dir" "Arbeitsverzeichnis" + + + + diff --git a/lib/msgs/en.msg b/lib/msgs/en.msg new file mode 100644 index 0000000..6dcd6e0 --- /dev/null +++ b/lib/msgs/en.msg @@ -0,0 +1,188 @@ +########################################################### +# Tcl/Tk Project Manager # +# english messages file # +# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # +# Author: Sergey Kalinin banzaj28@yandex.ru # +########################################################### + +::msgcat::mcset en "About ..." +::msgcat::mcset en "Add as new project" +::msgcat::mcset en "Add to existing project" +::msgcat::mcset en "Add to project" +::msgcat::mcset en "Archive dir" +::msgcat::mcset en "Archive file mask" +::msgcat::mcset en "Author" +::msgcat::mcset en "Braces" +::msgcat::mcset en "Quad braces" +::msgcat::mcset en "Braces background" +::msgcat::mcset en "Braces foreground" +::msgcat::mcset en "Cancel" +::msgcat::mcset en "Can't found file:" +::msgcat::mcset en "Close" +::msgcat::mcset en "Close all" +::msgcat::mcset en "Close Project Manager?" +::msgcat::mcset en "Comments" +::msgcat::mcset en "Comment selected" +::msgcat::mcset en "Uncomment selected" +::msgcat::mcset en "Company" +::msgcat::mcset en "Compiler" +::msgcat::mcset en "Compile" +::msgcat::mcset en "Compile project" +::msgcat::mcset en "Compile file" +::msgcat::mcset en "Contents" +::msgcat::mcset en "Copy" +::msgcat::mcset en "Copy into clipboard" +::msgcat::mcset en "Create backup files" +::msgcat::mcset en "Create new project" +::msgcat::mcset en "Create new file" +::msgcat::mcset en "Create directory" +::msgcat::mcset en "Curent directory" +::msgcat::mcset en "Cut" +::msgcat::mcset en "Cut into clipboard" +::msgcat::mcset en "CVS commit" +::msgcat::mcset en "CVS update" +::msgcat::mcset en "Delete" +::msgcat::mcset en "Delete backup files" +::msgcat::mcset en "Delete project" +::msgcat::mc "with all files" +::msgcat::mc "If press \"Yes\" will deleted all files!" +::msgcat::mc "If press \"No\" will deleted only proj-file" +::msgcat::mcset en "Delete from project" +::msgcat::mcset en "Docs dir" +::msgcat::mcset en "Don't selected file" +::msgcat::mcset en "E-mail" +::msgcat::mcset en "Edit" +::msgcat::mcset en "Editor" +::msgcat::mcset en "Editor background" +::msgcat::mcset en "Editor foreground" +::msgcat::mcset en "Editor font" +::msgcat::mcset en "Editor font bold" +::msgcat::mcset en "Error open URL" +::msgcat::mcset en "Editor settings" +::msgcat::mcset en "Exit" +::msgcat::mcset en "File" +::msgcat::mcset en "File already exists. Overwrite?" +::msgcat::mcset en "File modify" +::msgcat::mcset en "File was modifyed. Close?" +::msgcat::mcset en "File was modifyed. Save?" +::msgcat::mcset en "File saved" +::msgcat::mcset en "Files" +::msgcat::mcset en "Find" +::msgcat::mcset en "Font normal" +::msgcat::mcset en "Font bold" +::msgcat::mcset en "FTP server" +::msgcat::mcset en "FTP user" +::msgcat::mcset en "FTP password" +::msgcat::mcset en "Goto line" +::msgcat::mcset en "Help" +::msgcat::mcset en "Home dir" +::msgcat::mcset en "Home page" +::msgcat::mcset en "Image dir" +::msgcat::mcset en "Indent foreground" +::msgcat::mcset en "Indent background" +::msgcat::mcset en "Interface language" +::msgcat::mcset en "Insert image" +::msgcat::mcset en "Install Tcl/Tk Project Manager" +::msgcat::mcset en "Input file name" +::msgcat::mcset en "Key bindings" +::msgcat::mcset en "Label" +::msgcat::mcset en "Language" +::msgcat::mcset en "Line number" +::msgcat::mcset en "Main" +::msgcat::mcset en "Make RPM" +::msgcat::mcset en "Make archive" +::msgcat::mcset en "Make backup files" +::msgcat::mcset en "Main settings" +::msgcat::mcset en "Modifying the Registry..." +::msgcat::mcset en "Must be one file select!" +::msgcat::mcset en "Must be one or two file select!" +::msgcat::mcset en "Modules" +::msgcat::mcset en "Network" +::msgcat::mcset en "New" +::msgcat::mcset en "New directory" +::msgcat::mcset en "New file" +::msgcat::mcset en "New project" +::msgcat::mcset en "Not implemented yet" +::msgcat::mcset en "Not found active project" +::msgcat::mcset en "Open" +::msgcat::mcset en "Open file" +::msgcat::mcset en "Open project" +::msgcat::mcset en "Opened file in progress" +::msgcat::mcset en "Operators" +::msgcat::mcset en "Overwrite" +::msgcat::mcset en "Parameters" +::msgcat::mcset en "Subparameters" +::msgcat::mcset en "Paste" +::msgcat::mcset en "Paste from clipboard" +::msgcat::mcset en "Percent" +::msgcat::mcset en "Print ..." +::msgcat::mcset en "Print" +::msgcat::mcset en "Print command" +::msgcat::mcset en "Print selected text" +::msgcat::mcset en "Program finished successfully" +::msgcat::mcset en "Procedure name" +::msgcat::mcset en "Procedure name complit" +::msgcat::mcset en "Program failed" +::msgcat::mcset en "Programm output" +::msgcat::mcset en "Project" +::msgcat::mcset en "Projects" +::msgcat::mcset en "Project settings" +::msgcat::mcset en "Project name" +::msgcat::mcset en "Project file" +::msgcat::mcset en "Project dir" +::msgcat::mcset en "Project type" +::msgcat::mcset en "Question" +::msgcat::mcset en "Quit without saving?" +::msgcat::mcset en "Quote string" +::msgcat::mcset en "Redo" +::msgcat::mcset en "Refresh" +::msgcat::mcset en "Replace" +::msgcat::mcset en "Replace with" +::msgcat::mcset en "Replace all" +::msgcat::mcset en "Release" +::msgcat::mcset en "RPM directory" +::msgcat::mcset en "RPM file mask" +::msgcat::mcset en "Run" +::msgcat::mcset en "Running project" +::msgcat::mcset en "Running file" +::msgcat::mcset en "Run file" +::msgcat::mcset en "Save" +::msgcat::mcset en "Save as" +::msgcat::mcset en "Save file" +::msgcat::mcset en "Save file as" +::msgcat::mcset en "Save all" +::msgcat::mcset en "Search" +::msgcat::mcset en "Select" +::msgcat::mcset en "Select all" +::msgcat::mcset en "Select directory" +::msgcat::mcset en "Selected directory" +::msgcat::mcset en "Selection color" +::msgcat::mcset en "Settings" +::msgcat::mcset en "Show backup files" +::msgcat::mcset en "Show dot files" +::msgcat::mcset en "Show the Menu" +::msgcat::mcset en "Split edit window" +::msgcat::mcset en "SQL commands" +::msgcat::mcset en "Interpretator" +::msgcat::mcset en "Text autoformat" +::msgcat::mcset en "Thanks" +::msgcat::mcset en "Title normal" +::msgcat::mcset en "Title modify" +::msgcat::mcset en "Toolbar" +::msgcat::mcset en "Undo" +::msgcat::mcset en "Update" +::msgcat::mcset en "Variables" +::msgcat::mcset en "Version" +::msgcat::mcset en "View" +::msgcat::mcset en "Warning" +::msgcat::mcset en "Was replacement" +::msgcat::mcset en "Word wrapping" +::msgcat::mcset en "Work dir" + + + + + + + + diff --git a/lib/msgs/fr.msg b/lib/msgs/fr.msg new file mode 100644 index 0000000..3448a19 --- /dev/null +++ b/lib/msgs/fr.msg @@ -0,0 +1,135 @@ +########################################################### +# Tcl/Tk Project Manager # +# french messages file # +# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # +# Author: Sergey Kalinin banzaj28@yandex.ru # +# Traduction: Michel SALVAGNIAC michel.salvagniac@free.fr # +########################################################### +# french messages file # +# Author: Michel SALVAGNIAC # +########################################################### + +::msgcat::mcset fr "About ..." "A propos..." +::msgcat::mcset fr "Add to project" "Ajouter au projet" +::msgcat::mcset fr "Author" "Auteur" +::msgcat::mcset fr "Text autoformat" "Autoformatage du texte" +::msgcat::mcset fr "Cancel" "Annuler" +::msgcat::mcset fr "Can't found file:" "Ne peut trouver le fichier:" +::msgcat::mcset fr "Close" "Fermer" +::msgcat::mcset fr "Close all" "Tout fermer" +::msgcat::mcset fr "Close Project Manager?" "Fermer Project Manager?" +::msgcat::mcset fr "Company" "Compagnie" +::msgcat::mcset fr "Contents" "Contenu" +::msgcat::mcset fr "Copy" "Copier" +::msgcat::mcset fr "Copy into clipboard" "Copier dans le Presse-papiers" +::msgcat::mcset fr "Create backup files" "Créer une copie de sauvegarde" +::msgcat::mcset fr "Create new project" "Créer nouveau projet" +::msgcat::mcset fr "Create new file" "Créer nouveau fichier" +::msgcat::mcset fr "Create directory" "Créer répertoire" +::msgcat::mcset fr "Curent directory" "Répertoire courant" +::msgcat::mcset fr "Cut" "Couper" +::msgcat::mcset fr "Cut into clipboard" "Couper dans le Presse-papiers" +::msgcat::mcset fr "CVS commit" "Ecriture CVS" +::msgcat::mcset fr "CVS update" "Mise à jour CVS" +::msgcat::mcset fr "Delete" "Effacer" +::msgcat::mcset fr "Delete backup files" "Effacer les fichiers de sauvegarde" +::msgcat::mcset fr "Delete project" "Effacer projet" +::msgcat::mcset fr "Delete from project" "Effacer du projet" +::msgcat::mcset fr "Docs dir" "Répertoire de la doc" +::msgcat::mcset fr "Don't selected file" "Fichier non sélectionné" +::msgcat::mcset fr "E-mail" "E-mail" +::msgcat::mcset fr "Edit" "Editer" +::msgcat::mcset fr "Editor font" "Police" +::msgcat::mcset fr "Editor font bold" "Police gras" +::msgcat::mcset fr "Error open URL" "Erreur à l'ouverture de l'URL" +::msgcat::mcset fr "Exit" "Quitter" +::msgcat::mcset fr "File" "Fichier" +::msgcat::mcset fr "File already exists. Overwrite?" "Le fichier existe déja. Ecraser?" +::msgcat::mcset fr "File modify" "Modification de fichier" +::msgcat::mcset fr "File was modifyed. Close?" "Le fichier a été modifié. Fermer?" +::msgcat::mcset fr "File was modifyed. Save?" "Le fichier a été modifié. Enregistrer?" +::msgcat::mcset fr "File saved" "Fichier enregistré" +::msgcat::mcset fr "Find" "Trouver" +::msgcat::mcset fr "Font normal" "Police normale" +::msgcat::mcset fr "Font bold" "Police grasse" +::msgcat::mcset fr "Goto line" "Aller à la ligne" +::msgcat::mcset fr "Help" "Aide" +::msgcat::mcset fr "Home dir" "Répertoire Home" +::msgcat::mcset fr "Home page" "Page d'accueil" +::msgcat::mcset fr "Image dir" "Répertoire des images" +::msgcat::mcset fr "Insert" "Insérer" +::msgcat::mcset fr "Interface language" "Langage d'interface" +::msgcat::mcset fr "Install Tcl/Tk Project Manager" "Installer Tcl/Tk Project Manager" +::msgcat::mcset fr "Line number" "Ligne numéro" +::msgcat::mcset fr "Make RPM" "Construire RPM" +::msgcat::mcset fr "Make archive" "Construire archive" +::msgcat::mcset fr "Make backup files" "Faire des sauvegardes" +::msgcat::mcset fr "Must be one file select!" "Vous devez choisir un fichier!" +::msgcat::mcset fr "Must be one or two file select!" "Vous devez choisir un ou deux fichiers!" +::msgcat::mcset fr "Modifying the Registry..." +::msgcat::mcset fr "Modules" "Modules" +::msgcat::mcset fr "New" "Nouveau" +::msgcat::mcset fr "New file" "Nouveau fichier" +::msgcat::mcset fr "New project" "Nouveau projet" +::msgcat::mcset fr "Not implemented yet" "Pas encore implémenté..." +::msgcat::mcset fr "Not found active project" "Pas de projet actif" +::msgcat::mcset fr "Open" "Ouvrir" +::msgcat::mcset fr "Open file" "Ouvrir fichier" +::msgcat::mcset fr "Open project" "Ouvrir projet" +::msgcat::mcset fr "Opened file in progress" "Ouverture en cours" +::msgcat::mcset fr "Overwrite" "Ecraser" +::msgcat::mcset fr "Paste" "Coller" +::msgcat::mcset fr "Paste from clipboard" "Coller du Presse-papiers" +::msgcat::mcset fr "Print ..." "Imprimer..." +::msgcat::mcset fr "Print" "Imprimer" +::msgcat::mcset fr "Print command" "Commande d'impression" +::msgcat::mcset fr "Print selected text" "Imprimer le texte sélectionné" +::msgcat::mcset fr "Program finished successfully" "Programme terminé avec succès" +::msgcat::mcset fr "Program failed" "Programme a échoué" +::msgcat::mcset fr "Programm output" "Sortie du programme" +::msgcat::mcset fr "Project" "Projet" +::msgcat::mcset fr "Projects" "Projets" +::msgcat::mcset fr "Project settings" "Réglages du projet" +::msgcat::mcset fr "Project name" "Nom du projet" +::msgcat::mcset fr "Project file" "Fichier projet" +::msgcat::mcset fr "Project dir" "Répertoire du projet" +::msgcat::mcset fr "Question" "Question" +::msgcat::mcset fr "Quit without saving?" "Quitter sans sauvegarder?" +::msgcat::mcset fr "Redo" "Refaire" +::msgcat::mcset fr "Refresh" "Rafraichir" +::msgcat::mcset fr "Releace" "Remplacer" +::msgcat::mcset fr "Replace with" "Remplacer avec" +::msgcat::mcset fr "Replace all" "Remplacer tout" +::msgcat::mcset fr "Release" "Révision" +::msgcat::mcset fr "RPM dir" "Répertoire RPM" +::msgcat::mcset fr "RPM file mask" "fichiers RPM" +::msgcat::mcset fr "Run" "Executer" +::msgcat::mcset fr "Running project" "Exécute le projet" +::msgcat::mcset fr "Save" "Enregistrer" +::msgcat::mcset fr "Save as" "Enregistrer sous" +::msgcat::mcset fr "Save file" "Enregistrer fichier" +::msgcat::mcset fr "Save file as" "Enregistrer fichier sous" +::msgcat::mcset fr "Save all" "Tout enregistrer" +::msgcat::mcset fr "Search" "Rechercher" +::msgcat::mcset fr "Select" "Choisir" +::msgcat::mcset fr "Select directory" "Choisir un répertoire" +::msgcat::mcset fr "Selected directory" "Répertoire choisi" +::msgcat::mcset fr "Settings" "Paramètres" +::msgcat::mcset fr "Show backup files" "Montrer fichiers de sauvegarde" +::msgcat::mcset fr "Interpretator" "Interpréteur" +::msgcat::mcset fr "TGZ dir" "Répertoire TGZ" +::msgcat::mcset fr "TGZ file mask" "fichiers TGZ" +::msgcat::mcset fr "Thanks" "Remerciements" +::msgcat::mcset fr "Toolbar" "Barre d'outils" +::msgcat::mcset fr "Undo" "Défaire" +::msgcat::mcset fr "Update" "Mise à jour" +::msgcat::mcset fr "Version" "Version" +::msgcat::mcset fr "View" "Vue" +::msgcat::mcset fr "Warning" "Avertissement" +::msgcat::mcset fr "Was replacement" "A été remplacé" +::msgcat::mcset fr "Work dir" "Répertoire de travail" + + + + + diff --git a/lib/msgs/ru.msg b/lib/msgs/ru.msg new file mode 100644 index 0000000..7c79306 --- /dev/null +++ b/lib/msgs/ru.msg @@ -0,0 +1,192 @@ +########################################################### +# Tcl/Tk Project Manager # +# russian messages file # +# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # +# Author: Sergey Kalinin banzaj28@yandex.ru # +########################################################### + +::msgcat::mcset ru "About ..." "О программе" +::msgcat::mcset ru "Add as new project" "Добавить как Новый Проект" +::msgcat::mcset ru "Add to existing project" "Добавить в существующий проект" +::msgcat::mcset ru "Add to project" "Добавить в проект" +::msgcat::mcset ru "Archive created in" "Архив помещен в" +::msgcat::mcset ru "Archive directory" "Каталог c архивами" +::msgcat::mcset ru "Archive file mask" "Маска архива" +::msgcat::mcset ru "Author" "Автор" +::msgcat::mcset ru "Braces" "Скобки" +::msgcat::mcset ru "Quad braces" "Квадратные скобки" +::msgcat::mcset ru "Braces background" "Фон скобки" +::msgcat::mcset ru "Braces foreground" "Цвет скобки" +::msgcat::mcset ru "Cancel" "Отмена" +::msgcat::mcset ru "Can't found file:" "Не найден файл:" +::msgcat::mcset ru "Close" "Закрыть" +::msgcat::mcset ru "Close all" "Закрыть все" +::msgcat::mcset ru "Close Project Manager?" "Выйти из программы?" +::msgcat::mcset ru "Comments" "Коментарии" +::msgcat::mcset ru "Comment selected" "Закоментировать" +::msgcat::mcset ru "Uncomment selected" "Раскоментировать" +::msgcat::mcset ru "Company" "Компания" +::msgcat::mcset ru "Compiler" "Компилятор" +::msgcat::mcset ru "Compile" "Компиляция" +::msgcat::mcset ru "Compile project" "Компиляция проекта" +::msgcat::mcset ru "Compile file" "Компиляция файла" +::msgcat::mcset ru "Contents" "Содержание" +::msgcat::mcset ru "Copy" "Скопировать" +::msgcat::mcset ru "Copy into clipboard" "Скопировать в буфер" +::msgcat::mcset ru "Create" "Создать" +::msgcat::mcset ru "Create new project" "Создать новый проект" +::msgcat::mcset ru "Create new file" "Создать новый файл" +::msgcat::mcset ru "Create directory" "Создать директорию" +::msgcat::mcset ru "Create backup files" "Создавать временные файлы" +::msgcat::mcset ru "Curent directory" "Текущий каталог" +::msgcat::mcset ru "Cut" "Вырезать" +::msgcat::mcset ru "Cut into clipboard" "Вырезать в буфер" +::msgcat::mcset ru "CVS commit" "Поместить в CVS" +::msgcat::mcset ru "CVS update" "Обновить из CVS" +::msgcat::mcset ru "Delete" "Удалить" +::msgcat::mcset ru "Delete file" "Удалить файл" +::msgcat::mcset ru "Delete backup files" "Удалять временные файлы" +::msgcat::mcset ru "Delete project" "Удалить проект" +::msgcat::mcset ru "with all files" "вместе с файлами" +::msgcat::mcset ru "If press \"Yes\" will deleted all files!" "Если нажать \"Да\" будут удалены все файлы" +::msgcat::mcset ru "If press \"No\" will deleted only proj-file" "Если нажать \"Нет\" будет удалён только файл проекта" +::msgcat::mcset ru "Delete from project" "Удалить из проекта" +::msgcat::mcset ru "Docs dir" "Каталог документации" +::msgcat::mcset ru "Don't selected file" "Не определен файл" +::msgcat::mcset ru "E-mail" "Эл. почта" +::msgcat::mcset ru "Edit" "Редактирование" +::msgcat::mcset ru "Editor" "Редактор" +::msgcat::mcset ru "Editor background" "Цвет фона" +::msgcat::mcset ru "Editor foreground" "Цвет шрифта" +::msgcat::mcset ru "Editor font" "Шрифт редактора" +::msgcat::mcset ru "Editor font bold" "Шрифт редактора жирный" +::msgcat::mcset ru "Editor settings" "Настройки редактора" +::msgcat::mcset ru "Encode" "Перекодировка" +::msgcat::mcset ru "Error open URL" "Ошибка открытия URL" +::msgcat::mcset ru "Exit" "Выход" +::msgcat::mcset ru "File" "Файл" +::msgcat::mcset ru "Files" "Файлы" +::msgcat::mcset ru "File already exists. Overwrite?" "Файл уже существует. Переписать?" +::msgcat::mcset ru "File was modifyed. Close?" "Файл был изменен. Закрыть?" +::msgcat::mcset ru "File was modifyed. Save?" "Файл был изменен. Сохранить?" +::msgcat::mcset ru "File modify" "Файл изменен" +::msgcat::mcset ru "File saved" "Файл сохранен" +::msgcat::mcset ru "Find" "Найти" +::msgcat::mcset ru "Find in files" "Найти в файлах" +::msgcat::mcset ru "Font normal" "Нормальный шрифт" +::msgcat::mcset ru "Font bold" "Жирный шрифт" +::msgcat::mcset ru "FTP password" "FTP пароль" +::msgcat::mcset ru "FTP server" "FTP сервер" +::msgcat::mcset ru "FTP user" "FTP пользователь" +::msgcat::mcset ru "Goto line" "Перейти к ..." +::msgcat::mcset ru "Help" "Помощь" +::msgcat::mcset ru "Home dir" "Домашний каталог" +::msgcat::mcset ru "Home page" "Домашняя страница" +::msgcat::mcset ru "Image dir" "Каталог изображений" +::msgcat::mcset ru "Indent foreground" "Подсветка отступа" +::msgcat::mcset ru "Indent background" "Подсветка отступа" +::msgcat::mcset ru "Insert" "Вставка" +::msgcat::mcset ru "Insert image" "Вставить изображение" +::msgcat::mcset ru "Interface language" "Язык интерфейса" +::msgcat::mcset ru "Interpetator" "Интерпретатор" +::msgcat::mcset ru "Install Tcl/Tk Project Manager" "Установка Tcl/Tk Project Manager" +::msgcat::mcset ru "Input file name" "Введите имя файла" +::msgcat::mcset ru "Key bindings" "Назначения клавиш" +::msgcat::mcset ru "Label" "Метка" +::msgcat::mcset ru "Language" "Язык" +::msgcat::mcset ru "Line number" "Номер строки" +::msgcat::mcset ru "Make RPM" "Создать RPM" +::msgcat::mcset ru "Make archive" "Создать архив" +::msgcat::mcset ru "Make backup files" "Создавать временные файлы" +::msgcat::mcset ru "Main" "Общие" +::msgcat::mcset ru "Main settings" "Общие настройки" +::msgcat::mcset ru "Modules" "Модули" +::msgcat::mcset ru "Modifying the Registry..." "Внесение изменений в реестр" +::msgcat::mcset ru "Must be one file select!" "Вы должны выбрать только один файл" +::msgcat::mcset ru "Must be one or two file select!" "Вы должны выбрать один или два файла" +::msgcat::mcset ru "Network" "Сеть" +::msgcat::mcset ru "New" "Новый" +::msgcat::mcset ru "New directory" "Новый каталог" +::msgcat::mcset ru "New file" "Новый файл" +::msgcat::mcset ru "New project" "Новый проект" +::msgcat::mcset ru "Not implemented yet" "Данная функция пока не реализована" +::msgcat::mcset ru "Not found active project" "Не определен активный проект" +::msgcat::mcset ru "Open" "Открыть" +::msgcat::mcset ru "Open file" "Открыть файл" +::msgcat::mcset ru "Open folder" "Открыть папку" +::msgcat::mcset ru "Open project" "Открыть проект" +::msgcat::mcset ru "Opened file in progress" "Открытие файла" +::msgcat::mcset ru "Operators" "Операторы" +::msgcat::mcset ru "Overwrite" "Замена" +::msgcat::mcset ru "Parameters" "Параметры" +::msgcat::mcset ru "Subparameters" "Субпараметры" +::msgcat::mcset ru "Paste" "Вставить" +::msgcat::mcset ru "Paste from clipboard" "Вставить из буфера" +::msgcat::mcset ru "Percent" "Знак процента" +::msgcat::mcset ru "Print ..." "Печать ..." +::msgcat::mcset ru "Print" "Печать" +::msgcat::mcset ru "Print command" "Команда печати" +::msgcat::mcset ru "Print selected text" "Печатать выделенный текст" +::msgcat::mcset ru "Procedure name" "Имя процедуры" +::msgcat::mcset ru "Procedure name complit" "Автодобивка процедуры" +::msgcat::mcset ru "Program finished successfully" "Выполнение завершено" +::msgcat::mcset ru "Program failed" "Ошибка выполнения" +::msgcat::mcset ru "Programm output" "Вывод программы" +::msgcat::mcset ru "Project" "Проект" +::msgcat::mcset ru "Projects" "Проекты" +::msgcat::mcset ru "Project settings" "Установки проекта" +::msgcat::mcset ru "Project name" "Название проекта" +::msgcat::mcset ru "Project file" "Файл проекта" +::msgcat::mcset ru "Project dir" "Каталог проекта" +::msgcat::mcset ru "Project type" "Тип проекта" +::msgcat::mcset ru "Quit without saving?" "Выйти без сохранения?" +::msgcat::mcset ru "Question" "Вопрос" +::msgcat::mcset ru "Quote string" "Строка в кавычках" +::msgcat::mcset ru "Redo" "Повторить" +::msgcat::mcset ru "Refresh" "Обновить" +::msgcat::mcset ru "Replace" "Замена" +::msgcat::mcset ru "Replace in files" "Заменить в файлах" +::msgcat::mcset ru "Replace with" "Заменить на" +::msgcat::mcset ru "Replace all" "Заменить все" +::msgcat::mcset ru "Release" "Выпуск" +::msgcat::mcset ru "RPM directory" "Каталог RPM" +::msgcat::mcset ru "RPM file mask" "Маска RPM" +::msgcat::mcset ru "Run" "Выполнить" +::msgcat::mcset ru "Run file" "Запустить файл" +::msgcat::mcset ru "Running project" "Выполнение проекта" +::msgcat::mcset ru "Running file" "Выполнение файла" +::msgcat::mcset ru "Save" "Сохранить" +::msgcat::mcset ru "Save file" "Сохранить файл" +::msgcat::mcset ru "Save file as" "Сохранить файл как ..." +::msgcat::mcset ru "Save as" "Сохранить как ..." +::msgcat::mcset ru "Save all" "Сохранить все" +::msgcat::mcset ru "Search" "Поиск" +::msgcat::mcset ru "Select" "Выбрать" +::msgcat::mcset ru "Select all" "Выделить все" +::msgcat::mcset ru "Select directory" "Выбор директории" +::msgcat::mcset ru "Selected directory" "Директория" +::msgcat::mcset ru "Selection color" "Цвет выделения" +::msgcat::mcset ru "Settings" "Установки" +::msgcat::mcset ru "Show backup files" "Показывать временные файлы" +::msgcat::mcset ru "Show the Menu" "Показывать меню" +::msgcat::mcset ru "Show dot files" "Показывать скрытые файлы" +::msgcat::mcset ru "Split edit window" "Разделить окно редактора" +::msgcat::mcset ru "SQL commands" "SQL команды" +::msgcat::mcset ru "Text autoformat" "Автоформат текста" +::msgcat::mcset ru "Thanks" "Благодарности" +::msgcat::mcset ru "Title normal" "Файл нормальный" +::msgcat::mcset ru "Title modify" "Файл изменен" +::msgcat::mcset ru "Toolbar" "Панель инструментов" +::msgcat::mcset ru "Undo" "Отменить" +::msgcat::mcset ru "Update" "Обновить" +::msgcat::mcset ru "Variables" "Переменные" +::msgcat::mcset ru "Version" "Версия" +::msgcat::mcset ru "View" "Вид" +::msgcat::mcset ru "View files tree" "Показывать дерево файлов" +::msgcat::mcset ru "View line numers" "Показывать номера строк" +::msgcat::mcset ru "Warning" "Внимание" +::msgcat::mcset ru "Was replacement" "Было заменено" +::msgcat::mcset ru "Word wrapping" "Перенос слов" +::msgcat::mcset ru "Work dir" "Рабочий каталог" + + diff --git a/lib/notebook.tcl b/lib/notebook.tcl new file mode 100644 index 0000000..18ddfb0 --- /dev/null +++ b/lib/notebook.tcl @@ -0,0 +1,38 @@ +###################################################### +# ProjMan 2 +# Distributed under GNU Public License +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru +###################################################### +# +# Operation with NoteBook widget module +# +###################################################### + +namespace eval NB { + + proc InsertItem {nb item type} { + switch $type { + file { + regsub -all {\.|/|\\|\s} $item "_" itemName + if [winfo exists $nb.$itemName] { + set fm $nb.$itemName + } else { + set fm [ttk::frame $nb.$itemName] + pack $fm -side top -expand true -fill both + $nb add $fm -text [file tail $item];# -image close_12x12 -compound right + $nb select $fm + } + } + } + puts "NB item - $fm" + return $fm + } + proc CloseTab {w x y} { + if {[$w identify $x $y] == "close_button"} { + puts "Hurrah! Close tab [$w index @$x,$y] plz." + FileOper::Close + } + } +} + diff --git a/lib/pane.tcl b/lib/pane.tcl deleted file mode 100644 index 5d08639..0000000 --- a/lib/pane.tcl +++ /dev/null @@ -1,106 +0,0 @@ -package provide pane 1.0 - -namespace eval pane { - - namespace export create - - proc create { f1 f2 args } { - global editor - set t(-orient) vertical - set t(-percent) 0.25 - set t(-gripcolor) $editor(bg) - set t(-gripposition) 0.95 - set t(-gripcursor) crosshair - set t(-in) [winfo parent $f1] - array set t $args - - set master $t(-in) - upvar #0 [namespace current]::Pane$master pane - array set pane [array get t] - - if {! [string match v* $pane(-orient)] } { - set pane(-gripcursor) sb_v_double_arrow - set height 5 ; set width 3000 - } else { - set pane(-gripcursor) sb_h_double_arrow - set height 3000 ; set width 5 - } - - set pane(1) $f1 - set pane(2) $f2 - set pane(grip) [frame $master.grip -background $pane(-gripcolor) \ - -width $width -height $height \ - -bd 0 -relief raised -cursor $pane(-gripcursor)] - - if {! [string match v* $pane(-orient)] } { - set pane(D) Y - place $pane(1) -in $master -x 0 -rely 0.0 -anchor nw -relwidth 1.0 -height -1 - place $pane(2) -in $master -x 0 -rely 1.0 -anchor sw -relwidth 1.0 -height -1 - place $pane(grip) -in $master -anchor c -relx $pane(-gripposition) - } else { - set pane(D) X - place $pane(1) -in $master -relx 0.0 -y 0 -anchor nw -relheight 1.0 -width -1 - place $pane(2) -in $master -relx 1.0 -y 0 -anchor ne -relheight 1.0 -width -1 - place $pane(grip) -in $master -anchor c -rely 0 ;#$pane(-gripposition) - } - $master configure -background gray50 - - bind $master [list [namespace current]::PaneGeometry $master] - bind $pane(grip) \ - [list [namespace current]::PaneDrag $master %$pane(D)] - bind $pane(grip) \ - [list [namespace current]::PaneDrag $master %$pane(D)] - bind $pane(grip) \ - [list [namespace current]::PaneStop $master] - - [namespace current]::PaneGeometry $master - } - - proc PaneDrag { master D } { - upvar #0 [namespace current]::Pane$master pane - if {[info exists pane(lastD)]} { - set delta [expr double($pane(lastD) - $D) \ - / $pane(size)] - set pane(-percent) [expr $pane(-percent) - $delta] - if {$pane(-percent) < 0.0} { - set pane(-percent) 0.0 - } elseif {$pane(-percent) > 1.0} { - set pane(-percent) 1.0 - } - [namespace current]::PaneGeometry $master - } - set pane(lastD) $D - } - - proc PaneStop { master } { - upvar #0 [namespace current]::Pane$master pane - catch {unset pane(lastD)} - } - - proc PaneGeometry { master } { - upvar #0 [namespace current]::Pane$master pane - if {$pane(D) == "X"} { - place $pane(1) -relwidth $pane(-percent) - place $pane(2) -relwidth [expr 1.0 - $pane(-percent)] - place $pane(grip) -relx $pane(-percent) - set pane(size) [winfo width $master] - } else { - place $pane(1) -relheight $pane(-percent) - place $pane(2) -relheight [expr 1.0 - $pane(-percent)] - place $pane(grip) -rely $pane(-percent) - set pane(size) [winfo height $master] - } - } - -} - - - - - - - - - - - diff --git a/lib/procedure.tcl b/lib/procedure.tcl index dcb81bf..3f4d8ed 100644 --- a/lib/procedure.tcl +++ b/lib/procedure.tcl @@ -1,694 +1,73 @@ -########################################################### -# Tcl/Tk Project Manager # -# Distributed under GPL # -# all procedure file # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -########################################################### +###################################################### +# ProjMan 2 +# Distributed under GNU Public License +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru +###################################################### +# +# All procedures module +# +###################################################### -## INSERT TEXT INTO ENTRY BOmX ## -proc InsertEnt {entry text} { - $entry delete 0 end - $entry insert end $text -} - -## GET TEXT FROM ENTRY WIDGET ## -proc Text {entry} { - set text [$entry get] -} -## FONT SELECTOR DIALOG ## -proc SelectFontDlg {font text} { - set font [SelectFont .fontdlg -parent . -font $font] - if { $font != "" } { - InsertEnt $text $font - } -} -## STATUS BAR OR ANYTHING LABEL TEXT UPDATE ## -proc LabelUpdate {widget value} { - global fontNormal - $widget configure -text $value -font $fontNormal -} -proc PopupMenuEditor {x y} { - tk_popup .popMnuEdit $x $y -} -## GETTING FILE ATTRIBUTES ## -proc FileAttr {file} { - global tcl_platform - set fileAttribute "" - # get file modify time - if {$tcl_platform(platform) == "windows"} { - set unixTime [file mtime $file] - set modifyTime [clock format $unixTime -format "%d/%m/%Y, %H:%M"] - append fileAttribute $modifyTime - } elseif {$tcl_platform(platform) == "mac"} { - - } elseif {$tcl_platform(platform) == "unix"} { - set unixTime [file mtime $file] - set modifyTime [clock format $unixTime -format "%d/%m/%Y, %H:%M"] - append fileAttribute $modifyTime - } - # get file size - set size [file size $file] - if {$size < 1024} { - set fileSize "$size b" - } - if {$size >= 1024} { - set s [expr ($size.0) / 1024] - set dot [string first "\." $s] - set int [string range $s 0 [expr $dot - 1]] - set dec [string range $s [expr $dot + 1] [expr $dot + 2]] - set fileSize "$int.$dec Kb" - } - if {$size >= 1048576} { - set s [expr ($size.0) / 1048576] - set dot [string first "\." $s] - set int [string range $s 0 [expr $dot - 1]] - set dec [string range $s [expr $dot + 1] [expr $dot + 2]] - set fileSize "$int.$dec Mb" - } - append fileAttribute ", $fileSize" -} - -## CLOSE FILE ## -proc CloseFile {} { - global docDir imgDir tree noteBook ver fontNormal node - set w [$noteBook itemcget page option insert end settings -text [::msgcat::mc "Settings"]] - - $noteBook raise settings -} -## GET LOCALE NAMES FROM MESSAGES FILE ## -proc GetLocale {} { - global msgDir localeList - set localeList "" - if {[catch {cd $msgDir}] != 0} { - return "" - } - foreach file [lsort [glob -nocomplain *.msg]] { - lappend localeList [list [file rootname $file]] - } - return $localeList -} -## MAKING TAR ARCHIVE ## -proc MakeTGZ {} { - global activeProject tgzDir tgzNamed workDir projDir env tcl_platform - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message [::msgcat::mc "Not found active project"]\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - FileDialog tree save_all - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectDirName"} { - set dir "$string" - } - if {$keyWord == "ProjectVersion"} { - set version "$string" - } - if {$keyWord == "ProjectRelease"} { - set release "$string" - } - } - close $file - set res [split $tgzNamed "-"] - set name [lindex $res 0] - set ver [lindex $res 1] - set rel [lindex $res 2] - if {$name == "projectName"} { - set name $activeProject - } - if {$ver == "version"} { - append name "-$version" - } - if {$rel == "release"} { - append name "-$release" - } - # multiplatform featuring # - if {$tcl_platform(platform) == "windows"} { - append name ".zip" - } elseif {$tcl_platform(platform) == "mac"} { - append name ".zip" - } elseif {$tcl_platform(platform) == "unix"} { - append name ".tar.gz" - } - catch {cd $projDir} res - if {[file exists [file join $tgzDir $name]] == 1} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "File already exists. Overwrite?"] \"$name\" ?"\ - -type yesno -icon question -default yes\ - -title [::msgcat::mc "Question"]] - case $answer { - yes {file delete [file join $tgzDir $name]} - no {return 0} - } - } - # multiplatform featuring # - if {$tcl_platform(platform) == "windows"} { - catch [exec pkzip -r -p [file join $tgzDir $name] [file join $activeProject *]] err - } elseif {$tcl_platform(platform) == "mac"} { - catch [exec zip -c [file join $tgzDir $name] $activeProject] err - } elseif {$tcl_platform(platform) == "unix"} { - catch [exec tar -czvf [file join $tgzDir $name] $activeProject] err - } - # message dialog # - set msg "[::msgcat::mc "Archive created in"] [file join $tgzDir $name]" - set icon info - set answer [tk_messageBox\ - -message "$msg"\ - -type ok -icon $icon] - case $answer { - ok {return 0} - } -} - -## MAKING RPM ## -proc MakeRPM {} { - global activeProject tgzDir tgzNamed workDir projDir env tcl_platform - - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not implemented yet"]"\ - -type ok -icon info] - case $answer { - ok {return 0} - } - - - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectDirName"} { - set dir "$string" - } - if {$keyWord == "ProjectVersion"} { - set version "$string" - } - if {$keyWord == "ProjectRelease"} { - set release "$string" - } - } - close $file - set res [split $tgzNamed "-"] - set name [lindex $res 0] - set ver [lindex $res 1] - set rel [lindex $res 2] - if {$name == "projectName"} { - set name $activeProject - } - if {$ver == "version"} { - append name "-$version" - } - if {$rel == "release"} { - append name "-$release" - } - append name ".tar.gz" - catch {cd $projDir} res - if {[file exists $tgzDir/$name] == 1} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "File already exists. Overwrite?"] \"$name\" ?"\ - -type yesno -icon question -default yes] - case $answer { - yes {file delete $tgzDir/$name} - no {return 0} - } - } - catch [exec tar -czvf $tgzDir/$name $activeProject] pipe -} - -## PROGRESS DIALOG ## -proc Progress {oper} { - global progval - if {$oper == "start"} { - set prg [ProgressBar .frmStatus.frmProgress.lblProgress.progress\ - -variable progval -type infinite -borderwidth 0] - pack $prg -side left -fill both -expand true - } elseif {$oper == "stop"} { - destroy .frmStatus.frmProgress.lblProgress.progress - } - # ProgUpdate -} -proc ProgUpdate { } { - global progval - set progval 5 -} - -## SHOW HELP WINDOW ## -proc ShowHelp {} { - global dataDir - if {[winfo exists .help] == 1} { - focus -force .help - raise .help - } else { - TopLevelHelp - } - if {[catch {set word [selection get]} error] != 0} { - set word " " - } else { - puts $word - TopLevelHelp - SearchWord $word - } -} - -## EXEC EXTERNAL BROWSER AND GOTO URL ## -proc GoToURL {url} { - global env tcl_platform - if {$tcl_platform(platform) == "windows"} { - set pipe [open "|iexplore $url" "r"] - } elseif {$tcl_platform(platform) == "mac"} { - set pipe [open "|iexplore $url" "r"] - } elseif {$tcl_platform(platform) == "unix"} { - #$env(BROWSER) - #set pipe [open "|$env(BROWSER) $url" "r"] - launchBrowser $url - return - } - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no -} - -proc launchBrowser {url} { - global tcl_platform - if {$tcl_platform(platform) eq "windows"} { - set command [list {*}[auto_execok start] {}] - if {[file isdirectory $url]} { - set url [file nativename [file join $url .]] - } - } elseif {$tcl_platform(os) eq "Darwin"} { - set command [list open] - } else { - set command [list xdg-open] - } - exec {*}$command $url & -} - -## SEND EMAIL PROCEDURE ## -proc SendEmail {mail} { - global env tcl_platform - if {$tcl_platform(platform) == "windows"} { - } elseif {$tcl_platform(platform) == "mac"} { - } elseif {$tcl_platform(platform) == "unix"} { - set pipe [open "|xdg-open $mail" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no - } -} -## QUIT PROJECT MANAGER PROCEDURE ## proc Quit {} { - global workDir activeProject - set v [FileDialog tree close_all] - if {$v == "cancel"} { - return + global dir + Config::write $dir(cfg) + exit +} + +proc ViewFilesTree {} { + global cfgVariables + if {$cfgVariables(toolBarShow) eq "true"} { + .frmBody.panel forget .frmBody.frmTree + set cfgVariables(toolBarShow) false } else { - # copy projman.conf file and rewrite them - # open projman.conf file and write current main window geometry - file copy -force [file join $workDir projman.conf] [file join $workDir projman.conf.old] - set file [open [file join $workDir projman.conf.old] RDONLY] - set file1 [open [file join $workDir projman.conf] WRONLY] - while {[gets $file line]>=0} { - if {[regexp -nocase -all -- {set topLevelGeometry} $line match]} { - puts $file1 "set topLevelGeometry \"[winfo geometry .]\"" - } elseif {[regexp -nocase -all -- {set workingProject} $line match]} { - puts "set workingProject \"$activeProject\"" - puts $file1 "set workingProject \"$activeProject\"" - puts "Current project - $activeProject" - } else { - puts "> $line" - puts $file1 "$line" - } - } - exit + .frmBody.panel insert 0 .frmBody.frmTree + set cfgVariables(toolBarShow) true } } -## PRINT DIALOG ## -proc PrintDialog {} { - global fontNormal fontBold selectPrint - set wp .print - # destroy the print window if it already exists - if {[winfo exists $wp]} { - destroy $wp - } - # create the new "find" window - toplevel $wp - wm transient $wp . - wm title $wp [::msgcat::mc "Print ..."] - wm resizable $wp 0 0 - frame $wp.frmLbl - frame $wp.frmEnt - frame $wp.frmField - frame $wp.frmBtn - pack $wp.frmLbl $wp.frmEnt $wp.frmField $wp.frmBtn -side top -fill x - label $wp.frmLbl.lblPrint -text [::msgcat::mc "Print command"] -font $fontNormal - pack $wp.frmLbl.lblPrint -fill x -expand true -padx 2 - entry $wp.frmEnt.entPrint -font $fontNormal - pack $wp.frmEnt.entPrint -fill x -expand true -padx 2 - - checkbutton $wp.frmField.chkSelect -text [::msgcat::mc "Print selected text"] -variable selectPrint\ - -font $fontNormal -onvalue true -offvalue false ;#-command Check - pack $wp.frmField.chkSelect -fill x -expand true -padx 2 - - button $wp.frmBtn.btnPrint -text [::msgcat::mc "Print"] -font $fontNormal -width 12 -relief groove\ - -command { - Print [.print.frmEnt.entPrint get] - destroy .print - } - button $wp.frmBtn.btnCancel -text [::msgcat::mc "Cancel"] -font $fontNormal -width 12 -relief groove\ - -command "destroy .print" - pack $wp.frmBtn.btnPrint $wp.frmBtn.btnCancel -side left -padx 2 -pady 2 -fill x -expand true - InsertEnt $wp.frmEnt.entPrint "lpr" - bind $wp "destroy .print" -} -## PRINT COMMAND ## -proc Print {command} { - global noteBook fontNormal fontBold fileList selectPrint tmpDir - set node [$noteBook raise] - set text "$noteBook.f$node.frame.text" - set command lpr - if {$node == "newproj" || $node == "settings" || $node == "about" || $node == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Don't selected file"]"\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - if {$selectPrint == "true"} { - set selIndex [$text tag ranges sel] - set start [lindex $selIndex 0] - set end [lindex $selIndex 1] - set prnText [$text get $start $end] - set file [file join $tmpDir projprn.tmp] - set f [open $file "w"] - puts $f $prnText - close $f +# Enable/Disabled line numbers in editor +proc ViewLineNumbers {} { + global cfgVariables nbEditor + # Changed global settigs + if {$cfgVariables(lineNumberShow) eq "true"} { + set cfgVariables(lineNumberShow) false } else { - set file [lindex $fileList($node) 0] + set cfgVariables(lineNumberShow) true } - set pipe [open "|$command $file" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no -} - -## GETTING EXTERNAL MODULES ## -proc Modules {} { - global tcl_platform - global module tclDir dataDir binDir - # TkDIFF loading - foreach m {tkcvs tkdiff gitk tkregexp} { - if {$tcl_platform(platform) == "unix"} { - if {$m == "tkregexp"} { - set module($m) "[file join $binDir tkregexp.tcl]" - break - } - set string [exec whereis $m] - scan $string "%s%s" v module($m) - if {[info exists module($m)] && [file isdirectory $module($m)] == 0} { - puts "Find $module($m)" - } else { - set module($m) "" - } - } - } -} -## RUNNING MODULE ## -proc DoModule {mod} { - global tcl_platform - global module activeProject projDir tree tclDir dataDir workDir - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectName"} { - set projName "$string" - } - if {$keyWord == "ProjectFileName"} { - set projFileName "$string" - } - if {$keyWord == "ProjectDirName"} { - set dir "$string" - } - if {$keyWord == "ProjectCompiler"} { - set projCompiler "$string" - } - if {$keyWord == "ProjectInterp"} { - set projInterp "$string" - } - } - close $file - - #puts "project dir - $dir" - - set curDir [pwd] - case $mod { - tkcvs { - set pipe [open "|$module(tkcvs) -dir $dir" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no - } - tkdiff { - set files [$tree selection get] - if {[llength $files] == 0} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Don't selected file"]"\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - if {[llength $files] == 1} { - if {$files != ""} { - set file1 [$tree itemcget $files -data] - } - set command "-r $file1" - } - if {[llength $files] == 2} { - if {[lindex $files 0] != ""} { - set file1 [$tree itemcget [lindex $files 0] -data] - } - if {[lindex $files 1] != ""} { - set file2 [$tree itemcget [lindex $files 1] -data] - } - set command "$file1 $file2" - } - if {[llength $files] > 2} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Must be one or two file select!"]"\ - -type ok -icon info\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - set pipe [open "|$module(tkdiff) $command" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no - } - tkregexp { - set files [$tree selection get] - if {[llength $files] == 0} { - set command "" - } elseif {[llength $files] == 1} { - if {$files != ""} { - set file [$tree itemcget $files -data] - } - set command "$file" - } else { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Must be one file select!"]"\ - -type ok -icon info\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - puts "$module(tkregexp) $command" - set pipe [open "|$module(tkregexp) $command" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no - } - gitk { - cd $dir - #puts "========== $projDir $dir $curDir" - set pipe [open "|$module(gitk)" "r"] - fileevent $pipe readable - fconfigure $pipe -buffering none -blocking no - } + # apply changes for opened tabs + foreach node [$nbEditor tabs] { + $node.frmText.t configure -linemap $cfgVariables(lineNumberShow) } } -proc SelectDir {dir} { - global projDir workDir openProjDir - set dirName [tk_chooseDirectory -initialdir $dir\ - -title "[::msgcat::mc "Select directory"]"\ - -parent .] - return $dirName +proc Del {} { + return } -## TOOLBAR ON/OFF PROCEDURE ## -proc ToolBar {} { - global toolBar - if {$toolBar == "Yes"} { - CreateToolBar - } elseif {$toolBar == "No"} { - destroy .frmTool.btnNew .frmTool.btnSave .frmTool.btnSaveAs .frmTool.btnSaveAll\ - .frmTool.btnCopy .frmTool.btnPaste .frmTool.btnCut .frmTool.btnDo .frmTool.btnPrint\ - .frmTool.btnDoFile .frmTool.btnTGZ .frmTool.btnHelp .frmTool.btnClose - .frmTool configure -height 1 + +proc YScrollCommand {txt canv} { + $txt yview + $canv yview" +} + +proc ResetModifiedFlag {w} { + global modified nbEditor + $w.frmText.t edit modified false + set modified($w) "false" + set lbl [string trimleft [$nbEditor tab $w -text] "* "] + puts "ResetModifiedFlag: $lbl" + $nbEditor tab $w -text $lbl +} +proc SetModifiedFlag {w} { + global modified nbEditor + #$w.frmText.t edit modified false + set modified($w) "true" + set lbl [$nbEditor tab $w -text] + puts "SetModifiedFlag: $w; $modified($w); >$lbl<" + if {[regexp -nocase -all -- {^\*} $lbl match] == 0} { + set lbl "* $lbl" } + $nbEditor tab $w -text $lbl } -## LOADING HIGHLIGHT FILES ## -proc HighLight {ext text line lineNumber node} { - global font tree color noteBook hlDir - - if {[file exists [file join $hlDir $ext.tcl]] == 1} { - HighLight[string toupper $ext] $text $line $lineNumber $node - } elseif {($ext == "htm") || ($ext == "xml") || ($ext == "fm") || ($ext == "html")} { - HighLightHTML $text $line $lineNumber $node - } elseif {($ext == "pl")} { - HighLightPERL $text $line $lineNumber $node - } elseif {($ext == "for")} { - HighLightFORTRAN $text $line $lineNumber $node - } elseif {($ext == "ml") || ($ext == "mli")} { - HighLightML $text $line $lineNumber $node - } elseif {($ext == "rvt") || ($ext == "tml")} { - HighLightRIVET $text $line $lineNumber $node - } elseif {($ext == "php") || ($ext == "phtml")} { - HighLightPHP $text $line $lineNumber $node - } elseif {($ext == "rb")} { - HighLightRUBY $text $line $lineNumber $node - } elseif {($ext == "sh")} { - HighLightSHELL $text $line $lineNumber $node - } else { - HighLightTCL $text $line $lineNumber $node - } -} - -## GET IMAGE FOR tree AND notebook WIDGETS ## -proc GetImage {fileName} { - global imgDir - if {[file isdirectory $fileName] == 1} { - set img "folder" - set data "dir" - } elseif {[string match "*.tcl" $fileName] == 1} { - set img "tcl" - set data "src" - } elseif {[string match "*.tk" $fileName] == 1} { - set img "tk" - set data "src" - } elseif {[string match "*.rvt" $fileName] == 1} { - set img "rvt" - set data "src" - } elseif {[string match "*.tex" $fileName] == 1} { - set img "tex" - set data "src" - } elseif {[string match "*.html" $fileName] == 1 || [string match "*.htm" $fileName] == 1} { - set img "html" - set data "src" - } elseif {[string match "*.gif" $fileName] == 1 || [string match "*.xpm" $fileName] == 1 || \ - [string match "*.png" $fileName] == 1 || [string match "*.jpg" $fileName] == 1 || \ - [string match "*.xbm" $fileName] == 1 || [string match "*.jpeg" $fileName] == 1 || \ - [string match "*.bmp" $fileName] == 1} { - set img "img" - set data "img" - } elseif {[string match "*.xml" $fileName] == 1} { - set img "xml" - set data "xml" - } elseif {[string match "*.java" $fileName] == 1 || [string match "*.ja" $fileName] == 1} { - set img "java" - set data "src" - } elseif {[string match "*.c" $fileName] == 1} { - set img "c" - set data "src" - } elseif {[string match "*.cpp" $fileName] == 1} { - set img "cpp" - set data "src" - } elseif {[string match "*.spec" $fileName] == 1} { - set img "rpm" - set data "src" - } elseif {[string match "*.pl" $fileName] == 1} { - set img "perl" - set data "src" - } elseif {[string match "*.for" $fileName] == 1 || [string match "*.f" $fileName] == 1} { - set img "fortran" - set data "src" - } elseif {[string match "*.ml" $fileName] == 1 || [string match "*.mli" $fileName] == 1} { - set img "caml" - set data "src" - } elseif {[string match "*.tml" $fileName] == 1 || [string match "*.rvt" $fileName] == 1} { - set img "tclhtml" - set data "src" - } elseif {[string match "*.php" $fileName] == 1 || [string match "*.phtml" $fileName] == 1} { - set img "php" - set data "src" - } elseif {[string match "*.rb" $fileName] == 1} { - set img "ruby" - set data "src" - } else { - set img "file" - set data "txt" - } - return $img -} - -proc GetExtention {node} { - global fileList - set ext [string range [file extension [file tail [lindex $fileList($node) 0]]] 1 end] - return $ext -} - -# Get system command name from PATH environment variable -proc GetSystemCommand {} { - global tcl_platform env systemCmdList - switch -exact -- $tcl_platform(platform) { - "unix" { - foreach path [split $env(PATH) ":"] { - foreach commandName [lsort [glob -nocomplain [file join $path *]]] { - lappend systemCmdList [file tail $commandName] - } - } - } - "windows" { - foreach path [split $env(PATH) ";"] { - foreach commandName [lsort [glob -nocomplain [file join $path *]]] { - lappend systemCmdList [file tail $commandName] - } - } - } - } -} - - - - - diff --git a/lib/projects.tcl b/lib/projects.tcl deleted file mode 100644 index 161b408..0000000 --- a/lib/projects.tcl +++ /dev/null @@ -1,1016 +0,0 @@ -################################################## -# Tcl/Tk Project Manager -# Distributed under GNU Public License -# Author: Serge Kalinin banzaj28@yandex.ru -# Copyright (c) "https://nuk-svk.ru", 2018, -# Home: https://bitbucket.org/svk28/projman -################################################## - -proc NewProj {type proj l} { - global fontNormal fontBold tree projDir workDir activeProject fileList noteBook imgDir prjDir - global openProjDir tclDir frm lang operType - set operType $type - if {$operType == "edit" && $proj == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - set typeProjects "Tcl Tcl/Tk Java Perl Fortran O'Caml PHP Ruby Erlang" - - set node [$noteBook page [$noteBook index newproj]] - if {$node != ""} { - $noteBook raise newproj - return 0 - } else { - set w [$noteBook insert end newproj -text [::msgcat::mc "New project"]] - } - set frm [frame $w.frmProjSettings] - pack $frm -fill both -expand true - - image create photo imgFold -format gif -file [file join $imgDir folder.gif] - variable frm_1 - set frm_1 [frame $frm.frmProjName] - label $frm_1.lblProjName -text [::msgcat::mc "Project name"] -width 20 -anchor w - entry $frm_1.txtProjName -textvariable txtProjName -bd 0 -relief flat - pack $frm_1.lblProjName -side left - pack $frm_1.txtProjName -side left -fill x -expand true - - ### - set frm_lang [frame $frm.frmLanguage] - set lang "Tcl" - label $frm_lang.lblLanguage -text [::msgcat::mc "Project type"] -width 20 -anchor w - set combo [ - ComboBox $frm_lang.txtLocale \ - -textvariable lang -editable false \ - -autocomplete true -autopost true \ - -selectbackground "#55c4d1" -selectborderwidth 0 \ - -values $typeProjects - ] - #$combo setvalues $lang - pack $frm_lang.lblLanguage -side left - pack $combo -fill x -expand true - bind $combo { append txtFileName ".[GetExtentionProj $lang]"} - ### - - set frm_2 [frame $frm.frmFileName] - label $frm_2.lblFileName -text [::msgcat::mc "Project file"] -width 20 -anchor w - entry $frm_2.txtFileName -textvariable txtFileName -bd 0 -relief flat - pack $frm_2.lblFileName -side left - pack $frm_2.txtFileName -side left -fill x -expand true - bind $frm_2.txtFileName { - append txtFileName ".[GetExtentionProj $lang]" - } - #$frm_2.txtFileName insert end $txtProjName - - set frm_8 [frame $frm.frmDirName] - label $frm_8.lblDirName -text [::msgcat::mc "Project dir"] -width 20 -anchor w - entry $frm_8.txtDirName -textvariable txtDirName - button $frm_8.btnDirName -image imgFold -relief flat \ - -command { - $frm.frmDirName.txtDirName configure -state normal - InsertEnt $frm.frmDirName.txtDirName [tk_chooseDirectory -initialdir $projDir -title "[::msgcat::mc "Select directory"]" -parent .] - $frm.frmDirName.txtDirName configure -state disable - } - pack $frm_8.lblDirName -side left - pack $frm_8.txtDirName -side left -fill x -expand true - pack $frm_8.btnDirName -side left - bind $frm_8.txtDirName { - - } - - set frm_13 [frame $frm.frmCompiler] - label $frm_13.lblCompiler -text [::msgcat::mc "Compiler"]\ - -width 20 -anchor w - entry $frm_13.txtCompiler -textvariable txtCompiler - button $frm_13.btnCompiler -image imgFold -relief flat\ - -command { - InsertEnt $frm.frmCompiler.txtCompiler [tk_getOpenFile -initialdir $tclDir -parent .] - } - pack $frm_13.lblCompiler -side left - pack $frm_13.txtCompiler -side left -fill x -expand true - pack $frm_13.btnCompiler -side left - - set txtProjInterp [GetInterp $lang] - set frm_12 [frame $frm.frmProjInterp] - label $frm_12.lblProjInterp -text [::msgcat::mc "Interpetator"]\ - -width 20 -anchor w - entry $frm_12.txtProjInterp -textvariable txtProjInterp - button $frm_12.btnInterp -image imgFold -relief flat\ - -command { - InsertEnt $frm.frmProjInterp.txtProjInterp [tk_getOpenFile -initialdir $tclDir -parent .] - } - pack $frm_12.lblProjInterp -side left - pack $frm_12.txtProjInterp -side left -fill x -expand true - pack $frm_12.btnInterp -side left - bind $frm_12.txtProjInterp { - set txtProjInterp [GetInterp $lang] - } - - set frm_4 [frame $frm.frmVersion] - label $frm_4.lblProjVersion -text [::msgcat::mc "Version"] -width 20 -anchor w - entry $frm_4.txtProjVersion -textvariable txtProjVersion -bd 0 -relief flat - pack $frm_4.lblProjVersion -side left - pack $frm_4.txtProjVersion -side left -fill x -expand true - InsertEnt $frm_4.txtProjVersion "0.0.1" - - set frm_11 [frame $frm.frmRelease] - label $frm_11.lblProjRelease -text [::msgcat::mc "Release"] -width 20 -anchor w - entry $frm_11.txtProjRelease -textvariable txtProjRelease -bd 0 -relief flat - pack $frm_11.lblProjRelease -side left - pack $frm_11.txtProjRelease -side left -fill x -expand true - InsertEnt $frm_11.txtProjRelease "1" - - set frm_3 [frame $frm.frmProjAuthor] - label $frm_3.lblProjAuthor -text [::msgcat::mc "Author"] -width 20 -anchor w - entry $frm_3.txtProjAuthor -textvariable txtProjAuthor -bd 0 -relief flat - pack $frm_3.lblProjAuthor -side left - pack $frm_3.txtProjAuthor -side left -fill x -expand true - - set frm_9 [frame $frm.frmProjEmail] - label $frm_9.lblProjEmail -text [::msgcat::mc "E-mail"] -width 20 -anchor w - entry $frm_9.txtProjEmail -textvariable txtProjEmail -bd 0 -relief flat - pack $frm_9.lblProjEmail -side left - pack $frm_9.txtProjEmail -side left -fill x -expand true - - set frm_5 [frame $frm.frmProjCompany] - label $frm_5.lblProjCompany -text [::msgcat::mc "Company"] -width 20 -anchor w - entry $frm_5.txtProjCompany -textvariable txtProjCompany -bd 0 -relief flat - pack $frm_5.lblProjCompany -side left - pack $frm_5.txtProjCompany -side left -fill x -expand true - - set frm_10 [frame $frm.frmProjHome] - label $frm_10.lblProjHome -text [::msgcat::mc "Home page"] -width 20 -anchor w - entry $frm_10.txtProjHome -textvariable txtProjHome - pack $frm_10.lblProjHome -side left - pack $frm_10.txtProjHome -side left -fill x -expand true - - set frm_7 [frame $frm.frmWinTitle ] - label $frm_7.lblWinTitle -text [::msgcat::mc "Create new project"] -height 2 -font $fontBold - - - pack $frm_7.lblWinTitle -fill x -expand true - - set frm_6 [frame $frm.frmBtn ] - if {$operType == "edit" && $proj != ""} { - $noteBook itemconfigure newproj -text [::msgcat::mc "Project settings"] - button $frm_6.btnProjCreate -text [::msgcat::mc "Save"] -relief flat \ - -font $fontNormal -command { - regsub -all {\\} $txtProjInterp {\\\\} $txtProjInterp - SaveProj "$txtFileName" "$lang" "$txtProjName" "$txtFileName" "$txtDirName"\ - "$txtCompiler" "$txtProjInterp" "$txtProjVersion" "$txtProjRelease"\ - "$txtProjAuthor" "$txtProjEmail" "$txtProjCompany" "$txtProjHome" - $noteBook delete newproj - $noteBook raise [$noteBook page end] - } - } else { - button $frm_6.btnProjCreate -text [::msgcat::mc "Create"] -relief flat \ - -font $fontNormal -command { - CreateProj "$operType" "$lang" "$txtFileName" "$txtProjName" "$txtFileName" "$txtDirName"\ - "$txtCompiler" "$txtProjInterp" "$txtProjVersion" "$txtProjRelease"\ - "$txtProjAuthor" "$txtProjEmail" "$txtProjCompany" "$txtProjHome" - $noteBook delete newproj - $noteBook raise [$noteBook page end] - } - - } - button $frm_6.btnClose -text [::msgcat::mc "Cancel"] -relief flat -font $fontNormal -command { - $noteBook delete newproj - $noteBook raise [$noteBook page end] - } - pack $frm_6.btnProjCreate $frm_6.btnClose -padx 10 -pady 20 -side right - pack $frm_7 $frm_1 $frm_lang $frm_2 $frm_8 $frm_13 $frm_12 $frm_4 $frm_11 $frm_3 $frm_9 $frm_5 $frm_10 $frm_6\ - -side top -fill x -padx 10 -pady 5 - pack $frm_6 -side top -fill x -expand true -anchor n - bind $w "$noteBook delete newproj" - $noteBook raise newproj - - ## EDIT PROJECT SETTINGS ## - if {$operType == "edit" && $proj != ""} { - $frm.frmDirName.txtDirName configure -state normal - $frm_7.lblWinTitle configure -text [::msgcat::mc "Project settings"] - $frm_6.btnProjCreate configure -text "[::msgcat::mc "Save"]" - set file [open [file join $workDir $proj.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - # regsub -all " " $string "_" project - puts $string - switch $keyWord { - ProjectName {InsertEnt $frm_1.txtProjName "$string"} - ProjectFileName {InsertEnt $frm_2.txtFileName "$string"} - ProjectLanguage {set lang "$string"} - ProjectDirName {InsertEnt $frm_8.txtDirName "$string"} - ProjectCompiler {InsertEnt $frm_13.txtCompiler "$string"} - ProjectInterp {InsertEnt $frm_12.txtProjInterp "$string"} - ProjectVersion {InsertEnt $frm_4.txtProjVersion "$string"} - ProjectRelease {InsertEnt $frm_11.txtProjRelease "$string"} - ProjectAuthor {InsertEnt $frm_3.txtProjAuthor "$string"} - ProjectEmail {InsertEnt $frm_9.txtProjEmail "$string"} - ProjectCompany {InsertEnt $frm_5.txtProjCompany "$string"} - ProjectHome {InsertEnt $frm_10.txtProjHome "$string"} - } - } - close $file - } elseif {$operType == "open"} { - $frm_7.lblWinTitle configure -text [::msgcat::mc "Open project"] - InsertEnt $frm_1.txtProjName "$proj" - InsertEnt $frm_2.txtFileName "$proj" - #$combo setvalue $lang - InsertEnt $frm_8.txtDirName "$proj" - $frm_8.txtDirName configure -state normal - puts $prjDir - InsertEnt $frm_8.txtDirName "$prjDir" - InsertEnt $frm_13.txtCompiler "" - InsertEnt $frm_12.txtProjInterp "" - InsertEnt $frm_4.txtProjVersion "0.0.1" - InsertEnt $frm_11.txtProjRelease "1" - InsertEnt $frm_3.txtProjAuthor "" - InsertEnt $frm_9.txtProjEmail "" - InsertEnt $frm_5.txtProjCompany "" - InsertEnt $frm_10.txtProjHome "" - } else { - InsertEnt $frm_1.txtProjName "" - InsertEnt $frm_2.txtFileName "" - InsertEnt $frm_8.txtDirName "" - InsertEnt $frm_13.txtCompiler "" - InsertEnt $frm_12.txtProjInterp "" - InsertEnt $frm_4.txtProjVersion "0.0.1" - InsertEnt $frm_11.txtProjRelease "1" - InsertEnt $frm_3.txtProjAuthor "" - InsertEnt $frm_9.txtProjEmail "" - InsertEnt $frm_5.txtProjCompany "" - InsertEnt $frm_10.txtProjHome "" - } - # bind autocomlite dir only if new project - if {[$frm_8.txtDirName get ] eq ""} { - bind $frm_1.txtProjName { - regsub -all -- {\s} [string tolower [Translit [$frm_1.txtProjName get]]] "_" txtFileName - set txtDirName [file join $projDir $txtFileName] - } - } - -} - -proc GetExtentionProj {lang} { - if {$lang=="Tcl" || $lang=="Tcl/Tk"} { - set ext "tcl" - } elseif {$lang == "Perl"} { - set ext pl - } elseif {$lang=="Java"} { - set ext "java" - } elseif {$lang=="Fortran"} { - set ext "for" - } elseif {$lang=="O'Caml"} { - set ext ml - } elseif {$lang=="Ruby"} { - set ext rb - } elseif {$lang=="PHP"} { - set ext php - } elseif {$lang=="Erlang"} { - set ext erl - } - return $ext -} -proc GetInterp {lang} { - global tcl_platform - if {$tcl_platform(platform) == "unix"} { - set interp [GetInterp_unix $lang] - } elseif {$tcl_platform(platform) == "windows"} { - set interp [GetInterp_windows $lang] - } else { - set interp "" - } - return $interp -} - -proc GetInterp_unix {lang} { - set searchCommand "which" - switch $lang { - Tcl {set interp "tclsh"} - Tcl/Tk {set interp "wish"} - Perl {set interp "perl"} - Java {set interp "java"} - Fortran {set interp ""} - O'Caml {set interp ""} - Ruby {set interp "ruby"} - PHP {set interp "php"} - Perl {set interp "perl"} - Erlang {set interp ""} - } - try { - set result [exec $searchCommand $interp] - } trap {} {} { - puts "Error: don't find interp for $lang" - set result "" - } - return $result -} -proc GetInterp_windows {lang} { - set searchCommand "where" - switch $lang { - Tcl {set interp "tclsh"} - Tcl/Tk {set interp "wish"} - Perl {set interp "perl"} - Java {set interp "java"} - Fortran {set interp ""} - O'Caml {set interp ""} - Ruby {set interp "ruby"} - PHP {set interp "php"} - Perl {set interp "perl"} - Erlang {set interp ""} - } - try { - set result [exec $searchCommand $interp] - } trap {} {} { - puts "Error: don't find interp for $lang" - set result "" - } - return $result -} - -proc SaveProj {txtFileName lang txtProjName txtFileName txtDirName \ -txtCompiler txtProjInterp txtProjVersion txtProjRelease txtProjAuthor \ -txtProjEmail txtProjCompany txtProjHome} { - global projDir workDir dataDir - - set file [file tail $txtDirName] - set projFile [open [file join $workDir $file.proj] w] - puts $projFile "ProjectName \"$txtProjName\"" - puts $projFile "ProjectLanguage \"$lang\"" - puts $projFile "ProjectFileName \"$txtFileName\"" - puts $projFile "ProjectDirName \"$txtDirName\"" - puts $projFile "ProjectCompiler \"$txtCompiler\"" - puts $projFile "ProjectInterp \"$txtProjInterp\"" - puts $projFile "ProjectVersion \"$txtProjVersion\"" - puts $projFile "ProjectRelease \"$txtProjRelease\"" - puts $projFile "ProjectAuthor \"$txtProjAuthor\"" - puts $projFile "ProjectEmail \"$txtProjEmail\"" - puts $projFile "ProjectCompany \"$txtProjCompany\"" - puts $projFile "ProjectHome \"$txtProjHome\"" - close $projFile -} - - -## CREATING PROJECT PROCEDURE ## -proc CreateProj {type lang txtFileName txtProjName txtFileName txtDirName \ -txtCompiler txtProjInterp txtProjVersion txtProjRelease txtProjAuthor txtProjEmail \ -txtProjCompany txtProjHome} { - global projDir workDir tree fontNormal dataDir tcl_platform - puts "$type $lang";# "$txtFileName" "$txtProjName" "$txtFileName" "$txtDirName"\ - # "$txtCompiler" "$txtProjInterp" "$txtProjVersion" "$txtProjRelease"\ - # "$txtProjAuthor" "$txtProjEmail" "$txtProjCompany" "$txtProjHome" - ## SAVING PROJECT SETTINGS ## - set projShortName [file tail $txtDirName] - - set projFile [open [file join $workDir $projShortName.proj] w] - - puts $projFile "ProjectName \"$txtProjName\"" - puts $projFile "ProjectLanguage \"$lang\"" - puts $projFile "ProjectFileName \"$txtFileName\"" - puts $projFile "ProjectDirName \"$txtDirName\"" - puts $projFile "ProjectCompiler \"$txtCompiler\"" - puts $projFile "ProjectInterp \"$txtProjInterp\"" - puts $projFile "ProjectVersion \"$txtProjVersion\"" - puts $projFile "ProjectRelease \"$txtProjRelease\"" - puts $projFile "ProjectAuthor \"$txtProjAuthor\"" - puts $projFile "ProjectEmail \"$txtProjEmail\"" - puts $projFile "ProjectCompany \"$txtProjCompany\"" - puts $projFile "ProjectHome \"$txtProjHome\"" - close $projFile - if {$type != "open"} { - set dir [file join $projDir $txtDirName] - if {[file exists "$dir"] != 1} { - file mkdir "$dir" - } - # file header - if {$lang=="Tcl" || $lang == "Tcl/Tk"} { - set text "######################################################\n#\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Home page: $txtProjHome\n######################################################\n" - } elseif {$lang == "Perl"} { - set lang pl - set text "######################################################\n#\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Home page: $txtProjHome\n######################################################\n" - } elseif {$lang=="Java"} { - set text "/*\n*****************************************************\n*\t$txtProjName\n*\tDistributed under GNU Public License\n* Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n*****************************************************\n*/\n" - } elseif {$lang=="Fortran"} { - set text "\nc*****************************************************\nc*\t$txtProjName\n*c\tDistributed under GNU Public License\nc* Author: $txtProjAuthor $txtProjEmail\nc* Home page: $txtProjHome\nc*****************************************************\n*/\n" - } elseif {$lang=="O'Caml"} { - set text "\(*****************************************************\n*\t$txtProjName\n*\tDistributed under GNU Public License\n* Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n******************************************************\)\n" - set lang ml - } elseif {$lang=="Ruby"} { - set lang rb - set text "######################################################\n#\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Home page: $txtProjHome\n######################################################\n" - } elseif {$lang=="PHP"} { - set text "" - set lang php - } elseif {$lang=="Erlang"} { - set text "\%**************************************************\n%\t$txtProjName\n%\tDistributed under GNU Public License\n% Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n%*****************************************************\)\n" - set lang erl - } - if {[file exists [file join $dir $txtFileName]] == 0} { - set file [open [file join $dir $txtFileName] w] - puts $file $text - close $file - } - # file attributes "$dir/$txtFileName.tcl" -permissions "777" - # catch {chmod 744 "$dir/$txtFileName.tcl"} mes - foreach f {README TODO CHANGELOG COPYING INSTALL} { - if {[file exists [file join $dir $f]] != 1} { - set file [open [file join $dir $f] w] - puts $file "$text" - if {$f == "CHANGELOG"} { - if {$tcl_platform(platform) == "windows"} { - set d [clock format [clock scan "now" -base [clock seconds]] -format %d/%m/%Y] - } elseif {$tcl_platform(platform) == "mac"} { - set d "Needed date command for this platform" - } elseif {$tcl_platform(platform) == "unix"} { - set d [clock format [clock scan "now" -base [clock seconds]] -format %d/%m/%Y] - } - - puts $file "$d\n\t- Beginning the project" - } - close $file - } - } - } else { - ## Insert new project into tree ## - # $tree insert end root $projShortName -text "$txtProjName" -font $fontNormal \ - # -data "prj_$projShortName" -open 0 -image [Bitmap::get folder] - # GetFiles $txtDirName $projShortName $tree - } - AddNewProjectIntoTree $projShortName.proj -} - -## OPEN EXISTING PROJECT AND ADDED INYO PROJMAN TREE ## -proc OpenProj {nbNode} { - global projDir workDir openProjDir prjDir prjName - #set prjDir [SelectDir $projDir] - # puts $nbNode - # what is a tree we clicked? - if {$nbNode eq "files"} { - set tree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles - } elseif {$nbNode eq "projects"} { - set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree - } - set item [$tree itemcget [$tree selection get] -data] - puts $item - if {[file isdirectory $item]} { - set prjDir $item - } elseif {[file isfile $item]} { - tk_messageBox -type ok -icon error -message "File will not added like project!" - return - } - - if {$prjDir != ""} { - set prjName "[file tail $prjDir]" - NewProj open "" "" - #file copy $prjDir $projDir - } - return -} - - -proc AddNewProjectIntoTree {proj} { - global workDir imgDir fontNormal - set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree - lappend rList [list [file join $workDir $proj]] - set projFile [open [file join $workDir $proj] r] - set prjName [file rootname $proj] - while {[gets $projFile line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectName"} { - regsub -all " " $string "_" project - set projName "$string" - } - if {$keyWord == "ProjectDirName"} { - set projList($prjName) [file dirname $string] - puts "$projList($prjName) - $string" - $tree insert end root $prjName -text "$projName" -font $fontNormal \ - -data "prj_$prjName" -open 0\ - -image [Bitmap::get [file join $imgDir folder.gif]] - GetFiles $tree $prjName [file join $string] - set dir $string - - } - } -} - -## ADD FILE INTO PROJECTS ## -proc AddToProj {fileName mode workingTree} { - global projDir workDir activeProject noteBook fontNormal imgDir count - set type [string trim [file extension $fileName] {.}] - destroy .addtoproj - - set node [$workingTree selection get] - #puts "$fileName $mode $workingTree $node" - set fullPath [$workingTree itemcget $node -data] - if {[file isdirectory $fullPath] == 1} { - set dir $fullPath - set parentNode $node - } else { - set dir [file dirname $fullPath] - set parentNode [$workingTree parent $node] - } - #puts ">>>>$node $parentNode $workingTree $fullPath" - - if {$type == "tcl"} { - set img "tcl" - } elseif {$type == "tk"} { - set img "tk" - } elseif {$type == "txt"} { - set img "file" - } elseif {$type == "html"} { - set img "html" - } elseif {$type == "java"} { - set img "java" - } elseif {$type == "pl" || $type == "perl"} { - set img "perl" - } elseif {$type == "for"} { - set img "fortran" - } elseif {$type == "ml" || $type == "mli"} { - set img "caml" - } elseif {$type == "php" || $type == "phtml"} { - set img "php" - } elseif {$type == "rb"} { - set img "ruby" - } elseif {$type == "rb"} { - set img "erl" - } else { - set img "file" - } - if {$mode == "directory"} { - set img "folder" - } - #set dir [file join $projDir $activeProject] - set dot "_" - set name [file rootname $fileName] - set ext [string range [file extension $fileName] 1 end] - if {$ext ne "" } { - set subNode "$parentNode$dot$name$dot$ext" - } else { - set subNode "$parentNode$dot$name" - } - #puts ">>>>$subNode" - $workingTree insert end $parentNode $subNode -text $fileName \ - -data [file join $dir $fileName] -open 1\ - -image [Bitmap::get [file join $imgDir $img.gif]]\ - -font $fontNormal - if {[$workingTree itemcget $parentNode -open] == 0} { - $workingTree itemconfigure $parentNode -open 1 - } - set file [file join $dir $fileName] - - if {$mode == "directory"} { - file mkdir $file - return - } - InsertTitle $file $type - EditFile [GetTreeForNode $subNode] $subNode [file join $dir $fileName] -} -## ADD FILE INTO PROJECT DIALOG## - -proc AddToProjDialog {mode node} { - global projDir workDir activeProject imgDir mod workingTree - set mod $mode - if {$node eq "files"} { - set workingTree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles - } elseif {$node eq "projects"} { - set workingTree .frmBody.frmCat.noteBook.fprojects.frmTree.tree - } else { - puts "Error node" - return - } - # if {$activeProject == ""} { -# set answer [tk_messageBox\ -# -message "[::msgcat::mc "Not found active project"]"\ -# -type ok -icon warning] -# case $answer { -# ok {return 0} -# } -# } - - set w .addtoproj - if {[winfo exists $w]} { - destroy $w - } - # create the new "goto" window - toplevel $w - wm title $w [::msgcat::mc "Create new $mod"] - wm resizable $w 0 0 - wm transient $w . - - frame $w.frmCanv -border 1 -relief sunken - frame $w.frmBtn -border 1 -relief sunken - pack $w.frmCanv -side top -fill both -padx 1 -pady 1 - pack $w.frmBtn -side top -fill x - - label $w.frmCanv.lblImgTcl -text [::msgcat::mc "Input $mod name"] - entry $w.frmCanv.entImgTcl - pack $w.frmCanv.lblImgTcl $w.frmCanv.entImgTcl -expand true -padx 5 -pady 5 -side top - - button $w.frmBtn.btnOk -text [::msgcat::mc "Create"] -relief groove \ - -command {AddToProj [.addtoproj.frmCanv.entImgTcl get] $mod $workingTree} - - button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"] -command "destroy $w" -relief groove - pack $w.frmBtn.btnOk $w.frmBtn.btnCancel -padx 2 -pady 2 -fill x -side left - - bind $w "destroy .addtoproj" - bind $w.frmCanv.entImgTcl { - AddToProj [.addtoproj.frmCanv.entImgTcl get] $mod $workingTree - } - focus -force $w.frmCanv.entImgTcl - puts "$node $workingTree $mode" - - #unset type -} -proc AddToProjDialog_ {} { - global projDir workDir activeProject imgDir tree - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning] - case $answer { - ok {return 0} - } - } - - set w .addtoproj - if {[winfo exists $w]} { - destroy $w - } - # create the new "goto" window - toplevel $w - wm title $w [::msgcat::mc "Create new file"] - wm resizable $w 0 0 - wm transient $w . - - frame $w.frmCanv -border 1 -relief sunken - frame $w.frmBtn -border 1 -relief sunken - pack $w.frmCanv -side top -fill both -padx 1 -pady 1 - pack $w.frmBtn -side top -fill x - - label $w.frmCanv.lblImgTcl -text [::msgcat::mc "Input file name"] - entry $w.frmCanv.entImgTcl - pack $w.frmCanv.lblImgTcl $w.frmCanv.entImgTcl -expand true -padx 5 -pady 5 -side top - - button $w.frmBtn.btnOk -text [::msgcat::mc "Create"] -relief groove -command { - AddToProj [.addtoproj.frmCanv.entImgTcl get] - } - button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"] -command "destroy $w" -relief groove - pack $w.frmBtn.btnOk $w.frmBtn.btnCancel -padx 2 -pady 2 -fill x -side left - - bind $w "destroy .addtoproj" - bind $w.frmCanv.entImgTcl { - AddToProj [.addtoproj.frmCanv.entImgTcl get] - } - focus -force $w.frmCanv.entImgTcl - -} -## DELETE FILE FROM PROJECT ## -proc DelFromProj {project} { - global projDir workDir - -} -## DELETEING PROJECT PROCEDURE ## -proc DelProj {} { - global workDir activeProject tree - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning] - case $answer { - ok {return 0} - } - } - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectDirName"} { - set projDir "$string" - puts $projDir - } - } - close $file - - set answer [tk_messageBox \ - -message "[::msgcat::mc "Delete project"] \"$activeProject\" \ - [::msgcat::mc "with all files"]?\n\ - [::msgcat::mc "If press \"Yes\" will deleted all files!"]\n\ - [::msgcat::mc "If press \"No\" will deleted only proj-file"]" \ - -type yesnocancel -icon question -default yes] - switch $answer { - yes { - FileDialog $tree close_all - file delete -force $projDir - file delete -force [file join $workDir $activeProject.proj] - file delete -force [file join $workDir $activeProject.tags] - $tree delete [$tree selection get] - $tree configure -redraw 1 - set activeProject "" - LabelUpdate .frmStatus.frmActive.lblActive "" - } - no { - file delete -force [file join $workDir $activeProject.proj] - file delete -force [file join $workDir $activeProject.tags] - $tree delete [$tree selection get] - $tree configure -redraw 1 - set activeProject "" - LabelUpdate .frmStatus.frmActive.lblActive "" - } - } -} - -proc CompileOption {string} { - global fontNormal cmdCompile editor - set w .cmd - # destroy the find window if it already exists - if {[winfo exists $w]} { - destroy $w - } - - toplevel $w - wm title $w [::msgcat::mc "Command options"] - wm resizable $w 0 0 - wm transient $w . - frame $w.frmCombo -borderwidth 1 -bg $editor(bg) - frame $w.frmBtn -borderwidth 1 -bg $editor(bg) - pack $w.frmCombo $w.frmBtn -side top -fill x - - # set combo [entry $w.frmCombo.entFind] - label $w.frmCombo.lblModule -text "[::msgcat::mc "Convert to"]" -bg $editor(bg) -fg $editor(fg) - label $w.frmCombo.lblFile -text "[::msgcat::mc "File"]" -bg $editor(bg) -fg $editor(fg) - set combo [entry $w.frmCombo.txtString -text "$string"] - - pack $w.frmCombo.lblModule $w.frmCombo.lblFile $combo -fill x -padx 2 -pady 2 -side top - - button $w.frmBtn.btnFind -text [::msgcat::mc "Run"]\ - -font $fontNormal -width 12 -relief groove -bg $editor(bg) -fg $editor(fg)\ - -command { - return [.cmd.frmCombo.txtString get] - destroy .cmd - } - button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"] -bg $editor(bg) -fg $editor(fg)\ - -relief groove -width 12 -font $fontNormal\ - -command "destroy $w" - pack $w.frmBtn.btnFind $w.frmBtn.btnCancel -fill x -padx 2 -pady 2 -side left - - bind $w { - set cmdCompile [.cmd.frmCombo.txtString get] - destroy .cmd - } - bind $w "destroy $w" - $combo insert end "$string" - focus -force $combo -} - -## MAKE PROJ PROCEDURE (RUNNING PROJECT) ## -proc MakeProj {action t} { - global activeProject projDir noteBook fontNormal fontBold workDir tree cmdCompile editor - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - FileDialog $tree save_all - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectName"} { - set projName "$string" - } - if {$keyWord == "ProjectFileName"} { - set projFileName "$string" - } - if {$keyWord == "ProjectDirName"} { - set projDirName "$string" - } - if {$keyWord == "ProjectCompiler"} { - set projCompiler "$string" - } - if {$keyWord == "ProjectInterp"} { - set projInterp "$string" - } - } - close $file - if {$action == "compile"} { - if {$t == "proj"} { - set prog [file join $projDirName $projFileName.java] - } elseif {$t == "file"} { - set node [$tree selection get] - set fullPath [$tree itemcget $node -data] - set dir [file dirname $fullPath] - set file [file tail $fullPath] - set prog $fullPath - } - } elseif {$action == "run"} { - if {$t == "proj"} { - set prog [file join $projDirName $projFileName] - } elseif {$t == "file"} { - set node [$tree selection get] - set fullPath [$tree itemcget $node -data] - set dir [file dirname $fullPath] - set file [file tail $fullPath] - set prog $fullPath - } - } - - set node "debug" - if {[$noteBook index $node] != -1} { - $noteBook delete debug - } - set w [$noteBook insert end $node -text [::msgcat::mc "Running project"]] - # create array with file names # - frame $w.frame -borderwidth 2 -relief ridge -background $editor(bg) - pack $w.frame -side top -fill both -expand true - - - text $w.frame.text -yscrollcommand "$w.frame.yscroll set" \ - -bg $editor(bg) -fg $editor(fg) \ - -relief sunken -wrap word -highlightthickness 0 -font $fontNormal\ - -selectborderwidth 0 -selectbackground #55c4d1 -width 10 -height 10 - scrollbar $w.frame.yscroll -relief sunken -borderwidth {1} -width {10} -takefocus 0 \ - -command "$w.frame.text yview" -background $editor(bg) - - pack $w.frame.text -side left -fill both -expand true - pack $w.frame.yscroll -side left -fill y - - frame $w.frmBtn -borderwidth 2 -relief ridge -bg $editor(bg) - pack $w.frmBtn -side top -fill x - button $w.frmBtn.btnOk -text [::msgcat::mc "Close"] -borderwidth {1} \ - -bg $editor(bg) -fg $editor(fg) -command { - $noteBook delete debug - $noteBook raise [$noteBook page end] - return 0 - } - pack $w.frmBtn.btnOk -pady 2 - # key bindings # - bind $w.frmBtn.btnOk { - $noteBook delete debug - $noteBook raise [$noteBook page end] - # return 0 - } - bind $w.frmBtn.btnOk { - $noteBook delete debug - $noteBook raise [$noteBook page end] - # return 0 - } - focus -force $w.frmBtn.btnOk - $noteBook raise $node - # insert debug data into text widget # - $w.frame.text tag configure bold -font $fontBold - $w.frame.text tag configure error -font $fontNormal -foreground red - $w.frame.text tag add bold 0.0 0.end - if {$action == "compile"} { - $w.frame.text insert end "[::msgcat::mc "Compile project"] - $activeProject\n" - $w.frame.text insert end "[::msgcat::mc "Compile"] - $prog\n\n" - } elseif {$action == "run"} { - $w.frame.text insert end "[::msgcat::mc "Running project"] - $activeProject\n" - $w.frame.text insert end "[::msgcat::mc "Run"] - $prog\n\n" - } - set pos [$w.frame.text index insert] - set lineNum [lindex [split $pos "."] 0] - $w.frame.text insert end "----------------- [::msgcat::mc "Programm output"] -----------------\n" - $w.frame.text tag add bold $lineNum.0 $lineNum.end - - # open and manipulate executed program chanel # - cd $projDirName - if {$action == "compile"} { - set cmdCompile "" - CompileOption "$projCompiler $prog" - vwait cmdCompile - puts "string - $projCompiler $prog" ;# debug info - set pipe [open "|$cmdCompile 2> [file join $projDirName errors]" "r"] - set f [open [file join $projDirName errors] "r"] - } elseif {$action == "run"} { - set pipe [open "|$projInterp $prog 2> [file join $projDirName errors]" "r"] - set f [open [file join $projDirName errors] "r"] - } - - fileevent $pipe readable [list DebugInfo $w.frame.text $pipe $f] - fconfigure $pipe -buffering none -blocking no -} -## INSERT DEBUG INFORMATION INTO TEXT WIDGET ## -proc DebugInfo {widget file f} { - $widget configure -state normal - if {[eof $file]} { - catch [close $file] msg - if {$msg != ""} { - puts $msg - $widget insert end "[::msgcat::mc "Program failed"]: $msg\n"; - } else { - puts $msg - $widget insert end "\n-------------------------------------------------\n" - $widget insert end "[::msgcat::mc "Program finished successfully"]\n" - } - } else { - $widget insert end [read $file] - } - while {[gets $f line]>=0} { - $widget insert end "$line\n" - puts $line - } - $widget see end - $widget tag add error 0.0 0.end - $widget configure -state disabled -} -## INSERT TITLE INTO NEW FILE ## -proc InsertTitle {newFile type} { - global activeProject projDir workDir ver - puts "$newFile $type" - set year [clock format [clock scan "now" -base [clock seconds]] -format %Y] - if {$activeProject == ""} { - set answer [tk_messageBox\ - -message "[::msgcat::mc "Not found active project"]"\ - -type ok -icon warning\ - -title [::msgcat::mc "Warning"]] - case $answer { - ok {return 0} - } - } - set file [open [file join $workDir $activeProject.proj] r] - while {[gets $file line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectName"} { - set txtProjName "$string" - } - if {$keyWord == "ProjectFileName"} { - set txtProjFileName "$string" - } - if {$keyWord == "ProjectDirName"} { - set txtProjDirName "$string" - } - if {$keyWord == "ProjectInterp"} { - set txtProjInterp "$string" - } - if {$keyWord == "ProjectVersion"} { - set txtProjVersion "$string" - } - if {$keyWord == "ProjectRelease"} { - set txtProjRelease "$string" - } - if {$keyWord == "ProjectAuthor"} { - set txtProjAuthor "$string" - } - if {$keyWord == "ProjectEmail"} { - set txtProjEmail "$string" - } - if {$keyWord == "ProjectCompany"} { - set txtProjCompany "$string" - } - if {$keyWord == "ProjectHome"} { - set txtProjHome "$string" - } - } - if {$type == "html"} { - set fileTitle "\n\n\n\n\n\n\n\n\n\n" - } elseif {$type == "tcl"} { - set fileTitle "#!$txtProjInterp\n######################################################\n#\t\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Copyright (c) \"$txtProjCompany\", $year, $txtProjHome\n######################################################\n" - } elseif {$type == "perl" || $type == "pl"} { - set fileTitle "######################################################\n#\t\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Copyright (c) \"$txtProjCompany\", $year, $txtProjHome\n######################################################\n" - } elseif {$type == "txt"} { - set fileTitle "#######################################################\n#\t\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Copyright (c) \"$txtProjCompany\", $year, $txtProjHome\n######################################################\n" - } elseif {$type == "rb"} { - set fileTitle "#!$txtProjInterp\n######################################################\n#\t\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Copyright (c) \"$txtProjCompany\", $year, $txtProjHome\n######################################################\n" - } elseif {$type == "java"} { - set fileTitle "/*\n*****************************************************\n*\t$txtProjName\n*\tDistributed under GNU Public License\n* Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n*****************************************************\n*/\n" - } elseif {$type == "for"} { - set fileTitle "*****************************************************\n*\t$txtProjName\n*\tDistributed under GNU Public License\n* Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n*****************************************************\n" - } elseif {$type == "ml" || $type == "mli"} { - set fileTitle "\(*****************************************************\n*\t$txtProjName\n*\tDistributed under GNU Public License\n* Author: $txtProjAuthor $txtProjEmail\n* Home page: $txtProjHome\n*****************************************************\)\n" - } elseif {$type == "php" || $type == "phtml"} { - set fileTitle "" - } elseif {$type == "tml"} { - set fileTitle "\n" - } elseif {$type == "erl"} { - set fileTitle "%*****************************************************\n%\t$txtProjName\n%\tDistributed under GNU Public License\n% Author: $txtProjAuthor $txtProjEmail\n% Home page: $txtProjHome\n%****************************************************\n" - } else { - set fileTitle "######################################################\n#\t\t$txtProjName\n#\tDistributed under GNU Public License\n# Author: $txtProjAuthor $txtProjEmail\n# Copyright (c) \"$txtProjCompany\", $year, $txtProjHome\n######################################################\n" - } - set pipe [open $newFile w] - # puts "$newFile\n $fileTitle" ;# debuf info - puts $pipe $fileTitle - close $pipe -} - - - - - - - - - diff --git a/lib/settings.tcl b/lib/settings.tcl deleted file mode 100644 index 0ce09b5..0000000 --- a/lib/settings.tcl +++ /dev/null @@ -1,672 +0,0 @@ -###################################################### -# Tcl/Tk project Manager -# Distributed under GNU Public License -# Author: Sergey Kalinin banzaj28@yandex.ru -# Home page: http://nuk-svk.ru -###################################################### - - -proc ColorSelect {ent w} { - set color [SelectColor::menu $w.color [list below $w] -color [$w cget -background]] - if {[string length $color]} { - $ent configure -foreground $color - InsertEnt $ent $color - } -} - -## SHOW SELECTED COLOR IN DIALOG ## -proc ConfigureEnt {col} { - global editor color - global main editFrm network - $editFrm.frmColorEditFG.txtColorEditFG configure -background $col - $editFrm.frmColorProc.txtColorProc configure -background $col -fg $color(procName) - $editFrm.frmColorKeyWord.txtColorKeyWord configure -background $col -fg $color(keyWord) - $editFrm.frmColorParam.txtColorParam configure -background $col -fg $color(param) - $editFrm.frmColorSubParam.txtColorSubParam configure -background $col -fg $color(subParam) - $editFrm.frmColorComments.txtColorComments configure -background $col -fg $color(comments) - $editFrm.frmColorVar.txtColorVar configure -background $col -fg $color(var) - $editFrm.frmColorString.txtColorString configure -background $col -fg $color(string) - $editFrm.frmColorBrace.txtColorBrace configure -background $col -fg $color(brace) - $editFrm.frmColorBraceQuad.txtColorBraceQuad configure -background $col -fg $color(bracequad) - $editFrm.frmColorBraceBG.txtColorBraceBG configure -background $col -fg $color(braceBG) - $editFrm.frmColorBraceFG.txtColorBraceFG configure -background $col -fg $color(braceFG) - $editFrm.frmColorPercent.txtColorPercent configure -background $col -fg $color(percent) - $editFrm.frmColorBindKey.txtColorBindKey configure -background $col -fg $color(bindKey) - $editFrm.frmColorLabel.txtColorLabel configure -background $col -fg $color(label) - $editFrm.frmColorSixFG.txtColorSixFG configure -background $col -fg $color(sixFG) - $editFrm.frmColorSixBG.txtColorSixBG configure -background $col -fg $color(sixBG) - $editFrm.frmColorSQL.txtColorSQL configure -background $col -fg $color(sql) -} - -## READ CONFIG FILE ## -proc LoadSettings {} { - global fontNormal imgDir workDir msgDir - global editor color nb - global main editFrm network menuShow - global toolBar autoFormat backUpDel backUpCreate backUpShow showDotFiles localeSet localeList wrapSet wrapList - - ## load .conf file ## - set file [open [file join $workDir projman.conf] r] - while {[gets $file line]>=0} { - scan $line "%s%s%s" trash keyWord var - if {$trash == "set"} { - set var [string trim $var "\""] - switch $keyWord { - fontNormal { - set v [string trim [string range $line [string first $var $line] end] "\""] - InsertEnt $main.frmFontNormal.txtFontNormal "$v" - } - fontBold { - set v [string trim [string range $line [string first $var $line] end] "\""] - InsertEnt $main.frmFontBold.txtFontBold "$v" - } - locale { - set localeIndex [lsearch -exact $localeList "$var"] - if {$localeIndex != -1} { - $main.frmLocale.txtLocale setvalue @$localeIndex - } else { - puts "$var.msg file not found into $msgDir" - } - } - menuShow { - if {$var == "Yes"} { - set menuShow "true" - } else { - set menuShow "false" - } - } - toolBar { - if {$var == "Yes"} { - set toolBar "true" - } else { - set toolBar "false" - } - } - backUpFileShow { - if {$var == "Yes"} { - set backUpShow "true" - } else { - set backUpShow "false" - } - } - backUpFileCreate { - if {$var == "Yes"} { - set backUpCreate "true" - } else { - set backUpCreate "false" - } - } - backUpFileDel { - if {$var == "Yes"} { - set backUpDel "true" - } else { - set backUpDel "false" - } - } - dotFileShow { - if {$var == "Yes"} { - set showDotFiles "true" - } else { - set showDotFiles "false" - } - } - projDir {InsertEnt $main.frmProjDir.txtProjDir "$var"} - rpmDir {InsertEnt $main.frmRpmDir.txtRpmDir "$var"} - tgzDir {InsertEnt $main.frmTgzDir.txtTgzDir "$var"} - rpmNamed {InsertEnt $main.frmRpmNamed.txtRpmNamed "$var"} - tgzNamed {InsertEnt $main.frmTgzNamed.txtTgzNamed "$var"} - autoFormat {if {$var == "Yes"} {set autoFormat "true"} else {set autoFormat "false"}} - "editor(wrap)" { - set wrapIndex [lsearch -exact $wrapList "$var"] - if {$wrapIndex != -1} { - $editFrm.frmWrap.txtWrap setvalue @$wrapIndex - } - unset wrapIndex - } - "editor(bg)" { - InsertEnt $editFrm.frmColorEditBG.txtColorEditBG "$var" - ConfigureEnt $var - } - "editor(fg)" {InsertEnt $editFrm.frmColorEditFG.txtColorEditFG "$var"} - "editor(selectbg)" {InsertEnt $editFrm.frmColorSelectBG.txtColorSelectBG "$var"} - "editor(nbNormal)" {InsertEnt $editFrm.frmColorNbNormal.txtColorNbNormal "$var"} - "editor(nbModify)" {InsertEnt $editFrm.frmColorNbModify.txtColorNbModify "$var"} - "color(procName)" {InsertEnt $editFrm.frmColorProc.txtColorProc "$var"} - "color(keyWord)" {InsertEnt $editFrm.frmColorKeyWord.txtColorKeyWord "$var"} - "color(param)" {InsertEnt $editFrm.frmColorParam.txtColorParam "$var"} - "color(subParam)" {InsertEnt $editFrm.frmColorSubParam.txtColorSubParam "$var"} - "color(comments)" {InsertEnt $editFrm.frmColorComments.txtColorComments "$var"} - "color(var)" {InsertEnt $editFrm.frmColorVar.txtColorVar "$var"} - "color(string)" {InsertEnt $editFrm.frmColorString.txtColorString "$var"} - "color(brace)" {InsertEnt $editFrm.frmColorBrace.txtColorBrace "$var"} - "color(bracequad)" {InsertEnt $editFrm.frmColorBraceQuad.txtColorBraceQuad "$var"} - "color(braceBG)" {InsertEnt $editFrm.frmColorBraceBG.txtColorBraceBG "$var"} - "color(braceFG)" {InsertEnt $editFrm.frmColorBraceFG.txtColorBraceFG "$var"} - "color(percent)" {InsertEnt $editFrm.frmColorPercent.txtColorPercent "$var"} - "color(bindKey)" {InsertEnt $editFrm.frmColorBindKey.txtColorBindKey "$var"} - "color(label)" {InsertEnt $editFrm.frmColorLabel.txtColorLabel "$var"} - "color(sixFG)" {InsertEnt $editFrm.frmColorSixFG.txtColorSixFG "$var"} - "color(sixBG)" {InsertEnt $editFrm.frmColorSixBG.txtColorSixBG "$var"} - "color(sql)" {InsertEnt $editFrm.frmColorSQL.txtColorSQL "$var"} - } - if {$keyWord == "editor(fontBold)"} { - set v [string trim [string range $line [string first $var $line] end] "\""] - InsertEnt $editFrm.frmEditorFontBold.txtEditorFontBold "$v" - } - if {$keyWord == "editor(font)"} { - set v [string trim [string range $line [string first $var $line] end] "\""] - InsertEnt $editFrm.frmEditorFont.txtEditorFont "$v" - } - } - } - close $file -} - -## SAVE SETTINGS PROCEDURE ## -proc SaveSettings {} { - global editor color workDir topLevelGeometry - global main editFrm network wrapSet - file copy -force [file join $workDir projman.conf] [file join $workDir projman.conf.old] - set file [open [file join $workDir projman.conf] w] - puts $file "###########################################################" - puts $file "# TCL/Tk Project Manager #" - puts $file "# version $ver #" - puts $file "# #" - puts $file "# Copyright \(c\) \"Sergey Kalinin\", 2001, http://nuk-svk.ru #" - puts $file "# Authors: Sergey Kalinin \(aka BanZaj\) banzaj28@yandex.ru #" - puts $file "###########################################################\n" - puts $file "# Modification date: [exec date]" - puts $file "###########################################################\n" - puts $file "set topLevelGeometry \"$topLevelGeometry\"" - puts $file "# Normal Font" - puts $file "set fontNormal \"[$main.frmFontNormal.txtFontNormal get]\"" - puts $file "# Bold Font #" - puts $file "set fontBold \"[$main.frmFontBold.txtFontBold get]\"" - puts $file "# ToolBar on/off \(Yes/No\)" - if {$toolBar == "false"} { - puts $file "set toolBar \"No\"\n" - } else { - puts $file "set toolBar \"Yes\"\n" - } - puts $file "# Menu on/off \(Yes/No\)" - if {$menuShow == "false"} { - puts $file "set menuShow \"No\"\n" - } else { - puts $file "set menuShow \"Yes\"\n" - } - if {$backUpShow == "false"} { - puts $file "set backUpFileShow \"No\"" - } else { - puts $file "set backUpFileShow \"Yes\"" - } - if {$backUpCreate == "false"} { - puts $file "set backUpFileCreate \"No\"" - } else { - puts $file "set backUpFileCreate \"Yes\"" - } - if {$backUpDel == "false"} { - puts $file "set backUpFileDelete \"No\"" - } else { - puts $file "set backUpFileDelete \"Yes\"" - } - if {$showDotFiles == "false"} { - puts $file "set dotFileShow \"No\"" - } else { - puts $file "set dotFileShow \"Yes\"" - } - puts $file "\n# Don't edit this line" - puts $file "# Directorys Settings #" - puts $file "set projDir \"[$main.frmProjDir.txtProjDir get]\"" - puts $file "set rpmDir \"[$main.frmRpmDir.txtRpmDir get]\"" - puts $file "set tgzDir \"[$main.frmTgzDir.txtTgzDir get]\"" - puts $file "# File mask #" - puts $file "set rpmNamed \"[$main.frmRpmNamed.txtRpmNamed get]\"" - puts $file "set tgzNamed \"[$main.frmTgzNamed.txtTgzNamed get]\"" - puts $file "\n# Locale setting\nset locale \"$localeSet\"" - - if {$autoFormat == "false"} { - puts $file "set autoFormat \"No\"\n" - } else { - puts $file "set autoFormat \"Yes\"\n" - } - puts $file "# Editor Font #" - puts $file "set editor(font) \"[$frm_17.txtEditorFont get]\"" - puts $file "# Editor Bold Font #" - puts $file "set editor(fontBold) \"[$frm_18.txtEditorFontBold get]\"" - puts $file "# background color #" - puts $file "set editor(bg) \"[$editFrm.frmColorEditBG.txtColorEditBG get]\"" - puts $file "# foreground color #" - puts $file "set editor(fg) \"[$editFrm.frmColorEditFG.txtColorEditFG get]\"" - puts $file "# selection background color #" - puts $file "set editor(selectbg) \"[$editFrm.frmColorSelectBG.txtColorSelectBG get]\"" - puts $file "# NoteBook title normal font color #" - puts $file "set editor(nbNormal) \"[$editFrm.frmColorNbNormal.txtColorNbNormal get]\"" - puts $file "# NoteBook title modify font color #" - puts $file "set editor(nbModify) \"[$editFrm.frmColorNbModify.txtColorNbModify get]\"" - puts $file "# selection border width #" - puts $file "set editor(selectBorder) \"0\"" - puts $file "# Editor wraping #" - puts $file "# must be: none, word or char" - puts $file "set editor(wrap) \"$wrapSet\"" - - puts $file "## SOURCE CODE HIGHLIGTNING ##" - puts $file "set color(procName) \"[$editFrm.frmColorProc.txtColorProc get]\"" - puts $file "set color(keyWord) \"[$editFrm.frmColorKeyWord.txtColorKeyWord get]\"" - puts $file "set color(param) \"[$editFrm.frmColorCParam.txtColorParam get]\"" - puts $file "set color(subParam) \"[$editFrm.frmColorSubParam.txtColorSubParam get]\"" - puts $file "set color(comments) \"[$editFrm.frmColorComments.txtColorComments get]\"" - puts $file "set color(var) \"[$editFrm.frmColorVar.txtColorVar get]\"" - puts $file "set color(string) \"[$editFrm.frmColorString.txtColorString get]\"" - puts $file "set color(brace) \"[$editFrm.frmColorBrace.txtColorBrace get]\"" - puts $file "set color(bracequad) \"[$editFrm.frmColorBraceQuad.txtColorBraceQuad get]\"" - puts $file "set color(braceBG) \"[$editFrm.frmColorBraceBG.txtColorBraceBG get]\"" - puts $file "set color(braceFG) \"[$editFrm.frmColorBraceFG.txtColorBraceFG get]\"" - puts $file "set color(percent) \"[$editFrm.frmColorPercent.txtColorPercent get]\"" - puts $file "set color(bindKey) \"[$editFrm.frmColorBindKey.txtColorBindKey get]\"" - puts $file "set color(label) \"[$editFrm.frmColorLabel.txtColorLabel get]\"" - puts $file "set color(sixFG) \"[$editFrm.frmColorSixFG.txtColorSixFG get]\"" - puts $file "set color(sixBG) \"[$editFrm.frmColorSixBG.txtColorSixBG get]\"" - puts $file "set color(sql) \"[$editFrm.frmColorSQL.txtColorSQL get]\"" - puts $file "\nset workingProject \"\"" - close $file - $noteBook delete settings - $noteBook raise [$noteBook page end] -} - - -proc Settings {nBook} { - global fontNormal fontBold imgDir workDir - global editor color nb topLevelGeometry - global main editFrm network menuShow - global toolBar autoFormat backUpDel backUpCreate backUpShow showDotFiles localeSet localeList wrapSet wrapList - set topLevelGeometry [winfo geometry .] - if {[$nBook index settings] != -1} { - $nBook delete settings - } - set w [$nBook insert end settings -text [::msgcat::mc "Settings"]] - $nBook raise settings - - # destroy the find window if it already exists - frame $w.frmMain -borderwidth 1 - pack $w.frmMain -side top -fill both -expand true - frame $w.frmBtn -borderwidth 1 - pack $w.frmBtn -side top -fill x - - set nb [NoteBook $w.frmMain.noteBook -font $fontBold \ - -side bottom -bg $editor(bg) -fg $editor(fg)] - pack $nb -fill both -expand true -padx 2 -pady 2 - - button $w.frmBtn.btnFind -text [::msgcat::mc "Save"] \ - -font $fontNormal -width 12 -relief flat \ - -bg $editor(bg) -fg $editor(fg) -command { - file copy -force [file join $workDir projman.conf] [file join $workDir projman.conf.old] - set file [open [file join $workDir projman.conf] w] - puts $file "###########################################################" - puts $file "# TCL/Tk Project Manager #" - puts $file "# version $ver #" - puts $file "# #" - puts $file "# Copyright \(c\) \"Sergey Kalinin\", 2001, http://nuk-svk.ru #" - puts $file "# Authors: Sergey Kalinin \(aka BanZaj\) banzaj28@yandex.ru #" - puts $file "###########################################################" - puts $file "# Modification date: [exec date]" - puts $file "###########################################################\n" - puts $file "set topLevelGeometry \"$topLevelGeometry\"" - puts $file "# Normal Font" - puts $file "set fontNormal \"[$main.frmFontNormal.txtFontNormal get]\"" - puts $file "# Bold Font #" - puts $file "set fontBold \"[$main.frmFontBold.txtFontBold get]\"" - puts $file "# ToolBar on/off \(Yes/No\)" - if {$toolBar == "false"} { - puts $file "set toolBar \"No\"\n" - } else { - puts $file "set toolBar \"Yes\"\n" - } - puts $file "# Menu on/off \(Yes/No\)" - if {$menuShow == "false"} { - puts $file "set menuShow \"No\"\n" - } else { - puts $file "set menuShow \"Yes\"\n" - } - if {$backUpShow == "false"} { - puts $file "set backUpFileShow \"No\"" - } else { - puts $file "set backUpFileShow \"Yes\"" - } - if {$backUpCreate == "false"} { - puts $file "set backUpFileCreate \"No\"" - } else { - puts $file "set backUpFileCreate \"Yes\"" - } - if {$backUpDel == "false"} { - puts $file "set backUpFileDelete \"No\"" - } else { - puts $file "set backUpFileDelete \"Yes\"" - } - if {$showDotFiles == "false"} { - puts $file "set dotFileShow \"No\"" - } else { - puts $file "set dotFileShow \"Yes\"" - } - puts $file "\n# Don't edit this line" - puts $file "# Directorys Settings #" - puts $file "set projDir \"[$main.frmProjDir.txtProjDir get]\"" - puts $file "set rpmDir \"[$main.frmRpmDir.txtRpmDir get]\"" - puts $file "set tgzDir \"[$main.frmTgzDir.txtTgzDir get]\"" - puts $file "# File mask #" - puts $file "set rpmNamed \"[$main.frmRpmNamed.txtRpmNamed get]\"" - puts $file "set tgzNamed \"[$main.frmTgzNamed.txtTgzNamed get]\"" - puts $file "\n# Locale setting\nset locale \"$localeSet\"" - - if {$autoFormat == "false"} { - puts $file "set autoFormat \"No\"\n" - } else { - puts $file "set autoFormat \"Yes\"\n" - } - puts $file "# Editor Font #" - puts $file "set editor(font) \"[$editFrm.frmEditorFont.txtEditorFont get]\"" - puts $file "# Editor Bold Font #" - puts $file "set editor(fontBold) \"[$editFrm.frmEditorFontBold.txtEditorFontBold get]\"" - puts $file "# background color #" - puts $file "set editor(bg) \"[$editFrm.frmColorEditBG.txtColorEditBG get]\"" - puts $file "# foreground color #" - puts $file "set editor(fg) \"[$editFrm.frmColorEditFG.txtColorEditFG get]\"" - puts $file "# selection background color #" - puts $file "set editor(selectbg) \"[$editFrm.frmColorSelectBG.txtColorSelectBG get]\"" - puts $file "# NoteBook title normal font color #" - puts $file "set editor(nbNormal) \"[$editFrm.frmColorNbNormal.txtColorNbNormal get]\"" - puts $file "# NoteBook title modify font color #" - puts $file "set editor(nbModify) \"[$editFrm.frmColorNbModify.txtColorNbModify get]\"" - puts $file "# selection border width #" - puts $file "set editor(selectBorder) \"0\"" - puts $file "# Editor wraping #" - puts $file "# must be: none, word or char" - puts $file "set editor(wrap) \"$wrapSet\"" - - puts $file "## SOURCE CODE HIGHLIGTNING ##" - puts $file "set color(procName) \"[$editFrm.frmColorProc.txtColorProc get]\"" - puts $file "set color(keyWord) \"[$editFrm.frmColorKeyWord.txtColorKeyWord get]\"" - puts $file "set color(param) \"[$editFrm.frmColorParam.txtColorParam get]\"" - puts $file "set color(subParam) \"[$editFrm.frmColorSubParam.txtColorSubParam get]\"" - puts $file "set color(comments) \"[$editFrm.frmColorComments.txtColorComments get]\"" - puts $file "set color(var) \"[$editFrm.frmColorVar.txtColorVar get]\"" - puts $file "set color(string) \"[$editFrm.frmColorString.txtColorString get]\"" - puts $file "set color(brace) \"[$editFrm.frmColorBrace.txtColorBrace get]\"" - puts $file "set color(bracequad) \"[$editFrm.frmColorBraceQuad.txtColorBraceQuad get]\"" - puts $file "set color(braceBG) \"[$editFrm.frmColorBraceBG.txtColorBraceBG get]\"" - puts $file "set color(braceFG) \"[$editFrm.frmColorBraceFG.txtColorBraceFG get]\"" - puts $file "set color(percent) \"[$editFrm.frmColorPercent.txtColorPercent get]\"" - puts $file "set color(bindKey) \"[$editFrm.frmColorBindKey.txtColorBindKey get]\"" - puts $file "set color(label) \"[$editFrm.frmColorLabel.txtColorLabel get]\"" - puts $file "set color(sixFG) \"[$editFrm.frmColorSixFG.txtColorSixFG get]\"" - puts $file "set color(sixBG) \"[$editFrm.frmColorSixBG.txtColorSixBG get]\"" - puts $file "set color(sql) \"[$editFrm.frmColorSQL.txtColorSQL get]\"" - puts $file "\nset workingProject \"\"" - - close $file - #destroy $w - .frmBody.frmWork.noteBook delete settings - - } - button $w.frmBtn.btnCancel -text [::msgcat::mc "Close"] -relief flat -width 12\ - -font $fontNormal -command "destroy $w; $nBook delete settings " -bg $editor(bg) -fg $editor(fg) - pack $w.frmBtn.btnFind $w.frmBtn.btnCancel -fill x -padx 5 -pady 5 -side right - - ################## MAIN PREF ########################## - set main [$nb insert end main -text "[::msgcat::mc "Main"]"] - - set scrwin [ScrolledWindow $main.scrwin -relief flat -bd 2 -bg $editor(bg)] - #pack $scrwin -fill both -expand true - set scrfrm [ScrollableFrame $main.frm -bg $editor(bg) -constrainedwidth true] - pack $scrwin -fill both -expand true - pack $scrfrm -fill both -expand true - - $scrwin setwidget $scrfrm - set main [$scrfrm getframe] - label $main.lblWinTitle -text [::msgcat::mc "Main settings"] -height 2 -font $fontBold - pack $main.lblWinTitle -side top -fill x -expand true - - #### BEGIN Fonts settings #### - set fontWidgets { - FontNormal {Font normal} - FontBold {Font bold} - } - foreach {widgetName widgetText} $fontWidgets { - set frm [frame $main.frm$widgetName -bg $editor(bg)] - label $frm.lbl$widgetName -text [::msgcat::mc $widgetText] -width 30 -anchor w \ - -font $fontNormal -fg $editor(fg) -bg $editor(bg) - entry $frm.txt$widgetName - button $frm.btn$widgetName -borderwidth {1} -font $fontNormal \ - -command "SelectFontDlg \"$fontBold\" $main.frm$widgetName.txt$widgetName" \ - -image [Bitmap::get [file join $imgDir font_selector.gif]] - pack $frm.lbl$widgetName -side left - pack $frm.txt$widgetName -side left -fill x -expand true - pack $frm.btn$widgetName -side left - pack $frm -side top -fill both -expand true -padx 5 -pady 2 - unset frm - } - #### END ##### - - set frm_5 [frame $main.frmLocale -bg $editor(bg)] - label $frm_5.lblLocale -text [::msgcat::mc "Interface language"]\ - -width 30 -anchor w -font $fontNormal -fg $editor(fg) -bg $editor(bg) - set combo [ComboBox $frm_5.txtLocale \ - -textvariable localeSet -command "puts 123"\ - -selectbackground "#55c4d1" -selectborderwidth 0\ - -values [GetLocale]] - pack $frm_5.lblLocale -side left - pack $frm_5.txtLocale -side left ;#-fill x -expand true - pack $frm_5 -side top -fill both -expand true -padx 5 -pady 2 - - #### BEGIN directory widgets builder ### - set dirWidgets { - ProjDir Projects - RpmDir {RPM directory} - TgzDir {Archive directory} - } - foreach {widgetName widgetText} $dirWidgets { - set frm [frame $main.frm$widgetName -bg $editor(bg)] - label $frm.lbl$widgetName -text [::msgcat::mc "$widgetText"] \ - -width 30 -anchor w -font $fontNormal -fg $editor(fg) - entry $frm.txt$widgetName - button $frm.btn$widgetName -borderwidth {1} -font $fontNormal \ - -image [Bitmap::get [file join $imgDir folder.gif]]\ - -command "DirInsertIntoEnt $main.frm$widgetName.txt$widgetName $workDir" - pack $frm.lbl$widgetName -side left - pack $frm.txt$widgetName -side left -fill x -expand true - pack $frm.btn$widgetName -side left - pack $frm -side top -fill both -expand true -padx 5 -pady 2 - unset frm - } - # little workaround hack - proc DirInsertIntoEnt {widget dir} { - InsertEnt $widget [SelectDir $dir] - } - ######### END ######### - - #### BEGIN file mask widgets builder ### - set fileMaskWidgets { - RpmNamed {RPM file mask} - TgzNamed {Archive file mask} - } - foreach {widgetName widgetText} $fileMaskWidgets { - set frm [frame $main.frm$widgetName -bg $editor(bg)] - label $frm.lbl$widgetName -text [::msgcat::mc "$widgetText"] -width 30 -anchor w\ - -font $fontNormal -fg $editor(fg) - entry $frm.txt$widgetName - pack $frm.lbl$widgetName -side left - pack $frm.txt$widgetName -side left -fill x -expand true - pack $frm -side top -fill both -expand true -padx 5 -pady 2 - unset frm - } - ######### END ########## - - ### BEGIN CheckBox widgets build #### - set cbWidgets { - MenuShow menuShow {Show the Menu} - ToolBar toolBar {Toolbar} - BackUpShow backUpShow {Show backup files} - BackUpCreate backUpCreate {Create backup files} - BackUpDel backUpDel {Delete backup files} - DotFilesShow dotFileShow {Show dot files} - } - foreach {widgetName confVar widgetText} $cbWidgets { - set frm [frame $main.frm$widgetName -bg $editor(bg)] - label $frm.lbl$widgetName -text [::msgcat::mc "$widgetText"]\ - -width 30 -anchor w -font $fontNormal -fg $editor(fg) - checkbutton $frm.chk$widgetName -text "" -variable $confVar \ - -font $fontNormal -onvalue true -offvalue false - pack $frm.lbl$widgetName -side left - pack $frm.chk$widgetName -side left - pack $frm -side top -fill both -expand true -padx 5 -pady 2 - unset frm - } - ######### END ########## - - #################### EDITOR PREF ######################### - set editFrm [$nb insert end editor -text "[::msgcat::mc "Editor"]"] - - set scrwin [ScrolledWindow $editFrm.scrwin -relief flat -bd 2 -bg $editor(bg)] - set scrfrm [ScrollableFrame $editFrm.frm -bg $editor(bg) -constrainedwidth true] - pack $scrwin -fill both -expand true -fill both - pack $scrfrm -fill both -expand true -fill both - $scrwin setwidget $scrfrm - - set editFrm [$scrfrm getframe] - label $editFrm.lblTitle -text [::msgcat::mc "Editor settings"] -height 2 -font $fontBold - pack $editFrm.lblTitle -side top -fill x -expand true - - ### BEGIN editor fonts settings field builder #### - set fontWidgets { - EditorFont {Editor font} - EditorFontBold {Editor font bold} - } - foreach {widgetName widgetText} $fontWidgets { - set frm [frame $editFrm.frm$widgetName -bg $editor(bg)] - label $frm.lbl$widgetName -text [::msgcat::mc "$widgetText"] -width 30\ - -anchor w -font $fontNormal - entry $frm.txt$widgetName - button $frm.btn$widgetName -borderwidth {1} -font $fontNormal \ - -command "SelectFontDlg \"$editor(font)\" $editFrm.frm$widgetName.txt$widgetName" \ - -image [Bitmap::get [file join $imgDir font_selector.gif]] - pack $frm.lbl$widgetName -side left - pack $frm.txt$widgetName -side left -fill x -expand true - pack $frm.btn$widgetName -side left - pack $frm -side top -fill x -expand true -padx 5 -pady 2 - unset frm - } - #### END #### - set frm_21 [frame $editFrm.frmColorEditBG -bg $editor(bg)] - label $frm_21.lblColorEditBG -text [::msgcat::mc "Editor background"]\ - -width 30 -anchor w -font $fontNormal - entry $frm_21.txtColorEditBG - button $frm_21.btnColorEditBG -borderwidth {1} -font $fontNormal \ - -text "Select color" -image [Bitmap::get [file join $imgDir color_selector.gif]]\ - -command { - ColorSelect $editFrm.frmColorEditBG.txtColorEditBG $editFrm.frmColorEditBG.btnColorEditBG - ConfigureEnt [Text $editFrm.frmColorEditBG.txtColorEditBG] - } - pack $frm_21.lblColorEditBG -side left - pack $frm_21.txtColorEditBG -side left -fill x -expand true - pack $frm_21.btnColorEditBG -side left - - set frm_15 [frame $editFrm.frmAutoFormat -bg $editor(bg)] - label $frm_15.lblAutoFormat -text [::msgcat::mc "Text autoformat"]\ - -width 30 -anchor w -font $fontNormal - checkbutton $frm_15.chkAutoFormat -text "" -variable autoFormat \ - -font $fontNormal -onvalue true -offvalue false - pack $frm_15.lblAutoFormat -side left - pack $frm_15.chkAutoFormat -side left - - set wrapList [list none word char] - - set frm_28 [frame $editFrm.frmWrap -bg $editor(bg)] - label $frm_28.lblWrap -text [::msgcat::mc "Word wrapping"]\ - -width 30 -anchor w -font $fontNormal - set combo2 [ComboBox $frm_28.txtWrap\ - -textvariable wrapSet -command "puts 123"\ - -selectbackground "#55c4d1" -selectborderwidth 0\ - -values "$wrapList"] - pack $frm_28.lblWrap -side left - pack $combo2 -side left - - pack $frm_15 $frm_28 $frm_21 -side top -fill x -expand true -padx 5 -pady 2 - - #### BEGIN of Color setting label and entry build #### - set colorWidgets { - EditFG {Editor foreground} - Proc {Procedure name} - KeyWord {Operators} - Param {Parameters} - SubParam {Subparameters} - Comments {Comments} - Var {Variables} - String {Quote string} - Brace {Braces} - BraceBG {Braces background} - BraceFG {Braces foreground} - Percent Percent - BindKey {Key bindings} - SelectBG {Selection color} - NbNormal {Title normal} - NbModify {Title modify} - Label {Label} - SixFG {Indent foreground} - SixBG {Indent background} - SQL {SQL commands} - BraceQuad {Quad braces} - } - foreach {widgetName widgetText} $colorWidgets { - set frm [frame $editFrm.frmColor$widgetName -bg $editor(bg)] - puts "$frm >$widgetName> $widgetText" - label $frm.lblColor$widgetName -text "[::msgcat::mc $widgetText]"\ - -width 30 -anchor w -font $fontNormal - entry $frm.txtColor$widgetName -background $editor(bg) - button $frm.btnColor$widgetName -borderwidth {1} -font $fontNormal \ - -command "ColorSelect $frm.txtColor$widgetName $frm.txtColor$widgetName" \ - -text "[::msgcat::mc $widgetText]"\ - -image [Bitmap::get [file join $imgDir color_selector.gif]] - pack $frm.lblColor$widgetName -side left - pack $frm.txtColor$widgetName -side left -fill x -expand true - pack $frm.btnColor$widgetName -side left - pack $frm -side top -fill x -expand true -padx 5 -pady 2 - } - #### END #### - - ################### NETWORK PREF ######################### - set network [$nb insert end network -text "[::msgcat::mc "Network"]" -state disabled] - set scrwin [ScrolledWindow $network.scrwin -relief groove -bd 2] - set scrfrm [ScrollableFrame $network.frm] - pack $scrwin -fill both -expand true - pack $scrfrm -fill both -expand true - $scrwin setwidget $scrfrm - - set network [$scrfrm getframe] - - set frm_29 [frame $network.frmFtpServer] - label $frm_29.lblFtpServer -text [::msgcat::mc "FTP server"] -width 30\ - -anchor w -font $fontNormal - entry $frm_29.txtFtpServer - pack $frm_29.lblFtpServer -side left - pack $frm_29.txtFtpServer -side left -fill x -expand true - - set frm_30 [frame $network.frmFtpUser] - label $frm_30.lblFtpUser -text [::msgcat::mc "FTP user"] -width 30\ - -anchor w -font $fontNormal - entry $frm_30.txtFtpUser - pack $frm_30.lblFtpUser -side left - pack $frm_30.txtFtpUser -side left -fill x -expand true - - set frm_31 [frame $network.frmFtpUserPass] - label $frm_31.lblFtpUserPass -text [::msgcat::mc "FTP password"] -width 30\ - -anchor w -font $fontNormal - entry $frm_31.txtFtpUserPass - pack $frm_31.lblFtpUserPass -side left - pack $frm_31.txtFtpUserPass -side left -fill x -expand true - - pack $frm_29 $frm_30 $frm_31 -side top -fill x - - $nb raise main - # Read a config file # - LoadSettings -} - diff --git a/lib/supertext.tcl b/lib/supertext.tcl deleted file mode 100644 index 58a75ce..0000000 --- a/lib/supertext.tcl +++ /dev/null @@ -1,388 +0,0 @@ -# supertext.tcl v1.01 -# -# Copyright (c) 1998 Bryan Oakley -# All Rights Reserved -# -# this code is freely distributable, but is provided as-is with -# no waranty expressed or implied. - -# send comments to oakley@channelpoint.com - -# What is this? -# -# This is a replacement for (or superset of , or subclass of, ...) -# the tk text widget. Its big feature is that it supports unlimited -# undo. It also has two poorly documented options: -preproc and -# -postproc. - -# The entry point to this widget is supertext::text; it takes all of -# the same arguments as the standard text widget and exhibits all of -# the same behaviors. The proc supertext::overrideTextCommand may be -# called to have the supertext widget be used whenever the command -# "text" is used (ie: it imports supertext::text as the command "text"). -# Use at your own risk... - -# To access the undo feature, use ".widget undo". It will undo the -# most recent insertion or deletion. On windows and the mac -# this command is bound to ; on unix it is bound to -# - -# if you are lucky, you might find documentation here: -# http://www1.clearlight.com/~oakley/tcl/supertext.html - -package provide supertext 1.01 - -namespace eval supertext { - variable undo - variable undoIndex - variable text "::text" - variable preProc - variable postProc - namespace export text -} - -# this proc is probably attempting to be more clever than it should... -# When called, it will (*gasp*) rename the tk command "text" to "_text_", -# then import our text command into the global scope. -# -# Use at your own risk! - -proc supertext::overrideTextCommand {} { - variable text - set text "::_text_" - rename ::text $text - uplevel #0 namespace import supertext::text -} - -proc supertext::text {w args} { - variable text - variable undo - variable undoIndex - variable preProc - variable postProc - - # this is what we will rename our widget proc to... - set original __$w - - # do we have any of our custom options? If so, process them and - # strip them out before sending them to the real text command - if {[set i [lsearch -exact $args "-preproc"]] >= 0} { - set j [expr $i + 1] - set preProc($original) [lindex $args $j] - set args [lreplace $args $i $j] - } else { - set preProc($original) {} - } - - if {[set i [lsearch -exact $args "-postproc"]] >= 0} { - set j [expr $i + 1] - set postProc($original) [lindex $args $j] - set args [lreplace $args $i $j] - } else { - set postProc($original) {} - } - - # let the text command create the widget... - eval $text $w $args - - # now, rename the resultant widget proc so we can create our own - rename ::$w $original - - # here's where we create our own widget proc. - proc ::$w {command args} \ - "namespace eval supertext widgetproc $w $original \$command \$args" - - # set up platform-specific binding for undo; the only one I'm - # really sure about is winders; the rest will stay the same for - # now until someone has a better suggestion... - switch $::tcl_platform(platform) { - unix { - event add <> - event add <> - } - windows { - event add <> - event add <> - } - macintosh { - event add <> - event add <> - } - } - bind $w <> "$w undo" - - set undo($original) {} - set undoIndex($original) -1 - set clones($original) {} - - return $w -} - -# this is the command that we associate with a supertext widget. -proc supertext::widgetproc {this w command args} { - - variable undo - variable undoIndex - variable preProc - variable postProc - - # these will be the arguments to the pre and post procs - set originalCommand $command - set originalArgs $args - - # is there a pre-proc? If so, run it. If there is a problem, - # die. This is potentially bad, because once there is a problem - # in a preproc the user must fix the preproc -- there is no - # way to unconfigure the preproc. Oh well. The other choice - # is to ignore errors, but then how will the caller know if - # the proc fails? - if {[info exists preProc($w)] && $preProc($w) != ""} { - if {[catch "$preProc($w) command args" error]} { - return -code error "error during processing of -preproc: $error" - } - } - - - # if the command is "undo", we need to morph it into the appropriate - # command for undoing the last item on the stack - if {$command == "undo"} { - - if {$undoIndex($w) == ""} { - # ie: last command was anything _but_ an undo... - set undoIndex($w) [expr [llength $undo($w)] -1] - } - - # if the index is pointing to a valid list element, - # lets undo it... - if {$undoIndex($w) < 0} { - # nothing to undo... - bell - - } else { - - # data is a list comprised of a command token - # (i=insert, d=delete) and parameters related - # to that token - set data [lindex $undo($w) $undoIndex($w)] - - if {[lindex $data 0] == "d"} { - set command "delete" - } else { - set command "insert" - } - set args [lrange $data 1 end] - - # adjust the index - incr undoIndex($w) -1 - - } - } - - # now, process the command (either the original one, or the morphed - # undo command - switch $command { - - reset_undo { - set undo($w) "" - set undoIndex($w) "" - set result {} - } - - configure { - # we have to deal with configure specially, since the - # user could try to configure the -preproc or -postproc - # options... - - if {[llength $args] == 0} { - # first, the case where they just type "configure"; lets - # get it out of the way - set list [$w configure] - lappend list [list -preproc preproc Preproc {} $preProc($w)] - lappend list [list -postproc postproc Postproc {} $postProc($w)] - set result $list - - - } elseif {[llength $args] == 1} { - # this means they are wanting specific configuration - # information - set option [lindex $args 0] - if {$option == "-preproc"} { - set result [list -preproc preproc Preproc {} $preProc($w)] - - } elseif {$option == "-postproc"} { - set result [list -postproc postproc Postproc {} $postProc($w)] - - } else { - if {[catch "$w $command $args" result]} { - regsub $w $result $this result - return -code error $result - } - } - - } else { - # ok, the user is actually configuring something... - # we'll deal with our special options first - if {[set i [lsearch -exact $args "-preproc"]] >= 0} { - set j [expr $i + 1] - set preProc($w) [lindex $args $j] - set args [lreplace $args $i $j] - set result {} - } - - if {[set i [lsearch -exact $args "-postproc"]] >= 0} { - set j [expr $i + 1] - set postProc($w) [lindex $args $j] - set args [lreplace $args $i $j] - set result {} - } - - # now, process any remaining args - if {[llength $args] > 0} { - if {[catch "$w $command $args" result]} { - regsub $w $result $this result - return -code error $result - } - } - } - } - - undo { - # if an undo command makes it to here, that means there - # wasn't anything to undo; this effectively becomes a - # no-op - set result {} - } - - insert { - - if {[catch {set index [text_index $w [lindex $args 0]]}]} { - set index [lindex $args 0] - } - - # since the insert command can have an arbitrary number - # of strings and possibly tags, we need to ferret that out - # now... what a pain! - set myargs [lrange $args 1 end] - set length 0 - while {[llength $myargs] > 0} { - incr length [string length [lindex $myargs 0]] - if {[llength $myargs] > 1} { - # we have a tag... - set myargs [lrange $myargs 2 end] - } else { - set myargs [lrange $myargs 1 end] - } - } - - # now, let the real widget command do the dirty work - # of inserting the text. If we fail, do some munging - # of the error message so the right widget name appears... - - if {[catch "$w $command $args" result]} { - regsub $w $result $this result - return -code error $result - } - - # we need this for the undo stack; index2 couldn't be - # computed until after we inserted the data... - set index2 [text_index $w "$index + $length chars"] - - if {$originalCommand == "undo"} { - # let's do a "see" so what we just did is visible; - # also, we'll move the insertion cursor to the end - # of what we just did... - $w see $index2 - $w mark set insert $index2 - - } else { - # since the original command wasn't undo, we need - # to reset the undoIndex. This means that the next - # time an undo is called for we'll start at the - # end of the stack - set undoIndex($w) "" - } - - # add a delete command on the undo stack. - lappend undo($w) "d $index $index2" - - } - - delete { - - # this converts the insertion index into an absolute address - set index [text_index $w [lindex $args 0]] - - # lets get the data we are about to delete; we'll need - # it to be able to undo it (obviously. Duh.) - set data [eval $w get $args] - - # add an insert on the undo stack - lappend undo($w) [list "i" $index $data] - - if {$originalCommand == "undo"} { - # let's do a "see" so what we just did is visible; - # also, we'll move the insertion cursor to a suitable - # spot - $w see $index - $w mark set insert $index - - } else { - # since the original command wasn't undo, we need - # to reset the undoIndex. This means that the next - # time an undo is called for we'll start at the - # end of the stack - set undoIndex($w) "" - } - - # let the real widget command do the actual deletion. If - # we fail, do some munging of the error message so the right - # widget name appears... - if {[catch "$w $command $args" result]} { - regsub $w $result $this result - return -code error $result - } - } - - default { - # if the command wasn't one of the special commands above, - # just pass it on to the real widget command as-is. If - # we fail, do some munging of the error message so the right - # widget name appears... - if {[catch "$w $command $args" result]} { - regsub $w $result $this result - return -code error $result - } - } - } - - # is there a post-proc? If so, run it. - if {[info exists postProc($w)] && $postProc($w) != ""} { - if {[catch "$postProc($w) originalCommand originalArgs" error]} { - return -code error "error during processing of -postproc: $error" - } - } - - - # we're outta here! (I think this is faster than a - # return, though I'm not 100% sure on this...) - set result $result -} - -# this returns a normalized index (ie: line.column), with special -# handling for the index "end"; to undo something we pretty much -# _have_ to have a precise row and column number. -proc supertext::text_index {w i} { - if {$i == "end"} { - set index [$w index "end-1c"] - } else { - set index [$w index $i] - } - - return $index -} - - - - - - diff --git a/lib/taglist.tcl b/lib/taglist.tcl deleted file mode 100644 index d74824c..0000000 --- a/lib/taglist.tcl +++ /dev/null @@ -1,56 +0,0 @@ -######################################################### -# Tcl/Tk project Manager -# Distributed under GNU Public License -# Author: Sergey Kalinin banzaj28@yandex.ru -# Copyright (c) "Sergey Kalinin", 2002, http://nuk-svk.ru -######################################################### - -proc GetTagList {tagFile} { - global tmpDir projDir workDir procList activeProject - - if {[file exists $tagFile] == 0} { - return - } - - set file [open $tagFile r] - set procList($activeProject) "" - while {[gets $file line]>=0} { - scan $line "%s%s" proc procFile - if {[regexp -nocase -all -- {\s\{.*?\}+\s} $line par]} { - if [info exists procList($activeProject)] { - lappend procList($activeProject) [list $proc $par $procFile] - } else { - set procList($activeProject) [list [list $proc $par $procFile]] - } - } - } -} - - -proc GetTagList_ {tagFile} { - global tmpDir projDir workDir procList activeProject - if {[file exists $tagFile] == 0} { - return - } - set projName [file rootname $tagFile] - set file [open $tagFile r] - set procList($projName) "" - while {[gets $file line]>=0} { - scan $line "%s%s" proc procFile - if {[regexp -nocase -all -- {\s\{.*?\}+\s} $line par]} { - if [info exists procList($projName)] { - lappend procList($projName) [list $proc $par $procFile] - } else { - set procList($projName) [list [list $proc $par $procFile]] - } - } - } -} - - - - - - - - diff --git a/lib/toolbar.tcl b/lib/toolbar.tcl deleted file mode 100644 index a4603e8..0000000 --- a/lib/toolbar.tcl +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/wish -###################################################### -# Tcl/Tk Project Manager -# Distributed under GNU Public License -# Author: Sergey Kalinin banzaj28@yandex.ru -# Copyright (c) "https://nuk-svk.ru", 2018 -# Home: https://bitbucket.org/svk28/projman -###################################################### -# -# Toolbar create procedures -# -###################################################### - -proc Separator {} { - global sepIndex editor - set f [frame .frmTool.separator$sepIndex -width 15 -border 1 \ - -background $editor(bg) -relief raised] - incr sepIndex 1 - return $f -} - -proc CreateToolBar {} { - global toolBar fontNormal fontBold noteBook tree imgDir editor - if {$toolBar == "Yes"} { - set bboxFile [ButtonBox .frmTool.bboxFile -spacing 0 -padx 1 -pady 1 -bg $editor(bg)] - add_toolbar_button $bboxFile new.png {AddToProjDialog file [$noteBookFiles raise]} [::msgcat::mc "Create new file"] - #add_toolbar_button $bboxFile open.png {FileDialog $tree open} [::msgcat::mc "Open file"] - add_toolbar_button $bboxFile save.png {FileDialog $tree save} [::msgcat::mc "Save file"] - add_toolbar_button $bboxFile save_as.png {FileDialog $tree save_as} [::msgcat::mc "Save file as"] - add_toolbar_button $bboxFile save_all.png {FileDialog $tree save_all} [::msgcat::mc "Save all"] - add_toolbar_button $bboxFile printer.png {PrintDialog} [::msgcat::mc "Print ..."] - add_toolbar_button $bboxFile close.png {FileDialog $tree close} [::msgcat::mc "Close"] - - set bboxEdit [ButtonBox .frmTool.bboxEdit -spacing 0 -padx 5 -pady 1 -bg $editor(bg)] - add_toolbar_button $bboxEdit copy.png {TextOperation copy} [::msgcat::mc "Copy into clipboard"] - add_toolbar_button $bboxEdit cut.png {TextOperation cut} [::msgcat::mc "Cut into clipboard"] - add_toolbar_button $bboxEdit paste.png {TextOperation paste} [::msgcat::mc "Paste from clipboard"] - add_toolbar_button $bboxEdit undo.png {TextOperation undo} [::msgcat::mc "Undo"] - add_toolbar_button $bboxEdit redo.png {TextOperation redo} [::msgcat::mc "Redo"] - - set bboxProj [ButtonBox .frmTool.bboxProj -spacing 0 -padx 1 -pady 1 -bg $editor(bg)] - - add_toolbar_button $bboxProj doit.png {MakeProj run proj} [::msgcat::mc "Running project"] - add_toolbar_button $bboxProj doit_file.png {MakeProj run file} [::msgcat::mc "Running file"] - add_toolbar_button $bboxProj archive.png {MakeTGZ} [::msgcat::mc "Make TGZ"] - - set bboxHelp [ButtonBox .frmTool.bboxHelp -spacing 0 -padx 1 -pady 1 -bg $editor(bg)] - add_toolbar_button $bboxHelp help.png {ShowHelp} [::msgcat::mc "Help"] - # GoTo field - set frm [frame .frmTool.frmGoto -bg $editor(bg) -border 0 ] - GoToLineButton $frm - pack $bboxFile [Separator] $bboxEdit [Separator] $bboxProj [Separator] $bboxHelp [Separator] $frm -side left -anchor w - - # Create menubutton and menu - image create photo menu.png -format png -file [file join $imgDir menu.png] - menubutton .frmTool.menu -menu .frmTool.menu.m -font $fontNormal -bg $editor(bg) -fg $editor(fg) \ - -image menu.png - set m [menu .frmTool.menu.m -bg $editor(bg) -fg $editor(fg)] - GetFileMenu $m - $m add separator - $m add cascade -label [::msgcat::mc "Project"] -menu $m.project -font $fontNormal - GetProjMenu [menu $m.project -bg $editor(bg) -fg $editor(fg)] - - $m add cascade -label [::msgcat::mc "Edit"] -menu $m.edit -font $fontNormal - GetMenu [menu $m.edit -bg $editor(bg) -fg $editor(fg)] - - #$m add cascade -label [::msgcat::mc "View"] -menu $m.view -font $fontNormal - #GetViewMenu [menu $m.view -bg $editor(bg) -fg $editor(fg)] - - $m add cascade -label [::msgcat::mc "Modules"] -menu $m.modules -font $fontNormal - GetModulesMenu [menu $m.modules -bg $editor(bg) -fg $editor(fg)] - - $m add cascade -label [::msgcat::mc "Help"] -menu $m.help -font $fontNormal - GetHelpMenu [menu $m.help -bg $editor(bg) -fg $editor(fg)] - - pack .frmTool.menu -side right - - } -} -## TOOLBAR ## -proc add_toolbar_button {path icon command helptext} { - global editor imgDir - image create photo $icon -format png -file [file join $imgDir $icon] - $path add -image $icon \ - -highlightthickness 0 -takefocus 0 -relief link -bd 1 -activebackground $editor(bg)\ - -padx 2 -pady 2 -command $command -helptext $helptext -} -# Separator for toolbar -proc GoToLineButton {w} { - global noteBook fontNormal editor - label $w.text -text [::msgcat::mc "Line number"] -font $fontNormal \ - -bg $editor(bg) -fg $editor(fg) - entry $w.entGoTo -width 6 -validate key -validatecommand "ValidNumber %W %P" \ - -bg $editor(bg) -fg $editor(fg) -relief sunken -border 1 -highlightthickness 0 - pack $w.text $w.entGoTo -side left -padx 2 -pady 2 - bind $w.entGoTo "+ToolBarGoToLineNumber $w" - balloon $w.entGoTo set [::msgcat::mc "Goto line"] -} - - - - - diff --git a/lib/translit.tcl b/lib/translit.tcl deleted file mode 100644 index ab7e750..0000000 --- a/lib/translit.tcl +++ /dev/null @@ -1,87 +0,0 @@ - -###################################################### -# Tcl/Tk Project Manager -# Distributed under GNU Public License -# Author: Serge Kalinin banzaj28@yandex.ru -# Copyright (c) "https://nuk-svk.ru" -# 2018, https://bitbucket.org/svk28/projman -###################################################### -# -# Transliterate cyrilic symbols into latins -# -###################################################### -proc Translit {line} { - return [ - string map { - "А" "A" - "Б" "B" - "В" "V" - "Г" "G" - "Д" "D" - "Е" "E" - "Ё" "E" - "Ж" "ZH" - "З" "Z" - "И" "I" - "Й" "J" - "К" "K" - "Л" "L" - "М" "M" - "Н" "N" - "О" "O" - "П" "P" - "Р" "R" - "С" "S" - "Т" "T" - "У" "U" - "Ф" "F" - "Х" "H" - "Ч" "CH" - "Ш" "SH" - "Щ" "SCH" - "Ь" "" - "Ы" "Y" - "Ъ" "" - "Э" "E" - "Ю" "U" - "Я" "IA" - "а" "a" - "б" "b" - "в" "v" - "г" "g" - "д" "d" - "е" "e" - "ё" "e" - "ж" "zh" - "з" "z" - "и" "i" - "й" "j" - "к" "k" - "л" "l" - "м" "m" - "н" "n" - "о" "o" - "п" "p" - "р" "r" - "с" "s" - "т" "t" - "у" "u" - "ф" "f" - "х" "h" - "ц" "c" - "ч" "ch" - "ш" "sh" - "щ" "sch" - "ь" "" - "ы" "y" - "ъ" "" - "э" "e" - "ю" "u" - "я" "ia" - } $line - ] -} - - - - diff --git a/lib/tree.tcl b/lib/tree.tcl index 54aaa47..6dcaf51 100644 --- a/lib/tree.tcl +++ b/lib/tree.tcl @@ -1,389 +1,86 @@ -##################################################### -# Tcl/Tk Project Manager +#!/usr/bin/wish +###################################################### +# ProjMan 2 # Distributed under GNU Public License -# Author: Sergey Kalinin s.v.kalinin28@gmail.com -# Copyright (c) "https://nuk-svk.ru", 2018 -# Git repo: https://bitbucket.org/svk28/projman -#################################################### +# Author: Sergey Kalinin svk@nuk-svk.ru +# Copyright (c) "", 2022, https://nuk-svk.ru +###################################################### # -# Procedure for operation wwith Tree widget +# Tree widget working module # -#################################################### +###################################################### -proc GetAllDirs {treeFiles} { - global projDir workDir fontNormal imgDir module env - set rList "" - set rootDir $env(HOME) - if {[catch {cd $rootDir}] != 0} { - return "" - } - set rootNode [$treeFiles insert end root $rootDir -text "$rootDir" -font $fontNormal \ - -data "dir_root" -open 1\ - -image [Bitmap::get [file join $imgDir folder.gif]]] - - GetFiles $treeFiles $rootNode [file join $rootDir] - $treeFiles configure -redraw 1 -} -proc GetFilesSubdir {tree node dir} { - global fontNormal projDir workDir activeProject imgDir - global backUpFileShow dotFileShow - set rList "" - puts "$tree $node $dir" - if {[catch {cd $dir}] != 0} { - return "" - } - if {$dotFileShow eq "Yes"} { - foreach file [lsort [glob -nocomplain .*]] { - if {$file != "." || $file != ".."} { - lappend rList [list [file join $dir $file]] - set fileName [file join $dir $file] - GetFile $tree $fileName $parent + +namespace eval Tree { + proc InsertItem {tree parent item type text} { + # set img [GetImage $fileName] + set dot "_" + puts "$tree $parent $item $type $text" + switch $type { + file { + regsub -all {\.|/|\\|\s} $item "_" subNode + puts $subNode + set image imgFile + } + directory { + regsub -all {\.|/|\\|\s} $item "_" subNode + puts $subNode + set image folder } } - } - foreach file [lsort [glob -nocomplain *]] { - lappend rList [list [file join $dir $file]] - set fileName [file join $dir $file] - GetFile $tree $fileName $parent - } - $tree itemconfigure $node -open 1 -} -## GETTING FILES FROM PROJECT DIR AND INSERT INTO TREE WIDGET ## -proc GetFile {tree fileName parent} { - global fontNormal backUpFileShow dotFileShow imgDir - set img [GetImage $fileName] - set dot "_" - regsub -all {\.|/|\\} $fileName "_" subNode - puts $subNode - if {[$tree exists $subNode] != 1} { - $tree insert end $parent $subNode -text [file tail $fileName] \ - -data $fileName -open 1\ - -image [Bitmap::get [file join $imgDir $img.gif]]\ - -font $fontNormal - } -} -proc GetFiles {tree parent dir} { - global fontNormal backUpFileShow dotFileShow imgDir - set rList "" - puts "$dir $parent $tree" - if {[catch {cd $dir}] != 0} { - return "" - } - if {$dotFileShow eq "Yes"} { - foreach file [lsort [glob -nocomplain .*]] { - if {$file != "." || $file != ".."} { - lappend rList [list [file join $dir $file]] - set fileName [file join $dir $file] - - GetFile $tree $fileName $parent - } + append id $type "::" $subNode + puts $id + if ![$tree exists $id] { + $tree insert $parent end -id "$id" -text $text -values "$item" -image $image } + return "$id" } - - foreach file [lsort [glob -nocomplain *]] { - lappend rList [list [file join $dir $file]] - set fileName [file join $dir $file] - GetFile $tree $fileName $parent - } - $tree configure -redraw 1 -} - -## GETTING PROJECT NAMES FROM DIR AND PUTS INTO -proc GetProj {tree} { - global projDir workDir fontNormal imgDir module - set rList "" - #set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree + proc DoublePressItem {tree} { + set id [$tree selection] + $tree tag remove selected + $tree item $id -tags selected - if {[catch {cd $workDir}] != 0} { - return "" - } - foreach proj [lsort [glob -nocomplain *.proj]] { - lappend rList [list [file join $workDir $proj]] - set projFile [open [file join $workDir $proj] r] - set prjName [file rootname $proj] - while {[gets $projFile line]>=0} { - scan $line "%s" keyWord - set string [string range $line [string first "\"" $line] [string last "\"" $line]] - set string [string trim $string "\""] - if {$keyWord == "ProjectName"} { - regsub -all " " $string "_" project - set projName "$string" + set values [$tree item $id -values] + set key [lindex [split $id "::"] 0] + if {$values eq "" || $key eq ""} {return} + + puts "$key $tree $values" + switch $key { + directory { + FileOper::ReadFolder $values } - if {$keyWord == "ProjectDirName"} { - set projList($prjName) [file dirname $string] - #puts "$tree $projList($prjName) - $prjName - $string" - $tree insert end root $prjName -text "$projName" -font $fontNormal \ - -data "prj_$prjName" -open 0\ - -image [Bitmap::get [file join $imgDir folder.gif]] - #puts "GetFiles $tree $prjName $string" - GetFiles $tree $prjName $string - #$tree itemconfigure $prjName -open 1 - + file { + FileOper::Edit $values + # $tree item $id -open false } } } - $tree configure -redraw 1 -} -## SHOW PUP-UP MENUS ## -proc PopupMenuFileTree {treeFiles x y} { - if {[$treeFiles selection get] != ""} { - set node [$treeFiles selection get] - $treeFiles selection set $node - } else { - return - } - if {[info exists fileList($node)] != 1} { - tk_popup .popupFile $x $y - } -} - -proc PopupMenuTree {x y} { - global tree fontNormal fontBold imgDir activeProject - if {[$tree selection get] != ""} { - set node [$tree selection get] - $tree selection set $node - } else { - return - } - - #$tree selection set $node - set item [$tree itemcget $node -data] - if {[string range $item 0 2] == "prj"} { - set activeProject [string range $item 4 end] - .frmStatus.frmActive.lblActive configure -text [$tree itemcget $node -text] -font $fontBold - tk_popup .popupProj $x $y - return - } - if {[info exists fileList($node)] != 1} { - # set fileList($node) $item - tk_popup .popupFile $x $y - } -} - - -## OPEN TREE PROCEDURE -proc TreeOpen {node} { - global fontNormal tree projDir workDir activeProject fileList noteBook findString imgDir fontBold - set tree [GetTreeForNode $node] - $tree selection set $node - set item [$tree itemcget $node -data] - if {[string range $item 0 2] == "prj"} { - set activeProject [string range $item 4 end] - #puts $activeProject - .frmStatus.frmActive.lblActive configure -text [$tree itemcget $node -text] -font $fontBold - $tree itemconfigure $node -image [Bitmap::get [file join $imgDir openfold.gif]] - if {[file exists [file join $workDir $activeProject.tags]] == 1} { - GetTagList [file join $workDir $activeProject.tags] ;# geting tag list - } else { - DoModule ctags - } - } - if {[info exists fileList($node)] != 1} { - set fileList($node) $item - if {[file isdirectory $item] == 1} { - $tree itemconfigure $node -image [Bitmap::get [file join $imgDir openfold.gif]] - } - } -} -## CLOSE TREE PROCEDURE ## -proc TreeClose {node} { - global fontNormal tree projDir workDir activeProject fileList noteBook findString imgDir fontBold - set tree [GetTreeForNode $node] - $tree selection set $node - set item [$tree itemcget $node -data] - if {[string range $item 0 2] == "prj"} { - $tree itemconfigure $node -image [Bitmap::get [file join $imgDir folder.gif]] - } - if {[info exists fileList($node)] != 1} { - if {[file isdirectory $item] == 1} { - $tree itemconfigure $node -image [Bitmap::get [file join $imgDir folder.gif]] - } - } -} -## TREE ONE CLICK PROCEDURE ## -proc TreeOneClick {tree node} { - global noteBook fontNormal projDir workDir activeProject fileList noteBook findString imgDir fontBold - $tree selection get - $tree selection set $node - set item [$tree itemcget $node -data] - if {[string range $item 0 2] == "prj"} { - set activeProject [string range $item 4 end] - .frmStatus.frmActive.lblActive configure -text [$tree itemcget $node -text] -font $fontBold - if {[file exists [file join $workDir $activeProject.tags]] == 1} { - GetTagList [file join $workDir $activeProject.tags] ;# geting tag list - } - return - } elseif {[file isdirectory $item] == 1} { - if {[$noteBook index $node] == -1} { - return - } - } elseif {[file isfile $item] == 1 } { - LabelUpdate .frmStatus.frmHelp.lblHelp [FileAttr $item] - if {[$noteBook index $node] != -1} { - PageRaise $tree $node - if {[file exists $item] == 1} { + proc PressItem {tree} { + set id [$tree selection] + $tree tag remove selected + $tree item $id -tags selected + + set values [$tree item $id -values] + set key [lindex [split $id "::"] 0] + if {$values eq "" || $key eq ""} {return} + + puts "$key $tree $values" + switch $key { + directory { + FileOper::ReadFolder $values + # $tree item $id -open false + } + file { + FileOper::Edit $values } } - } elseif {[string range $item 0 2] == "prc"} { - set parent [$tree parent $node] - set file [$tree itemcget $parent -data] - set fileExt [string range [file extension $file] 1 end] - if {[info exists fileList($parent)] == 0} { - EditFile $parent $file - } - PageRaise $tree $parent - $tree selection set $node - set text "$noteBook.f$parent.text" - set index1 [expr [string first "_" $item]+1] - set index2 [expr [string last "_" $item]11] - if {$fileExt == "java" || $fileExt == "ja"} { - set findString "class [string range $item $index1 $index2] " - } elseif {$fileExt == "perl" || $fileExt == "pl"} { - set findString "sub [string range $item $index1 $index2]" - } elseif {$fileExt == "ml" || $fileExt == "mli"} { - set findString "let [string range $item $index1 $index2]" - } elseif {$fileExt == "php" || $fileExt == "phtml"} { - set findString "function [string range $item $index1 $index2]" - #puts $findString - #return - } elseif {$fileExt == "rb"} { - set findString "class [string range $item $index1 $index2]" - } else { - set findString "proc [string range $item $index1 $index2] " - } - FindProc $text $findString $node - focus -force $text - } + # } -## TREE DOUBLE CLICK PROCEDURE ## -proc TreeDoubleClick {tree node} { - global fontNormal projDir workDir activeProject fileList noteBook findString imgDir fontBold noteBook - $tree selection set $node - set item [$tree itemcget $node -data] - - if {[$tree itemcget $node -open ] == 1} { - puts " $item $tree itemcget $node -open" - $tree closetree $node - } elseif {[$tree itemcget $node -open ] == 0} { - puts " $item $tree itemcget $node -open" - $tree opentree $node - } - $tree opentree $node - if {[string range $item 0 2] == "prj"} { - # node is project - set activeProject [string range $item 4 end] - .frmStatus.frmActive.lblActive configure -text [$tree itemcget $node -text] -font $fontBold - #GetFilesSubdir $tree $node $item - } elseif {[file isdirectory $item] ==1} { - # node is directory - GetFiles $tree $node $item - #puts "GetFiles $tree $node $item" - } elseif {[string range $item 0 2] == "prc"} { - # node is procedure (class, function, etc) - $tree selection set $node - set parent [$tree parent $node] - if {[info exists fileList($parent)] != 1} { - set file [$tree itemcget $parent -data] - EditFile $parent $file - $noteBook raise $parent - } else { - $noteBook raise $parent - } - set text "$noteBook.f$parent.text" - set index1 [expr [string first "_" $item]+1] - set index2 [expr [string last "_" $item]11] - set findString "proc [string range $item $index1 $index2] " - FindProc $text $findString $node - focus -force $text - } elseif {[file isfile $item] == 1} { - #puts [$noteBook index $node] - if {[$noteBook index $node] != -1} { - #puts "File тута $node" - puts "fileList($node) $fileList($node)" - } else { - EditFile $tree $node $item - } - } else { - return - } - -} - -## UPDATE TREE ## -proc UpdateTree {} { - global tree - $tree delete [$tree nodes root] - GetProj $tree -} - -proc GetTreeForNode {node} { - if {[.frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles exists $node] ==1} { - return .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles - } elseif {[.frmBody.frmCat.noteBook.fprojects.frmTree.tree exists $node] ==1} { - return .frmBody.frmCat.noteBook.fprojects.frmTree.tree - } - -} -proc FileNotePageRaise {nb s} { - global workingTree - if {$nb eq "files"} { - set workingTree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles - } elseif {$nb eq "projects"} { - set workingTree .frmBody.frmCat.noteBook.fprojects.frmTree.tree - } else { - puts "Error node" - return - } -} - -proc SortTree {nbNode} { - global fontNormal imgDir - if {$nbNode eq "files"} { - set tree .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles - } elseif {$nbNode eq "projects"} { - set tree .frmBody.frmCat.noteBook.fprojects.frmTree.tree - } - SortTreeNodes $tree [$tree selection get] -} -proc SortTreeNodes {tree rootNode} { - global fontNormal imgDir - - foreach i [lsort [$tree nodes $rootNode]] { - #puts "$i [$tree itemcget $i -data]" - set nodeData [$tree itemcget $i -data] - set nodeText [$tree itemcget $i -text] - set nodeImage [$tree itemcget $i -image] - set subNodeList [$tree nodes $i] - if {$subNodeList ne "" } { - foreach j $subNodeList { - lappend nodes($j) [$tree itemcget $j -data] - lappend nodes($j) [$tree itemcget $j -text] - lappend nodes($j) [$tree itemcget $j -image] - #puts "--$nodes($i)" - } - } - $tree delete $i - $tree insert end $rootNode $i -text "$nodeText" -font $fontNormal \ - -data $nodeData -open 0\ - -image $nodeImage - #-image [Bitmap::get [file join $imgDir folder.gif]] - if {[info exists nodes]} { - foreach g [array names nodes] { - #puts ">$rootNode >> $nodes($g)" - #puts ">>> [lindex $nodes($g) 0] : [lindex $nodes($g) 1] : [lindex $nodes($g) 2]" - #puts "$tree insert end $i $g -text [lindex $nodes($g) 1] -font $fontNormal \ - #-data [lindex $nodes($g) 0] -open 0\ - #-image [lindex $nodes($g) 2]" - $tree insert end $i $g -text [lindex $nodes($g) 1] -font $fontNormal \ - -data [lindex $nodes($g) 0] -open 0\ - -image [lindex $nodes($g) 2] - #SortTreeNodes $tree $g - } - unset nodes + proc GetItemID {tree item} { + if [$tree exists $item] { + return [$tree item $item -values] } } - #puts $nodeList } - diff --git a/projman-48.png b/projman-48.png new file mode 100644 index 0000000..61c52dc Binary files /dev/null and b/projman-48.png differ diff --git a/projman.conf b/projman.conf deleted file mode 100644 index 1210806..0000000 --- a/projman.conf +++ /dev/null @@ -1,83 +0,0 @@ -########################################################### -# TCL/Tk Project Manager # -# version 0.4.5 # -# # -# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru # -# Authors: Sergey Kalinin banzaj28@yandex.ru # -########################################################### -# Modification date: Чт янв 11 10:38:33 MSK 2018 -########################################################### - -set topLevelGeometry "1200x1046+0+0" - -# Normal Font -set fontNormal "helvetica 10 normal roman" -# Bold Font # -set fontBold "helvetica 10 bold roman" -# ToolBar on/off (Yes/No) -set toolBar "Yes" -# Menu on/off (Yes/No) -set menuShow "Yes" - -set backUpFileShow "No" -set backUpFileCreate "No" -set backUpFileDelete "No" -set dotFileShow "No" - -# Don't edit this line -# Directorys Settings # -set projDir "$env(HOME)/projects" -set rpmDir "$workDir/rpm" -set tgzDir "$workDir/tgz" -# File mask # -set rpmNamed "projectName-version-release" -set tgzNamed "projectName-version-release" - -# Locale setting -set locale "en" -set autoFormat "Yes" - -# Editor Font # -set editor(font) "courier 10 normal roman" -# Editor Bold Font # -set editor(fontBold) "courier 10 bold roman" -# background color # -set editor(bg) "#333333" -# foreground color # -set editor(fg) "#cccccc" -# selection background color # -set editor(selectbg) "#10a410a410a4" -# NoteBook title normal font color # -set editor(nbNormal) "#000000" -# NoteBook title modify font color # -set editor(nbModify) "#ffff5d705d70" -# selection border width # -set editor(selectBorder) "0" -# Editor wraping # -# must be: none, word or char -set editor(wrap) "word" -## SOURCE CODE HIGHLIGTNING ## -set color(procName) "#00ffff" -set color(keyWord) "#0000ce149c9e" -set color(param) "#d5547f71d9d9" -set color(subParam) "#d5547f71d9d9" -set color(comments) "#000000" -set color(var) "#30a489cdffff" -set color(string) "#9ae199540000" -set color(brace) "#d9d93f2d3f2d" -set color(bracequad) "#ffff75c2fe9d" -set color(braceBG) "#000000" -set color(braceFG) "#43ff00" -set color(percent) "#ffff00" -set color(bindKey) "#ffffaa3df9fe" -set color(label) "#c9c9c9" -set color(sixFG) "#ff0000" -set color(sixBG) "#ffdbdb" -set color(sql) "#ffff828f0000" -# Last active project (changed automaticaly) -set workingProject "" - - - - - diff --git a/projman.tcl b/projman.tcl index 67878b3..f50b814 100755 --- a/projman.tcl +++ b/projman.tcl @@ -2,178 +2,112 @@ # Tcl ignores the next line -*- tcl -*- \ exec wish "$0" -- "$@" -############################################### -# Tcl/Tk Project Manager # -# Distrubuted under GPL # -# Copyright (c) "Sergey Kalinin", 2001, # -# Home: http://nuk-svk.ru # -# Author: Sergey Kalinin banzaj28@yandex.ru # -############################################### +###################################################### +# Tcl/Tk Project manager 2.0 +# Distributed under GNU Public License +# Author: Sergey Kalinin svk@nuk-svl.ru +# Home page: https://nuk-svk.ru +###################################################### +# Version: 2.0.0 +# Release: alpha +###################################################### -########## VERSION INFORMATION ########## -set ver "0.4.6" +# определим текущую версию и релиз +set f [open [info script] "RDONLY"] +while {[gets $f line] >=0} { + if [regexp -nocase -all -- {version:\s+([0-9]+?.[0-9]+?.[0-9]+?)} $line match v1] { + -package require BWidget + set projmanVersion $v1 + } + if [regexp -nocase -all -- {release:\s+([a-z0-9]+?)} $line match v1] { + set projmanRelease $v1 + } +} +close $f + +puts "Projman version $projmanVersion-$projmanRelease" + + +if { $::argc > 0 } { + foreach arg $::argv { + lappend opened $arg + } + puts $opened +} package require msgcat -package require base64 -package require Img +package require inifile +package require ctext -set wishOpList [info commands] -## DO NOT EDIT THIS LINE! USE install.tcl SCRIPT ## +# Устанавливаем текущий каталог +set dir(root) /usr/share/projman -# if {$tcl_platform(platform) == "unix"} { -# set initDir "$env(HOME)" -# set rootDir "/usr/local" -# set tmpDir "$env(HOME)/tmp" -# set tclDir "/usr/bin" -# } elseif {$tcl_platform(platform) == "windows"} { -# set initDir "c:\\" -# set rootDir "c:\\Tcl" -# set tmpDir "c:\\temp" -# set tclDir "C:\\Tcl\\bin" -# } -set tclDir [file dirname [info nameofexecutable]] -puts $tclDir -set rootDir [pwd] -#set rootDir "/usr" -#set tclDir "/usr/bin" -set dataDir "[file join $rootDir lib]" -set docDir "[file join $rootDir hlp ru]" -set imgDir "[file join $rootDir img]" -set msgDir "[file join $rootDir msgs]" -set binDir $rootDir -set hlDir [file join $dataDir highlight] +set dir(doc) [file join $dir(root) doc] -if {$tcl_platform(platform) == "unix"} { - set tmpDir "$env(HOME)/tmp" - set workDir "[file join $env(HOME) .projman]" -} elseif {$tcl_platform(platform) == "windows"} { - if [info exists env(TEMP)] { - set tmpDir "$env(TEMP)" - } else { - set tmpDir "c:\\temp" - } - if {[info exist env(HOMEDRIVE)] && [info exists env(HOMEPATH)]} { - set workDir "[file join $env(HOMEDRIVE) $env(HOMEPATH) .projman]" - } else { - set workDir "[file join $rootDir .projman]" - } -} -if {[file exists $workDir] == 0} {file mkdir $workDir} -if {[file exists $tmpDir] == 0} {file mkdir $tmpDir} - -if {[file exists [file join $workDir projman.conf]] == 0} { - file copy -force -- projman.conf [file join $workDir projman.conf] -} - -#source [file join $workDir projman.conf] -# Read the projman.conf file and setting the variable -set config [open [file join $workDir projman.conf] RDONLY] -while {[gets $config line]>=0} { - if [regexp -nocase -all -line -- {(set)\s(.+)\s"(.+|)"} $line match op var data] { - regsub -all -- {\$env\(HOME\)} $data "$env(HOME)" data - regsub -all -- {\$workDir} $data "$workDir" data - set $var $data - } -} - - - -## CREATE WORK DIR ## -if {[file exists $rpmDir] != 1} {file mkdir $rpmDir} -if {[file exists $tgzDir] != 1} {file mkdir $tgzDir} -if {[file exists $projDir] != 1} {file mkdir $projDir} - -## SETTINGS ENVIRONMENT LANGUAGE ## -if [info exists env(LANG)] { - set locale $env(LANG) +# Устанавливаем рабочий каталог, если его нет то создаём. +# Согласно спецификации XDG проверяем наличие переменных и каталогов +if [info exists env(XDG_CONFIG_HOME)] { + set dir(cfg) [file join $env(XDG_CONFIG_HOME) projman] +} elseif [file exists [file join $env(HOME) .config]] { + set dir(cfg) [file join $env(HOME) .config projman] } else { - set locale $locale + set dir(cfg) [file join $env(HOME) .projman] } -::msgcat::mclocale $locale -::msgcat::mcload $msgDir +if {[file exists $dir(cfg)] == 0} { + file mkdir $dir(cfg) +} -## LOAD FILE ## -# Load modules but maain.tcl must last loaded -foreach modFile [lsort [glob -nocomplain [file join $dataDir *.tcl]]] { - if {[file tail $modFile] ne "main.tcl"} { +puts "Config dir is $dir(cfg)" + +# каталог с модулями +set dir(lib) /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# "[file join $dir(root) lib]" + +source [file join $dir(lib) config.tcl] + +foreach modFile [lsort [glob -nocomplain [file join $dir(lib) *.tcl]]] { + if {[file tail $modFile] ne "gui.tcl" && [file tail $modFile] ne "config.tcl"} { source $modFile - puts "Loaded module $modFile" + puts "Loading module $modFile" } } -# load code highlight modules -foreach modFile [lsort [glob -nocomplain [file join $hlDir *.tcl]]] { - source $modFile - puts "Loaded highlight module $modFile" + +# TTK Theme loading +set dir(theme) "[file join $dir(root) theme]" +foreach modFile [lsort [glob -nocomplain [file join $dir(theme) *]]] { + if [file isdirectory $modFile] { + source $modFile/[file tail $modFile].tcl + puts "Loading theme $modFile.tcl" + } elseif {[file extension $modFile] eq ".tcl"} { + source $modFile + puts "Loading theme $modFile" + } } -source [file join $dataDir main.tcl] -#option add *tree.foreground red widgetDefault -# Set colors for widgets -option add *Frame.Background $editor(bg) interactive -option add *ScrollableFrame.Background $editor(bg) interactive -option add *ScrolledWindow.Background $editor(bg) interactive -option add *Button.Foreground $editor(fg) interactive -option add *Button.Background $editor(bg) interactive -option add *Button.activeBackground $editor(bg) userDefault -option add *Button.activeForeground $editor(fg) userDefault +# загружаем пользовательский конфиг, если он отсутствует, то копируем дефолтный +if {[file exists [file join $dir(cfg) projman.ini]] ==0} { + Config::create $dir(cfg) +} +Config::read $dir(cfg) -option add *Entry.Foreground $editor(fg) interactive -option add *Entry.Background $editor(bg) interactive -option add *Label.Foreground $editor(fg) interactive -option add *Label.Background $editor(bg) interactive -option add *Checkbox.Foreground $editor(fg) interactive -option add *Checkbox.Background $editor(bg) interactive -option add *Checkbutton.Foreground $editor(fg) interactive -option add *Checkbutton.Background $editor(bg) interactive -option add *Combobox.Foreground $editor(fg) interactive -option add *Combobox.Background $editor(bg) interactive -option add *Text.Foreground $editor(fg) interactive -option add *Text.Background $editor(bg) interactive -option add *Tree.Background $editor(bg) interactive -option add *Tree.Foreground $editor(fg) interactive -option add *Scrollbar.Background $editor(bg) interactive -option add *Canvas.Background $editor(bg) interactive -option add *Canvas.Foreground $editor(fg) interactive -option add *Node.Foreground $editor(fg) interactive -option add *NoteBook.bg $editor(bg) interactive -option add *NoteBook.fg $editor(fg) interactive -option add *Listbox.Foreground $editor(fg) interactive -option add *Listbox.Background $editor(bg) interactive +::msgcat::mclocale $cfgVariables(locale) -#option add *Button.font $guifont userDefault -#option add *Label.font $guifont userDefault -#option add *Menu.font $guifont userDefault -#option add *Menubutton.font $guifont userDefault -option add *Dialog.msg.background $editor(bg) - - # option add *Text.Background $textbg userDefault -# option add *Entry.Background $textbg userDefault -# option add *Text.Foreground $textfg userDefault -# option add *Entry.Foreground $textfg userDefault -# option add *Button.activeBackground $bg userDefault -# option add *Button.activeForeground $fg userDefault -# option add *Scrollbar.activeBackground $bg userDefault -# option add *Scrollbar.troughColor $shadow userDefault -# option add *Canvas.Background $shadow userDefault -# -# # These menu configs work if you use native menus. -# option add *Menu.borderWidth 1 userDefault -# option add *Menu.activeForeground $fg userDefault -# option add *Menubutton.activeForeground $fg userDefault -# -# # This draws a thin border around buttons -# #option add *highlightBackground $bg userDefault -# # Suppress the border -# option add *HighlightThickness 0 userDefault -# # Add it back for text and entry widgets -# option add *Text.highlightBackground $bg userDefault -# option add *Entry.highlightBackground $bg userDefault -# option add *Text.HighlightThickness 2 userDefault -# option add *Entry.HighlightThickness 1 userDefault - -GetSystemCommand +if [::msgcat::mcload [file join $dir(lib) msgs]] { + puts "Load locale messages... OK" +} +puts "Setting the locale... [::msgcat::mclocale]" +source [file join $dir(lib) gui.tcl] +# Open the PATH if command line argument has been setting +if [info exists opened] { + puts $opened + foreach path $opened { + if [file isdirectory $path] { + FileOper::ReadFolder $path + } elseif [file exists $path] { + ResetModifiedFlag [FileOper::Edit $path] + } + } +} diff --git a/theme/adapta/LICENSE.md b/theme/adapta/LICENSE.md new file mode 100644 index 0000000..bb72e83 --- /dev/null +++ b/theme/adapta/LICENSE.md @@ -0,0 +1,192 @@ +# SVG Image License + +This License applies to the PNG images, built from the SVG images in the +adapta theme using `tool/svg.py`, ONLY! This License does not cover +`adapta.tcl`, which is covered by GNU GPLv3 as it is derived from +`equilux.tcl`, which is derived from `arc.tcl`. + +[CC BY-SA is one-way compatible with GNU GPLv3](https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3), +and thus theme `adapta` can be used as if it were licensed under +`GNU GPLv3`. + +Note that the `adapta`-theme code/markup files are licensed under GNU +GPLv2, which is incompatible with GNU GPLv3 (as it does not specify +`Or at your option, any later version`), but no files covered by only +GPLv2 from the `adapta` theme are included, so it does NOT apply. + +Original Theme [`adapta-gtk-theme`](https://github.com/adapta-project/adapta-gtk-theme) + +**Authors**: `@tista500` and others + + +# Attribution-ShareAlike 4.0 International + +Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +### Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). + +* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). + +## Creative Commons Attribution-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +### Section 1 – Definitions. + +a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. + +d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + +f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + +h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + +j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. + +k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + +l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + +m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +### Section 2 – Scope. + +a. ___License grant.___ + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + + B. produce, reproduce, and Share Adapted Material. + + 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. __Term.__ The term of this Public License is specified in Section 6(a). + + 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. __Downstream recipients.__ + + A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. __Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + + C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. ___Other rights.___ + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +### Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. ___Attribution.___ + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + +b. ___ShareAlike.___ + +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + +2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + +3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +### Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +### Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ + +b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ + +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +### Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +### Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +### Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +> +> Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/theme/adapta/adapta.tcl b/theme/adapta/adapta.tcl new file mode 100644 index 0000000..ac3210f --- /dev/null +++ b/theme/adapta/adapta.tcl @@ -0,0 +1,338 @@ +# Copyright (C) 2018 RedFantom +# Derived from https://github.com/adapta-project/adapta-gtk-theme (GNU GPLv2) +# Based on /ttkthemes/ttkthemes/themes/arc/arc.tcl (GNU GPLv3) +# Available under the GNU GPLv3, or at your option any later version + +# Theme Adapta +namespace eval ttk::theme::adapta { + + # Widget colors + variable colors + array set colors { + -foreground "#000000" + -background "#fafbfc" + -disabledbg "#fafbfc" + -disabledfg "#c3c5d6" + -selectbg "#00bcd4" + -selectfg "#ffffff" + -window "#fafbfc" + -focuscolor "#1ee9b7" + -checklight "#1ee9b7" + } + + # Function to load images from subdirectory + variable directory + # Subdirectory /adapta + set directory [file join [file dirname [info script]] adapta] + variable images + # Load the images + foreach file [glob -directory $directory *.png] { + set img [file tail [file rootname $file]] + set images($img) [image create photo -file $file -format png] + } + + # Create a new ttk::style + ttk::style theme create adapta -parent default -settings { + # Configure basic style settings + ttk::style configure . \ + -background $colors(-background) \ + -foreground $colors(-foreground) \ + -troughcolor $colors(-background) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -fieldbackground $colors(-window) \ + -font TkDefaultFont \ + -borderwidth 1 \ + -focuscolor $colors(-focuscolor) + + # Map disabled colors to disabledfg + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + # WIDGET LAYOUTS + + ttk::style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label -side left -expand true + } + } + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.focus -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.focus -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + } + + ttk::style layout TCombobox { + Combobox.field -sticky nswe -children { + Combobox.downarrow -side right -sticky ns -children { + Combobox.arrow -side right + } + Combobox.padding -expand true -sticky nswe -children { + Combobox.textarea -sticky nswe + } + } + } + + ttk::style layout TSpinbox { + Spinbox.field -side top -sticky we -children { + Spinbox.buttons -side right -children { + null -side right -sticky {} -children { + Spinbox.uparrow -side top -sticky nse -children { + Spinbox.symuparrow -side right -sticky e + } + Spinbox.downarrow -side bottom -sticky nse -children { + Spinbox.symdownarrow -side right -sticky e + } + } + } + Spinbox.padding -sticky nswe -children { + Spinbox.textarea -sticky nswe + } + } + } + + # Style elements + + # Button + ttk::style element create Button.button image [list $images(button) \ + pressed $images(button-active) \ + active $images(button-hover) \ + disabled $images(button-insensitive) \ + ] -border 3 -padding {3 2} -sticky ewns + + # Toolbutton + ttk::style element create Toolbutton.button image [list $images(toolbutton) \ + selected $images(toolbutton-active) \ + pressed $images(toolbutton-active) \ + {active !disabled} $images(toolbutton-hover) \ + ] -border 3 -padding {3 2} -sticky news + + # Checkbutton + ttk::style element create Checkbutton.indicator image [list $images(check-off) \ + disabled $images(check-off-insensitive) \ + {active selected} $images(check-on-hover) \ + {pressed selected} $images(check-on) \ + active $images(check-off) \ + selected $images(check-on) \ + {disabled selected} $images(check-on-insensitive) \ + ] -width 25 -sticky w -padding {0 4 0 0} + + # Radiobutton + ttk::style element create Radiobutton.indicator image [list $images(radio-off) \ + disabled $images(radio-off-insensitive) \ + {active selected} $images(radio-on-hover) \ + {pressed selected} $images(radio-on) \ + active $images(radio-off) \ + selected $images(radio-on-hover) \ + {disabled selected} $images(radio-on-insensitive) \ + ] -width 25 -sticky w -padding {0 4 0 0} + + # Scrollbars + ttk::style element create Horizontal.Scrollbar.trough \ + image [list $images(scroll-horiz-bg) \ + disabled $images(scroll-horiz-bg-insensitive) \ + ] + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $images(scroll-horiz-slider) \ + {pressed !disabled} $images(scroll-horiz-slider-active) \ + {active !disabled} $images(scroll-horiz-slider-hover) \ + disabled $images(scroll-horiz-slider-insensitive) \ + ] -border 7 -sticky ew + ttk::style element create Vertical.Scrollbar.trough \ + image [list $images(scroll-vert-bg) \ + disabled $images(scroll-vert-bg-insensitive) \ + ] + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $images(scroll-vert-slider) \ + {pressed !disabled} $images(scroll-vert-slider-active) \ + {active !disabled} $images(scroll-vert-slider-hover) \ + disabled $images(scroll-vert-slider-insensitive) \ + ] -border 7 -sticky ns + + # Scales + ttk::style element create Horizontal.Scale.trough \ + image [list $images(scale-horiz-bg) \ + disabled $images(scale-horiz-bg-insensitive) \ + ] \ + -border {10 5 10 5} -padding 0 + ttk::style element create Horizontal.Scale.slider \ + image [list $images(scale-slider) \ + disabled $images(scale-slider-insensitive) \ + active $images(scale-slider-hover) \ + ] \ + -sticky {} + ttk::style element create Vertical.Scale.trough \ + image [list $images(scale-vert-bg) \ + disabled $images(scale-vert-bg-insensitive) \ + ] \ + -border {5 10 5 10} -padding 0 + ttk::style element create Vertical.Scale.slider \ + image [list $images(scale-slider) \ + disabled $images(scale-slider-insensitive) \ + active $images(scale-slider-hover) + ] \ + -sticky {} + + # Entry + ttk::style element create Entry.field \ + image [list $images(entry) \ + focus $images(entry-active) \ + disabled $images(entry-insensitive)] \ + -border 4 -padding {6 6} -sticky news + + # LabelFrame + # ttk::style element create Labelframe.border image $images(labelframe) \ + # -border 4 -padding 4 -sticky news + + # Menubutton + ttk::style element create Menubutton.button \ + image [list $images(button) \ + pressed $images(button-active) \ + active $images(button-hover) \ + disabled $images(button-insensitive) \ + ] -sticky news -border 3 -padding {3 2} + ttk::style element create Menubutton.indicator \ + image [list $images(arrow-down) \ + active $images(arrow-down-hover) \ + pressed $images(arrow-down-hover) \ + ] -sticky e -width 20 + + # ComboBox + ttk::style element create Combobox.field \ + image [list $images(combo-entry) \ + {readonly disabled} $images(combo-entry-insensitive) \ + {readonly pressed} $images(combo-entry-active) \ + {readonly hover} $images(combo-entry-active) \ + readonly $images(combo-entry) \ + {disabled} $images(combo-entry-insensitive) \ + {hover} $images(combo-entry-active) \ + ] -border 4 -padding {6 0 0 0} + ttk::style element create Combobox.downarrow \ + image [list $images(combo-button) \ + pressed $images(combo-button-active) \ + active $images(combo-button-hover) \ + disabled $images(combo-button-insensitive) \ + ] -border 4 -padding {0 10 6 10} + ttk::style element create Combobox.arrow \ + image [list $images(button-unshade) \ + active $images(button-unshade-prelight) \ + pressed $images(button-unshade-pressed) \ + disabled $images(button-unshade) \ + ] -sticky e -width 15 + + # Spinbox + # ttk::style element create Spinbox.field \ + # image [list $images(combo-entry) focus $images(combo-entry-active)] \ + # -border 4 -padding {6 0 0 0} -sticky news + # ttk::style element create Spinbox.uparrow \ + # image [list $images(up-bg) \ + # pressed $images(up-bg-active) \ + # active $images(up-bg-hover) \ + # disabled $images(up-bg-disable) \ + # ] -width 20 -border {0 2 3 0} -padding {0 5 6 2} + # ttk::style element create Spinbox.symuparrow \ + # image [list $images(arrow-up-small) \ + # active $images(arrow-up-small-prelight) \ + # pressed $images(arrow-up-small-prelight) \ + # disabled $images(arrow-up-small-insens) \ + # ] + # ttk::style element create Spinbox.downarrow \ + # image [list $images(down-bg) \ + # pressed $images(down-bg-active) \ + # active $images(down-bg-hover) \ + # disabled $images(down-bg-disable) \ + # ] -width 20 -border {0 0 3 2} -padding {0 2 6 5} + # ttk::style element create Spinbox.symdownarrow \ + # image [list $images(arrow-down) \ + # active $images(arrow-down-prelight) \ + # pressed $images(arrow-down-prelight) \ + # disabled $images(arrow-down-insens) \ + # ] + + # Notebook + # ttk::style element create Notebook.client \ + # image $images(notebook) -border 1 + ttk::style element create Notebook.tab \ + image [list $images(notebook) \ + selected $images(notebook-active) \ + ] -padding {4 4 4 2} -border {5 3 5 0} + + # Progressbars + ttk::style element create Horizontal.Progressbar.trough \ + image $images(progress-bg) -border 0 -padding 1 + ttk::style element create Horizontal.Progressbar.pbar \ + image $images(progress-bar) -border 0 -padding 2 + + ttk::style element create Vertical.Progressbar.trough \ + image $images(progress-bg) -border 0 -padding 1 + ttk::style element create Vertical.Progressbar.pbar \ + image $images(progress-bar) -border 0 + + # Treeview + ttk::style element create Treeview.field \ + image $images(treeview) -border 1 + ttk::style element create Treeheading.cell \ + image [list $images(toolbutton-hover) \ + pressed $images(toolbutton-active) \ + disabled $images(toolbutton-insensitive) \ + active $images(toolbutton-hover)] \ + -border {4 1 4 1} -padding 4 -sticky ewns + # ttk::style element create Treeitem.indicator \ + # image [list $images(plus) user2 $images(empty) user1 $images(minus)] \ + # -width 15 -sticky w + + # Settings + ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center + ttk::style configure TMenubutton -padding {8 4 4 4} + ttk::style configure Toolbutton -anchor center + ttk::style map TCheckbutton -background [list active $colors(-checklight)] + ttk::style configure TCheckbutton -padding 3 + ttk::style map TRadiobutton -background [list active $colors(-checklight)] + ttk::style configure TRadiobutton -padding 3 + ttk::style configure TNotebook -tabmargins {0 2 0 0} + ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2} + ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}] + ttk::style configure TSeparator -background $colors(-background) + + # Treeview + ttk::style configure Treeview -background $colors(-window) + ttk::style configure Treeview.Item -padding {2 0 0 0} + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + } +} + +variable version 1.0 +package provide ttk::theme::adapta $version diff --git a/theme/adapta/adapta/arrow-down-hover.png b/theme/adapta/adapta/arrow-down-hover.png new file mode 100644 index 0000000..ee626e0 Binary files /dev/null and b/theme/adapta/adapta/arrow-down-hover.png differ diff --git a/theme/adapta/adapta/arrow-down-pressed.png b/theme/adapta/adapta/arrow-down-pressed.png new file mode 100644 index 0000000..f6f1b24 Binary files /dev/null and b/theme/adapta/adapta/arrow-down-pressed.png differ diff --git a/theme/adapta/adapta/arrow-down.png b/theme/adapta/adapta/arrow-down.png new file mode 100644 index 0000000..3a515a5 Binary files /dev/null and b/theme/adapta/adapta/arrow-down.png differ diff --git a/theme/adapta/adapta/arrow-left-alt-hover.png b/theme/adapta/adapta/arrow-left-alt-hover.png new file mode 100644 index 0000000..254bb7d Binary files /dev/null and b/theme/adapta/adapta/arrow-left-alt-hover.png differ diff --git a/theme/adapta/adapta/arrow-left-alt-insensitive.png b/theme/adapta/adapta/arrow-left-alt-insensitive.png new file mode 100644 index 0000000..b4fe8c4 Binary files /dev/null and b/theme/adapta/adapta/arrow-left-alt-insensitive.png differ diff --git a/theme/adapta/adapta/arrow-left-alt.png b/theme/adapta/adapta/arrow-left-alt.png new file mode 100644 index 0000000..7a4ab21 Binary files /dev/null and b/theme/adapta/adapta/arrow-left-alt.png differ diff --git a/theme/adapta/adapta/arrow-left-insensitive.png b/theme/adapta/adapta/arrow-left-insensitive.png new file mode 100644 index 0000000..c575c89 Binary files /dev/null and b/theme/adapta/adapta/arrow-left-insensitive.png differ diff --git a/theme/adapta/adapta/arrow-left.png b/theme/adapta/adapta/arrow-left.png new file mode 100644 index 0000000..ca7f402 Binary files /dev/null and b/theme/adapta/adapta/arrow-left.png differ diff --git a/theme/adapta/adapta/arrow-right-alt-hover.png b/theme/adapta/adapta/arrow-right-alt-hover.png new file mode 100644 index 0000000..952274b Binary files /dev/null and b/theme/adapta/adapta/arrow-right-alt-hover.png differ diff --git a/theme/adapta/adapta/arrow-right-alt-insensitive.png b/theme/adapta/adapta/arrow-right-alt-insensitive.png new file mode 100644 index 0000000..e748172 Binary files /dev/null and b/theme/adapta/adapta/arrow-right-alt-insensitive.png differ diff --git a/theme/adapta/adapta/arrow-right-alt.png b/theme/adapta/adapta/arrow-right-alt.png new file mode 100644 index 0000000..6baf501 Binary files /dev/null and b/theme/adapta/adapta/arrow-right-alt.png differ diff --git a/theme/adapta/adapta/arrow-right-insensitive.png b/theme/adapta/adapta/arrow-right-insensitive.png new file mode 100644 index 0000000..09718e9 Binary files /dev/null and b/theme/adapta/adapta/arrow-right-insensitive.png differ diff --git a/theme/adapta/adapta/arrow-right-selected.png b/theme/adapta/adapta/arrow-right-selected.png new file mode 100644 index 0000000..d48cf4e Binary files /dev/null and b/theme/adapta/adapta/arrow-right-selected.png differ diff --git a/theme/adapta/adapta/arrow-right.png b/theme/adapta/adapta/arrow-right.png new file mode 100644 index 0000000..51c30ee Binary files /dev/null and b/theme/adapta/adapta/arrow-right.png differ diff --git a/theme/adapta/adapta/arrow-up-hover.png b/theme/adapta/adapta/arrow-up-hover.png new file mode 100644 index 0000000..ae6238b Binary files /dev/null and b/theme/adapta/adapta/arrow-up-hover.png differ diff --git a/theme/adapta/adapta/arrow-up-pressed.png b/theme/adapta/adapta/arrow-up-pressed.png new file mode 100644 index 0000000..867216e Binary files /dev/null and b/theme/adapta/adapta/arrow-up-pressed.png differ diff --git a/theme/adapta/adapta/arrow-up.png b/theme/adapta/adapta/arrow-up.png new file mode 100644 index 0000000..fb33694 Binary files /dev/null and b/theme/adapta/adapta/arrow-up.png differ diff --git a/theme/adapta/adapta/button-active.png b/theme/adapta/adapta/button-active.png new file mode 100644 index 0000000..abb4f76 Binary files /dev/null and b/theme/adapta/adapta/button-active.png differ diff --git a/theme/adapta/adapta/button-hover.png b/theme/adapta/adapta/button-hover.png new file mode 100644 index 0000000..cbd254d Binary files /dev/null and b/theme/adapta/adapta/button-hover.png differ diff --git a/theme/adapta/adapta/button-insensitive.png b/theme/adapta/adapta/button-insensitive.png new file mode 100644 index 0000000..1ea697e Binary files /dev/null and b/theme/adapta/adapta/button-insensitive.png differ diff --git a/theme/adapta/adapta/button-unshade-prelight.png b/theme/adapta/adapta/button-unshade-prelight.png new file mode 100644 index 0000000..273ab9c Binary files /dev/null and b/theme/adapta/adapta/button-unshade-prelight.png differ diff --git a/theme/adapta/adapta/button-unshade-pressed.png b/theme/adapta/adapta/button-unshade-pressed.png new file mode 100644 index 0000000..0f42489 Binary files /dev/null and b/theme/adapta/adapta/button-unshade-pressed.png differ diff --git a/theme/adapta/adapta/button-unshade.png b/theme/adapta/adapta/button-unshade.png new file mode 100644 index 0000000..cdf3419 Binary files /dev/null and b/theme/adapta/adapta/button-unshade.png differ diff --git a/theme/adapta/adapta/button.png b/theme/adapta/adapta/button.png new file mode 100644 index 0000000..6a32921 Binary files /dev/null and b/theme/adapta/adapta/button.png differ diff --git a/theme/adapta/adapta/button_shade_prelight.png b/theme/adapta/adapta/button_shade_prelight.png new file mode 100644 index 0000000..b3b92e0 Binary files /dev/null and b/theme/adapta/adapta/button_shade_prelight.png differ diff --git a/theme/adapta/adapta/button_shade_pressed.png b/theme/adapta/adapta/button_shade_pressed.png new file mode 100644 index 0000000..39e9583 Binary files /dev/null and b/theme/adapta/adapta/button_shade_pressed.png differ diff --git a/theme/adapta/adapta/check-off-active.png b/theme/adapta/adapta/check-off-active.png new file mode 100644 index 0000000..a0a61d9 Binary files /dev/null and b/theme/adapta/adapta/check-off-active.png differ diff --git a/theme/adapta/adapta/check-off-hover.png b/theme/adapta/adapta/check-off-hover.png new file mode 100644 index 0000000..1cd60ac Binary files /dev/null and b/theme/adapta/adapta/check-off-hover.png differ diff --git a/theme/adapta/adapta/check-off-insensitive.png b/theme/adapta/adapta/check-off-insensitive.png new file mode 100644 index 0000000..7a109d7 Binary files /dev/null and b/theme/adapta/adapta/check-off-insensitive.png differ diff --git a/theme/adapta/adapta/check-off.png b/theme/adapta/adapta/check-off.png new file mode 100644 index 0000000..c9123b1 Binary files /dev/null and b/theme/adapta/adapta/check-off.png differ diff --git a/theme/adapta/adapta/check-on-active.png b/theme/adapta/adapta/check-on-active.png new file mode 100644 index 0000000..ec3a4ab Binary files /dev/null and b/theme/adapta/adapta/check-on-active.png differ diff --git a/theme/adapta/adapta/check-on-hover.png b/theme/adapta/adapta/check-on-hover.png new file mode 100644 index 0000000..081bae8 Binary files /dev/null and b/theme/adapta/adapta/check-on-hover.png differ diff --git a/theme/adapta/adapta/check-on-insensitive.png b/theme/adapta/adapta/check-on-insensitive.png new file mode 100644 index 0000000..7b7cb03 Binary files /dev/null and b/theme/adapta/adapta/check-on-insensitive.png differ diff --git a/theme/adapta/adapta/check-on.png b/theme/adapta/adapta/check-on.png new file mode 100644 index 0000000..8599524 Binary files /dev/null and b/theme/adapta/adapta/check-on.png differ diff --git a/theme/adapta/adapta/combo-button-active.png b/theme/adapta/adapta/combo-button-active.png new file mode 100644 index 0000000..981d93c Binary files /dev/null and b/theme/adapta/adapta/combo-button-active.png differ diff --git a/theme/adapta/adapta/combo-button-hover.png b/theme/adapta/adapta/combo-button-hover.png new file mode 100644 index 0000000..e0ee6ef Binary files /dev/null and b/theme/adapta/adapta/combo-button-hover.png differ diff --git a/theme/adapta/adapta/combo-button-insensitive.png b/theme/adapta/adapta/combo-button-insensitive.png new file mode 100644 index 0000000..715aba9 Binary files /dev/null and b/theme/adapta/adapta/combo-button-insensitive.png differ diff --git a/theme/adapta/adapta/combo-button.png b/theme/adapta/adapta/combo-button.png new file mode 100644 index 0000000..6ec2d06 Binary files /dev/null and b/theme/adapta/adapta/combo-button.png differ diff --git a/theme/adapta/adapta/combo-entry-active.png b/theme/adapta/adapta/combo-entry-active.png new file mode 100644 index 0000000..ab62ca4 Binary files /dev/null and b/theme/adapta/adapta/combo-entry-active.png differ diff --git a/theme/adapta/adapta/combo-entry-insensitive.png b/theme/adapta/adapta/combo-entry-insensitive.png new file mode 100644 index 0000000..2fe64d4 Binary files /dev/null and b/theme/adapta/adapta/combo-entry-insensitive.png differ diff --git a/theme/adapta/adapta/combo-entry.png b/theme/adapta/adapta/combo-entry.png new file mode 100644 index 0000000..d440532 Binary files /dev/null and b/theme/adapta/adapta/combo-entry.png differ diff --git a/theme/adapta/adapta/entry-active.png b/theme/adapta/adapta/entry-active.png new file mode 100644 index 0000000..d100741 Binary files /dev/null and b/theme/adapta/adapta/entry-active.png differ diff --git a/theme/adapta/adapta/entry-insensitive.png b/theme/adapta/adapta/entry-insensitive.png new file mode 100644 index 0000000..fe70fdb Binary files /dev/null and b/theme/adapta/adapta/entry-insensitive.png differ diff --git a/theme/adapta/adapta/entry.png b/theme/adapta/adapta/entry.png new file mode 100644 index 0000000..484578e Binary files /dev/null and b/theme/adapta/adapta/entry.png differ diff --git a/theme/adapta/adapta/notebook-active.png b/theme/adapta/adapta/notebook-active.png new file mode 100644 index 0000000..5a97935 Binary files /dev/null and b/theme/adapta/adapta/notebook-active.png differ diff --git a/theme/adapta/adapta/notebook.png b/theme/adapta/adapta/notebook.png new file mode 100644 index 0000000..c67333a Binary files /dev/null and b/theme/adapta/adapta/notebook.png differ diff --git a/theme/adapta/adapta/progress-bar.png b/theme/adapta/adapta/progress-bar.png new file mode 100644 index 0000000..7bd6664 Binary files /dev/null and b/theme/adapta/adapta/progress-bar.png differ diff --git a/theme/adapta/adapta/progress-bg.png b/theme/adapta/adapta/progress-bg.png new file mode 100644 index 0000000..58eaf89 Binary files /dev/null and b/theme/adapta/adapta/progress-bg.png differ diff --git a/theme/adapta/adapta/radio-off-active.png b/theme/adapta/adapta/radio-off-active.png new file mode 100644 index 0000000..0b73ed9 Binary files /dev/null and b/theme/adapta/adapta/radio-off-active.png differ diff --git a/theme/adapta/adapta/radio-off-hover.png b/theme/adapta/adapta/radio-off-hover.png new file mode 100644 index 0000000..67968ec Binary files /dev/null and b/theme/adapta/adapta/radio-off-hover.png differ diff --git a/theme/adapta/adapta/radio-off-insensitive.png b/theme/adapta/adapta/radio-off-insensitive.png new file mode 100644 index 0000000..0570f30 Binary files /dev/null and b/theme/adapta/adapta/radio-off-insensitive.png differ diff --git a/theme/adapta/adapta/radio-off.png b/theme/adapta/adapta/radio-off.png new file mode 100644 index 0000000..10b9855 Binary files /dev/null and b/theme/adapta/adapta/radio-off.png differ diff --git a/theme/adapta/adapta/radio-on-active.png b/theme/adapta/adapta/radio-on-active.png new file mode 100644 index 0000000..b852c83 Binary files /dev/null and b/theme/adapta/adapta/radio-on-active.png differ diff --git a/theme/adapta/adapta/radio-on-hover.png b/theme/adapta/adapta/radio-on-hover.png new file mode 100644 index 0000000..e7481ef Binary files /dev/null and b/theme/adapta/adapta/radio-on-hover.png differ diff --git a/theme/adapta/adapta/radio-on-insensitive.png b/theme/adapta/adapta/radio-on-insensitive.png new file mode 100644 index 0000000..61bef03 Binary files /dev/null and b/theme/adapta/adapta/radio-on-insensitive.png differ diff --git a/theme/adapta/adapta/radio-on.png b/theme/adapta/adapta/radio-on.png new file mode 100644 index 0000000..d544dbf Binary files /dev/null and b/theme/adapta/adapta/radio-on.png differ diff --git a/theme/adapta/adapta/scale-horiz-bg-insensitive.png b/theme/adapta/adapta/scale-horiz-bg-insensitive.png new file mode 100644 index 0000000..2974753 Binary files /dev/null and b/theme/adapta/adapta/scale-horiz-bg-insensitive.png differ diff --git a/theme/adapta/adapta/scale-horiz-bg.png b/theme/adapta/adapta/scale-horiz-bg.png new file mode 100644 index 0000000..2b81fe7 Binary files /dev/null and b/theme/adapta/adapta/scale-horiz-bg.png differ diff --git a/theme/adapta/adapta/scale-slider-active.png b/theme/adapta/adapta/scale-slider-active.png new file mode 100644 index 0000000..b8f6a80 Binary files /dev/null and b/theme/adapta/adapta/scale-slider-active.png differ diff --git a/theme/adapta/adapta/scale-slider-hover.png b/theme/adapta/adapta/scale-slider-hover.png new file mode 100644 index 0000000..b8f6a80 Binary files /dev/null and b/theme/adapta/adapta/scale-slider-hover.png differ diff --git a/theme/adapta/adapta/scale-slider-insensitive.png b/theme/adapta/adapta/scale-slider-insensitive.png new file mode 100644 index 0000000..7bb0e6b Binary files /dev/null and b/theme/adapta/adapta/scale-slider-insensitive.png differ diff --git a/theme/adapta/adapta/scale-slider.png b/theme/adapta/adapta/scale-slider.png new file mode 100644 index 0000000..7bb0e6b Binary files /dev/null and b/theme/adapta/adapta/scale-slider.png differ diff --git a/theme/adapta/adapta/scale-vert-bg-insensitive.png b/theme/adapta/adapta/scale-vert-bg-insensitive.png new file mode 100644 index 0000000..cc1e612 Binary files /dev/null and b/theme/adapta/adapta/scale-vert-bg-insensitive.png differ diff --git a/theme/adapta/adapta/scale-vert-bg.png b/theme/adapta/adapta/scale-vert-bg.png new file mode 100644 index 0000000..8de22b6 Binary files /dev/null and b/theme/adapta/adapta/scale-vert-bg.png differ diff --git a/theme/adapta/adapta/scroll-horiz-bg-insensitive.png b/theme/adapta/adapta/scroll-horiz-bg-insensitive.png new file mode 100644 index 0000000..e21e5b3 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-bg-insensitive.png differ diff --git a/theme/adapta/adapta/scroll-horiz-bg.png b/theme/adapta/adapta/scroll-horiz-bg.png new file mode 100644 index 0000000..e21e5b3 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-bg.png differ diff --git a/theme/adapta/adapta/scroll-horiz-slider-active.png b/theme/adapta/adapta/scroll-horiz-slider-active.png new file mode 100644 index 0000000..37f9776 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-slider-active.png differ diff --git a/theme/adapta/adapta/scroll-horiz-slider-hover.png b/theme/adapta/adapta/scroll-horiz-slider-hover.png new file mode 100644 index 0000000..41ed736 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-slider-hover.png differ diff --git a/theme/adapta/adapta/scroll-horiz-slider-insensitive.png b/theme/adapta/adapta/scroll-horiz-slider-insensitive.png new file mode 100644 index 0000000..a54a6a7 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-slider-insensitive.png differ diff --git a/theme/adapta/adapta/scroll-horiz-slider.png b/theme/adapta/adapta/scroll-horiz-slider.png new file mode 100644 index 0000000..bd370a8 Binary files /dev/null and b/theme/adapta/adapta/scroll-horiz-slider.png differ diff --git a/theme/adapta/adapta/scroll-vert-bg-insensitive.png b/theme/adapta/adapta/scroll-vert-bg-insensitive.png new file mode 100644 index 0000000..7bfccf9 Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-bg-insensitive.png differ diff --git a/theme/adapta/adapta/scroll-vert-bg.png b/theme/adapta/adapta/scroll-vert-bg.png new file mode 100644 index 0000000..7bfccf9 Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-bg.png differ diff --git a/theme/adapta/adapta/scroll-vert-slider-active.png b/theme/adapta/adapta/scroll-vert-slider-active.png new file mode 100644 index 0000000..df67aff Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-slider-active.png differ diff --git a/theme/adapta/adapta/scroll-vert-slider-hover.png b/theme/adapta/adapta/scroll-vert-slider-hover.png new file mode 100644 index 0000000..5add8df Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-slider-hover.png differ diff --git a/theme/adapta/adapta/scroll-vert-slider-insensitive.png b/theme/adapta/adapta/scroll-vert-slider-insensitive.png new file mode 100644 index 0000000..e5d4934 Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-slider-insensitive.png differ diff --git a/theme/adapta/adapta/scroll-vert-slider.png b/theme/adapta/adapta/scroll-vert-slider.png new file mode 100644 index 0000000..e85d4b5 Binary files /dev/null and b/theme/adapta/adapta/scroll-vert-slider.png differ diff --git a/theme/adapta/adapta/spin-down-active.png b/theme/adapta/adapta/spin-down-active.png new file mode 100644 index 0000000..6ab0b80 Binary files /dev/null and b/theme/adapta/adapta/spin-down-active.png differ diff --git a/theme/adapta/adapta/spin-down-hover.png b/theme/adapta/adapta/spin-down-hover.png new file mode 100644 index 0000000..39aefe6 Binary files /dev/null and b/theme/adapta/adapta/spin-down-hover.png differ diff --git a/theme/adapta/adapta/spin-down-insensitive.png b/theme/adapta/adapta/spin-down-insensitive.png new file mode 100644 index 0000000..9914840 Binary files /dev/null and b/theme/adapta/adapta/spin-down-insensitive.png differ diff --git a/theme/adapta/adapta/spin-down.png b/theme/adapta/adapta/spin-down.png new file mode 100644 index 0000000..f79b5f0 Binary files /dev/null and b/theme/adapta/adapta/spin-down.png differ diff --git a/theme/adapta/adapta/spin-up-active.png b/theme/adapta/adapta/spin-up-active.png new file mode 100644 index 0000000..e404b7e Binary files /dev/null and b/theme/adapta/adapta/spin-up-active.png differ diff --git a/theme/adapta/adapta/spin-up-hover.png b/theme/adapta/adapta/spin-up-hover.png new file mode 100644 index 0000000..cba33ea Binary files /dev/null and b/theme/adapta/adapta/spin-up-hover.png differ diff --git a/theme/adapta/adapta/spin-up-insensitive.png b/theme/adapta/adapta/spin-up-insensitive.png new file mode 100644 index 0000000..6311bc3 Binary files /dev/null and b/theme/adapta/adapta/spin-up-insensitive.png differ diff --git a/theme/adapta/adapta/spin-up.png b/theme/adapta/adapta/spin-up.png new file mode 100644 index 0000000..e4b0b53 Binary files /dev/null and b/theme/adapta/adapta/spin-up.png differ diff --git a/theme/adapta/adapta/toolbutton-active.png b/theme/adapta/adapta/toolbutton-active.png new file mode 100644 index 0000000..e1bca5c Binary files /dev/null and b/theme/adapta/adapta/toolbutton-active.png differ diff --git a/theme/adapta/adapta/toolbutton-hover.png b/theme/adapta/adapta/toolbutton-hover.png new file mode 100644 index 0000000..bd312e5 Binary files /dev/null and b/theme/adapta/adapta/toolbutton-hover.png differ diff --git a/theme/adapta/adapta/toolbutton-insensitive.png b/theme/adapta/adapta/toolbutton-insensitive.png new file mode 100644 index 0000000..8d25ddf Binary files /dev/null and b/theme/adapta/adapta/toolbutton-insensitive.png differ diff --git a/theme/adapta/adapta/toolbutton.png b/theme/adapta/adapta/toolbutton.png new file mode 100644 index 0000000..8d25ddf Binary files /dev/null and b/theme/adapta/adapta/toolbutton.png differ diff --git a/theme/adapta/adapta/treeview-active.png b/theme/adapta/adapta/treeview-active.png new file mode 100644 index 0000000..5739da0 Binary files /dev/null and b/theme/adapta/adapta/treeview-active.png differ diff --git a/theme/adapta/adapta/treeview-hover.png b/theme/adapta/adapta/treeview-hover.png new file mode 100644 index 0000000..65abf53 Binary files /dev/null and b/theme/adapta/adapta/treeview-hover.png differ diff --git a/theme/adapta/adapta/treeview-insensitive.png b/theme/adapta/adapta/treeview-insensitive.png new file mode 100644 index 0000000..2cfda65 Binary files /dev/null and b/theme/adapta/adapta/treeview-insensitive.png differ diff --git a/theme/adapta/adapta/treeview.png b/theme/adapta/adapta/treeview.png new file mode 100644 index 0000000..2cfda65 Binary files /dev/null and b/theme/adapta/adapta/treeview.png differ diff --git a/theme/arc/LICENSE b/theme/arc/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/theme/arc/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program 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 program 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/theme/arc/arc.tcl b/theme/arc/arc.tcl new file mode 100644 index 0000000..12530aa --- /dev/null +++ b/theme/arc/arc.tcl @@ -0,0 +1,309 @@ +# Copyright (c) 2015 Sergei Golovan +# Derived from https://github.com/horst3180/arc-theme/ under the GNU GPLv3 +# Thus this is available under GNU GPLv3 also, as described in LICENSE + +namespace eval ttk::theme::arc { + + variable colors + array set colors { + -fg "#5c616c" + -bg "#f5f6f7" + -disabledbg "#fbfcfc" + -disabledfg "#a9acb2" + -selectbg "#5294e2" + -selectfg "#ffffff" + -window "#ffffff" + -focuscolor "#5c616c" + -checklight "#fbfcfc" + } + + proc LoadImages {imgdir} { + variable I + foreach file [glob -directory $imgdir *.png] { + set img [file tail [file rootname $file]] + set I($img) [image create photo -file $file -format png] + } + } + + LoadImages [file join [file dirname [info script]] arc] + + ttk::style theme create arc -parent default -settings { + ttk::style configure . \ + -background $colors(-bg) \ + -foreground $colors(-fg) \ + -troughcolor $colors(-bg) \ + -selectbg $colors(-selectbg) \ + -selectfg $colors(-selectfg) \ + -fieldbg $colors(-window) \ + -font TkDefaultFont \ + -borderwidth 1 \ + -focuscolor $colors(-focuscolor) + + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + # Layouts + ttk::style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label -side left -expand true + } + } + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.focus -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.focus -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + } + + ttk::style layout TCombobox { + Combobox.field -sticky nswe -children { + Combobox.downarrow -side right -sticky ns -children { + Combobox.arrow -side right + } + Combobox.padding -expand true -sticky nswe -children { + Combobox.textarea -sticky nswe + } + } + } + + ttk::style layout TSpinbox { + Spinbox.field -side top -sticky we -children { + Spinbox.buttons -side right -children { + null -side right -sticky {} -children { + Spinbox.uparrow -side top -sticky nse -children { + Spinbox.symuparrow -side right -sticky e + } + Spinbox.downarrow -side bottom -sticky nse -children { + Spinbox.symdownarrow -side right -sticky e + } + } + } + Spinbox.padding -sticky nswe -children { + Spinbox.textarea -sticky nswe + } + } + } + + # Elements + ttk::style element create Button.button image [list $I(button) \ + pressed $I(button-active) \ + active $I(button-hover) \ + disabled $I(button-insensitive) \ + ] -border 3 -padding {3 2} -sticky ewns + + ttk::style element create Toolbutton.button image [list $I(button-empty) \ + selected $I(button-active) \ + pressed $I(button-active) \ + {active !disabled} $I(button-hover) \ + ] -border 3 -padding {3 2} -sticky news + + ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \ + disabled $I(checkbox-unchecked-insensitive) \ + {active selected} $I(checkbox-checked) \ + {pressed selected} $I(checkbox-checked) \ + active $I(checkbox-unchecked) \ + selected $I(checkbox-checked) \ + {disabled selected} $I(checkbox-checked-insensitive) \ + ] -width 22 -sticky w + + ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \ + disabled $I(radio-unchecked-insensitive) \ + {active selected} $I(radio-checked) \ + {pressed selected} $I(radio-checked) \ + active $I(radio-unchecked) \ + selected $I(radio-checked) \ + {disabled selected} $I(radio-checked-insensitive) \ + ] -width 22 -sticky w + + ttk::style element create Horizontal.Scrollbar.trough image $I(trough-scrollbar-horiz) + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $I(slider-horiz) \ + {pressed !disabled} $I(slider-horiz-active) \ + {active !disabled} $I(slider-horiz-prelight) \ + disabled $I(slider-horiz-insens) \ + ] -border 6 -sticky ew + + ttk::style element create Vertical.Scrollbar.trough image $I(trough-scrollbar-vert) + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $I(slider-vert) \ + {pressed !disabled} $I(slider-vert-active) \ + {active !disabled} $I(slider-vert-prelight) \ + disabled $I(slider-vert-insens) \ + ] -border 6 -sticky ns + + ttk::style element create Horizontal.Scale.trough \ + image [list $I(trough-horizontal-active) disabled $I(trough-horizontal)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Horizontal.Scale.slider \ + image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \ + -sticky {} + + ttk::style element create Vertical.Scale.trough \ + image [list $I(trough-vertical-active) disabled $I(trough-vertical)] \ + -border {5 8 5 8} -padding 0 + ttk::style element create Vertical.Scale.slider \ + image [list $I(slider) disabled $I(slider-insensitive) active $I(slider-prelight)] \ + -sticky {} + + ttk::style element create Entry.field \ + image [list $I(entry-border-bg-solid) \ + focus $I(entry-border-active-bg-solid) \ + disabled $I(entry-border-disabled-bg)] \ + -border 3 -padding {6 4} -sticky news + + ttk::style element create Labelframe.border image $I(labelframe) \ + -border 4 -padding 4 -sticky news + + ttk::style element create Menubutton.button \ + image [list $I(button) \ + pressed $I(button-active) \ + active $I(button-hover) \ + disabled $I(button-insensitive) \ + ] -sticky news -border 3 -padding {3 2} + ttk::style element create Menubutton.indicator \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -sticky e -width 20 + + ttk::style element create Combobox.field \ + image [list $I(combo-entry) \ + {readonly disabled} $I(button-insensitive) \ + {readonly pressed} $I(button-active) \ + {readonly focus} $I(button-focus) \ + {readonly hover} $I(button-hover) \ + readonly $I(button) \ + {disabled} $I(combo-entry-insensitive) \ + {focus} $I(combo-entry-focus) \ + {hover} $I(combo-entry) \ + ] -border 4 -padding {6 0 0 0} + ttk::style element create Combobox.downarrow \ + image [list $I(combo-entry-button) \ + pressed $I(combo-entry-button-active) \ + active $I(combo-entry-button-hover) \ + disabled $I(combo-entry-button-insensitive) \ + ] -border 4 -padding {0 10 6 10} + ttk::style element create Combobox.arrow \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -sticky e -width 15 + + ttk::style element create Spinbox.field \ + image [list $I(combo-entry) focus $I(combo-entry-focus)] \ + -border 4 -padding {6 0 0 0} -sticky news + ttk::style element create Spinbox.uparrow \ + image [list $I(up-background) \ + pressed $I(up-background-active) \ + active $I(up-background-hover) \ + disabled $I(up-background-disable) \ + ] -width 20 -border {0 2 3 0} -padding {0 5 6 2} + ttk::style element create Spinbox.symuparrow \ + image [list $I(arrow-up-small) \ + active $I(arrow-up-small-prelight) \ + pressed $I(arrow-up-small-prelight) \ + disabled $I(arrow-up-small-insens) \ + ] + ttk::style element create Spinbox.downarrow \ + image [list $I(down-background) \ + pressed $I(down-background-active) \ + active $I(down-background-hover) \ + disabled $I(down-background-disable) \ + ] -width 20 -border {0 0 3 2} -padding {0 2 6 5} + ttk::style element create Spinbox.symdownarrow \ + image [list $I(arrow-down-small) \ + active $I(arrow-down-small-prelight) \ + pressed $I(arrow-down-small-prelight) \ + disabled $I(arrow-down-small-insens) \ + ] + + ttk::style element create Notebook.client \ + image $I(notebook) -border 1 + ttk::style element create Notebook.tab \ + image [list $I(tab-top) \ + selected $I(tab-top-active) \ + active $I(tab-top-hover) \ + ] -padding {0 2 0 0} -border 2 + + ttk::style element create Horizontal.Progressbar.trough \ + image $I(trough-progressbar_v) -border {5 1 5 1} -padding 1 -sticky ew + ttk::style element create Horizontal.Progressbar.pbar \ + image $I(progressbar_v) -border {4 0 4 0} -sticky ew + + ttk::style element create Vertical.Progressbar.trough \ + image $I(trough-progressbar) -border {1 5 1 5} -padding 1 -sticky ns + ttk::style element create Vertical.Progressbar.pbar \ + image $I(progressbar) -border {0 4 0 4} -sticky ns + + ttk::style element create Treeview.field \ + image $I(treeview) -border 1 + ttk::style element create Treeheading.cell \ + image [list $I(notebook) pressed $I(notebook)] \ + -border 1 -padding 4 -sticky ewns + + ttk::style element create Treeitem.indicator \ + image [list $I(plus) user2 $I(empty) user1 $I(minus)] \ + -width 15 -sticky w + + #ttk::style element create Separator.separator image $I() + + # + # Settings: + # + + ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center + ttk::style configure TMenubutton -padding {8 4 4 4} + ttk::style configure Toolbutton -anchor center + ttk::style map TCheckbutton -background [list active $colors(-checklight)] + ttk::style configure TCheckbutton -padding 3 + ttk::style map TRadiobutton -background [list active $colors(-checklight)] + ttk::style configure TRadiobutton -padding 3 + ttk::style configure TNotebook -tabmargins {0 2 0 0} + ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2} + ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}] + ttk::style configure TSeparator -background $colors(-bg) + + # Treeview + ttk::style configure Treeview -background $colors(-window) + ttk::style configure Treeview.Item -padding {2 0 0 0} + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + } +} + +variable version 0.1 +package provide ttk::theme::arc $version + diff --git a/theme/arc/arc/arrow-down-insens.png b/theme/arc/arc/arrow-down-insens.png new file mode 100644 index 0000000..9db1788 Binary files /dev/null and b/theme/arc/arc/arrow-down-insens.png differ diff --git a/theme/arc/arc/arrow-down-prelight.png b/theme/arc/arc/arrow-down-prelight.png new file mode 100644 index 0000000..ffcd1f9 Binary files /dev/null and b/theme/arc/arc/arrow-down-prelight.png differ diff --git a/theme/arc/arc/arrow-down-small-insens.png b/theme/arc/arc/arrow-down-small-insens.png new file mode 100644 index 0000000..8a67e67 Binary files /dev/null and b/theme/arc/arc/arrow-down-small-insens.png differ diff --git a/theme/arc/arc/arrow-down-small-prelight.png b/theme/arc/arc/arrow-down-small-prelight.png new file mode 100644 index 0000000..11d6369 Binary files /dev/null and b/theme/arc/arc/arrow-down-small-prelight.png differ diff --git a/theme/arc/arc/arrow-down-small.png b/theme/arc/arc/arrow-down-small.png new file mode 100644 index 0000000..dcd14a1 Binary files /dev/null and b/theme/arc/arc/arrow-down-small.png differ diff --git a/theme/arc/arc/arrow-down.png b/theme/arc/arc/arrow-down.png new file mode 100644 index 0000000..395f3b8 Binary files /dev/null and b/theme/arc/arc/arrow-down.png differ diff --git a/theme/arc/arc/arrow-left-insens.png b/theme/arc/arc/arrow-left-insens.png new file mode 100644 index 0000000..63b0bdd Binary files /dev/null and b/theme/arc/arc/arrow-left-insens.png differ diff --git a/theme/arc/arc/arrow-left-prelight.png b/theme/arc/arc/arrow-left-prelight.png new file mode 100644 index 0000000..75701fe Binary files /dev/null and b/theme/arc/arc/arrow-left-prelight.png differ diff --git a/theme/arc/arc/arrow-left.png b/theme/arc/arc/arrow-left.png new file mode 100644 index 0000000..838c7bf Binary files /dev/null and b/theme/arc/arc/arrow-left.png differ diff --git a/theme/arc/arc/arrow-right-insens.png b/theme/arc/arc/arrow-right-insens.png new file mode 100644 index 0000000..4d63a4f Binary files /dev/null and b/theme/arc/arc/arrow-right-insens.png differ diff --git a/theme/arc/arc/arrow-right-prelight.png b/theme/arc/arc/arrow-right-prelight.png new file mode 100644 index 0000000..bfce546 Binary files /dev/null and b/theme/arc/arc/arrow-right-prelight.png differ diff --git a/theme/arc/arc/arrow-right.png b/theme/arc/arc/arrow-right.png new file mode 100644 index 0000000..a44f44d Binary files /dev/null and b/theme/arc/arc/arrow-right.png differ diff --git a/theme/arc/arc/arrow-up-insens.png b/theme/arc/arc/arrow-up-insens.png new file mode 100644 index 0000000..b2f35d8 Binary files /dev/null and b/theme/arc/arc/arrow-up-insens.png differ diff --git a/theme/arc/arc/arrow-up-prelight.png b/theme/arc/arc/arrow-up-prelight.png new file mode 100644 index 0000000..58fb7a8 Binary files /dev/null and b/theme/arc/arc/arrow-up-prelight.png differ diff --git a/theme/arc/arc/arrow-up-small-insens.png b/theme/arc/arc/arrow-up-small-insens.png new file mode 100644 index 0000000..70a10bd Binary files /dev/null and b/theme/arc/arc/arrow-up-small-insens.png differ diff --git a/theme/arc/arc/arrow-up-small-prelight.png b/theme/arc/arc/arrow-up-small-prelight.png new file mode 100644 index 0000000..6ce79e5 Binary files /dev/null and b/theme/arc/arc/arrow-up-small-prelight.png differ diff --git a/theme/arc/arc/arrow-up-small.png b/theme/arc/arc/arrow-up-small.png new file mode 100644 index 0000000..2559ee2 Binary files /dev/null and b/theme/arc/arc/arrow-up-small.png differ diff --git a/theme/arc/arc/arrow-up.png b/theme/arc/arc/arrow-up.png new file mode 100644 index 0000000..68912d7 Binary files /dev/null and b/theme/arc/arc/arrow-up.png differ diff --git a/theme/arc/arc/button-active.png b/theme/arc/arc/button-active.png new file mode 100644 index 0000000..91effeb Binary files /dev/null and b/theme/arc/arc/button-active.png differ diff --git a/theme/arc/arc/button-empty.png b/theme/arc/arc/button-empty.png new file mode 100644 index 0000000..5bf872c Binary files /dev/null and b/theme/arc/arc/button-empty.png differ diff --git a/theme/arc/arc/button-focus.png b/theme/arc/arc/button-focus.png new file mode 100644 index 0000000..3d287d2 Binary files /dev/null and b/theme/arc/arc/button-focus.png differ diff --git a/theme/arc/arc/button-hover.png b/theme/arc/arc/button-hover.png new file mode 100644 index 0000000..293017a Binary files /dev/null and b/theme/arc/arc/button-hover.png differ diff --git a/theme/arc/arc/button-insensitive.png b/theme/arc/arc/button-insensitive.png new file mode 100644 index 0000000..49b871f Binary files /dev/null and b/theme/arc/arc/button-insensitive.png differ diff --git a/theme/arc/arc/button.png b/theme/arc/arc/button.png new file mode 100644 index 0000000..94f0723 Binary files /dev/null and b/theme/arc/arc/button.png differ diff --git a/theme/arc/arc/checkbox-checked-insensitive.png b/theme/arc/arc/checkbox-checked-insensitive.png new file mode 100644 index 0000000..1238cd6 Binary files /dev/null and b/theme/arc/arc/checkbox-checked-insensitive.png differ diff --git a/theme/arc/arc/checkbox-checked.png b/theme/arc/arc/checkbox-checked.png new file mode 100644 index 0000000..11047e9 Binary files /dev/null and b/theme/arc/arc/checkbox-checked.png differ diff --git a/theme/arc/arc/checkbox-unchecked-insensitive.png b/theme/arc/arc/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..482abfd Binary files /dev/null and b/theme/arc/arc/checkbox-unchecked-insensitive.png differ diff --git a/theme/arc/arc/checkbox-unchecked.png b/theme/arc/arc/checkbox-unchecked.png new file mode 100644 index 0000000..9181121 Binary files /dev/null and b/theme/arc/arc/checkbox-unchecked.png differ diff --git a/theme/arc/arc/combo-entry-button-active-rtl.png b/theme/arc/arc/combo-entry-button-active-rtl.png new file mode 100644 index 0000000..d473a50 Binary files /dev/null and b/theme/arc/arc/combo-entry-button-active-rtl.png differ diff --git a/theme/arc/arc/combo-entry-button-active.png b/theme/arc/arc/combo-entry-button-active.png new file mode 100644 index 0000000..b3b70f6 Binary files /dev/null and b/theme/arc/arc/combo-entry-button-active.png differ diff --git a/theme/arc/arc/combo-entry-button-hover.png b/theme/arc/arc/combo-entry-button-hover.png new file mode 100644 index 0000000..0375db7 Binary files /dev/null and b/theme/arc/arc/combo-entry-button-hover.png differ diff --git a/theme/arc/arc/combo-entry-button-insensitive-rtl.png b/theme/arc/arc/combo-entry-button-insensitive-rtl.png new file mode 100644 index 0000000..63a9fd4 Binary files /dev/null and b/theme/arc/arc/combo-entry-button-insensitive-rtl.png differ diff --git a/theme/arc/arc/combo-entry-button-insensitive.png b/theme/arc/arc/combo-entry-button-insensitive.png new file mode 100644 index 0000000..a9c42fa Binary files /dev/null and b/theme/arc/arc/combo-entry-button-insensitive.png differ diff --git a/theme/arc/arc/combo-entry-button-rtl.png b/theme/arc/arc/combo-entry-button-rtl.png new file mode 100644 index 0000000..af56039 Binary files /dev/null and b/theme/arc/arc/combo-entry-button-rtl.png differ diff --git a/theme/arc/arc/combo-entry-button.png b/theme/arc/arc/combo-entry-button.png new file mode 100644 index 0000000..fa3ffbb Binary files /dev/null and b/theme/arc/arc/combo-entry-button.png differ diff --git a/theme/arc/arc/combo-entry-focus-notebook-rtl.png b/theme/arc/arc/combo-entry-focus-notebook-rtl.png new file mode 100644 index 0000000..f538ef1 Binary files /dev/null and b/theme/arc/arc/combo-entry-focus-notebook-rtl.png differ diff --git a/theme/arc/arc/combo-entry-focus-notebook.png b/theme/arc/arc/combo-entry-focus-notebook.png new file mode 100644 index 0000000..02ef5b5 Binary files /dev/null and b/theme/arc/arc/combo-entry-focus-notebook.png differ diff --git a/theme/arc/arc/combo-entry-focus-rtl.png b/theme/arc/arc/combo-entry-focus-rtl.png new file mode 100644 index 0000000..f59520a Binary files /dev/null and b/theme/arc/arc/combo-entry-focus-rtl.png differ diff --git a/theme/arc/arc/combo-entry-focus.png b/theme/arc/arc/combo-entry-focus.png new file mode 100644 index 0000000..1b3caa7 Binary files /dev/null and b/theme/arc/arc/combo-entry-focus.png differ diff --git a/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png b/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png new file mode 100644 index 0000000..7f6fb70 Binary files /dev/null and b/theme/arc/arc/combo-entry-insensitive-notebook-rtl.png differ diff --git a/theme/arc/arc/combo-entry-insensitive-notebook.png b/theme/arc/arc/combo-entry-insensitive-notebook.png new file mode 100644 index 0000000..3313b01 Binary files /dev/null and b/theme/arc/arc/combo-entry-insensitive-notebook.png differ diff --git a/theme/arc/arc/combo-entry-insensitive-rtl.png b/theme/arc/arc/combo-entry-insensitive-rtl.png new file mode 100644 index 0000000..a9d83a0 Binary files /dev/null and b/theme/arc/arc/combo-entry-insensitive-rtl.png differ diff --git a/theme/arc/arc/combo-entry-insensitive.png b/theme/arc/arc/combo-entry-insensitive.png new file mode 100644 index 0000000..4aa5a61 Binary files /dev/null and b/theme/arc/arc/combo-entry-insensitive.png differ diff --git a/theme/arc/arc/combo-entry-notebook-rtl.png b/theme/arc/arc/combo-entry-notebook-rtl.png new file mode 100644 index 0000000..10757a6 Binary files /dev/null and b/theme/arc/arc/combo-entry-notebook-rtl.png differ diff --git a/theme/arc/arc/combo-entry-notebook.png b/theme/arc/arc/combo-entry-notebook.png new file mode 100644 index 0000000..c6cfc73 Binary files /dev/null and b/theme/arc/arc/combo-entry-notebook.png differ diff --git a/theme/arc/arc/combo-entry-rtl.png b/theme/arc/arc/combo-entry-rtl.png new file mode 100644 index 0000000..74c9b99 Binary files /dev/null and b/theme/arc/arc/combo-entry-rtl.png differ diff --git a/theme/arc/arc/combo-entry.png b/theme/arc/arc/combo-entry.png new file mode 100644 index 0000000..52997fc Binary files /dev/null and b/theme/arc/arc/combo-entry.png differ diff --git a/theme/arc/arc/down-background-active.png b/theme/arc/arc/down-background-active.png new file mode 100644 index 0000000..fac40e7 Binary files /dev/null and b/theme/arc/arc/down-background-active.png differ diff --git a/theme/arc/arc/down-background-disable-rtl.png b/theme/arc/arc/down-background-disable-rtl.png new file mode 100644 index 0000000..2d15372 Binary files /dev/null and b/theme/arc/arc/down-background-disable-rtl.png differ diff --git a/theme/arc/arc/down-background-disable.png b/theme/arc/arc/down-background-disable.png new file mode 100644 index 0000000..b1e591f Binary files /dev/null and b/theme/arc/arc/down-background-disable.png differ diff --git a/theme/arc/arc/down-background-hover.png b/theme/arc/arc/down-background-hover.png new file mode 100644 index 0000000..97d61a3 Binary files /dev/null and b/theme/arc/arc/down-background-hover.png differ diff --git a/theme/arc/arc/down-background-rtl.png b/theme/arc/arc/down-background-rtl.png new file mode 100644 index 0000000..7830008 Binary files /dev/null and b/theme/arc/arc/down-background-rtl.png differ diff --git a/theme/arc/arc/down-background.png b/theme/arc/arc/down-background.png new file mode 100644 index 0000000..5881119 Binary files /dev/null and b/theme/arc/arc/down-background.png differ diff --git a/theme/arc/arc/empty.png b/theme/arc/arc/empty.png new file mode 100644 index 0000000..23ac424 Binary files /dev/null and b/theme/arc/arc/empty.png differ diff --git a/theme/arc/arc/entry-border-active-bg-solid.png b/theme/arc/arc/entry-border-active-bg-solid.png new file mode 100644 index 0000000..8e53276 Binary files /dev/null and b/theme/arc/arc/entry-border-active-bg-solid.png differ diff --git a/theme/arc/arc/entry-border-active-bg.png b/theme/arc/arc/entry-border-active-bg.png new file mode 100644 index 0000000..ec36c2d Binary files /dev/null and b/theme/arc/arc/entry-border-active-bg.png differ diff --git a/theme/arc/arc/entry-border-bg-solid.png b/theme/arc/arc/entry-border-bg-solid.png new file mode 100644 index 0000000..49d349a Binary files /dev/null and b/theme/arc/arc/entry-border-bg-solid.png differ diff --git a/theme/arc/arc/entry-border-bg.png b/theme/arc/arc/entry-border-bg.png new file mode 100644 index 0000000..8c48843 Binary files /dev/null and b/theme/arc/arc/entry-border-bg.png differ diff --git a/theme/arc/arc/entry-border-disabled-bg.png b/theme/arc/arc/entry-border-disabled-bg.png new file mode 100644 index 0000000..354eaad Binary files /dev/null and b/theme/arc/arc/entry-border-disabled-bg.png differ diff --git a/theme/arc/arc/entry-border-fill.png b/theme/arc/arc/entry-border-fill.png new file mode 100644 index 0000000..15f6746 Binary files /dev/null and b/theme/arc/arc/entry-border-fill.png differ diff --git a/theme/arc/arc/focus-line.png b/theme/arc/arc/focus-line.png new file mode 100644 index 0000000..0f5ef9d Binary files /dev/null and b/theme/arc/arc/focus-line.png differ diff --git a/theme/arc/arc/frame-gap-end.png b/theme/arc/arc/frame-gap-end.png new file mode 100644 index 0000000..9b5def1 Binary files /dev/null and b/theme/arc/arc/frame-gap-end.png differ diff --git a/theme/arc/arc/frame-gap-start.png b/theme/arc/arc/frame-gap-start.png new file mode 100644 index 0000000..114b138 Binary files /dev/null and b/theme/arc/arc/frame-gap-start.png differ diff --git a/theme/arc/arc/frame.png b/theme/arc/arc/frame.png new file mode 100644 index 0000000..bb90b74 Binary files /dev/null and b/theme/arc/arc/frame.png differ diff --git a/theme/arc/arc/handle-h.png b/theme/arc/arc/handle-h.png new file mode 100644 index 0000000..11d1621 Binary files /dev/null and b/theme/arc/arc/handle-h.png differ diff --git a/theme/arc/arc/handle-v.png b/theme/arc/arc/handle-v.png new file mode 100644 index 0000000..2317e90 Binary files /dev/null and b/theme/arc/arc/handle-v.png differ diff --git a/theme/arc/arc/inline-toolbar.png b/theme/arc/arc/inline-toolbar.png new file mode 100644 index 0000000..776ff5f Binary files /dev/null and b/theme/arc/arc/inline-toolbar.png differ diff --git a/theme/arc/arc/labelframe.png b/theme/arc/arc/labelframe.png new file mode 100644 index 0000000..f57a41d Binary files /dev/null and b/theme/arc/arc/labelframe.png differ diff --git a/theme/arc/arc/line-h.png b/theme/arc/arc/line-h.png new file mode 100644 index 0000000..8320e2a Binary files /dev/null and b/theme/arc/arc/line-h.png differ diff --git a/theme/arc/arc/line-v.png b/theme/arc/arc/line-v.png new file mode 100644 index 0000000..c13ee45 Binary files /dev/null and b/theme/arc/arc/line-v.png differ diff --git a/theme/arc/arc/menu-arrow-prelight.png b/theme/arc/arc/menu-arrow-prelight.png new file mode 100644 index 0000000..fbd49b9 Binary files /dev/null and b/theme/arc/arc/menu-arrow-prelight.png differ diff --git a/theme/arc/arc/menu-arrow.png b/theme/arc/arc/menu-arrow.png new file mode 100644 index 0000000..fbd49b9 Binary files /dev/null and b/theme/arc/arc/menu-arrow.png differ diff --git a/theme/arc/arc/menu-checkbox-checked-insensitive.png b/theme/arc/arc/menu-checkbox-checked-insensitive.png new file mode 100644 index 0000000..67ae4e5 Binary files /dev/null and b/theme/arc/arc/menu-checkbox-checked-insensitive.png differ diff --git a/theme/arc/arc/menu-checkbox-checked.png b/theme/arc/arc/menu-checkbox-checked.png new file mode 100644 index 0000000..ea33e14 Binary files /dev/null and b/theme/arc/arc/menu-checkbox-checked.png differ diff --git a/theme/arc/arc/menu-checkbox-unchecked-insensitive.png b/theme/arc/arc/menu-checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..e92f5be Binary files /dev/null and b/theme/arc/arc/menu-checkbox-unchecked-insensitive.png differ diff --git a/theme/arc/arc/menu-checkbox-unchecked.png b/theme/arc/arc/menu-checkbox-unchecked.png new file mode 100644 index 0000000..a599717 Binary files /dev/null and b/theme/arc/arc/menu-checkbox-unchecked.png differ diff --git a/theme/arc/arc/menu-radio-checked-insensitive.png b/theme/arc/arc/menu-radio-checked-insensitive.png new file mode 100644 index 0000000..13ac239 Binary files /dev/null and b/theme/arc/arc/menu-radio-checked-insensitive.png differ diff --git a/theme/arc/arc/menu-radio-checked.png b/theme/arc/arc/menu-radio-checked.png new file mode 100644 index 0000000..3b9c4be Binary files /dev/null and b/theme/arc/arc/menu-radio-checked.png differ diff --git a/theme/arc/arc/menu-radio-unchecked-insensitive.png b/theme/arc/arc/menu-radio-unchecked-insensitive.png new file mode 100644 index 0000000..2d6f6c3 Binary files /dev/null and b/theme/arc/arc/menu-radio-unchecked-insensitive.png differ diff --git a/theme/arc/arc/menu-radio-unchecked.png b/theme/arc/arc/menu-radio-unchecked.png new file mode 100644 index 0000000..63720cf Binary files /dev/null and b/theme/arc/arc/menu-radio-unchecked.png differ diff --git a/theme/arc/arc/menubar.png b/theme/arc/arc/menubar.png new file mode 100644 index 0000000..ff49952 Binary files /dev/null and b/theme/arc/arc/menubar.png differ diff --git a/theme/arc/arc/menubar_button.png b/theme/arc/arc/menubar_button.png new file mode 100644 index 0000000..92870f4 Binary files /dev/null and b/theme/arc/arc/menubar_button.png differ diff --git a/theme/arc/arc/menuitem.png b/theme/arc/arc/menuitem.png new file mode 100644 index 0000000..e744833 Binary files /dev/null and b/theme/arc/arc/menuitem.png differ diff --git a/theme/arc/arc/minus.png b/theme/arc/arc/minus.png new file mode 100644 index 0000000..8e96a79 Binary files /dev/null and b/theme/arc/arc/minus.png differ diff --git a/theme/arc/arc/notebook-entry-border-active-bg.png b/theme/arc/arc/notebook-entry-border-active-bg.png new file mode 100644 index 0000000..567833f Binary files /dev/null and b/theme/arc/arc/notebook-entry-border-active-bg.png differ diff --git a/theme/arc/arc/notebook-entry-border-bg.png b/theme/arc/arc/notebook-entry-border-bg.png new file mode 100644 index 0000000..e8fbaff Binary files /dev/null and b/theme/arc/arc/notebook-entry-border-bg.png differ diff --git a/theme/arc/arc/notebook-entry-border-disabled-bg.png b/theme/arc/arc/notebook-entry-border-disabled-bg.png new file mode 100644 index 0000000..b86093d Binary files /dev/null and b/theme/arc/arc/notebook-entry-border-disabled-bg.png differ diff --git a/theme/arc/arc/notebook-gap-horiz.png b/theme/arc/arc/notebook-gap-horiz.png new file mode 100644 index 0000000..e14fe4b Binary files /dev/null and b/theme/arc/arc/notebook-gap-horiz.png differ diff --git a/theme/arc/arc/notebook-gap-vert.png b/theme/arc/arc/notebook-gap-vert.png new file mode 100644 index 0000000..bc4a11c Binary files /dev/null and b/theme/arc/arc/notebook-gap-vert.png differ diff --git a/theme/arc/arc/notebook.png b/theme/arc/arc/notebook.png new file mode 100644 index 0000000..ab43f7b Binary files /dev/null and b/theme/arc/arc/notebook.png differ diff --git a/theme/arc/arc/null.png b/theme/arc/arc/null.png new file mode 100644 index 0000000..d7a1600 Binary files /dev/null and b/theme/arc/arc/null.png differ diff --git a/theme/arc/arc/plus.png b/theme/arc/arc/plus.png new file mode 100644 index 0000000..446ff48 Binary files /dev/null and b/theme/arc/arc/plus.png differ diff --git a/theme/arc/arc/progressbar.png b/theme/arc/arc/progressbar.png new file mode 100644 index 0000000..f0a28ee Binary files /dev/null and b/theme/arc/arc/progressbar.png differ diff --git a/theme/arc/arc/progressbar_v.png b/theme/arc/arc/progressbar_v.png new file mode 100644 index 0000000..a1e9bcb Binary files /dev/null and b/theme/arc/arc/progressbar_v.png differ diff --git a/theme/arc/arc/radio-checked-insensitive.png b/theme/arc/arc/radio-checked-insensitive.png new file mode 100644 index 0000000..73fa33e Binary files /dev/null and b/theme/arc/arc/radio-checked-insensitive.png differ diff --git a/theme/arc/arc/radio-checked.png b/theme/arc/arc/radio-checked.png new file mode 100644 index 0000000..4ddb8a6 Binary files /dev/null and b/theme/arc/arc/radio-checked.png differ diff --git a/theme/arc/arc/radio-unchecked-insensitive.png b/theme/arc/arc/radio-unchecked-insensitive.png new file mode 100644 index 0000000..eb48d48 Binary files /dev/null and b/theme/arc/arc/radio-unchecked-insensitive.png differ diff --git a/theme/arc/arc/radio-unchecked.png b/theme/arc/arc/radio-unchecked.png new file mode 100644 index 0000000..22559c3 Binary files /dev/null and b/theme/arc/arc/radio-unchecked.png differ diff --git a/theme/arc/arc/slider-horiz-active.png b/theme/arc/arc/slider-horiz-active.png new file mode 100644 index 0000000..ac4d545 Binary files /dev/null and b/theme/arc/arc/slider-horiz-active.png differ diff --git a/theme/arc/arc/slider-horiz-insens.png b/theme/arc/arc/slider-horiz-insens.png new file mode 100644 index 0000000..b075566 Binary files /dev/null and b/theme/arc/arc/slider-horiz-insens.png differ diff --git a/theme/arc/arc/slider-horiz-prelight.png b/theme/arc/arc/slider-horiz-prelight.png new file mode 100644 index 0000000..264272e Binary files /dev/null and b/theme/arc/arc/slider-horiz-prelight.png differ diff --git a/theme/arc/arc/slider-horiz.png b/theme/arc/arc/slider-horiz.png new file mode 100644 index 0000000..e3c2ab0 Binary files /dev/null and b/theme/arc/arc/slider-horiz.png differ diff --git a/theme/arc/arc/slider-insensitive.png b/theme/arc/arc/slider-insensitive.png new file mode 100644 index 0000000..1bd519a Binary files /dev/null and b/theme/arc/arc/slider-insensitive.png differ diff --git a/theme/arc/arc/slider-prelight.png b/theme/arc/arc/slider-prelight.png new file mode 100644 index 0000000..d925319 Binary files /dev/null and b/theme/arc/arc/slider-prelight.png differ diff --git a/theme/arc/arc/slider-vert-active.png b/theme/arc/arc/slider-vert-active.png new file mode 100644 index 0000000..3483a5c Binary files /dev/null and b/theme/arc/arc/slider-vert-active.png differ diff --git a/theme/arc/arc/slider-vert-insens.png b/theme/arc/arc/slider-vert-insens.png new file mode 100644 index 0000000..a1822a8 Binary files /dev/null and b/theme/arc/arc/slider-vert-insens.png differ diff --git a/theme/arc/arc/slider-vert-prelight.png b/theme/arc/arc/slider-vert-prelight.png new file mode 100644 index 0000000..c2eda00 Binary files /dev/null and b/theme/arc/arc/slider-vert-prelight.png differ diff --git a/theme/arc/arc/slider-vert.png b/theme/arc/arc/slider-vert.png new file mode 100644 index 0000000..5fd3c55 Binary files /dev/null and b/theme/arc/arc/slider-vert.png differ diff --git a/theme/arc/arc/slider.png b/theme/arc/arc/slider.png new file mode 100644 index 0000000..593c454 Binary files /dev/null and b/theme/arc/arc/slider.png differ diff --git a/theme/arc/arc/tab-bottom-active.png b/theme/arc/arc/tab-bottom-active.png new file mode 100644 index 0000000..1b17b56 Binary files /dev/null and b/theme/arc/arc/tab-bottom-active.png differ diff --git a/theme/arc/arc/tab-left-active.png b/theme/arc/arc/tab-left-active.png new file mode 100644 index 0000000..a61b6f2 Binary files /dev/null and b/theme/arc/arc/tab-left-active.png differ diff --git a/theme/arc/arc/tab-right-active.png b/theme/arc/arc/tab-right-active.png new file mode 100644 index 0000000..0b7c60e Binary files /dev/null and b/theme/arc/arc/tab-right-active.png differ diff --git a/theme/arc/arc/tab-top-active.png b/theme/arc/arc/tab-top-active.png new file mode 100644 index 0000000..9e48436 Binary files /dev/null and b/theme/arc/arc/tab-top-active.png differ diff --git a/theme/arc/arc/tab-top-hover.png b/theme/arc/arc/tab-top-hover.png new file mode 100644 index 0000000..8ea26ed Binary files /dev/null and b/theme/arc/arc/tab-top-hover.png differ diff --git a/theme/arc/arc/tab-top.png b/theme/arc/arc/tab-top.png new file mode 100644 index 0000000..b064d3a Binary files /dev/null and b/theme/arc/arc/tab-top.png differ diff --git a/theme/arc/arc/toolbar-entry-border-active-bg.png b/theme/arc/arc/toolbar-entry-border-active-bg.png new file mode 100644 index 0000000..427548a Binary files /dev/null and b/theme/arc/arc/toolbar-entry-border-active-bg.png differ diff --git a/theme/arc/arc/toolbar-entry-border-bg.png b/theme/arc/arc/toolbar-entry-border-bg.png new file mode 100644 index 0000000..320deb9 Binary files /dev/null and b/theme/arc/arc/toolbar-entry-border-bg.png differ diff --git a/theme/arc/arc/toolbar-entry-border-disabled-bg.png b/theme/arc/arc/toolbar-entry-border-disabled-bg.png new file mode 100644 index 0000000..512d5bd Binary files /dev/null and b/theme/arc/arc/toolbar-entry-border-disabled-bg.png differ diff --git a/theme/arc/arc/toolbar.png b/theme/arc/arc/toolbar.png new file mode 100644 index 0000000..3b91644 Binary files /dev/null and b/theme/arc/arc/toolbar.png differ diff --git a/theme/arc/arc/tree_header.png b/theme/arc/arc/tree_header.png new file mode 100644 index 0000000..74c7914 Binary files /dev/null and b/theme/arc/arc/tree_header.png differ diff --git a/theme/arc/arc/treeview.png b/theme/arc/arc/treeview.png new file mode 100644 index 0000000..762d3ab Binary files /dev/null and b/theme/arc/arc/treeview.png differ diff --git a/theme/arc/arc/trough-horizontal-active.png b/theme/arc/arc/trough-horizontal-active.png new file mode 100644 index 0000000..d8bd457 Binary files /dev/null and b/theme/arc/arc/trough-horizontal-active.png differ diff --git a/theme/arc/arc/trough-horizontal.png b/theme/arc/arc/trough-horizontal.png new file mode 100644 index 0000000..8c8362a Binary files /dev/null and b/theme/arc/arc/trough-horizontal.png differ diff --git a/theme/arc/arc/trough-progressbar.png b/theme/arc/arc/trough-progressbar.png new file mode 100644 index 0000000..01ae577 Binary files /dev/null and b/theme/arc/arc/trough-progressbar.png differ diff --git a/theme/arc/arc/trough-progressbar_v.png b/theme/arc/arc/trough-progressbar_v.png new file mode 100644 index 0000000..56d4951 Binary files /dev/null and b/theme/arc/arc/trough-progressbar_v.png differ diff --git a/theme/arc/arc/trough-scrollbar-horiz.png b/theme/arc/arc/trough-scrollbar-horiz.png new file mode 100644 index 0000000..aced125 Binary files /dev/null and b/theme/arc/arc/trough-scrollbar-horiz.png differ diff --git a/theme/arc/arc/trough-scrollbar-vert.png b/theme/arc/arc/trough-scrollbar-vert.png new file mode 100644 index 0000000..a596849 Binary files /dev/null and b/theme/arc/arc/trough-scrollbar-vert.png differ diff --git a/theme/arc/arc/trough-vertical-active.png b/theme/arc/arc/trough-vertical-active.png new file mode 100644 index 0000000..7f26a03 Binary files /dev/null and b/theme/arc/arc/trough-vertical-active.png differ diff --git a/theme/arc/arc/trough-vertical.png b/theme/arc/arc/trough-vertical.png new file mode 100644 index 0000000..8c2f144 Binary files /dev/null and b/theme/arc/arc/trough-vertical.png differ diff --git a/theme/arc/arc/up-background-active.png b/theme/arc/arc/up-background-active.png new file mode 100644 index 0000000..558a1db Binary files /dev/null and b/theme/arc/arc/up-background-active.png differ diff --git a/theme/arc/arc/up-background-disable-rtl.png b/theme/arc/arc/up-background-disable-rtl.png new file mode 100644 index 0000000..b179242 Binary files /dev/null and b/theme/arc/arc/up-background-disable-rtl.png differ diff --git a/theme/arc/arc/up-background-disable.png b/theme/arc/arc/up-background-disable.png new file mode 100644 index 0000000..de62cc7 Binary files /dev/null and b/theme/arc/arc/up-background-disable.png differ diff --git a/theme/arc/arc/up-background-hover.png b/theme/arc/arc/up-background-hover.png new file mode 100644 index 0000000..ba22ac2 Binary files /dev/null and b/theme/arc/arc/up-background-hover.png differ diff --git a/theme/arc/arc/up-background-rtl.png b/theme/arc/arc/up-background-rtl.png new file mode 100644 index 0000000..c95e0da Binary files /dev/null and b/theme/arc/arc/up-background-rtl.png differ diff --git a/theme/arc/arc/up-background.png b/theme/arc/arc/up-background.png new file mode 100644 index 0000000..33ec27f Binary files /dev/null and b/theme/arc/arc/up-background.png differ diff --git a/theme/arc/pkgIndex.tcl b/theme/arc/pkgIndex.tcl new file mode 100644 index 0000000..4af6d1b --- /dev/null +++ b/theme/arc/pkgIndex.tcl @@ -0,0 +1,14 @@ +# pkgIndex.tcl for additional tile pixmap theme arc. +# +# We don't provide the package is the image subdirectory isn't present, +# or we don't have the right version of Tcl/Tk +# +# To use this automatically within tile, the tile-using application should +# use tile::availableThemes and tile::setTheme + +if {![file isdirectory [file join $dir arc]]} { return } + +package ifneeded ttk::theme::arc 0.1 \ + [list source [file join $dir arc.tcl]] + +# vim:ts=8:sw=4:sts=4:et diff --git a/theme/breeze-dark/LICENSE b/theme/breeze-dark/LICENSE new file mode 100644 index 0000000..8000a6f --- /dev/null +++ b/theme/breeze-dark/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/theme/breeze-dark/README.md b/theme/breeze-dark/README.md new file mode 100644 index 0000000..5ebf8a5 --- /dev/null +++ b/theme/breeze-dark/README.md @@ -0,0 +1,4 @@ +# ttk-Breeze +a Tk / ttk theme similar to the KDE standard theme Breeze Dark + +![Screenshot](Screenshot.png) diff --git a/theme/breeze-dark/Screenshot.png b/theme/breeze-dark/Screenshot.png new file mode 100644 index 0000000..aba63e3 Binary files /dev/null and b/theme/breeze-dark/Screenshot.png differ diff --git a/theme/breeze-dark/breeze-dark.tcl b/theme/breeze-dark/breeze-dark.tcl new file mode 100644 index 0000000..a28ca79 --- /dev/null +++ b/theme/breeze-dark/breeze-dark.tcl @@ -0,0 +1,341 @@ +# breeze-dark.tcl -- +# +# breeze-dark pixmap theme for the ttk package. +# +# Copyright (c) 2020 Bartek Jasicki + +package require Tk 8.6.0 + +namespace eval ttk::theme::breeze-dark { + + variable version 0.1 + package provide ttk::theme::breeze-dark $version + + variable colors + array set colors { + -bg "#31363b" + -fg "#eff0f1" + + -disabledbg "#4d4d4d" + -disabledfg "#7f8c8d" + + -selectbg "#3daee9" + -selectfg "white" + + -window "#31363b" + -focuscolor "#3daee9" + -checklight "#94d0eb" + } + + proc LoadImages {imgdir} { + variable I + foreach file [glob -directory $imgdir *.png] { + set img [file tail [file rootname $file]] + set I($img) [image create photo -file $file -format png] + } + } + + LoadImages [file join [file dirname [info script]] breeze-dark] + + ttk::style theme create breeze-dark -parent default -settings { + ttk::style configure . \ + -background $colors(-bg) \ + -foreground $colors(-fg) \ + -troughcolor $colors(-bg) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -fieldbackground $colors(-window) \ + -font TkDefaultFont \ + -borderwidth 1 \ + -focuscolor $colors(-focuscolor) \ + -highlightcolor $colors(-checklight) + + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + # + # Layouts: + # + + ttk::style layout TButton { + Button.button -children { + + Button.padding -children { + Button.label -side left -expand true + } + + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.focus -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + } + + ttk::style layout Item { + Treeitem.padding -sticky nswe -children { + Treeitem.indicator -side left -sticky {} Treeitem.image -side left -sticky {} -children { + Treeitem.text -side left -sticky {} + } + } + } + + # + # Elements: + # + + ttk::style element create Button.button image [list $I(button) \ + pressed $I(button-active) \ + {active focus} $I(button-active) \ + active $I(button-hover) \ + focus $I(button-focus) \ + disabled $I(button-insensitive) \ + ] -border 3 -sticky ewns + + ttk::style element create Toolbutton.button image [list $I(button-empty) \ + {active selected !disabled} $I(button-active) \ + selected $I(button-toggled) \ + pressed $I(button-active) \ + {active !disabled} $I(button-hover) \ + ] -border 3 -sticky news + + ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \ + {pressed selected} $I(checkbox-checked-pressed) \ + {active selected} $I(checkbox-checked-active) \ + {pressed !selected} $I(checkbox-unchecked-pressed) \ + active $I(checkbox-unchecked-active) \ + selected $I(checkbox-checked) \ + {disabled selected} $I(checkbox-checked-insensitive) \ + disabled $I(checkbox-unchecked-insensitive) \ + ] -width 22 -sticky w + + ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \ + disabled $I(radio-unchecked-insensitive) \ + {pressed selected} $I(radio-checked-pressed) \ + {active selected} $I(radio-checked-active) \ + {pressed !selected} $I(radio-unchecked-pressed) \ + active $I(radio-unchecked-active) \ + selected $I(radio-checked) \ + {disabled selected} $I(radio-checked-insensitive) \ + ] -width 22 -sticky w + + + ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-trough-horiz-active) \ + -border {6 0 6 0} -sticky ew + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $I(scrollbar-slider-horiz) \ + {active !disabled} $I(scrollbar-slider-horiz-active) \ + disabled $I(scrollbar-slider-insens) \ + ] -border {6 0 6 0} -sticky ew + + ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-trough-vert-active) \ + -border {0 6 0 6} -sticky ns + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $I(scrollbar-slider-vert) \ + {active !disabled} $I(scrollbar-slider-vert-active) \ + disabled $I(scrollbar-slider-insens) \ + ] -border {0 6 0 6} -sticky ns + + + ttk::style element create Horizontal.Scale.trough \ + image [list $I(scrollbar-slider-horiz) disabled $I(scale-trough-horizontal)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Horizontal.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider-insensitive) \ + pressed $I(scale-slider-pressed)\ + active $I(scale-slider-active) \ + ] \ + -sticky {} + + + ttk::style element create Vertical.Scale.trough \ + image [list $I(scrollbar-slider-vert) disabled $I(scale-trough-vertical)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Vertical.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider-insensitive) \ + pressed $I(scale-slider-pressed)\ + active $I(scale-slider-active) \ + ] \ + -sticky {} + + ttk::style element create Entry.field \ + image [list $I(entry) \ + {focus !disabled} $I(entry-focus) \ + {hover !disabled} $I(entry-active) \ + disabled $I(entry-insensitive)] \ + -border 3 -padding {6 8} -sticky news + + ttk::style element create Labelframe.border image $I(labelframe) \ + -border 4 -padding 4 -sticky news + + ttk::style element create Menubutton.button \ + image [list $I(button) \ + pressed $I(button-active) \ + active $I(button-hover) \ + disabled $I(button-insensitive) \ + ] -sticky news -border 3 -padding {3 2} + ttk::style element create Menubutton.indicator \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -sticky e -width 20 + + ttk::style element create Combobox.field \ + image [list $I(entry) \ + {readonly disabled} $I(button-insensitive) \ + {readonly pressed} $I(button-hover) \ + {readonly focus hover} $I(button-active) \ + {readonly focus} $I(button-focus) \ + {readonly hover} $I(button-hover) \ + readonly $I(button) \ + {disabled} $I(entry-insensitive) \ + {focus} $I(entry-focus) \ + {focus hover} $I(entry-focus) \ + {hover} $I(entry-active) \ + ] -border 4 -padding {6 8} + ttk::style element create Combobox.downarrow \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -border 4 -sticky {} + + ttk::style element create Spinbox.field \ + image [list $I(entry) focus $I(entry-focus) disabled $I(entry-insensitive) hover $I(entry-active)] \ + -border 4 -padding {6 8} -sticky news + ttk::style element create Spinbox.uparrow \ + image [list $I(arrow-up-small) \ + active $I(arrow-up-small-prelight) \ + pressed $I(arrow-up-small-prelight) \ + disabled $I(arrow-up-small-insens) \ + ] -border 4 -sticky {} + ttk::style element create Spinbox.downarrow \ + image [list $I(arrow-down-small) \ + active $I(arrow-down-small-prelight) \ + pressed $I(arrow-down-small-prelight) \ + disabled $I(arrow-down-small-insens) \ + ] -border 4 -sticky {} + + ttk::style element create Notebook.client \ + image $I(notebook-client) -border 1 + ttk::style element create Notebook.tab \ + image [list $I(notebook-tab-top) \ + selected $I(notebook-tab-top-active) \ + active $I(notebook-tab-top-hover) \ + ] -padding {12 4 12 4} -border 2 + + + # TODO Enhance + ttk::style element create Horizontal.Progressbar.trough \ + image $I(scrollbar-trough-horiz-active) -border {6 0 6 0} -sticky ew + ttk::style element create Horizontal.Progressbar.pbar \ + image $I(scrollbar-slider-horiz) -border {6 0 6 0} -sticky ew + + ttk::style element create Vertical.Progressbar.trough \ + image $I(scrollbar-trough-vert-active) -border {0 6 0 6} -sticky ns + ttk::style element create Vertical.Progressbar.pbar \ + image $I(scrollbar-slider-vert) -border {0 6 0 6} -sticky ns + + ttk::style element create Treeview.field \ + image $I(treeview) -border 1 + ttk::style element create Treeheading.cell \ + image [list $I(notebook-client) \ + active $I(treeheading-prelight)] \ + -border 1 -padding 4 -sticky ewns + + # TODO: arrow-* ist at the moment a little bit too big + # the small version is too small :-) + # And at the moment there are no lines as in the Breeze theme + # And hover, pressed doesn't work + ttk::style element create Treeitem.indicator \ + image [list $I(arrow-right) \ + user2 $I(empty) \ + user1 $I(arrow-down) \ + ] \ + -width 15 -sticky w + + # + # Settings: + # + + ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center + ttk::style configure TMenubutton -padding {8 4 4 4} + ttk::style configure Toolbutton -padding {6 2} -anchor center + ttk::style configure TCheckbutton -padding 4 + ttk::style configure TRadiobutton -padding 4 + ttk::style configure TSeparator -background $colors(-bg) + ttk::style configure TEntry -insertcolor $colors(-fg) + + ttk::style map TPanedwindow -background [list hover $colors(-checklight)] + ttk::style map TCombobox -selectbackground [list \ + !focus $colors(-window) \ + {readonly hover} $colors(-checklight) \ + {readonly focus} $colors(-focuscolor) \ + ] + + ttk::style map TCombobox -selectforeground [list \ + !focus $colors(-fg) \ + {readonly hover} $colors(-fg) \ + {readonly focus} $colors(-selectfg) \ + ] + + # Treeview + ttk::style configure Treeview -background #2f3336 + ttk::style configure Treeview.Item -padding {2 0 0 0} + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + + # Scrollbar + bind TScrollbar { + [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll [expr (-1 * (%D / 120))] units + } + bind TScrollbar { + [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll -1 units + } + bind TScrollbar { + [lindex [%W cget -command] 0] [lindex [%W cget -command] 1] scroll 1 units + } + + # Some defaults for non ttk-widgets so that they fit + # to the Breeze-dark theme, too + tk_setPalette background [ttk::style lookup . -background] \ + foreground [ttk::style lookup . -foreground] \ + highlightColor [ttk::style lookup . -focuscolor] \ + selectBackground [ttk::style lookup . -selectbackground] \ + selectForeground [ttk::style lookup . -selectforeground] \ + activeBackground [ttk::style lookup . -selectbackground] \ + activeForeground [ttk::style lookup . -selectforeground] + option add *font [ttk::style lookup . -font] + } +} + + diff --git a/theme/breeze-dark/breeze-dark/arrow-down-insens.png b/theme/breeze-dark/breeze-dark/arrow-down-insens.png new file mode 100644 index 0000000..1209254 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-down-prelight.png b/theme/breeze-dark/breeze-dark/arrow-down-prelight.png new file mode 100644 index 0000000..989ee67 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png b/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png new file mode 100644 index 0000000..25c5f1d Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down-small-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png b/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png new file mode 100644 index 0000000..fa450d1 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down-small-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-down-small.png b/theme/breeze-dark/breeze-dark/arrow-down-small.png new file mode 100644 index 0000000..5aabb03 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down-small.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-down.png b/theme/breeze-dark/breeze-dark/arrow-down.png new file mode 100644 index 0000000..665e49d Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-down.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-left-insens.png b/theme/breeze-dark/breeze-dark/arrow-left-insens.png new file mode 100644 index 0000000..6fd2438 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-left-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-left-prelight.png b/theme/breeze-dark/breeze-dark/arrow-left-prelight.png new file mode 100644 index 0000000..d229b39 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-left-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-left.png b/theme/breeze-dark/breeze-dark/arrow-left.png new file mode 100644 index 0000000..72a6858 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-left.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-right-insens.png b/theme/breeze-dark/breeze-dark/arrow-right-insens.png new file mode 100644 index 0000000..842c02f Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-right-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-right-prelight.png b/theme/breeze-dark/breeze-dark/arrow-right-prelight.png new file mode 100644 index 0000000..283b898 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-right-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-right.png b/theme/breeze-dark/breeze-dark/arrow-right.png new file mode 100644 index 0000000..efe0312 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-right.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up-insens.png b/theme/breeze-dark/breeze-dark/arrow-up-insens.png new file mode 100644 index 0000000..975f3ea Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up-prelight.png b/theme/breeze-dark/breeze-dark/arrow-up-prelight.png new file mode 100644 index 0000000..1f0efc0 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png b/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png new file mode 100644 index 0000000..0cd867c Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up-small-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png b/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png new file mode 100644 index 0000000..9156f79 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up-small-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up-small.png b/theme/breeze-dark/breeze-dark/arrow-up-small.png new file mode 100644 index 0000000..91e06d7 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up-small.png differ diff --git a/theme/breeze-dark/breeze-dark/arrow-up.png b/theme/breeze-dark/breeze-dark/arrow-up.png new file mode 100644 index 0000000..d303efd Binary files /dev/null and b/theme/breeze-dark/breeze-dark/arrow-up.png differ diff --git a/theme/breeze-dark/breeze-dark/button-active.png b/theme/breeze-dark/breeze-dark/button-active.png new file mode 100644 index 0000000..c67f0f2 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-active.png differ diff --git a/theme/breeze-dark/breeze-dark/button-empty.png b/theme/breeze-dark/breeze-dark/button-empty.png new file mode 100644 index 0000000..75fb0b7 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-empty.png differ diff --git a/theme/breeze-dark/breeze-dark/button-focus.png b/theme/breeze-dark/breeze-dark/button-focus.png new file mode 100644 index 0000000..f1f60f5 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-focus.png differ diff --git a/theme/breeze-dark/breeze-dark/button-hover.png b/theme/breeze-dark/breeze-dark/button-hover.png new file mode 100644 index 0000000..4668688 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-hover.png differ diff --git a/theme/breeze-dark/breeze-dark/button-insensitive.png b/theme/breeze-dark/breeze-dark/button-insensitive.png new file mode 100644 index 0000000..2772ba5 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/button-toggled.png b/theme/breeze-dark/breeze-dark/button-toggled.png new file mode 100644 index 0000000..e269dda Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button-toggled.png differ diff --git a/theme/breeze-dark/breeze-dark/button.png b/theme/breeze-dark/breeze-dark/button.png new file mode 100644 index 0000000..e0d5977 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/button.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-checked-active.png b/theme/breeze-dark/breeze-dark/checkbox-checked-active.png new file mode 100644 index 0000000..0e844fc Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-checked-active.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png b/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png new file mode 100644 index 0000000..85c43cd Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-checked-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png b/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png new file mode 100644 index 0000000..fdf5d72 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-checked-pressed.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-checked.png b/theme/breeze-dark/breeze-dark/checkbox-checked.png new file mode 100644 index 0000000..46f796a Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-checked.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png b/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png new file mode 100644 index 0000000..8648ba6 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-unchecked-active.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png b/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..8263aef Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-unchecked-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png b/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png new file mode 100644 index 0000000..69044dc Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-unchecked-pressed.png differ diff --git a/theme/breeze-dark/breeze-dark/checkbox-unchecked.png b/theme/breeze-dark/breeze-dark/checkbox-unchecked.png new file mode 100644 index 0000000..148f5cd Binary files /dev/null and b/theme/breeze-dark/breeze-dark/checkbox-unchecked.png differ diff --git a/theme/breeze-dark/breeze-dark/empty.png b/theme/breeze-dark/breeze-dark/empty.png new file mode 100644 index 0000000..23ac424 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/empty.png differ diff --git a/theme/breeze-dark/breeze-dark/entry-active.png b/theme/breeze-dark/breeze-dark/entry-active.png new file mode 100644 index 0000000..34ffe53 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/entry-active.png differ diff --git a/theme/breeze-dark/breeze-dark/entry-focus.png b/theme/breeze-dark/breeze-dark/entry-focus.png new file mode 100644 index 0000000..3d7ed9e Binary files /dev/null and b/theme/breeze-dark/breeze-dark/entry-focus.png differ diff --git a/theme/breeze-dark/breeze-dark/entry-insensitive.png b/theme/breeze-dark/breeze-dark/entry-insensitive.png new file mode 100644 index 0000000..c2ae8b2 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/entry-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/entry.png b/theme/breeze-dark/breeze-dark/entry.png new file mode 100644 index 0000000..012cb61 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/entry.png differ diff --git a/theme/breeze-dark/breeze-dark/labelframe.png b/theme/breeze-dark/breeze-dark/labelframe.png new file mode 100644 index 0000000..d0b6ef9 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/labelframe.png differ diff --git a/theme/breeze-dark/breeze-dark/notebook-client.png b/theme/breeze-dark/breeze-dark/notebook-client.png new file mode 100644 index 0000000..40ba872 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/notebook-client.png differ diff --git a/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png b/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png new file mode 100644 index 0000000..4fda93a Binary files /dev/null and b/theme/breeze-dark/breeze-dark/notebook-tab-top-active.png differ diff --git a/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png b/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png new file mode 100644 index 0000000..140e209 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/notebook-tab-top-hover.png differ diff --git a/theme/breeze-dark/breeze-dark/notebook-tab-top.png b/theme/breeze-dark/breeze-dark/notebook-tab-top.png new file mode 100644 index 0000000..b58b529 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/notebook-tab-top.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-checked-active.png b/theme/breeze-dark/breeze-dark/radio-checked-active.png new file mode 100644 index 0000000..6cd9138 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-checked-active.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png b/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png new file mode 100644 index 0000000..04b9ae4 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-checked-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-checked-pressed.png b/theme/breeze-dark/breeze-dark/radio-checked-pressed.png new file mode 100644 index 0000000..6d1d9f5 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-checked-pressed.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-checked.png b/theme/breeze-dark/breeze-dark/radio-checked.png new file mode 100644 index 0000000..c93ae69 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-checked.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-unchecked-active.png b/theme/breeze-dark/breeze-dark/radio-unchecked-active.png new file mode 100644 index 0000000..ba3c15b Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-unchecked-active.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png b/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png new file mode 100644 index 0000000..2fac0fc Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-unchecked-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png b/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png new file mode 100644 index 0000000..94de781 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-unchecked-pressed.png differ diff --git a/theme/breeze-dark/breeze-dark/radio-unchecked.png b/theme/breeze-dark/breeze-dark/radio-unchecked.png new file mode 100644 index 0000000..1b15864 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/radio-unchecked.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-slider-active.png b/theme/breeze-dark/breeze-dark/scale-slider-active.png new file mode 100644 index 0000000..fd6e22b Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-slider-active.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png b/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png new file mode 100644 index 0000000..5acc567 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-slider-insensitive.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-slider-pressed.png b/theme/breeze-dark/breeze-dark/scale-slider-pressed.png new file mode 100644 index 0000000..4aa187f Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-slider-pressed.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-slider.png b/theme/breeze-dark/breeze-dark/scale-slider.png new file mode 100644 index 0000000..61bb510 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-slider.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png b/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png new file mode 100644 index 0000000..cfd4e6e Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-trough-horizontal.png differ diff --git a/theme/breeze-dark/breeze-dark/scale-trough-vertical.png b/theme/breeze-dark/breeze-dark/scale-trough-vertical.png new file mode 100644 index 0000000..36e0a2b Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scale-trough-vertical.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png b/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png new file mode 100644 index 0000000..eb9eda7 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz-active.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png b/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png new file mode 100644 index 0000000..9518d71 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-slider-horiz.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png b/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png new file mode 100644 index 0000000..5dd9d0c Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-slider-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png b/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png new file mode 100644 index 0000000..23c6c30 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-slider-vert-active.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png b/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png new file mode 100644 index 0000000..ac9d768 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-slider-vert.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png b/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png new file mode 100644 index 0000000..b5a7494 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-trough-horiz-active.png differ diff --git a/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png b/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png new file mode 100644 index 0000000..c89315a Binary files /dev/null and b/theme/breeze-dark/breeze-dark/scrollbar-trough-vert-active.png differ diff --git a/theme/breeze-dark/breeze-dark/slider-vert-insens.png b/theme/breeze-dark/breeze-dark/slider-vert-insens.png new file mode 100644 index 0000000..a1822a8 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/slider-vert-insens.png differ diff --git a/theme/breeze-dark/breeze-dark/transparent.png b/theme/breeze-dark/breeze-dark/transparent.png new file mode 100644 index 0000000..5dd9d0c Binary files /dev/null and b/theme/breeze-dark/breeze-dark/transparent.png differ diff --git a/theme/breeze-dark/breeze-dark/treeheading-prelight.png b/theme/breeze-dark/breeze-dark/treeheading-prelight.png new file mode 100644 index 0000000..36305f8 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/treeheading-prelight.png differ diff --git a/theme/breeze-dark/breeze-dark/treeview.png b/theme/breeze-dark/breeze-dark/treeview.png new file mode 100644 index 0000000..9cbd468 Binary files /dev/null and b/theme/breeze-dark/breeze-dark/treeview.png differ diff --git a/theme/breeze-dark/pkgIndex.tcl b/theme/breeze-dark/pkgIndex.tcl new file mode 100644 index 0000000..7018194 --- /dev/null +++ b/theme/breeze-dark/pkgIndex.tcl @@ -0,0 +1,14 @@ +# pkgIndex.tcl for additional tile pixmap theme tkBreeze-dark. +# +# We don't provide the package is the image subdirectory isn't present, +# or we don't have the right version of Tcl/Tk +# +# To use this automatically within tile, the tile-using application should +# use tile::availableThemes and tile::setTheme + +if {![file isdirectory [file join $dir breeze-dark]]} { return } +if {![package vsatisfies [package provide Tcl] 8.6]} { return } + +package ifneeded ttk::theme::breeze-dark 0.1 \ + [list source [file join $dir breeze-dark.tcl]] + diff --git a/theme/breeze/LICENSE b/theme/breeze/LICENSE new file mode 100644 index 0000000..8000a6f --- /dev/null +++ b/theme/breeze/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/theme/breeze/README.md b/theme/breeze/README.md new file mode 100644 index 0000000..c6816fa --- /dev/null +++ b/theme/breeze/README.md @@ -0,0 +1,4 @@ +# ttk-Breeze +a Tk / ttk theme similar to the KDE standard theme Breeze + +![Screenshot](Screenshot.png) diff --git a/theme/breeze/Screenshot.png b/theme/breeze/Screenshot.png new file mode 100644 index 0000000..409b820 Binary files /dev/null and b/theme/breeze/Screenshot.png differ diff --git a/theme/breeze/breeze.tcl b/theme/breeze/breeze.tcl new file mode 100644 index 0000000..bb16eb0 --- /dev/null +++ b/theme/breeze/breeze.tcl @@ -0,0 +1,337 @@ +# breeze.tcl -- +# +# breeze pixmap theme for the ttk package. +# +# Copyright (c) 2018 Maximilian Lika + +package require Tk 8.5.0 + +namespace eval ttk::theme::breeze { + + variable version 0.6 + package provide ttk::theme::breeze $version + + variable colors + array set colors { + -fg "#31363b" + -bg "#eff0f1" + + #-disabledbg "#e3e5e6" + #-disabledfg "#a8a9aa" + -disabledfg "#bbcbbe" + -disabledbg "#e7e8ea" + + -selectbg "#3daee9" + -selectfg "white" + + -window "#eff0f1" + -focuscolor "#3daee9" + -checklight "#94d0eb" + } + + proc LoadImages {imgdir} { + variable I + foreach file [glob -directory $imgdir *.png] { + set img [file tail [file rootname $file]] + set I($img) [image create photo -file $file -format png] + } + } + + LoadImages [file join [file dirname [info script]] breeze] + + ttk::style theme create breeze -parent default -settings { + ttk::style configure . \ + -background $colors(-bg) \ + -foreground $colors(-fg) \ + -troughcolor $colors(-bg) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -fieldbackground $colors(-window) \ + -font "Helvetica 10" \ + -borderwidth 1 \ + -focuscolor $colors(-focuscolor) \ + -highlightcolor $colors(-checklight) + + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + # + # Layouts: + # + + ttk::style layout TButton { + Button.button -children { + + Button.padding -children { + Button.label -side left -expand true + } + + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.focus -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + } + + ttk::style layout Item { + Treeitem.padding -sticky nswe -children { + Treeitem.indicator -side left -sticky {} Treeitem.image -side left -sticky {} -children { + Treeitem.text -side left -sticky {} + } + } + } + + # + # Elements: + # + + ttk::style element create Button.button image [list $I(button) \ + pressed $I(button-focus) \ + {active focus} $I(button-active) \ + active $I(button-hover) \ + focus $I(button-hover) \ + disabled $I(button-insensitive) \ + ] -border 3 -sticky ewns + + ttk::style element create Toolbutton.button image [list $I(button-empty) \ + {active selected !disabled} $I(button-active) \ + selected $I(button-toggled) \ + pressed $I(button-active) \ + {active !disabled} $I(button-hover) \ + ] -border 3 -sticky news + + ttk::style element create Checkbutton.indicator image [list $I(checkbox-unchecked) \ + disabled $I(checkbox-unchecked-insensitive) \ + {pressed selected} $I(checkbox-checked-pressed) \ + {active selected} $I(checkbox-checked-active) \ + {pressed !selected} $I(checkbox-unchecked-pressed) \ + active $I(checkbox-unchecked-active) \ + selected $I(checkbox-checked) \ + {disabled selected} $I(checkbox-checked-insensitive) \ + ] -width 22 -sticky w + + ttk::style element create Radiobutton.indicator image [list $I(radio-unchecked) \ + disabled $I(radio-unchecked-insensitive) \ + {pressed selected} $I(radio-checked-pressed) \ + {active selected} $I(radio-checked-active) \ + {pressed !selected} $I(radio-unchecked-pressed) \ + active $I(radio-unchecked-active) \ + selected $I(radio-checked) \ + {disabled selected} $I(radio-checked-insensitive) \ + ] -width 22 -sticky w + + + ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-trough-horiz-active) \ + -border {6 0 6 0} -sticky ew + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $I(scrollbar-slider-horiz) \ + {active !disabled} $I(scrollbar-slider-horiz-active) \ + disabled $I(scrollbar-slider-insens) \ + ] -border {6 0 6 0} -sticky ew + + ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-trough-vert-active) \ + -border {0 6 0 6} -sticky ns + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $I(scrollbar-slider-vert) \ + {active !disabled} $I(scrollbar-slider-vert-active) \ + disabled $I(scrollbar-slider-insens) \ + ] -border {0 6 0 6} -sticky ns + + + ttk::style element create Horizontal.Scale.trough \ + image [list $I(scrollbar-slider-horiz) disabled $I(scale-trough-horizontal)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Horizontal.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider-insensitive) \ + pressed $I(scale-slider-pressed)\ + active $I(scale-slider-active) \ + ] \ + -sticky {} + + + ttk::style element create Vertical.Scale.trough \ + image [list $I(scrollbar-slider-vert) disabled $I(scale-trough-vertical)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Vertical.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider-insensitive) \ + pressed $I(scale-slider-pressed)\ + active $I(scale-slider-active) \ + ] \ + -sticky {} + + ttk::style element create Entry.field \ + image [list $I(entry) \ + {focus !disabled} $I(entry-focus) \ + {hover !disabled} $I(entry-active) \ + disabled $I(entry-insensitive)] \ + -border 3 -padding {6 8} -sticky news + + ttk::style element create Labelframe.border image $I(labelframe) \ + -border 4 -padding 4 -sticky news + + ttk::style element create Menubutton.button \ + image [list $I(button) \ + pressed $I(button-active) \ + active $I(button-hover) \ + disabled $I(button-insensitive) \ + ] -sticky news -border 3 -padding {3 2} + ttk::style element create Menubutton.indicator \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -sticky e -width 20 + + ttk::style element create Combobox.field \ + image [list $I(entry) \ + {readonly disabled} $I(button-insensitive) \ + {readonly pressed} $I(button-hover) \ + {readonly focus hover} $I(button-active) \ + {readonly focus} $I(button-focus) \ + {readonly hover} $I(button-hover) \ + readonly $I(button) \ + {disabled} $I(entry-insensitive) \ + {focus} $I(entry-focus) \ + {focus hover} $I(entry-focus) \ + {hover} $I(entry-active) \ + ] -border 4 -padding {6 8} + ttk::style element create Combobox.downarrow \ + image [list $I(arrow-down) \ + active $I(arrow-down-prelight) \ + pressed $I(arrow-down-prelight) \ + disabled $I(arrow-down-insens) \ + ] -border 4 -sticky {} + + ttk::style element create Spinbox.field \ + image [list $I(entry) focus $I(entry-focus) disabled $I(entry-insensitive) hover $I(entry-active)] \ + -border 4 -padding {6 8} -sticky news + ttk::style element create Spinbox.uparrow \ + image [list $I(arrow-up-small) \ + active $I(arrow-up-small-prelight) \ + pressed $I(arrow-up-small-prelight) \ + disabled $I(arrow-up-small-insens) \ + ] -border 4 -sticky {} + ttk::style element create Spinbox.downarrow \ + image [list $I(arrow-down-small) \ + active $I(arrow-down-small-prelight) \ + pressed $I(arrow-down-small-prelight) \ + disabled $I(arrow-down-small-insens) \ + ] -border 4 -sticky {} + + ttk::style element create Notebook.client \ + image $I(notebook-client) -border 1 + ttk::style element create Notebook.tab \ + image [list $I(notebook-tab-top) \ + selected $I(notebook-tab-top-active) \ + active $I(notebook-tab-top-hover) \ + ] -padding {12 4 12 4} -border 2 + + + # TODO Enhance + ttk::style element create Horizontal.Progressbar.trough \ + image $I(scrollbar-trough-horiz-active) -border {6 0 6 0} -sticky ew + ttk::style element create Horizontal.Progressbar.pbar \ + image $I(scrollbar-slider-horiz) -border {6 0 6 0} -sticky ew + + ttk::style element create Vertical.Progressbar.trough \ + image $I(scrollbar-trough-vert-active) -border {0 6 0 6} -sticky ns + ttk::style element create Vertical.Progressbar.pbar \ + image $I(scrollbar-slider-vert) -border {0 6 0 6} -sticky ns + + # TODO: Ab hier noch teilweise Arc style + ttk::style element create Treeview.field \ + image $I(treeview) -border 1 + ttk::style element create Treeheading.cell \ + image [list $I(notebook-client) \ + active $I(treeheading-prelight)] \ + -border 1 -padding 4 -sticky ewns + + # TODO: arrow-* ist at the moment a little bit too big + # the small version is too small :-) + # And at the moment there are no lines as in the breeze theme + # And hover, pressed doesn't work + ttk::style element create Treeitem.indicator \ + image [list $I(arrow-right) \ + user2 $I(empty) \ + user1 $I(arrow-down) \ + ] \ + -width 15 -sticky w + + # I don't know why Only with this I get a thin enough sash + ttk::style element create vsash image $I(transparent) -sticky e -padding 1 -width 1 + ttk::style element create hsash image $I(transparent) -sticky n -padding 1 -width 1 + + #ttk::style element create Separator.separator image $I() + + # + # Settings: + # + + ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center + ttk::style configure TMenubutton -padding {8 4 4 4} + ttk::style configure Toolbutton -padding {6 2} -anchor center + ttk::style configure TCheckbutton -padding 4 + ttk::style configure TRadiobutton -padding 4 + ttk::style configure TSeparator -background $colors(-bg) + + #ttk::style configure TPanedwindow -width 1 -padding 0 + ttk::style map TPanedwindow -background [list hover $colors(-checklight)] + ttk::style map TCombobox -selectbackground [list \ + !focus $colors(-window) \ + {readonly hover} $colors(-checklight) \ + {readonly focus} $colors(-focuscolor) \ + ] + + ttk::style map TCombobox -selectforeground [list \ + !focus $colors(-fg) \ + {readonly hover} $colors(-fg) \ + {readonly focus} $colors(-selectfg) \ + ] + + # Treeview + ttk::style configure Treeview -background white + ttk::style configure Treeview.Item -padding {2 0 0 0} + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + + # Some defaults for non ttk-widgets so that they fit + # to the breeze theme, too + tk_setPalette background [ttk::style lookup . -background] \ + foreground [ttk::style lookup . -foreground] \ + highlightColor [ttk::style lookup . -focuscolor] \ + selectBackground [ttk::style lookup . -selectbackground] \ + selectForeground [ttk::style lookup . -selectforeground] \ + activeBackground [ttk::style lookup . -selectbackground] \ + activeForeground [ttk::style lookup . -selectforeground] + option add *font [ttk::style lookup . -font] + } +} diff --git a/theme/breeze/breeze/arrow-down-insens.png b/theme/breeze/breeze/arrow-down-insens.png new file mode 100644 index 0000000..1209254 Binary files /dev/null and b/theme/breeze/breeze/arrow-down-insens.png differ diff --git a/theme/breeze/breeze/arrow-down-prelight.png b/theme/breeze/breeze/arrow-down-prelight.png new file mode 100644 index 0000000..989ee67 Binary files /dev/null and b/theme/breeze/breeze/arrow-down-prelight.png differ diff --git a/theme/breeze/breeze/arrow-down-small-insens.png b/theme/breeze/breeze/arrow-down-small-insens.png new file mode 100644 index 0000000..25c5f1d Binary files /dev/null and b/theme/breeze/breeze/arrow-down-small-insens.png differ diff --git a/theme/breeze/breeze/arrow-down-small-prelight.png b/theme/breeze/breeze/arrow-down-small-prelight.png new file mode 100644 index 0000000..fa450d1 Binary files /dev/null and b/theme/breeze/breeze/arrow-down-small-prelight.png differ diff --git a/theme/breeze/breeze/arrow-down-small.png b/theme/breeze/breeze/arrow-down-small.png new file mode 100644 index 0000000..58beca3 Binary files /dev/null and b/theme/breeze/breeze/arrow-down-small.png differ diff --git a/theme/breeze/breeze/arrow-down.png b/theme/breeze/breeze/arrow-down.png new file mode 100644 index 0000000..94cae33 Binary files /dev/null and b/theme/breeze/breeze/arrow-down.png differ diff --git a/theme/breeze/breeze/arrow-left-insens.png b/theme/breeze/breeze/arrow-left-insens.png new file mode 100644 index 0000000..6fd2438 Binary files /dev/null and b/theme/breeze/breeze/arrow-left-insens.png differ diff --git a/theme/breeze/breeze/arrow-left-prelight.png b/theme/breeze/breeze/arrow-left-prelight.png new file mode 100644 index 0000000..d229b39 Binary files /dev/null and b/theme/breeze/breeze/arrow-left-prelight.png differ diff --git a/theme/breeze/breeze/arrow-left.png b/theme/breeze/breeze/arrow-left.png new file mode 100644 index 0000000..5f09594 Binary files /dev/null and b/theme/breeze/breeze/arrow-left.png differ diff --git a/theme/breeze/breeze/arrow-right-insens.png b/theme/breeze/breeze/arrow-right-insens.png new file mode 100644 index 0000000..842c02f Binary files /dev/null and b/theme/breeze/breeze/arrow-right-insens.png differ diff --git a/theme/breeze/breeze/arrow-right-prelight.png b/theme/breeze/breeze/arrow-right-prelight.png new file mode 100644 index 0000000..283b898 Binary files /dev/null and b/theme/breeze/breeze/arrow-right-prelight.png differ diff --git a/theme/breeze/breeze/arrow-right.png b/theme/breeze/breeze/arrow-right.png new file mode 100644 index 0000000..5b17dad Binary files /dev/null and b/theme/breeze/breeze/arrow-right.png differ diff --git a/theme/breeze/breeze/arrow-up-insens.png b/theme/breeze/breeze/arrow-up-insens.png new file mode 100644 index 0000000..975f3ea Binary files /dev/null and b/theme/breeze/breeze/arrow-up-insens.png differ diff --git a/theme/breeze/breeze/arrow-up-prelight.png b/theme/breeze/breeze/arrow-up-prelight.png new file mode 100644 index 0000000..1f0efc0 Binary files /dev/null and b/theme/breeze/breeze/arrow-up-prelight.png differ diff --git a/theme/breeze/breeze/arrow-up-small-insens.png b/theme/breeze/breeze/arrow-up-small-insens.png new file mode 100644 index 0000000..0cd867c Binary files /dev/null and b/theme/breeze/breeze/arrow-up-small-insens.png differ diff --git a/theme/breeze/breeze/arrow-up-small-prelight.png b/theme/breeze/breeze/arrow-up-small-prelight.png new file mode 100644 index 0000000..9156f79 Binary files /dev/null and b/theme/breeze/breeze/arrow-up-small-prelight.png differ diff --git a/theme/breeze/breeze/arrow-up-small.png b/theme/breeze/breeze/arrow-up-small.png new file mode 100644 index 0000000..890c1ea Binary files /dev/null and b/theme/breeze/breeze/arrow-up-small.png differ diff --git a/theme/breeze/breeze/arrow-up.png b/theme/breeze/breeze/arrow-up.png new file mode 100644 index 0000000..588e47c Binary files /dev/null and b/theme/breeze/breeze/arrow-up.png differ diff --git a/theme/breeze/breeze/button-active.png b/theme/breeze/breeze/button-active.png new file mode 100644 index 0000000..7204792 Binary files /dev/null and b/theme/breeze/breeze/button-active.png differ diff --git a/theme/breeze/breeze/button-empty.png b/theme/breeze/breeze/button-empty.png new file mode 100644 index 0000000..3b15a4c Binary files /dev/null and b/theme/breeze/breeze/button-empty.png differ diff --git a/theme/breeze/breeze/button-focus.png b/theme/breeze/breeze/button-focus.png new file mode 100644 index 0000000..f1f60f5 Binary files /dev/null and b/theme/breeze/breeze/button-focus.png differ diff --git a/theme/breeze/breeze/button-hover.png b/theme/breeze/breeze/button-hover.png new file mode 100644 index 0000000..f1e2328 Binary files /dev/null and b/theme/breeze/breeze/button-hover.png differ diff --git a/theme/breeze/breeze/button-insensitive.png b/theme/breeze/breeze/button-insensitive.png new file mode 100644 index 0000000..581f259 Binary files /dev/null and b/theme/breeze/breeze/button-insensitive.png differ diff --git a/theme/breeze/breeze/button-toggled.png b/theme/breeze/breeze/button-toggled.png new file mode 100644 index 0000000..7c6eab4 Binary files /dev/null and b/theme/breeze/breeze/button-toggled.png differ diff --git a/theme/breeze/breeze/button.png b/theme/breeze/breeze/button.png new file mode 100644 index 0000000..c12385e Binary files /dev/null and b/theme/breeze/breeze/button.png differ diff --git a/theme/breeze/breeze/checkbox-checked-active.png b/theme/breeze/breeze/checkbox-checked-active.png new file mode 100644 index 0000000..47e2e77 Binary files /dev/null and b/theme/breeze/breeze/checkbox-checked-active.png differ diff --git a/theme/breeze/breeze/checkbox-checked-insensitive.png b/theme/breeze/breeze/checkbox-checked-insensitive.png new file mode 100644 index 0000000..a09a4a7 Binary files /dev/null and b/theme/breeze/breeze/checkbox-checked-insensitive.png differ diff --git a/theme/breeze/breeze/checkbox-checked-pressed.png b/theme/breeze/breeze/checkbox-checked-pressed.png new file mode 100644 index 0000000..4d8fac4 Binary files /dev/null and b/theme/breeze/breeze/checkbox-checked-pressed.png differ diff --git a/theme/breeze/breeze/checkbox-checked.png b/theme/breeze/breeze/checkbox-checked.png new file mode 100644 index 0000000..d4a3e8b Binary files /dev/null and b/theme/breeze/breeze/checkbox-checked.png differ diff --git a/theme/breeze/breeze/checkbox-unchecked-active.png b/theme/breeze/breeze/checkbox-unchecked-active.png new file mode 100644 index 0000000..598118a Binary files /dev/null and b/theme/breeze/breeze/checkbox-unchecked-active.png differ diff --git a/theme/breeze/breeze/checkbox-unchecked-insensitive.png b/theme/breeze/breeze/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..d897161 Binary files /dev/null and b/theme/breeze/breeze/checkbox-unchecked-insensitive.png differ diff --git a/theme/breeze/breeze/checkbox-unchecked-pressed.png b/theme/breeze/breeze/checkbox-unchecked-pressed.png new file mode 100644 index 0000000..426879e Binary files /dev/null and b/theme/breeze/breeze/checkbox-unchecked-pressed.png differ diff --git a/theme/breeze/breeze/checkbox-unchecked.png b/theme/breeze/breeze/checkbox-unchecked.png new file mode 100644 index 0000000..c7c258d Binary files /dev/null and b/theme/breeze/breeze/checkbox-unchecked.png differ diff --git a/theme/breeze/breeze/empty.png b/theme/breeze/breeze/empty.png new file mode 100644 index 0000000..23ac424 Binary files /dev/null and b/theme/breeze/breeze/empty.png differ diff --git a/theme/breeze/breeze/entry-active.png b/theme/breeze/breeze/entry-active.png new file mode 100644 index 0000000..315a68b Binary files /dev/null and b/theme/breeze/breeze/entry-active.png differ diff --git a/theme/breeze/breeze/entry-focus.png b/theme/breeze/breeze/entry-focus.png new file mode 100644 index 0000000..b49582c Binary files /dev/null and b/theme/breeze/breeze/entry-focus.png differ diff --git a/theme/breeze/breeze/entry-insensitive.png b/theme/breeze/breeze/entry-insensitive.png new file mode 100644 index 0000000..a2d6ad5 Binary files /dev/null and b/theme/breeze/breeze/entry-insensitive.png differ diff --git a/theme/breeze/breeze/entry.png b/theme/breeze/breeze/entry.png new file mode 100644 index 0000000..30d7e0b Binary files /dev/null and b/theme/breeze/breeze/entry.png differ diff --git a/theme/breeze/breeze/labelframe.png b/theme/breeze/breeze/labelframe.png new file mode 100644 index 0000000..f1613ef Binary files /dev/null and b/theme/breeze/breeze/labelframe.png differ diff --git a/theme/breeze/breeze/notebook-client.png b/theme/breeze/breeze/notebook-client.png new file mode 100644 index 0000000..2fa400e Binary files /dev/null and b/theme/breeze/breeze/notebook-client.png differ diff --git a/theme/breeze/breeze/notebook-tab-top-active.png b/theme/breeze/breeze/notebook-tab-top-active.png new file mode 100644 index 0000000..2b83440 Binary files /dev/null and b/theme/breeze/breeze/notebook-tab-top-active.png differ diff --git a/theme/breeze/breeze/notebook-tab-top-hover.png b/theme/breeze/breeze/notebook-tab-top-hover.png new file mode 100644 index 0000000..140e209 Binary files /dev/null and b/theme/breeze/breeze/notebook-tab-top-hover.png differ diff --git a/theme/breeze/breeze/notebook-tab-top.png b/theme/breeze/breeze/notebook-tab-top.png new file mode 100644 index 0000000..0d282c4 Binary files /dev/null and b/theme/breeze/breeze/notebook-tab-top.png differ diff --git a/theme/breeze/breeze/radio-checked-active.png b/theme/breeze/breeze/radio-checked-active.png new file mode 100644 index 0000000..32e58cf Binary files /dev/null and b/theme/breeze/breeze/radio-checked-active.png differ diff --git a/theme/breeze/breeze/radio-checked-insensitive.png b/theme/breeze/breeze/radio-checked-insensitive.png new file mode 100644 index 0000000..ff68b17 Binary files /dev/null and b/theme/breeze/breeze/radio-checked-insensitive.png differ diff --git a/theme/breeze/breeze/radio-checked-pressed.png b/theme/breeze/breeze/radio-checked-pressed.png new file mode 100644 index 0000000..8e361c3 Binary files /dev/null and b/theme/breeze/breeze/radio-checked-pressed.png differ diff --git a/theme/breeze/breeze/radio-checked.png b/theme/breeze/breeze/radio-checked.png new file mode 100644 index 0000000..03f1916 Binary files /dev/null and b/theme/breeze/breeze/radio-checked.png differ diff --git a/theme/breeze/breeze/radio-unchecked-active.png b/theme/breeze/breeze/radio-unchecked-active.png new file mode 100644 index 0000000..a2b19d9 Binary files /dev/null and b/theme/breeze/breeze/radio-unchecked-active.png differ diff --git a/theme/breeze/breeze/radio-unchecked-insensitive.png b/theme/breeze/breeze/radio-unchecked-insensitive.png new file mode 100644 index 0000000..1a918bd Binary files /dev/null and b/theme/breeze/breeze/radio-unchecked-insensitive.png differ diff --git a/theme/breeze/breeze/radio-unchecked-pressed.png b/theme/breeze/breeze/radio-unchecked-pressed.png new file mode 100644 index 0000000..5cd73e0 Binary files /dev/null and b/theme/breeze/breeze/radio-unchecked-pressed.png differ diff --git a/theme/breeze/breeze/radio-unchecked.png b/theme/breeze/breeze/radio-unchecked.png new file mode 100644 index 0000000..fd35e27 Binary files /dev/null and b/theme/breeze/breeze/radio-unchecked.png differ diff --git a/theme/breeze/breeze/scale-slider-active.png b/theme/breeze/breeze/scale-slider-active.png new file mode 100644 index 0000000..53c4f74 Binary files /dev/null and b/theme/breeze/breeze/scale-slider-active.png differ diff --git a/theme/breeze/breeze/scale-slider-insensitive.png b/theme/breeze/breeze/scale-slider-insensitive.png new file mode 100644 index 0000000..2f86a26 Binary files /dev/null and b/theme/breeze/breeze/scale-slider-insensitive.png differ diff --git a/theme/breeze/breeze/scale-slider-pressed.png b/theme/breeze/breeze/scale-slider-pressed.png new file mode 100644 index 0000000..505b5d4 Binary files /dev/null and b/theme/breeze/breeze/scale-slider-pressed.png differ diff --git a/theme/breeze/breeze/scale-slider.png b/theme/breeze/breeze/scale-slider.png new file mode 100644 index 0000000..6104011 Binary files /dev/null and b/theme/breeze/breeze/scale-slider.png differ diff --git a/theme/breeze/breeze/scale-trough-horizontal.png b/theme/breeze/breeze/scale-trough-horizontal.png new file mode 100644 index 0000000..cfd4e6e Binary files /dev/null and b/theme/breeze/breeze/scale-trough-horizontal.png differ diff --git a/theme/breeze/breeze/scale-trough-vertical.png b/theme/breeze/breeze/scale-trough-vertical.png new file mode 100644 index 0000000..36e0a2b Binary files /dev/null and b/theme/breeze/breeze/scale-trough-vertical.png differ diff --git a/theme/breeze/breeze/scrollbar-slider-horiz-active.png b/theme/breeze/breeze/scrollbar-slider-horiz-active.png new file mode 100644 index 0000000..eb9eda7 Binary files /dev/null and b/theme/breeze/breeze/scrollbar-slider-horiz-active.png differ diff --git a/theme/breeze/breeze/scrollbar-slider-horiz.png b/theme/breeze/breeze/scrollbar-slider-horiz.png new file mode 100644 index 0000000..9518d71 Binary files /dev/null and b/theme/breeze/breeze/scrollbar-slider-horiz.png differ diff --git a/theme/breeze/breeze/scrollbar-slider-insens.png b/theme/breeze/breeze/scrollbar-slider-insens.png new file mode 100644 index 0000000..5dd9d0c Binary files /dev/null and b/theme/breeze/breeze/scrollbar-slider-insens.png differ diff --git a/theme/breeze/breeze/scrollbar-slider-vert-active.png b/theme/breeze/breeze/scrollbar-slider-vert-active.png new file mode 100644 index 0000000..23c6c30 Binary files /dev/null and b/theme/breeze/breeze/scrollbar-slider-vert-active.png differ diff --git a/theme/breeze/breeze/scrollbar-slider-vert.png b/theme/breeze/breeze/scrollbar-slider-vert.png new file mode 100644 index 0000000..ac9d768 Binary files /dev/null and b/theme/breeze/breeze/scrollbar-slider-vert.png differ diff --git a/theme/breeze/breeze/scrollbar-trough-horiz-active.png b/theme/breeze/breeze/scrollbar-trough-horiz-active.png new file mode 100644 index 0000000..b5a7494 Binary files /dev/null and b/theme/breeze/breeze/scrollbar-trough-horiz-active.png differ diff --git a/theme/breeze/breeze/scrollbar-trough-vert-active.png b/theme/breeze/breeze/scrollbar-trough-vert-active.png new file mode 100644 index 0000000..c89315a Binary files /dev/null and b/theme/breeze/breeze/scrollbar-trough-vert-active.png differ diff --git a/theme/breeze/breeze/slider-vert-insens.png b/theme/breeze/breeze/slider-vert-insens.png new file mode 100644 index 0000000..a1822a8 Binary files /dev/null and b/theme/breeze/breeze/slider-vert-insens.png differ diff --git a/theme/breeze/breeze/transparent.png b/theme/breeze/breeze/transparent.png new file mode 100644 index 0000000..5dd9d0c Binary files /dev/null and b/theme/breeze/breeze/transparent.png differ diff --git a/theme/breeze/breeze/treeheading-prelight.png b/theme/breeze/breeze/treeheading-prelight.png new file mode 100644 index 0000000..36305f8 Binary files /dev/null and b/theme/breeze/breeze/treeheading-prelight.png differ diff --git a/theme/breeze/breeze/treeview.png b/theme/breeze/breeze/treeview.png new file mode 100644 index 0000000..762d3ab Binary files /dev/null and b/theme/breeze/breeze/treeview.png differ diff --git a/theme/breeze/pkgIndex.tcl b/theme/breeze/pkgIndex.tcl new file mode 100644 index 0000000..60b4b52 --- /dev/null +++ b/theme/breeze/pkgIndex.tcl @@ -0,0 +1,14 @@ +# pkgIndex.tcl for additional tile pixmap theme tkBreeze. +# +# We don't provide the package is the image subdirectory isn't present, +# or we don't have the right version of Tcl/Tk +# +# To use this automatically within tile, the tile-using application should +# use tile::availableThemes and tile::setTheme + +if {![file isdirectory [file join $dir breeze]]} { return } +if {![package vsatisfies [package provide Tcl] 8.6]} { return } + +package ifneeded ttk::theme::breeze 0.6 \ + [list source [file join $dir breeze.tcl]] + diff --git a/theme/equilux/equilux.tcl b/theme/equilux/equilux.tcl new file mode 100644 index 0000000..7b28ba1 --- /dev/null +++ b/theme/equilux/equilux.tcl @@ -0,0 +1,314 @@ +# Copyright (C) 2018 RedFantom +# Derived from https://github.com/ddnexus/equilux-theme (GNU GPLv2) +# Based on /ttkthemes/ttkthemes/themes/arc/arc.tcl (GNU GPLv3) +# Available under the GNU GPLv3, or at your option any later version + +# Theme Equilux +namespace eval ttk::theme::equilux { + + # Widget colors + variable colors + array set colors { + -fg "#a6a6a6" + -bg "#464646" + -disabledbg "#2e2e2e" + -disabledfg "#999999" + -selectbg "#414141" + -selectfg "#a6a6a6" + -window "#373737" + -focuscolor "#bebebe" + -checklight "#e6e6e6" + } + + # Function to load images from subdirectory + variable directory + # Subdirectory /equilux + set directory [file join [file dirname [info script]] equilux] + variable images + # Load the images + foreach file [glob -directory $directory *.png] { + set img [file tail [file rootname $file]] + set images($img) [image create photo -file $file -format png] + } + + # Create a new ttk::style + ttk::style theme create equilux -parent default -settings { + # Configure basic style settings + ttk::style configure . \ + -background $colors(-bg) \ + -foreground $colors(-fg) \ + -troughcolor $colors(-bg) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -fieldbackground $colors(-window) \ + -font TkDefaultFont \ + -borderwidth 1 \ + -focuscolor $colors(-focuscolor) + + # Map disabled colors to disabledfg + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + # WIDGET LAYOUTS + + ttk::style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label -side left -expand true + } + } + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.focus -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.focus -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + } + + ttk::style layout TCombobox { + Combobox.field -sticky nswe -children { + Combobox.downarrow -side right -sticky ns -children { + Combobox.arrow -side right + } + Combobox.padding -expand true -sticky nswe -children { + Combobox.textarea -sticky nswe + } + } + } + + ttk::style layout TSpinbox { + Spinbox.field -side top -sticky we -children { + Spinbox.buttons -side right -children { + null -side right -sticky {} -children { + Spinbox.uparrow -side top -sticky nse -children { + Spinbox.symuparrow -side right -sticky e + } + Spinbox.downarrow -side bottom -sticky nse -children { + Spinbox.symdownarrow -side right -sticky e + } + } + } + Spinbox.padding -sticky nswe -children { + Spinbox.textarea -sticky nswe + } + } + } + + # Style elements + + # Button + ttk::style element create Button.button image [list $images(button) \ + pressed $images(button-active) \ + active $images(button-hover) \ + disabled $images(button-insensitive) \ + ] -border 3 -padding {3 2} -sticky ewns + + # Toolbutton + ttk::style element create Toolbutton.button image [list $images(button-empty) \ + selected $images(button-active) \ + pressed $images(button-active) \ + {active !disabled} $images(button-hover) \ + ] -border 3 -padding {3 2} -sticky news + # Checkbutton + ttk::style element create Checkbutton.indicator image [list $images(checkbox-unchecked) \ + disabled $images(checkbox-unchecked-insensitive) \ + {active selected} $images(checkbox-checked) \ + {pressed selected} $images(checkbox-checked) \ + active $images(checkbox-unchecked) \ + selected $images(checkbox-checked) \ + {disabled selected} $images(checkbox-checked-insensitive) \ + ] -width 22 -sticky w -padding {0 0 25 0} + # Radiobutton + ttk::style element create Radiobutton.indicator image [list $images(radio-unchecked) \ + disabled $images(radio-unchecked-insensitive) \ + {active selected} $images(radio-checked) \ + {pressed selected} $images(radio-checked) \ + active $images(radio-unchecked) \ + selected $images(radio-checked) \ + {disabled selected} $images(radio-checked-insensitive) \ + ] -width 22 -sticky w -padding {0 0 25 0} + + ttk::style element create Horizontal.Scrollbar.trough image $images(trough-scrollbar-horiz) + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $images(slider-horiz) \ + {pressed !disabled} $images(slider-horiz-active) \ + {active !disabled} $images(slider-horiz-prelight) \ + disabled $images(slider-horiz-insens) \ + ] -border 6 -sticky ew + + ttk::style element create Vertical.Scrollbar.trough image $images(trough-scrollbar-vert) + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $images(slider-vert) \ + {pressed !disabled} $images(slider-vert-active) \ + {active !disabled} $images(slider-vert-prelight) \ + disabled $images(slider-vert-insens) \ + ] -border 6 -sticky ns + + ttk::style element create Horizontal.Scale.trough \ + image [list $images(trough-horizontal-active) disabled $images(trough-horizontal)] \ + -border {8 5 8 5} -padding 0 + ttk::style element create Horizontal.Scale.slider \ + image [list $images(slider) disabled $images(slider-insensitive) active $images(slider-prelight)] \ + -sticky {} + + ttk::style element create Vertical.Scale.trough \ + image [list $images(trough-vertical-active) disabled $images(trough-vertical)] \ + -border {5 8 5 8} -padding 0 + ttk::style element create Vertical.Scale.slider \ + image [list $images(slider) disabled $images(slider-insensitive) active $images(slider-prelight)] \ + -sticky {} + + ttk::style element create Entry.field \ + image [list $images(entry-border-bg) \ + focus $images(entry-active) \ + disabled $images(entry-border-disabled)] \ + -border 4 -padding {6 4} -sticky news + + ttk::style element create Labelframe.border image $images(labelframe) \ + -border 4 -padding 4 -sticky news + + ttk::style element create Menubutton.button \ + image [list $images(button) \ + pressed $images(button-active) \ + active $images(button-hover) \ + disabled $images(button-insensitive) \ + ] -sticky news -border 3 -padding {3 2} + ttk::style element create Menubutton.indicator \ + image [list $images(arrow-down) \ + active $images(arrow-down-prelight) \ + pressed $images(arrow-down-prelight) \ + disabled $images(arrow-down-insens) \ + ] -sticky e -width 20 + + ttk::style element create Combobox.field \ + image [list $images(combo-entry) \ + {readonly disabled} $images(button-insensitive) \ + {readonly pressed} $images(button-active) \ + {readonly hover} $images(button-hover) \ + readonly $images(button) \ + {disabled} $images(combo-entry-insensitive) \ + {hover} $images(combo-entry) \ + ] -border 4 -padding {6 0 0 0} + ttk::style element create Combobox.downarrow \ + image [list $images(combo-entry-button) \ + pressed $images(combo-entry-button-active) \ + active $images(combo-entry-button-hover) \ + disabled $images(combo-entry-button-insensitive) \ + ] -border 4 -padding {0 10 6 10} + ttk::style element create Combobox.arrow \ + image [list $images(arrow-down) \ + active $images(arrow-down-prelight) \ + pressed $images(arrow-down-prelight) \ + disabled $images(arrow-down-insens) \ + ] -sticky e -width 15 + + ttk::style element create Spinbox.field \ + image [list $images(combo-entry) focus $images(combo-entry-active)] \ + -border 4 -padding {6 0 0 0} -sticky news + ttk::style element create Spinbox.uparrow \ + image [list $images(up-background) \ + pressed $images(up-background-active) \ + active $images(up-background-hover) \ + disabled $images(up-background-disable) \ + ] -width 20 -border {0 2 3 0} -padding {0 5 6 2} + ttk::style element create Spinbox.symuparrow \ + image [list $images(arrow-up-small) \ + active $images(arrow-up-small-prelight) \ + pressed $images(arrow-up-small-prelight) \ + disabled $images(arrow-up-small-insens) \ + ] + ttk::style element create Spinbox.downarrow \ + image [list $images(down-background) \ + pressed $images(down-background-active) \ + active $images(down-background-hover) \ + disabled $images(down-background-disable) \ + ] -width 20 -border {0 0 3 2} -padding {0 2 6 5} + ttk::style element create Spinbox.symdownarrow \ + image [list $images(arrow-down) \ + active $images(arrow-down-prelight) \ + pressed $images(arrow-down-prelight) \ + disabled $images(arrow-down-insens) \ + ] + + ttk::style element create Notebook.client \ + image $images(notebook) -border 1 + ttk::style element create Notebook.tab \ + image [list $images(tab-top) \ + selected $images(tab-top-active) \ + active $images(tab-top-hover) \ + ] -padding {0 2 0 0} -border 3 + + ttk::style element create Horizontal.Progressbar.trough \ + image $images(progressbar-horiz-bg) -border {2 2 2 2} -padding 1 + ttk::style element create Horizontal.Progressbar.pbar \ + image $images(progressbar-horiz) -border {4 0 4 0} + + ttk::style element create Vertical.Progressbar.trough \ + image $images(progressbar-vert-bg) -border {2 2 2 2} -padding 1 + ttk::style element create Vertical.Progressbar.pbar \ + image $images(progressbar-vert) -border {0 4 0 4} + + ttk::style element create Treeview.field \ + image $images(treeview) -border 1 + ttk::style element create Treeheading.cell \ + image [list $images(tree-heading) pressed $images(tree-heading-active)] \ + -border 1 -padding 4 -sticky ewns + + ttk::style element create Treeitem.indicator \ + image [list $images(plus) user2 $images(empty) user1 $images(minus)] \ + -width 15 -sticky w + + # Settings + ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center + ttk::style configure TMenubutton -padding {8 4 4 4} + ttk::style configure Toolbutton -anchor center + ttk::style configure TCheckbutton -padding 3 + # Radiobutton and Checkbutton hover highlighting: disabled by default + # ttk::style map TRadiobutton -background [list active $colors(-checklight)] + # ttk::style map TCheckbutton -background [list active $colors(-checklight)] + ttk::style configure TRadiobutton -padding 3 + ttk::style configure TNotebook -tabmargins {0 2 0 0} + ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2} + ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}] + ttk::style configure TSeparator -background $colors(-bg) + + # Treeview + ttk::style configure Treeview -background $colors(-window) + ttk::style configure Treeview.Item -padding {2 0 0 0} + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + } +} + +variable version 1.1 +package provide ttk::theme::equilux $version + diff --git a/theme/equilux/equilux/arrow-down-insens.png b/theme/equilux/equilux/arrow-down-insens.png new file mode 100644 index 0000000..af72739 Binary files /dev/null and b/theme/equilux/equilux/arrow-down-insens.png differ diff --git a/theme/equilux/equilux/arrow-down-prelight.png b/theme/equilux/equilux/arrow-down-prelight.png new file mode 100644 index 0000000..96c4d91 Binary files /dev/null and b/theme/equilux/equilux/arrow-down-prelight.png differ diff --git a/theme/equilux/equilux/arrow-down.png b/theme/equilux/equilux/arrow-down.png new file mode 100644 index 0000000..6e8e2ae Binary files /dev/null and b/theme/equilux/equilux/arrow-down.png differ diff --git a/theme/equilux/equilux/arrow-up-small-insens.png b/theme/equilux/equilux/arrow-up-small-insens.png new file mode 100644 index 0000000..06f6f28 Binary files /dev/null and b/theme/equilux/equilux/arrow-up-small-insens.png differ diff --git a/theme/equilux/equilux/arrow-up-small-prelight.png b/theme/equilux/equilux/arrow-up-small-prelight.png new file mode 100644 index 0000000..8f3b22b Binary files /dev/null and b/theme/equilux/equilux/arrow-up-small-prelight.png differ diff --git a/theme/equilux/equilux/arrow-up-small.png b/theme/equilux/equilux/arrow-up-small.png new file mode 100644 index 0000000..c013cf4 Binary files /dev/null and b/theme/equilux/equilux/arrow-up-small.png differ diff --git a/theme/equilux/equilux/arrow-up.png b/theme/equilux/equilux/arrow-up.png new file mode 100644 index 0000000..10bfecd Binary files /dev/null and b/theme/equilux/equilux/arrow-up.png differ diff --git a/theme/equilux/equilux/button-active.png b/theme/equilux/equilux/button-active.png new file mode 100644 index 0000000..2f6a782 Binary files /dev/null and b/theme/equilux/equilux/button-active.png differ diff --git a/theme/equilux/equilux/button-empty.png b/theme/equilux/equilux/button-empty.png new file mode 100644 index 0000000..2674cd8 Binary files /dev/null and b/theme/equilux/equilux/button-empty.png differ diff --git a/theme/equilux/equilux/button-hover.png b/theme/equilux/equilux/button-hover.png new file mode 100644 index 0000000..6450ed9 Binary files /dev/null and b/theme/equilux/equilux/button-hover.png differ diff --git a/theme/equilux/equilux/button-insensitive.png b/theme/equilux/equilux/button-insensitive.png new file mode 100644 index 0000000..46642a9 Binary files /dev/null and b/theme/equilux/equilux/button-insensitive.png differ diff --git a/theme/equilux/equilux/button.png b/theme/equilux/equilux/button.png new file mode 100644 index 0000000..c69d3dd Binary files /dev/null and b/theme/equilux/equilux/button.png differ diff --git a/theme/equilux/equilux/checkbox-checked-insensitive.png b/theme/equilux/equilux/checkbox-checked-insensitive.png new file mode 100644 index 0000000..bbbb2da Binary files /dev/null and b/theme/equilux/equilux/checkbox-checked-insensitive.png differ diff --git a/theme/equilux/equilux/checkbox-checked.png b/theme/equilux/equilux/checkbox-checked.png new file mode 100644 index 0000000..815e5c2 Binary files /dev/null and b/theme/equilux/equilux/checkbox-checked.png differ diff --git a/theme/equilux/equilux/checkbox-unchecked-insensitive.png b/theme/equilux/equilux/checkbox-unchecked-insensitive.png new file mode 100644 index 0000000..dca621f Binary files /dev/null and b/theme/equilux/equilux/checkbox-unchecked-insensitive.png differ diff --git a/theme/equilux/equilux/checkbox-unchecked.png b/theme/equilux/equilux/checkbox-unchecked.png new file mode 100644 index 0000000..8eda039 Binary files /dev/null and b/theme/equilux/equilux/checkbox-unchecked.png differ diff --git a/theme/equilux/equilux/combo-entry-active.png b/theme/equilux/equilux/combo-entry-active.png new file mode 100644 index 0000000..a37f9c4 Binary files /dev/null and b/theme/equilux/equilux/combo-entry-active.png differ diff --git a/theme/equilux/equilux/combo-entry-button-active.png b/theme/equilux/equilux/combo-entry-button-active.png new file mode 100644 index 0000000..c118f1c Binary files /dev/null and b/theme/equilux/equilux/combo-entry-button-active.png differ diff --git a/theme/equilux/equilux/combo-entry-button-hover.png b/theme/equilux/equilux/combo-entry-button-hover.png new file mode 100644 index 0000000..6e86d34 Binary files /dev/null and b/theme/equilux/equilux/combo-entry-button-hover.png differ diff --git a/theme/equilux/equilux/combo-entry-button-insensitive.png b/theme/equilux/equilux/combo-entry-button-insensitive.png new file mode 100644 index 0000000..9c93716 Binary files /dev/null and b/theme/equilux/equilux/combo-entry-button-insensitive.png differ diff --git a/theme/equilux/equilux/combo-entry-button.png b/theme/equilux/equilux/combo-entry-button.png new file mode 100644 index 0000000..666a623 Binary files /dev/null and b/theme/equilux/equilux/combo-entry-button.png differ diff --git a/theme/equilux/equilux/combo-entry-insensitive.png b/theme/equilux/equilux/combo-entry-insensitive.png new file mode 100644 index 0000000..50419a8 Binary files /dev/null and b/theme/equilux/equilux/combo-entry-insensitive.png differ diff --git a/theme/equilux/equilux/combo-entry.png b/theme/equilux/equilux/combo-entry.png new file mode 100644 index 0000000..760c75e Binary files /dev/null and b/theme/equilux/equilux/combo-entry.png differ diff --git a/theme/equilux/equilux/down-background-active.png b/theme/equilux/equilux/down-background-active.png new file mode 100644 index 0000000..ea70db1 Binary files /dev/null and b/theme/equilux/equilux/down-background-active.png differ diff --git a/theme/equilux/equilux/down-background-disable.png b/theme/equilux/equilux/down-background-disable.png new file mode 100644 index 0000000..a15a2fa Binary files /dev/null and b/theme/equilux/equilux/down-background-disable.png differ diff --git a/theme/equilux/equilux/down-background-hover.png b/theme/equilux/equilux/down-background-hover.png new file mode 100644 index 0000000..6439ac2 Binary files /dev/null and b/theme/equilux/equilux/down-background-hover.png differ diff --git a/theme/equilux/equilux/down-background.png b/theme/equilux/equilux/down-background.png new file mode 100644 index 0000000..57179a0 Binary files /dev/null and b/theme/equilux/equilux/down-background.png differ diff --git a/theme/equilux/equilux/empty.png b/theme/equilux/equilux/empty.png new file mode 100644 index 0000000..23ac424 Binary files /dev/null and b/theme/equilux/equilux/empty.png differ diff --git a/theme/equilux/equilux/entry-active.png b/theme/equilux/equilux/entry-active.png new file mode 100644 index 0000000..f2b014e Binary files /dev/null and b/theme/equilux/equilux/entry-active.png differ diff --git a/theme/equilux/equilux/entry-border-bg.png b/theme/equilux/equilux/entry-border-bg.png new file mode 100644 index 0000000..32419f1 Binary files /dev/null and b/theme/equilux/equilux/entry-border-bg.png differ diff --git a/theme/equilux/equilux/entry-border-disabled.png b/theme/equilux/equilux/entry-border-disabled.png new file mode 100644 index 0000000..e04c1f1 Binary files /dev/null and b/theme/equilux/equilux/entry-border-disabled.png differ diff --git a/theme/equilux/equilux/focus.png b/theme/equilux/equilux/focus.png new file mode 100644 index 0000000..a960daa Binary files /dev/null and b/theme/equilux/equilux/focus.png differ diff --git a/theme/equilux/equilux/frame.png b/theme/equilux/equilux/frame.png new file mode 100644 index 0000000..ed565f6 Binary files /dev/null and b/theme/equilux/equilux/frame.png differ diff --git a/theme/equilux/equilux/labelframe.png b/theme/equilux/equilux/labelframe.png new file mode 100644 index 0000000..f11229c Binary files /dev/null and b/theme/equilux/equilux/labelframe.png differ diff --git a/theme/equilux/equilux/minus.png b/theme/equilux/equilux/minus.png new file mode 100644 index 0000000..8e96a79 Binary files /dev/null and b/theme/equilux/equilux/minus.png differ diff --git a/theme/equilux/equilux/notebook.png b/theme/equilux/equilux/notebook.png new file mode 100644 index 0000000..f11229c Binary files /dev/null and b/theme/equilux/equilux/notebook.png differ diff --git a/theme/equilux/equilux/null.png b/theme/equilux/equilux/null.png new file mode 100644 index 0000000..d7a1600 Binary files /dev/null and b/theme/equilux/equilux/null.png differ diff --git a/theme/equilux/equilux/plus.png b/theme/equilux/equilux/plus.png new file mode 100644 index 0000000..446ff48 Binary files /dev/null and b/theme/equilux/equilux/plus.png differ diff --git a/theme/equilux/equilux/progressbar-horiz-bg.png b/theme/equilux/equilux/progressbar-horiz-bg.png new file mode 100644 index 0000000..9a2aa3a Binary files /dev/null and b/theme/equilux/equilux/progressbar-horiz-bg.png differ diff --git a/theme/equilux/equilux/progressbar-horiz.png b/theme/equilux/equilux/progressbar-horiz.png new file mode 100644 index 0000000..628a03d Binary files /dev/null and b/theme/equilux/equilux/progressbar-horiz.png differ diff --git a/theme/equilux/equilux/progressbar-vert-bg.png b/theme/equilux/equilux/progressbar-vert-bg.png new file mode 100644 index 0000000..dc61b16 Binary files /dev/null and b/theme/equilux/equilux/progressbar-vert-bg.png differ diff --git a/theme/equilux/equilux/progressbar-vert.png b/theme/equilux/equilux/progressbar-vert.png new file mode 100644 index 0000000..81bb37b Binary files /dev/null and b/theme/equilux/equilux/progressbar-vert.png differ diff --git a/theme/equilux/equilux/radio-checked-insensitive.png b/theme/equilux/equilux/radio-checked-insensitive.png new file mode 100644 index 0000000..5bbe2a5 Binary files /dev/null and b/theme/equilux/equilux/radio-checked-insensitive.png differ diff --git a/theme/equilux/equilux/radio-checked.png b/theme/equilux/equilux/radio-checked.png new file mode 100644 index 0000000..f08f053 Binary files /dev/null and b/theme/equilux/equilux/radio-checked.png differ diff --git a/theme/equilux/equilux/radio-unchecked-insensitive.png b/theme/equilux/equilux/radio-unchecked-insensitive.png new file mode 100644 index 0000000..b6c35f0 Binary files /dev/null and b/theme/equilux/equilux/radio-unchecked-insensitive.png differ diff --git a/theme/equilux/equilux/radio-unchecked.png b/theme/equilux/equilux/radio-unchecked.png new file mode 100644 index 0000000..1786a71 Binary files /dev/null and b/theme/equilux/equilux/radio-unchecked.png differ diff --git a/theme/equilux/equilux/slider-horiz-active.png b/theme/equilux/equilux/slider-horiz-active.png new file mode 100644 index 0000000..4edab03 Binary files /dev/null and b/theme/equilux/equilux/slider-horiz-active.png differ diff --git a/theme/equilux/equilux/slider-horiz-insens.png b/theme/equilux/equilux/slider-horiz-insens.png new file mode 100644 index 0000000..b1b07c3 Binary files /dev/null and b/theme/equilux/equilux/slider-horiz-insens.png differ diff --git a/theme/equilux/equilux/slider-horiz-prelight.png b/theme/equilux/equilux/slider-horiz-prelight.png new file mode 100644 index 0000000..9605bc6 Binary files /dev/null and b/theme/equilux/equilux/slider-horiz-prelight.png differ diff --git a/theme/equilux/equilux/slider-horiz.png b/theme/equilux/equilux/slider-horiz.png new file mode 100644 index 0000000..9605bc6 Binary files /dev/null and b/theme/equilux/equilux/slider-horiz.png differ diff --git a/theme/equilux/equilux/slider-insensitive.png b/theme/equilux/equilux/slider-insensitive.png new file mode 100644 index 0000000..f4377ac Binary files /dev/null and b/theme/equilux/equilux/slider-insensitive.png differ diff --git a/theme/equilux/equilux/slider-prelight.png b/theme/equilux/equilux/slider-prelight.png new file mode 100644 index 0000000..9cc2a22 Binary files /dev/null and b/theme/equilux/equilux/slider-prelight.png differ diff --git a/theme/equilux/equilux/slider-vert-active.png b/theme/equilux/equilux/slider-vert-active.png new file mode 100644 index 0000000..63c3388 Binary files /dev/null and b/theme/equilux/equilux/slider-vert-active.png differ diff --git a/theme/equilux/equilux/slider-vert-insens.png b/theme/equilux/equilux/slider-vert-insens.png new file mode 100644 index 0000000..95278a0 Binary files /dev/null and b/theme/equilux/equilux/slider-vert-insens.png differ diff --git a/theme/equilux/equilux/slider-vert-prelight.png b/theme/equilux/equilux/slider-vert-prelight.png new file mode 100644 index 0000000..89d97c3 Binary files /dev/null and b/theme/equilux/equilux/slider-vert-prelight.png differ diff --git a/theme/equilux/equilux/slider-vert.png b/theme/equilux/equilux/slider-vert.png new file mode 100644 index 0000000..89d97c3 Binary files /dev/null and b/theme/equilux/equilux/slider-vert.png differ diff --git a/theme/equilux/equilux/slider.png b/theme/equilux/equilux/slider.png new file mode 100644 index 0000000..2959844 Binary files /dev/null and b/theme/equilux/equilux/slider.png differ diff --git a/theme/equilux/equilux/tab-top-active.png b/theme/equilux/equilux/tab-top-active.png new file mode 100644 index 0000000..7339e95 Binary files /dev/null and b/theme/equilux/equilux/tab-top-active.png differ diff --git a/theme/equilux/equilux/tab-top-hover.png b/theme/equilux/equilux/tab-top-hover.png new file mode 100644 index 0000000..5e23923 Binary files /dev/null and b/theme/equilux/equilux/tab-top-hover.png differ diff --git a/theme/equilux/equilux/tab-top.png b/theme/equilux/equilux/tab-top.png new file mode 100644 index 0000000..598600a Binary files /dev/null and b/theme/equilux/equilux/tab-top.png differ diff --git a/theme/equilux/equilux/tree-heading-active.png b/theme/equilux/equilux/tree-heading-active.png new file mode 100644 index 0000000..9ff5844 Binary files /dev/null and b/theme/equilux/equilux/tree-heading-active.png differ diff --git a/theme/equilux/equilux/tree-heading.png b/theme/equilux/equilux/tree-heading.png new file mode 100644 index 0000000..b395e79 Binary files /dev/null and b/theme/equilux/equilux/tree-heading.png differ diff --git a/theme/equilux/equilux/treeview.png b/theme/equilux/equilux/treeview.png new file mode 100644 index 0000000..862ac32 Binary files /dev/null and b/theme/equilux/equilux/treeview.png differ diff --git a/theme/equilux/equilux/trough-horizontal-active.png b/theme/equilux/equilux/trough-horizontal-active.png new file mode 100644 index 0000000..2d0ed3d Binary files /dev/null and b/theme/equilux/equilux/trough-horizontal-active.png differ diff --git a/theme/equilux/equilux/trough-horizontal.png b/theme/equilux/equilux/trough-horizontal.png new file mode 100644 index 0000000..5086977 Binary files /dev/null and b/theme/equilux/equilux/trough-horizontal.png differ diff --git a/theme/equilux/equilux/trough-scrollbar-horiz.png b/theme/equilux/equilux/trough-scrollbar-horiz.png new file mode 100644 index 0000000..7cb45ed Binary files /dev/null and b/theme/equilux/equilux/trough-scrollbar-horiz.png differ diff --git a/theme/equilux/equilux/trough-scrollbar-vert.png b/theme/equilux/equilux/trough-scrollbar-vert.png new file mode 100644 index 0000000..c21a6f6 Binary files /dev/null and b/theme/equilux/equilux/trough-scrollbar-vert.png differ diff --git a/theme/equilux/equilux/trough-vertical-active.png b/theme/equilux/equilux/trough-vertical-active.png new file mode 100644 index 0000000..a36af42 Binary files /dev/null and b/theme/equilux/equilux/trough-vertical-active.png differ diff --git a/theme/equilux/equilux/trough-vertical.png b/theme/equilux/equilux/trough-vertical.png new file mode 100644 index 0000000..e68f18b Binary files /dev/null and b/theme/equilux/equilux/trough-vertical.png differ diff --git a/theme/equilux/equilux/up-background-active.png b/theme/equilux/equilux/up-background-active.png new file mode 100644 index 0000000..2b50e0d Binary files /dev/null and b/theme/equilux/equilux/up-background-active.png differ diff --git a/theme/equilux/equilux/up-background-disable.png b/theme/equilux/equilux/up-background-disable.png new file mode 100644 index 0000000..78dec9e Binary files /dev/null and b/theme/equilux/equilux/up-background-disable.png differ diff --git a/theme/equilux/equilux/up-background-hover.png b/theme/equilux/equilux/up-background-hover.png new file mode 100644 index 0000000..ae38987 Binary files /dev/null and b/theme/equilux/equilux/up-background-hover.png differ diff --git a/theme/equilux/equilux/up-background.png b/theme/equilux/equilux/up-background.png new file mode 100644 index 0000000..e8fb907 Binary files /dev/null and b/theme/equilux/equilux/up-background.png differ diff --git a/theme/pkgIndex.tcl b/theme/pkgIndex.tcl new file mode 100644 index 0000000..6bf19b9 --- /dev/null +++ b/theme/pkgIndex.tcl @@ -0,0 +1,12 @@ +set base_theme_dir [file join [pwd] [file dirname [info script]]] + +array set base_themes { + breeze 0.6 + breeze-dark 0.1 +} + +foreach {theme version} [array get base_themes] { + package ifneeded ttk::theme::$theme $version \ + [list source [file join $base_theme_dir $theme $theme.tcl]] +} + diff --git a/theme/scid/LICENSE.md b/theme/scid/LICENSE.md new file mode 100644 index 0000000..d7087bb --- /dev/null +++ b/theme/scid/LICENSE.md @@ -0,0 +1,39 @@ +# BSD-like Tcl License +Copyright (C) 2018 Uwe Klimmek +The following terms apply to all files associated with the software +unless explicitly disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, +provided that existing copyright notices are retained in all copies and +that this notice is included verbatim in any distributions. No written +agreement, license, or royalty fee is required for any of the authorized +uses. Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND +DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, +UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. +government, the Government shall have only "Restricted Rights" in the +software and related documentation as defined in the Federal Acquisition +Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the +software on behalf of the Department of Defense, the software shall be +classified as "Commercial Computer Software" and the Government shall +have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) +of DFARs. Notwithstanding the foregoing, the authors grant the U.S. +Government and others acting in its behalf permission to use and +distribute the software in accordance with the terms specified in this +license. diff --git a/theme/scid/scid.tcl b/theme/scid/scid.tcl new file mode 100644 index 0000000..4076418 --- /dev/null +++ b/theme/scid/scid.tcl @@ -0,0 +1,329 @@ +# scidthemes - Copyright (C) 2018 Uwe Klimmek +# Available under the BSD-like 2-clause Tcl License, see LICENSE.md + +# Copyright (c) 2018 RedFantom +# Edited for indents, spaces instead of tabs and formatting +# Fixed the spacing of down arrow in Menubutton/OptionMenu +# TODO: Fix alignment of down arrow in Menubutton/OptionMenu +# TODO: Fix spacing on Combobox down arrow sides + +package provide ttk::theme::scid 0.9.1 + +foreach { t } { blue mint green purple sand pink grey } { + set ::tks $t + + package provide ttk::theme::scid$t 0.9.1 + + namespace eval ttk::theme::scid$t { + + set t $::tks + proc LoadImages {imgdir {patterns {*.png}}} { + foreach pattern $patterns { + foreach file [glob -directory $imgdir $pattern] { + set img [file tail [file rootname $file]] + if {![info exists images($img)]} { + set images($img) [image create photo -file $file -format png] + } + } + } + return [array get images] + } + + variable I + array set I [LoadImages [file join [file dirname [info script]] scid$t] *.png] + + variable colors + array set colors { + -frame "#d8d8d8" + -lighter "#fcfcfc" + -dark "#c8c8c8" + -darker "#9e9e9e" + -darkest "#cacaca" + -selectbg "#3d3d3d" + -selectfg "#fcfcfc" + -disabledfg "#b3b3b3" + -entryfocus "#6f6f6f" + -tabbg "#c9c9c9" + -tabborder "#b7b7b7" + -troughcolor "#d7d7d7" + -troughborder "#a7a7a7" + -checklight "#f5f5f5" + -eborder "#5464c4" + -foreground "#202020" + -background "#efefef" + } + + ttk::style theme create scid$t -settings { + ttk::style configure . \ + -borderwidth 1 \ + -background $colors(-frame) \ + -foreground $colors(-foreground) \ + -bordercolor $colors(-darkest) \ + -darkcolor $colors(-dark) \ + -lightcolor $colors(-lighter) \ + -troughcolor $colors(-troughcolor) \ + -selectforeground $colors(-selectfg) \ + -selectbackground $colors(-selectbg) \ + -font TkDefaultFont + + ttk::style map . \ + -background [list disabled $colors(-frame) active $colors(-lighter)] \ + -foreground [list disabled $colors(-disabledfg)] \ + -selectbackground [list !focus $colors(-darker)] \ + -selectforeground [list !focus white] + + ## Treeview + ttk::style element create Treeheading.cell image \ + [list $I(tree-n) \ + selected $I(tree-p) \ + disabled $I(tree-d) \ + pressed $I(tree-p) \ + active $I(tree-h) \ + ] -border 4 -sticky ew + ttk::style configure Row -background $colors(-background) + ttk::style map Row -background \ + [list \ + {focus selected} "#6474d4" \ + selected "#7484e4" \ + alternate white] + ttk::style map Item -foreground [list selected white] + ttk::style map Cell -foreground [list selected white] + ttk::style configure Treeview -background white + ttk::style map Treeview \ + -background [list selected "#5464c4"] \ + -foreground [list selected $colors(-selectfg)] + + ## Buttons + ttk::style configure TButton -anchor center + ttk::style layout TButton { + Button.button -children { + Button.focus -children { + Button.padding -children { + Button.label + } + } + } + } + + ttk::style element create button image \ + [list $I(button-n) \ + pressed $I(button-p) \ + {selected active} $I(button-pa) \ + selected $I(button-p) \ + active $I(button-a) \ + disabled $I(button-d) \ + ] -border {4 9 4 18} -padding {4 0} -sticky news + ttk::style configure Tbutton -padding {4 0 4 0} + + ## Checkbuttons + ttk::style element create Checkbutton.indicator image \ + [list $I(check-nu) \ + {disabled selected} $I(check-dc) \ + disabled $I(check-du) \ + {pressed selected} $I(check-pc) \ + pressed $I(check-pu) \ + {active selected} $I(check-ac) \ + active $I(check-hu) \ + selected $I(check-nc) \ + ] -width 20 -sticky w + ttk::style map TCheckbutton -background [list active $colors(-frame)] + ttk::style configure TCheckbutton -padding {0 4 0 4} + + ## Radiobuttons + ttk::style element create Radiobutton.indicator image \ + [list $I(radio-nu) \ + {disabled selected} $I(radio-dc) \ + disabled $I(radio-du) \ + {pressed selected} $I(radio-pc) \ + pressed $I(radio-pu) \ + {active selected} $I(radio-ac) \ + active $I(radio-hu) \ + selected $I(radio-nc) \ + ] -width 20 -sticky w + ttk::style map TRadiobutton -background [list active $colors(-frame)] + ttk::style configure TRadiobutton -padding {0 4 0 4 } + + ## Menubuttons + ttk::style element create Menubutton.indicator image \ + [list $I(menuarrow-a) \ + disabled $I(menuarrow-d) \ + ] -sticky e -border {15 0 0 0} -padding 0 + ttk::style element create Menubutton.border image \ + [list $I(button-n) \ + selected $I(button-p) \ + disabled $I(button-d) \ + active $I(button-a) \ + ] -border 4 -sticky ew + ttk::style configure TMenubutton -padding {4 0 4 0} + + ## Toolbar buttons + ttk::style configure Toolbutton -padding -5 -relief flat + ttk::style configure Toolbutton.label -padding 0 -relief flat + ttk::style element create Toolbutton.border image \ + [list $I(blank) \ + pressed $I(toolbutton-p) \ + {selected active} $I(toolbutton-pa) \ + selected $I(toolbutton-p) \ + active $I(toolbutton-a) \ + disabled $I(blank) \ + ] -border 11 -sticky nsew + + ## Entry widgets + ttk::style configure TEntry \ + -padding {0 4 0 4 } \ + -insertwidth 1 \ + -fieldbackground white \ + -selectbackground $colors(-eborder) \ + -selectforeground $colors(-foreground) + ttk::style map TEntry \ + -fieldbackground [list readonly $colors(-frame)] \ + -bordercolor [list focus $colors(-eborder)] \ + -lightcolor [list focus $colors(-entryfocus)] \ + -darkcolor [list focus $colors(-entryfocus)] + ttk::style element create Entry.field image \ + [list $I(entry-n) \ + {focus} $I(entry-a) \ + {readonly disabled} $I(entry-rd) \ + {readonly pressed} $I(entry-d) \ + {focus readonly} $I(entry-d) \ + readonly $I(entry-d) \ + ] -border {3 3 3 3} -sticky ew + + ## Combobox + ttk::style element create Combobox.downarrow image \ + [list $I(comboarrow-n) \ + focus $I(comboarrow-af) \ + disabled $I(comboarrow-d) \ + pressed $I(comboarrow-p) \ + active $I(comboarrow-a) \ + ] -sticky e -border {22 0 0 0} + ttk::style element create Combobox.field image \ + [list $I(combo-n) \ + focus $I(combo-ra) \ + {readonly disabled} $I(combo-rd) \ + {readonly pressed} $I(combo-rp) \ + {readonly focus} $I(combo-rf) \ + readonly $I(combo-rn) \ + ] -border {4 0 0 0} -sticky ew + ttk::style configure TCombobox \ + -selectbackground "#ffffff" \ + -selectforeground "#202020" \ + -padding {0 4 0 4} + + ## Spinbox + ttk::style element create Spinbox.downarrow image \ + [list $I(spinarrowdown-a) \ + {focus pressed} $I(spinarrowdown-paf) \ + focus $I(spinarrowdown-af) \ + disabled $I(spinarrowdown-a) \ + active $I(spinarrowdown-p) \ + ] -border 4 -sticky {} + ttk::style element create Spinbox.uparrow image \ + [list $I(spinarrowup-a) \ + {focus pressed} $I(spinarrowup-paf) \ + focus $I(spinarrowup-af) \ + disabled $I(spinarrowup-a) \ + active $I(spinarrowup-p) \ + ] -border 4 -sticky {} + ttk::style element create Spinbox.field image \ + [list $I(combo-n) \ + focus $I(combo-ra) \ + {readonly disabled} $I(combo-rd) \ + {readonly pressed} $I(combo-rp) \ + {readonly focus} $I(combo-rf) \ + readonly $I(combo-rn) \ + ] -border {4 0 0 0} -sticky ew + ttk::style configure TSpinbox \ + -selectbackground "#ffffff" \ + -selectforeground "#202020" \ + -padding {0 4 0 4} + + ## Notebooks + ttk::style element create Notebook.client \ + image $I(surface) -border 2 -sticky news + ttk::style element create Notebook.tab image \ + [list $I(tab-n) \ + selected $I(tab-s) \ + active $I(tab-a) \ + ] -border {3 6 3 12} -padding {3 3} + + ## Labelframes + ttk::style element create Labelframe.border image $I(labelframe) \ + -border 4 -sticky news + ttk::style configure TLabelframe -padding 4 + + ## Scrollbars + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + ttk::style element create Horizontal.Scrollbar.thumb image \ + [list $I(sbthumb-hn) \ + disabled $I(sbthumb-hd) \ + pressed $I(sbthumb-hp) \ + active $I(sbthumb-ha) \ + ] -border 4 + ttk::style element create Vertical.Scrollbar.thumb image \ + [list $I(sbthumb-vn) \ + disabled $I(sbthumb-vd) \ + pressed $I(sbthumb-vp) \ + active $I(sbthumb-va) \ + ] -border 4 + ttk::style element create Horizontal.Scrollbar.trough image $I(sbtrough-h) + ttk::style element create Vertical.Scrollbar.trough image $I(sbtrough-v) + ttk::style configure TScrollbar -bordercolor $colors(-troughborder) + + ## Scales + ttk::style element create Horizontal.Scale.slider image \ + [list $I(scale-hn) \ + disabled $I(scale-hd) \ + active $I(scale-ha) \ + ] + ttk::style element create Horizontal.Scale.trough image \ + [list $I(scaletrough-h) \ + pressed $I(scaletrough-hp) \ + ] -border 4 -sticky ew -padding 0 + ttk::style element create Vertical.Scale.slider image \ + [list $I(scale-vn) \ + disabled $I(scale-vd) \ + active $I(scale-va) \ + ] + ttk::style element create Vertical.Scale.trough image \ + [list $I(scaletrough-v) \ + pressed $I(scaletrough-vp) \ + ] -border 4 -sticky ns -padding 0 + + ttk::style configure TScale -bordercolor $colors(-troughborder) + + ## Progressbar + ttk::style element create Progressbar.trough \ + image $I(entry-n) -border 2 + ttk::style element create Vertical.Progressbar.pbar \ + image $I(progress-v) -border {2 2 1 1} + ttk::style element create Horizontal.Progressbar.pbar \ + image $I(progress-h) -border {2 2 1 1} + ttk::style configure TProgressbar \ + -bordercolor $colors(-troughborder) \ + -foreground $colors(-eborder) + + ## Statusbar + ttk::style element create sizegrip image $I(sizegrip) + + ## Separator + ttk::style element create separator image $I(sep-h) + ttk::style element create hseparator image $I(sep-h) + ttk::style element create vseparator image $I(sep-v) + + ## Paned window + ttk::style element create vsash image $I(sas-v) -sticky e + ttk::style element create hsash image $I(sas-h) -sticky s + } + } +} +unset ::tks diff --git a/theme/scid/scidblue/blank.png b/theme/scid/scidblue/blank.png new file mode 100644 index 0000000..7a73256 Binary files /dev/null and b/theme/scid/scidblue/blank.png differ diff --git a/theme/scid/scidblue/button-a.png b/theme/scid/scidblue/button-a.png new file mode 100644 index 0000000..a77a300 Binary files /dev/null and b/theme/scid/scidblue/button-a.png differ diff --git a/theme/scid/scidblue/button-a1p.png b/theme/scid/scidblue/button-a1p.png new file mode 100644 index 0000000..a386146 Binary files /dev/null and b/theme/scid/scidblue/button-a1p.png differ diff --git a/theme/scid/scidblue/button-d.png b/theme/scid/scidblue/button-d.png new file mode 100644 index 0000000..2751b31 Binary files /dev/null and b/theme/scid/scidblue/button-d.png differ diff --git a/theme/scid/scidblue/button-default.png b/theme/scid/scidblue/button-default.png new file mode 100644 index 0000000..1229a02 Binary files /dev/null and b/theme/scid/scidblue/button-default.png differ diff --git a/theme/scid/scidblue/button-n.png b/theme/scid/scidblue/button-n.png new file mode 100644 index 0000000..038814c Binary files /dev/null and b/theme/scid/scidblue/button-n.png differ diff --git a/theme/scid/scidblue/button-p.png b/theme/scid/scidblue/button-p.png new file mode 100644 index 0000000..2cdcb24 Binary files /dev/null and b/theme/scid/scidblue/button-p.png differ diff --git a/theme/scid/scidblue/button-p1p.png b/theme/scid/scidblue/button-p1p.png new file mode 100644 index 0000000..b3e19e8 Binary files /dev/null and b/theme/scid/scidblue/button-p1p.png differ diff --git a/theme/scid/scidblue/button-pa.png b/theme/scid/scidblue/button-pa.png new file mode 100644 index 0000000..a64ac6e Binary files /dev/null and b/theme/scid/scidblue/button-pa.png differ diff --git a/theme/scid/scidblue/check-ac.png b/theme/scid/scidblue/check-ac.png new file mode 100644 index 0000000..1e76d2a Binary files /dev/null and b/theme/scid/scidblue/check-ac.png differ diff --git a/theme/scid/scidblue/check-au.png b/theme/scid/scidblue/check-au.png new file mode 100644 index 0000000..caff1be Binary files /dev/null and b/theme/scid/scidblue/check-au.png differ diff --git a/theme/scid/scidblue/check-dc.png b/theme/scid/scidblue/check-dc.png new file mode 100644 index 0000000..4f1d453 Binary files /dev/null and b/theme/scid/scidblue/check-dc.png differ diff --git a/theme/scid/scidblue/check-du.png b/theme/scid/scidblue/check-du.png new file mode 100644 index 0000000..20bcda7 Binary files /dev/null and b/theme/scid/scidblue/check-du.png differ diff --git a/theme/scid/scidblue/check-hu.png b/theme/scid/scidblue/check-hu.png new file mode 100644 index 0000000..a06266a Binary files /dev/null and b/theme/scid/scidblue/check-hu.png differ diff --git a/theme/scid/scidblue/check-nc.png b/theme/scid/scidblue/check-nc.png new file mode 100644 index 0000000..1e76d2a Binary files /dev/null and b/theme/scid/scidblue/check-nc.png differ diff --git a/theme/scid/scidblue/check-nu.png b/theme/scid/scidblue/check-nu.png new file mode 100644 index 0000000..32516e2 Binary files /dev/null and b/theme/scid/scidblue/check-nu.png differ diff --git a/theme/scid/scidblue/check-pc.png b/theme/scid/scidblue/check-pc.png new file mode 100644 index 0000000..97e326a Binary files /dev/null and b/theme/scid/scidblue/check-pc.png differ diff --git a/theme/scid/scidblue/check-pu.png b/theme/scid/scidblue/check-pu.png new file mode 100644 index 0000000..a55dc69 Binary files /dev/null and b/theme/scid/scidblue/check-pu.png differ diff --git a/theme/scid/scidblue/combo-n.png b/theme/scid/scidblue/combo-n.png new file mode 100644 index 0000000..2a5e0f8 Binary files /dev/null and b/theme/scid/scidblue/combo-n.png differ diff --git a/theme/scid/scidblue/combo-ra.png b/theme/scid/scidblue/combo-ra.png new file mode 100644 index 0000000..7840c5e Binary files /dev/null and b/theme/scid/scidblue/combo-ra.png differ diff --git a/theme/scid/scidblue/combo-rd.png b/theme/scid/scidblue/combo-rd.png new file mode 100644 index 0000000..e0384b8 Binary files /dev/null and b/theme/scid/scidblue/combo-rd.png differ diff --git a/theme/scid/scidblue/combo-rf.png b/theme/scid/scidblue/combo-rf.png new file mode 100644 index 0000000..2b56f41 Binary files /dev/null and b/theme/scid/scidblue/combo-rf.png differ diff --git a/theme/scid/scidblue/combo-rn.png b/theme/scid/scidblue/combo-rn.png new file mode 100644 index 0000000..cea9e18 Binary files /dev/null and b/theme/scid/scidblue/combo-rn.png differ diff --git a/theme/scid/scidblue/combo-rp.png b/theme/scid/scidblue/combo-rp.png new file mode 100644 index 0000000..68b06c9 Binary files /dev/null and b/theme/scid/scidblue/combo-rp.png differ diff --git a/theme/scid/scidblue/comboarrow-a.png b/theme/scid/scidblue/comboarrow-a.png new file mode 100644 index 0000000..4ceccdc Binary files /dev/null and b/theme/scid/scidblue/comboarrow-a.png differ diff --git a/theme/scid/scidblue/comboarrow-af.png b/theme/scid/scidblue/comboarrow-af.png new file mode 100644 index 0000000..267c56e Binary files /dev/null and b/theme/scid/scidblue/comboarrow-af.png differ diff --git a/theme/scid/scidblue/comboarrow-d.png b/theme/scid/scidblue/comboarrow-d.png new file mode 100644 index 0000000..b5237fe Binary files /dev/null and b/theme/scid/scidblue/comboarrow-d.png differ diff --git a/theme/scid/scidblue/comboarrow-n.png b/theme/scid/scidblue/comboarrow-n.png new file mode 100644 index 0000000..06ba6eb Binary files /dev/null and b/theme/scid/scidblue/comboarrow-n.png differ diff --git a/theme/scid/scidblue/comboarrow-p.png b/theme/scid/scidblue/comboarrow-p.png new file mode 100644 index 0000000..1e813e5 Binary files /dev/null and b/theme/scid/scidblue/comboarrow-p.png differ diff --git a/theme/scid/scidblue/entry-a.png b/theme/scid/scidblue/entry-a.png new file mode 100644 index 0000000..f919b89 Binary files /dev/null and b/theme/scid/scidblue/entry-a.png differ diff --git a/theme/scid/scidblue/entry-d.png b/theme/scid/scidblue/entry-d.png new file mode 100644 index 0000000..2f21baa Binary files /dev/null and b/theme/scid/scidblue/entry-d.png differ diff --git a/theme/scid/scidblue/entry-n.png b/theme/scid/scidblue/entry-n.png new file mode 100644 index 0000000..3a6f70a Binary files /dev/null and b/theme/scid/scidblue/entry-n.png differ diff --git a/theme/scid/scidblue/entry-rd.png b/theme/scid/scidblue/entry-rd.png new file mode 100644 index 0000000..a0c9d63 Binary files /dev/null and b/theme/scid/scidblue/entry-rd.png differ diff --git a/theme/scid/scidblue/labelframe.png b/theme/scid/scidblue/labelframe.png new file mode 100644 index 0000000..eb51692 Binary files /dev/null and b/theme/scid/scidblue/labelframe.png differ diff --git a/theme/scid/scidblue/menuarrow-a.png b/theme/scid/scidblue/menuarrow-a.png new file mode 100644 index 0000000..54bea5d Binary files /dev/null and b/theme/scid/scidblue/menuarrow-a.png differ diff --git a/theme/scid/scidblue/menuarrow-d.png b/theme/scid/scidblue/menuarrow-d.png new file mode 100644 index 0000000..1b88b45 Binary files /dev/null and b/theme/scid/scidblue/menuarrow-d.png differ diff --git a/theme/scid/scidblue/progress-h.png b/theme/scid/scidblue/progress-h.png new file mode 100644 index 0000000..68c874c Binary files /dev/null and b/theme/scid/scidblue/progress-h.png differ diff --git a/theme/scid/scidblue/progress-v.png b/theme/scid/scidblue/progress-v.png new file mode 100644 index 0000000..fab8361 Binary files /dev/null and b/theme/scid/scidblue/progress-v.png differ diff --git a/theme/scid/scidblue/radio-ac.png b/theme/scid/scidblue/radio-ac.png new file mode 100644 index 0000000..1907072 Binary files /dev/null and b/theme/scid/scidblue/radio-ac.png differ diff --git a/theme/scid/scidblue/radio-au.png b/theme/scid/scidblue/radio-au.png new file mode 100644 index 0000000..5d8d9b4 Binary files /dev/null and b/theme/scid/scidblue/radio-au.png differ diff --git a/theme/scid/scidblue/radio-dc.png b/theme/scid/scidblue/radio-dc.png new file mode 100644 index 0000000..9abc608 Binary files /dev/null and b/theme/scid/scidblue/radio-dc.png differ diff --git a/theme/scid/scidblue/radio-du.png b/theme/scid/scidblue/radio-du.png new file mode 100644 index 0000000..d820838 Binary files /dev/null and b/theme/scid/scidblue/radio-du.png differ diff --git a/theme/scid/scidblue/radio-hu.png b/theme/scid/scidblue/radio-hu.png new file mode 100644 index 0000000..33c80b1 Binary files /dev/null and b/theme/scid/scidblue/radio-hu.png differ diff --git a/theme/scid/scidblue/radio-nc.png b/theme/scid/scidblue/radio-nc.png new file mode 100644 index 0000000..a358e0d Binary files /dev/null and b/theme/scid/scidblue/radio-nc.png differ diff --git a/theme/scid/scidblue/radio-nu.png b/theme/scid/scidblue/radio-nu.png new file mode 100644 index 0000000..154279a Binary files /dev/null and b/theme/scid/scidblue/radio-nu.png differ diff --git a/theme/scid/scidblue/radio-pc.png b/theme/scid/scidblue/radio-pc.png new file mode 100644 index 0000000..a358e0d Binary files /dev/null and b/theme/scid/scidblue/radio-pc.png differ diff --git a/theme/scid/scidblue/radio-pu.png b/theme/scid/scidblue/radio-pu.png new file mode 100644 index 0000000..47b7a9d Binary files /dev/null and b/theme/scid/scidblue/radio-pu.png differ diff --git a/theme/scid/scidblue/sas-h.png b/theme/scid/scidblue/sas-h.png new file mode 100644 index 0000000..6c86ff9 Binary files /dev/null and b/theme/scid/scidblue/sas-h.png differ diff --git a/theme/scid/scidblue/sas-v.png b/theme/scid/scidblue/sas-v.png new file mode 100644 index 0000000..ea5d045 Binary files /dev/null and b/theme/scid/scidblue/sas-v.png differ diff --git a/theme/scid/scidblue/sbthumb-ha.png b/theme/scid/scidblue/sbthumb-ha.png new file mode 100644 index 0000000..0aef0d9 Binary files /dev/null and b/theme/scid/scidblue/sbthumb-ha.png differ diff --git a/theme/scid/scidblue/sbthumb-hd.png b/theme/scid/scidblue/sbthumb-hd.png new file mode 100644 index 0000000..b96012e Binary files /dev/null and b/theme/scid/scidblue/sbthumb-hd.png differ diff --git a/theme/scid/scidblue/sbthumb-hn.png b/theme/scid/scidblue/sbthumb-hn.png new file mode 100644 index 0000000..4b1d738 Binary files /dev/null and b/theme/scid/scidblue/sbthumb-hn.png differ diff --git a/theme/scid/scidblue/sbthumb-hp.png b/theme/scid/scidblue/sbthumb-hp.png new file mode 100644 index 0000000..29d108f Binary files /dev/null and b/theme/scid/scidblue/sbthumb-hp.png differ diff --git a/theme/scid/scidblue/sbthumb-va.png b/theme/scid/scidblue/sbthumb-va.png new file mode 100644 index 0000000..8e441e6 Binary files /dev/null and b/theme/scid/scidblue/sbthumb-va.png differ diff --git a/theme/scid/scidblue/sbthumb-vd.png b/theme/scid/scidblue/sbthumb-vd.png new file mode 100644 index 0000000..3c68b6f Binary files /dev/null and b/theme/scid/scidblue/sbthumb-vd.png differ diff --git a/theme/scid/scidblue/sbthumb-vn.png b/theme/scid/scidblue/sbthumb-vn.png new file mode 100644 index 0000000..8bee38f Binary files /dev/null and b/theme/scid/scidblue/sbthumb-vn.png differ diff --git a/theme/scid/scidblue/sbthumb-vp.png b/theme/scid/scidblue/sbthumb-vp.png new file mode 100644 index 0000000..5b35aa8 Binary files /dev/null and b/theme/scid/scidblue/sbthumb-vp.png differ diff --git a/theme/scid/scidblue/sbtrough-h.png b/theme/scid/scidblue/sbtrough-h.png new file mode 100644 index 0000000..4c675d1 Binary files /dev/null and b/theme/scid/scidblue/sbtrough-h.png differ diff --git a/theme/scid/scidblue/sbtrough-v.png b/theme/scid/scidblue/sbtrough-v.png new file mode 100644 index 0000000..e81f8ce Binary files /dev/null and b/theme/scid/scidblue/sbtrough-v.png differ diff --git a/theme/scid/scidblue/scale-ha.png b/theme/scid/scidblue/scale-ha.png new file mode 100644 index 0000000..47b7a9d Binary files /dev/null and b/theme/scid/scidblue/scale-ha.png differ diff --git a/theme/scid/scidblue/scale-hd.png b/theme/scid/scidblue/scale-hd.png new file mode 100644 index 0000000..b2ba4a1 Binary files /dev/null and b/theme/scid/scidblue/scale-hd.png differ diff --git a/theme/scid/scidblue/scale-hn.png b/theme/scid/scidblue/scale-hn.png new file mode 100644 index 0000000..2231497 Binary files /dev/null and b/theme/scid/scidblue/scale-hn.png differ diff --git a/theme/scid/scidblue/scale-va.png b/theme/scid/scidblue/scale-va.png new file mode 100644 index 0000000..47b7a9d Binary files /dev/null and b/theme/scid/scidblue/scale-va.png differ diff --git a/theme/scid/scidblue/scale-vd.png b/theme/scid/scidblue/scale-vd.png new file mode 100644 index 0000000..b2ba4a1 Binary files /dev/null and b/theme/scid/scidblue/scale-vd.png differ diff --git a/theme/scid/scidblue/scale-vn.png b/theme/scid/scidblue/scale-vn.png new file mode 100644 index 0000000..2231497 Binary files /dev/null and b/theme/scid/scidblue/scale-vn.png differ diff --git a/theme/scid/scidblue/scaletrough-h.png b/theme/scid/scidblue/scaletrough-h.png new file mode 100644 index 0000000..fe4fbdc Binary files /dev/null and b/theme/scid/scidblue/scaletrough-h.png differ diff --git a/theme/scid/scidblue/scaletrough-hp.png b/theme/scid/scidblue/scaletrough-hp.png new file mode 100644 index 0000000..78c983d Binary files /dev/null and b/theme/scid/scidblue/scaletrough-hp.png differ diff --git a/theme/scid/scidblue/scaletrough-v.png b/theme/scid/scidblue/scaletrough-v.png new file mode 100644 index 0000000..4bfbca3 Binary files /dev/null and b/theme/scid/scidblue/scaletrough-v.png differ diff --git a/theme/scid/scidblue/scaletrough-vp.png b/theme/scid/scidblue/scaletrough-vp.png new file mode 100644 index 0000000..ac3fddc Binary files /dev/null and b/theme/scid/scidblue/scaletrough-vp.png differ diff --git a/theme/scid/scidblue/sep-h.png b/theme/scid/scidblue/sep-h.png new file mode 100644 index 0000000..02cda8d Binary files /dev/null and b/theme/scid/scidblue/sep-h.png differ diff --git a/theme/scid/scidblue/sep-v.png b/theme/scid/scidblue/sep-v.png new file mode 100644 index 0000000..f670c57 Binary files /dev/null and b/theme/scid/scidblue/sep-v.png differ diff --git a/theme/scid/scidblue/sizegrip.png b/theme/scid/scidblue/sizegrip.png new file mode 100644 index 0000000..270dee4 Binary files /dev/null and b/theme/scid/scidblue/sizegrip.png differ diff --git a/theme/scid/scidblue/spinarrowdown-a.png b/theme/scid/scidblue/spinarrowdown-a.png new file mode 100644 index 0000000..9f55ace Binary files /dev/null and b/theme/scid/scidblue/spinarrowdown-a.png differ diff --git a/theme/scid/scidblue/spinarrowdown-af.png b/theme/scid/scidblue/spinarrowdown-af.png new file mode 100644 index 0000000..3ddcbe4 Binary files /dev/null and b/theme/scid/scidblue/spinarrowdown-af.png differ diff --git a/theme/scid/scidblue/spinarrowdown-p.png b/theme/scid/scidblue/spinarrowdown-p.png new file mode 100644 index 0000000..b911b41 Binary files /dev/null and b/theme/scid/scidblue/spinarrowdown-p.png differ diff --git a/theme/scid/scidblue/spinarrowdown-pa.png b/theme/scid/scidblue/spinarrowdown-pa.png new file mode 100644 index 0000000..6102afe Binary files /dev/null and b/theme/scid/scidblue/spinarrowdown-pa.png differ diff --git a/theme/scid/scidblue/spinarrowdown-paf.png b/theme/scid/scidblue/spinarrowdown-paf.png new file mode 100644 index 0000000..e1063be Binary files /dev/null and b/theme/scid/scidblue/spinarrowdown-paf.png differ diff --git a/theme/scid/scidblue/spinarrowup-a.png b/theme/scid/scidblue/spinarrowup-a.png new file mode 100644 index 0000000..4223db0 Binary files /dev/null and b/theme/scid/scidblue/spinarrowup-a.png differ diff --git a/theme/scid/scidblue/spinarrowup-af.png b/theme/scid/scidblue/spinarrowup-af.png new file mode 100644 index 0000000..3d2a4ec Binary files /dev/null and b/theme/scid/scidblue/spinarrowup-af.png differ diff --git a/theme/scid/scidblue/spinarrowup-p.png b/theme/scid/scidblue/spinarrowup-p.png new file mode 100644 index 0000000..c996dca Binary files /dev/null and b/theme/scid/scidblue/spinarrowup-p.png differ diff --git a/theme/scid/scidblue/spinarrowup-pa.png b/theme/scid/scidblue/spinarrowup-pa.png new file mode 100644 index 0000000..5f2e25c Binary files /dev/null and b/theme/scid/scidblue/spinarrowup-pa.png differ diff --git a/theme/scid/scidblue/spinarrowup-paf.png b/theme/scid/scidblue/spinarrowup-paf.png new file mode 100644 index 0000000..e078bbd Binary files /dev/null and b/theme/scid/scidblue/spinarrowup-paf.png differ diff --git a/theme/scid/scidblue/surface.png b/theme/scid/scidblue/surface.png new file mode 100644 index 0000000..4b97939 Binary files /dev/null and b/theme/scid/scidblue/surface.png differ diff --git a/theme/scid/scidblue/tab-a.png b/theme/scid/scidblue/tab-a.png new file mode 100644 index 0000000..5766d36 Binary files /dev/null and b/theme/scid/scidblue/tab-a.png differ diff --git a/theme/scid/scidblue/tab-n.png b/theme/scid/scidblue/tab-n.png new file mode 100644 index 0000000..4a68e13 Binary files /dev/null and b/theme/scid/scidblue/tab-n.png differ diff --git a/theme/scid/scidblue/tab-s.png b/theme/scid/scidblue/tab-s.png new file mode 100644 index 0000000..3d859c6 Binary files /dev/null and b/theme/scid/scidblue/tab-s.png differ diff --git a/theme/scid/scidblue/toolbutton-a.png b/theme/scid/scidblue/toolbutton-a.png new file mode 100644 index 0000000..8f826bb Binary files /dev/null and b/theme/scid/scidblue/toolbutton-a.png differ diff --git a/theme/scid/scidblue/toolbutton-d.png b/theme/scid/scidblue/toolbutton-d.png new file mode 100644 index 0000000..2751b31 Binary files /dev/null and b/theme/scid/scidblue/toolbutton-d.png differ diff --git a/theme/scid/scidblue/toolbutton-n.png b/theme/scid/scidblue/toolbutton-n.png new file mode 100644 index 0000000..1229a02 Binary files /dev/null and b/theme/scid/scidblue/toolbutton-n.png differ diff --git a/theme/scid/scidblue/toolbutton-p.png b/theme/scid/scidblue/toolbutton-p.png new file mode 100644 index 0000000..bae7aeb Binary files /dev/null and b/theme/scid/scidblue/toolbutton-p.png differ diff --git a/theme/scid/scidblue/toolbutton-pa.png b/theme/scid/scidblue/toolbutton-pa.png new file mode 100644 index 0000000..a64ac6e Binary files /dev/null and b/theme/scid/scidblue/toolbutton-pa.png differ diff --git a/theme/scid/scidblue/tree-d.png b/theme/scid/scidblue/tree-d.png new file mode 100644 index 0000000..acae169 Binary files /dev/null and b/theme/scid/scidblue/tree-d.png differ diff --git a/theme/scid/scidblue/tree-h.png b/theme/scid/scidblue/tree-h.png new file mode 100644 index 0000000..b37102f Binary files /dev/null and b/theme/scid/scidblue/tree-h.png differ diff --git a/theme/scid/scidblue/tree-n.png b/theme/scid/scidblue/tree-n.png new file mode 100644 index 0000000..6b37f73 Binary files /dev/null and b/theme/scid/scidblue/tree-n.png differ diff --git a/theme/scid/scidblue/tree-p.png b/theme/scid/scidblue/tree-p.png new file mode 100644 index 0000000..5cbfcec Binary files /dev/null and b/theme/scid/scidblue/tree-p.png differ diff --git a/theme/scid/scidgreen/blank.png b/theme/scid/scidgreen/blank.png new file mode 100644 index 0000000..3bb2a21 Binary files /dev/null and b/theme/scid/scidgreen/blank.png differ diff --git a/theme/scid/scidgreen/button-a.png b/theme/scid/scidgreen/button-a.png new file mode 100644 index 0000000..47b95ac Binary files /dev/null and b/theme/scid/scidgreen/button-a.png differ diff --git a/theme/scid/scidgreen/button-a1p.png b/theme/scid/scidgreen/button-a1p.png new file mode 100644 index 0000000..f65bf22 Binary files /dev/null and b/theme/scid/scidgreen/button-a1p.png differ diff --git a/theme/scid/scidgreen/button-d.png b/theme/scid/scidgreen/button-d.png new file mode 100644 index 0000000..731a0c2 Binary files /dev/null and b/theme/scid/scidgreen/button-d.png differ diff --git a/theme/scid/scidgreen/button-default.png b/theme/scid/scidgreen/button-default.png new file mode 100644 index 0000000..928c10a Binary files /dev/null and b/theme/scid/scidgreen/button-default.png differ diff --git a/theme/scid/scidgreen/button-n.png b/theme/scid/scidgreen/button-n.png new file mode 100644 index 0000000..9f7a454 Binary files /dev/null and b/theme/scid/scidgreen/button-n.png differ diff --git a/theme/scid/scidgreen/button-p.png b/theme/scid/scidgreen/button-p.png new file mode 100644 index 0000000..83cb3e8 Binary files /dev/null and b/theme/scid/scidgreen/button-p.png differ diff --git a/theme/scid/scidgreen/button-p1p.png b/theme/scid/scidgreen/button-p1p.png new file mode 100644 index 0000000..bff37d0 Binary files /dev/null and b/theme/scid/scidgreen/button-p1p.png differ diff --git a/theme/scid/scidgreen/button-pa.png b/theme/scid/scidgreen/button-pa.png new file mode 100644 index 0000000..9212ddd Binary files /dev/null and b/theme/scid/scidgreen/button-pa.png differ diff --git a/theme/scid/scidgreen/check-ac.png b/theme/scid/scidgreen/check-ac.png new file mode 100644 index 0000000..ba0d48d Binary files /dev/null and b/theme/scid/scidgreen/check-ac.png differ diff --git a/theme/scid/scidgreen/check-au.png b/theme/scid/scidgreen/check-au.png new file mode 100644 index 0000000..1d22aac Binary files /dev/null and b/theme/scid/scidgreen/check-au.png differ diff --git a/theme/scid/scidgreen/check-dc.png b/theme/scid/scidgreen/check-dc.png new file mode 100644 index 0000000..303978c Binary files /dev/null and b/theme/scid/scidgreen/check-dc.png differ diff --git a/theme/scid/scidgreen/check-du.png b/theme/scid/scidgreen/check-du.png new file mode 100644 index 0000000..1d22aac Binary files /dev/null and b/theme/scid/scidgreen/check-du.png differ diff --git a/theme/scid/scidgreen/check-hu.png b/theme/scid/scidgreen/check-hu.png new file mode 100644 index 0000000..7d3ded5 Binary files /dev/null and b/theme/scid/scidgreen/check-hu.png differ diff --git a/theme/scid/scidgreen/check-nc.png b/theme/scid/scidgreen/check-nc.png new file mode 100644 index 0000000..f9d2957 Binary files /dev/null and b/theme/scid/scidgreen/check-nc.png differ diff --git a/theme/scid/scidgreen/check-nu.png b/theme/scid/scidgreen/check-nu.png new file mode 100644 index 0000000..1d22aac Binary files /dev/null and b/theme/scid/scidgreen/check-nu.png differ diff --git a/theme/scid/scidgreen/check-pc.png b/theme/scid/scidgreen/check-pc.png new file mode 100644 index 0000000..f9d2957 Binary files /dev/null and b/theme/scid/scidgreen/check-pc.png differ diff --git a/theme/scid/scidgreen/check-pu.png b/theme/scid/scidgreen/check-pu.png new file mode 100644 index 0000000..67e1b70 Binary files /dev/null and b/theme/scid/scidgreen/check-pu.png differ diff --git a/theme/scid/scidgreen/combo-n.png b/theme/scid/scidgreen/combo-n.png new file mode 100644 index 0000000..60f793e Binary files /dev/null and b/theme/scid/scidgreen/combo-n.png differ diff --git a/theme/scid/scidgreen/combo-ra.png b/theme/scid/scidgreen/combo-ra.png new file mode 100644 index 0000000..9997829 Binary files /dev/null and b/theme/scid/scidgreen/combo-ra.png differ diff --git a/theme/scid/scidgreen/combo-rd.png b/theme/scid/scidgreen/combo-rd.png new file mode 100644 index 0000000..055cf1c Binary files /dev/null and b/theme/scid/scidgreen/combo-rd.png differ diff --git a/theme/scid/scidgreen/combo-rf.png b/theme/scid/scidgreen/combo-rf.png new file mode 100644 index 0000000..1b5b68b Binary files /dev/null and b/theme/scid/scidgreen/combo-rf.png differ diff --git a/theme/scid/scidgreen/combo-rn.png b/theme/scid/scidgreen/combo-rn.png new file mode 100644 index 0000000..01e9d9a Binary files /dev/null and b/theme/scid/scidgreen/combo-rn.png differ diff --git a/theme/scid/scidgreen/combo-rp.png b/theme/scid/scidgreen/combo-rp.png new file mode 100644 index 0000000..b5dc799 Binary files /dev/null and b/theme/scid/scidgreen/combo-rp.png differ diff --git a/theme/scid/scidgreen/comboarrow-a.png b/theme/scid/scidgreen/comboarrow-a.png new file mode 100644 index 0000000..c514705 Binary files /dev/null and b/theme/scid/scidgreen/comboarrow-a.png differ diff --git a/theme/scid/scidgreen/comboarrow-af.png b/theme/scid/scidgreen/comboarrow-af.png new file mode 100644 index 0000000..f23e433 Binary files /dev/null and b/theme/scid/scidgreen/comboarrow-af.png differ diff --git a/theme/scid/scidgreen/comboarrow-d.png b/theme/scid/scidgreen/comboarrow-d.png new file mode 100644 index 0000000..3eabd37 Binary files /dev/null and b/theme/scid/scidgreen/comboarrow-d.png differ diff --git a/theme/scid/scidgreen/comboarrow-n.png b/theme/scid/scidgreen/comboarrow-n.png new file mode 100644 index 0000000..2fbc100 Binary files /dev/null and b/theme/scid/scidgreen/comboarrow-n.png differ diff --git a/theme/scid/scidgreen/comboarrow-p.png b/theme/scid/scidgreen/comboarrow-p.png new file mode 100644 index 0000000..e76f99a Binary files /dev/null and b/theme/scid/scidgreen/comboarrow-p.png differ diff --git a/theme/scid/scidgreen/entry-a.png b/theme/scid/scidgreen/entry-a.png new file mode 100644 index 0000000..e2d4244 Binary files /dev/null and b/theme/scid/scidgreen/entry-a.png differ diff --git a/theme/scid/scidgreen/entry-d.png b/theme/scid/scidgreen/entry-d.png new file mode 100644 index 0000000..6c66236 Binary files /dev/null and b/theme/scid/scidgreen/entry-d.png differ diff --git a/theme/scid/scidgreen/entry-n.png b/theme/scid/scidgreen/entry-n.png new file mode 100644 index 0000000..a23a555 Binary files /dev/null and b/theme/scid/scidgreen/entry-n.png differ diff --git a/theme/scid/scidgreen/entry-rd.png b/theme/scid/scidgreen/entry-rd.png new file mode 100644 index 0000000..0f321b3 Binary files /dev/null and b/theme/scid/scidgreen/entry-rd.png differ diff --git a/theme/scid/scidgreen/labelframe.png b/theme/scid/scidgreen/labelframe.png new file mode 100644 index 0000000..9a07adc Binary files /dev/null and b/theme/scid/scidgreen/labelframe.png differ diff --git a/theme/scid/scidgreen/menuarrow-a.png b/theme/scid/scidgreen/menuarrow-a.png new file mode 100644 index 0000000..9758d59 Binary files /dev/null and b/theme/scid/scidgreen/menuarrow-a.png differ diff --git a/theme/scid/scidgreen/menuarrow-d.png b/theme/scid/scidgreen/menuarrow-d.png new file mode 100644 index 0000000..24b0d59 Binary files /dev/null and b/theme/scid/scidgreen/menuarrow-d.png differ diff --git a/theme/scid/scidgreen/progress-h.png b/theme/scid/scidgreen/progress-h.png new file mode 100644 index 0000000..6ae07e0 Binary files /dev/null and b/theme/scid/scidgreen/progress-h.png differ diff --git a/theme/scid/scidgreen/progress-v.png b/theme/scid/scidgreen/progress-v.png new file mode 100644 index 0000000..43df2d6 Binary files /dev/null and b/theme/scid/scidgreen/progress-v.png differ diff --git a/theme/scid/scidgreen/radio-ac.png b/theme/scid/scidgreen/radio-ac.png new file mode 100644 index 0000000..dade1b5 Binary files /dev/null and b/theme/scid/scidgreen/radio-ac.png differ diff --git a/theme/scid/scidgreen/radio-au.png b/theme/scid/scidgreen/radio-au.png new file mode 100644 index 0000000..6938691 Binary files /dev/null and b/theme/scid/scidgreen/radio-au.png differ diff --git a/theme/scid/scidgreen/radio-dc.png b/theme/scid/scidgreen/radio-dc.png new file mode 100644 index 0000000..d02a45a Binary files /dev/null and b/theme/scid/scidgreen/radio-dc.png differ diff --git a/theme/scid/scidgreen/radio-du.png b/theme/scid/scidgreen/radio-du.png new file mode 100644 index 0000000..6938691 Binary files /dev/null and b/theme/scid/scidgreen/radio-du.png differ diff --git a/theme/scid/scidgreen/radio-hu.png b/theme/scid/scidgreen/radio-hu.png new file mode 100644 index 0000000..d272875 Binary files /dev/null and b/theme/scid/scidgreen/radio-hu.png differ diff --git a/theme/scid/scidgreen/radio-nc.png b/theme/scid/scidgreen/radio-nc.png new file mode 100644 index 0000000..dade1b5 Binary files /dev/null and b/theme/scid/scidgreen/radio-nc.png differ diff --git a/theme/scid/scidgreen/radio-nu.png b/theme/scid/scidgreen/radio-nu.png new file mode 100644 index 0000000..6938691 Binary files /dev/null and b/theme/scid/scidgreen/radio-nu.png differ diff --git a/theme/scid/scidgreen/radio-pc.png b/theme/scid/scidgreen/radio-pc.png new file mode 100644 index 0000000..dade1b5 Binary files /dev/null and b/theme/scid/scidgreen/radio-pc.png differ diff --git a/theme/scid/scidgreen/radio-pu.png b/theme/scid/scidgreen/radio-pu.png new file mode 100644 index 0000000..da6a35d Binary files /dev/null and b/theme/scid/scidgreen/radio-pu.png differ diff --git a/theme/scid/scidgreen/sas-h.png b/theme/scid/scidgreen/sas-h.png new file mode 100644 index 0000000..6fe9295 Binary files /dev/null and b/theme/scid/scidgreen/sas-h.png differ diff --git a/theme/scid/scidgreen/sas-v.png b/theme/scid/scidgreen/sas-v.png new file mode 100644 index 0000000..75519fd Binary files /dev/null and b/theme/scid/scidgreen/sas-v.png differ diff --git a/theme/scid/scidgreen/sbthumb-ha.png b/theme/scid/scidgreen/sbthumb-ha.png new file mode 100644 index 0000000..d4063d7 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-ha.png differ diff --git a/theme/scid/scidgreen/sbthumb-hd.png b/theme/scid/scidgreen/sbthumb-hd.png new file mode 100644 index 0000000..9048ca2 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-hd.png differ diff --git a/theme/scid/scidgreen/sbthumb-hn.png b/theme/scid/scidgreen/sbthumb-hn.png new file mode 100644 index 0000000..a6a38b0 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-hn.png differ diff --git a/theme/scid/scidgreen/sbthumb-hp.png b/theme/scid/scidgreen/sbthumb-hp.png new file mode 100644 index 0000000..fbfb1c7 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-hp.png differ diff --git a/theme/scid/scidgreen/sbthumb-va.png b/theme/scid/scidgreen/sbthumb-va.png new file mode 100644 index 0000000..74a2b22 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-va.png differ diff --git a/theme/scid/scidgreen/sbthumb-vd.png b/theme/scid/scidgreen/sbthumb-vd.png new file mode 100644 index 0000000..bb006a0 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-vd.png differ diff --git a/theme/scid/scidgreen/sbthumb-vn.png b/theme/scid/scidgreen/sbthumb-vn.png new file mode 100644 index 0000000..cb152d1 Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-vn.png differ diff --git a/theme/scid/scidgreen/sbthumb-vp.png b/theme/scid/scidgreen/sbthumb-vp.png new file mode 100644 index 0000000..91fea5c Binary files /dev/null and b/theme/scid/scidgreen/sbthumb-vp.png differ diff --git a/theme/scid/scidgreen/sbtrough-h.png b/theme/scid/scidgreen/sbtrough-h.png new file mode 100644 index 0000000..db7672e Binary files /dev/null and b/theme/scid/scidgreen/sbtrough-h.png differ diff --git a/theme/scid/scidgreen/sbtrough-v.png b/theme/scid/scidgreen/sbtrough-v.png new file mode 100644 index 0000000..17e4ada Binary files /dev/null and b/theme/scid/scidgreen/sbtrough-v.png differ diff --git a/theme/scid/scidgreen/scale-ha.png b/theme/scid/scidgreen/scale-ha.png new file mode 100644 index 0000000..da6a35d Binary files /dev/null and b/theme/scid/scidgreen/scale-ha.png differ diff --git a/theme/scid/scidgreen/scale-hd.png b/theme/scid/scidgreen/scale-hd.png new file mode 100644 index 0000000..4186d9a Binary files /dev/null and b/theme/scid/scidgreen/scale-hd.png differ diff --git a/theme/scid/scidgreen/scale-hn.png b/theme/scid/scidgreen/scale-hn.png new file mode 100644 index 0000000..d1ce79e Binary files /dev/null and b/theme/scid/scidgreen/scale-hn.png differ diff --git a/theme/scid/scidgreen/scale-va.png b/theme/scid/scidgreen/scale-va.png new file mode 100644 index 0000000..da6a35d Binary files /dev/null and b/theme/scid/scidgreen/scale-va.png differ diff --git a/theme/scid/scidgreen/scale-vd.png b/theme/scid/scidgreen/scale-vd.png new file mode 100644 index 0000000..4186d9a Binary files /dev/null and b/theme/scid/scidgreen/scale-vd.png differ diff --git a/theme/scid/scidgreen/scale-vn.png b/theme/scid/scidgreen/scale-vn.png new file mode 100644 index 0000000..d1ce79e Binary files /dev/null and b/theme/scid/scidgreen/scale-vn.png differ diff --git a/theme/scid/scidgreen/scaletrough-h.png b/theme/scid/scidgreen/scaletrough-h.png new file mode 100644 index 0000000..7f57220 Binary files /dev/null and b/theme/scid/scidgreen/scaletrough-h.png differ diff --git a/theme/scid/scidgreen/scaletrough-hp.png b/theme/scid/scidgreen/scaletrough-hp.png new file mode 100644 index 0000000..353a29f Binary files /dev/null and b/theme/scid/scidgreen/scaletrough-hp.png differ diff --git a/theme/scid/scidgreen/scaletrough-v.png b/theme/scid/scidgreen/scaletrough-v.png new file mode 100644 index 0000000..06b9ef0 Binary files /dev/null and b/theme/scid/scidgreen/scaletrough-v.png differ diff --git a/theme/scid/scidgreen/scaletrough-vp.png b/theme/scid/scidgreen/scaletrough-vp.png new file mode 100644 index 0000000..a03f5be Binary files /dev/null and b/theme/scid/scidgreen/scaletrough-vp.png differ diff --git a/theme/scid/scidgreen/sep-h.png b/theme/scid/scidgreen/sep-h.png new file mode 100644 index 0000000..b57caa2 Binary files /dev/null and b/theme/scid/scidgreen/sep-h.png differ diff --git a/theme/scid/scidgreen/sep-v.png b/theme/scid/scidgreen/sep-v.png new file mode 100644 index 0000000..6cc8cb1 Binary files /dev/null and b/theme/scid/scidgreen/sep-v.png differ diff --git a/theme/scid/scidgreen/sizegrip.png b/theme/scid/scidgreen/sizegrip.png new file mode 100644 index 0000000..2c34207 Binary files /dev/null and b/theme/scid/scidgreen/sizegrip.png differ diff --git a/theme/scid/scidgreen/spinarrowdown-a.png b/theme/scid/scidgreen/spinarrowdown-a.png new file mode 100644 index 0000000..eb5609d Binary files /dev/null and b/theme/scid/scidgreen/spinarrowdown-a.png differ diff --git a/theme/scid/scidgreen/spinarrowdown-af.png b/theme/scid/scidgreen/spinarrowdown-af.png new file mode 100644 index 0000000..91f6b59 Binary files /dev/null and b/theme/scid/scidgreen/spinarrowdown-af.png differ diff --git a/theme/scid/scidgreen/spinarrowdown-p.png b/theme/scid/scidgreen/spinarrowdown-p.png new file mode 100644 index 0000000..eb5609d Binary files /dev/null and b/theme/scid/scidgreen/spinarrowdown-p.png differ diff --git a/theme/scid/scidgreen/spinarrowdown-pa.png b/theme/scid/scidgreen/spinarrowdown-pa.png new file mode 100644 index 0000000..b1a6b18 Binary files /dev/null and b/theme/scid/scidgreen/spinarrowdown-pa.png differ diff --git a/theme/scid/scidgreen/spinarrowdown-paf.png b/theme/scid/scidgreen/spinarrowdown-paf.png new file mode 100644 index 0000000..ac8c395 Binary files /dev/null and b/theme/scid/scidgreen/spinarrowdown-paf.png differ diff --git a/theme/scid/scidgreen/spinarrowup-a.png b/theme/scid/scidgreen/spinarrowup-a.png new file mode 100644 index 0000000..a22bcaf Binary files /dev/null and b/theme/scid/scidgreen/spinarrowup-a.png differ diff --git a/theme/scid/scidgreen/spinarrowup-af.png b/theme/scid/scidgreen/spinarrowup-af.png new file mode 100644 index 0000000..045e8fa Binary files /dev/null and b/theme/scid/scidgreen/spinarrowup-af.png differ diff --git a/theme/scid/scidgreen/spinarrowup-p.png b/theme/scid/scidgreen/spinarrowup-p.png new file mode 100644 index 0000000..a22bcaf Binary files /dev/null and b/theme/scid/scidgreen/spinarrowup-p.png differ diff --git a/theme/scid/scidgreen/spinarrowup-pa.png b/theme/scid/scidgreen/spinarrowup-pa.png new file mode 100644 index 0000000..37b8f17 Binary files /dev/null and b/theme/scid/scidgreen/spinarrowup-pa.png differ diff --git a/theme/scid/scidgreen/spinarrowup-paf.png b/theme/scid/scidgreen/spinarrowup-paf.png new file mode 100644 index 0000000..c2a93ca Binary files /dev/null and b/theme/scid/scidgreen/spinarrowup-paf.png differ diff --git a/theme/scid/scidgreen/surface.png b/theme/scid/scidgreen/surface.png new file mode 100644 index 0000000..3f51cff Binary files /dev/null and b/theme/scid/scidgreen/surface.png differ diff --git a/theme/scid/scidgreen/tab-a.png b/theme/scid/scidgreen/tab-a.png new file mode 100644 index 0000000..10786d3 Binary files /dev/null and b/theme/scid/scidgreen/tab-a.png differ diff --git a/theme/scid/scidgreen/tab-n.png b/theme/scid/scidgreen/tab-n.png new file mode 100644 index 0000000..ccd20a0 Binary files /dev/null and b/theme/scid/scidgreen/tab-n.png differ diff --git a/theme/scid/scidgreen/tab-s.png b/theme/scid/scidgreen/tab-s.png new file mode 100644 index 0000000..10786d3 Binary files /dev/null and b/theme/scid/scidgreen/tab-s.png differ diff --git a/theme/scid/scidgreen/toolbutton-a.png b/theme/scid/scidgreen/toolbutton-a.png new file mode 100644 index 0000000..f65bf22 Binary files /dev/null and b/theme/scid/scidgreen/toolbutton-a.png differ diff --git a/theme/scid/scidgreen/toolbutton-d.png b/theme/scid/scidgreen/toolbutton-d.png new file mode 100644 index 0000000..731a0c2 Binary files /dev/null and b/theme/scid/scidgreen/toolbutton-d.png differ diff --git a/theme/scid/scidgreen/toolbutton-n.png b/theme/scid/scidgreen/toolbutton-n.png new file mode 100644 index 0000000..928c10a Binary files /dev/null and b/theme/scid/scidgreen/toolbutton-n.png differ diff --git a/theme/scid/scidgreen/toolbutton-p.png b/theme/scid/scidgreen/toolbutton-p.png new file mode 100644 index 0000000..bff37d0 Binary files /dev/null and b/theme/scid/scidgreen/toolbutton-p.png differ diff --git a/theme/scid/scidgreen/toolbutton-pa.png b/theme/scid/scidgreen/toolbutton-pa.png new file mode 100644 index 0000000..9212ddd Binary files /dev/null and b/theme/scid/scidgreen/toolbutton-pa.png differ diff --git a/theme/scid/scidgreen/tree-d.png b/theme/scid/scidgreen/tree-d.png new file mode 100644 index 0000000..36f9f2c Binary files /dev/null and b/theme/scid/scidgreen/tree-d.png differ diff --git a/theme/scid/scidgreen/tree-h.png b/theme/scid/scidgreen/tree-h.png new file mode 100644 index 0000000..fcbf096 Binary files /dev/null and b/theme/scid/scidgreen/tree-h.png differ diff --git a/theme/scid/scidgreen/tree-n.png b/theme/scid/scidgreen/tree-n.png new file mode 100644 index 0000000..fcbf096 Binary files /dev/null and b/theme/scid/scidgreen/tree-n.png differ diff --git a/theme/scid/scidgreen/tree-p.png b/theme/scid/scidgreen/tree-p.png new file mode 100644 index 0000000..5ef5ec6 Binary files /dev/null and b/theme/scid/scidgreen/tree-p.png differ diff --git a/theme/scid/scidgrey/blank.png b/theme/scid/scidgrey/blank.png new file mode 100644 index 0000000..99c2d96 Binary files /dev/null and b/theme/scid/scidgrey/blank.png differ diff --git a/theme/scid/scidgrey/button-a.png b/theme/scid/scidgrey/button-a.png new file mode 100644 index 0000000..0b4ccbf Binary files /dev/null and b/theme/scid/scidgrey/button-a.png differ diff --git a/theme/scid/scidgrey/button-a1p.png b/theme/scid/scidgrey/button-a1p.png new file mode 100644 index 0000000..36d0045 Binary files /dev/null and b/theme/scid/scidgrey/button-a1p.png differ diff --git a/theme/scid/scidgrey/button-d.png b/theme/scid/scidgrey/button-d.png new file mode 100644 index 0000000..cacffe9 Binary files /dev/null and b/theme/scid/scidgrey/button-d.png differ diff --git a/theme/scid/scidgrey/button-default.png b/theme/scid/scidgrey/button-default.png new file mode 100644 index 0000000..4d36e03 Binary files /dev/null and b/theme/scid/scidgrey/button-default.png differ diff --git a/theme/scid/scidgrey/button-n.png b/theme/scid/scidgrey/button-n.png new file mode 100644 index 0000000..03b3d50 Binary files /dev/null and b/theme/scid/scidgrey/button-n.png differ diff --git a/theme/scid/scidgrey/button-p.png b/theme/scid/scidgrey/button-p.png new file mode 100644 index 0000000..5b56b70 Binary files /dev/null and b/theme/scid/scidgrey/button-p.png differ diff --git a/theme/scid/scidgrey/button-p1p.png b/theme/scid/scidgrey/button-p1p.png new file mode 100644 index 0000000..5813d08 Binary files /dev/null and b/theme/scid/scidgrey/button-p1p.png differ diff --git a/theme/scid/scidgrey/button-pa.png b/theme/scid/scidgrey/button-pa.png new file mode 100644 index 0000000..f56cf1c Binary files /dev/null and b/theme/scid/scidgrey/button-pa.png differ diff --git a/theme/scid/scidgrey/check-ac.png b/theme/scid/scidgrey/check-ac.png new file mode 100644 index 0000000..8dd0c15 Binary files /dev/null and b/theme/scid/scidgrey/check-ac.png differ diff --git a/theme/scid/scidgrey/check-au.png b/theme/scid/scidgrey/check-au.png new file mode 100644 index 0000000..d70c6f9 Binary files /dev/null and b/theme/scid/scidgrey/check-au.png differ diff --git a/theme/scid/scidgrey/check-dc.png b/theme/scid/scidgrey/check-dc.png new file mode 100644 index 0000000..8d37e21 Binary files /dev/null and b/theme/scid/scidgrey/check-dc.png differ diff --git a/theme/scid/scidgrey/check-du.png b/theme/scid/scidgrey/check-du.png new file mode 100644 index 0000000..d70c6f9 Binary files /dev/null and b/theme/scid/scidgrey/check-du.png differ diff --git a/theme/scid/scidgrey/check-hu.png b/theme/scid/scidgrey/check-hu.png new file mode 100644 index 0000000..2102668 Binary files /dev/null and b/theme/scid/scidgrey/check-hu.png differ diff --git a/theme/scid/scidgrey/check-nc.png b/theme/scid/scidgrey/check-nc.png new file mode 100644 index 0000000..8dd0c15 Binary files /dev/null and b/theme/scid/scidgrey/check-nc.png differ diff --git a/theme/scid/scidgrey/check-nu.png b/theme/scid/scidgrey/check-nu.png new file mode 100644 index 0000000..d70c6f9 Binary files /dev/null and b/theme/scid/scidgrey/check-nu.png differ diff --git a/theme/scid/scidgrey/check-pc.png b/theme/scid/scidgrey/check-pc.png new file mode 100644 index 0000000..8dd0c15 Binary files /dev/null and b/theme/scid/scidgrey/check-pc.png differ diff --git a/theme/scid/scidgrey/check-pu.png b/theme/scid/scidgrey/check-pu.png new file mode 100644 index 0000000..d3cf6d6 Binary files /dev/null and b/theme/scid/scidgrey/check-pu.png differ diff --git a/theme/scid/scidgrey/combo-n.png b/theme/scid/scidgrey/combo-n.png new file mode 100644 index 0000000..0ac9e2d Binary files /dev/null and b/theme/scid/scidgrey/combo-n.png differ diff --git a/theme/scid/scidgrey/combo-ra.png b/theme/scid/scidgrey/combo-ra.png new file mode 100644 index 0000000..de64cf5 Binary files /dev/null and b/theme/scid/scidgrey/combo-ra.png differ diff --git a/theme/scid/scidgrey/combo-rd.png b/theme/scid/scidgrey/combo-rd.png new file mode 100644 index 0000000..c25d1bb Binary files /dev/null and b/theme/scid/scidgrey/combo-rd.png differ diff --git a/theme/scid/scidgrey/combo-rf.png b/theme/scid/scidgrey/combo-rf.png new file mode 100644 index 0000000..3316a31 Binary files /dev/null and b/theme/scid/scidgrey/combo-rf.png differ diff --git a/theme/scid/scidgrey/combo-rn.png b/theme/scid/scidgrey/combo-rn.png new file mode 100644 index 0000000..f3105c3 Binary files /dev/null and b/theme/scid/scidgrey/combo-rn.png differ diff --git a/theme/scid/scidgrey/combo-rp.png b/theme/scid/scidgrey/combo-rp.png new file mode 100644 index 0000000..b69de28 Binary files /dev/null and b/theme/scid/scidgrey/combo-rp.png differ diff --git a/theme/scid/scidgrey/comboarrow-a.png b/theme/scid/scidgrey/comboarrow-a.png new file mode 100644 index 0000000..9e6c473 Binary files /dev/null and b/theme/scid/scidgrey/comboarrow-a.png differ diff --git a/theme/scid/scidgrey/comboarrow-af.png b/theme/scid/scidgrey/comboarrow-af.png new file mode 100644 index 0000000..c71d639 Binary files /dev/null and b/theme/scid/scidgrey/comboarrow-af.png differ diff --git a/theme/scid/scidgrey/comboarrow-d.png b/theme/scid/scidgrey/comboarrow-d.png new file mode 100644 index 0000000..2a1b71f Binary files /dev/null and b/theme/scid/scidgrey/comboarrow-d.png differ diff --git a/theme/scid/scidgrey/comboarrow-n.png b/theme/scid/scidgrey/comboarrow-n.png new file mode 100644 index 0000000..9d8c05a Binary files /dev/null and b/theme/scid/scidgrey/comboarrow-n.png differ diff --git a/theme/scid/scidgrey/comboarrow-p.png b/theme/scid/scidgrey/comboarrow-p.png new file mode 100644 index 0000000..bf58b40 Binary files /dev/null and b/theme/scid/scidgrey/comboarrow-p.png differ diff --git a/theme/scid/scidgrey/entry-a.png b/theme/scid/scidgrey/entry-a.png new file mode 100644 index 0000000..4fe10f2 Binary files /dev/null and b/theme/scid/scidgrey/entry-a.png differ diff --git a/theme/scid/scidgrey/entry-d.png b/theme/scid/scidgrey/entry-d.png new file mode 100644 index 0000000..c3185aa Binary files /dev/null and b/theme/scid/scidgrey/entry-d.png differ diff --git a/theme/scid/scidgrey/entry-n.png b/theme/scid/scidgrey/entry-n.png new file mode 100644 index 0000000..2eb9caa Binary files /dev/null and b/theme/scid/scidgrey/entry-n.png differ diff --git a/theme/scid/scidgrey/entry-rd.png b/theme/scid/scidgrey/entry-rd.png new file mode 100644 index 0000000..f701267 Binary files /dev/null and b/theme/scid/scidgrey/entry-rd.png differ diff --git a/theme/scid/scidgrey/labelframe.png b/theme/scid/scidgrey/labelframe.png new file mode 100644 index 0000000..275359f Binary files /dev/null and b/theme/scid/scidgrey/labelframe.png differ diff --git a/theme/scid/scidgrey/menuarrow-a.png b/theme/scid/scidgrey/menuarrow-a.png new file mode 100644 index 0000000..14e005f Binary files /dev/null and b/theme/scid/scidgrey/menuarrow-a.png differ diff --git a/theme/scid/scidgrey/menuarrow-d.png b/theme/scid/scidgrey/menuarrow-d.png new file mode 100644 index 0000000..4ca433b Binary files /dev/null and b/theme/scid/scidgrey/menuarrow-d.png differ diff --git a/theme/scid/scidgrey/progress-h.png b/theme/scid/scidgrey/progress-h.png new file mode 100644 index 0000000..4683ba1 Binary files /dev/null and b/theme/scid/scidgrey/progress-h.png differ diff --git a/theme/scid/scidgrey/progress-v.png b/theme/scid/scidgrey/progress-v.png new file mode 100644 index 0000000..2c190d4 Binary files /dev/null and b/theme/scid/scidgrey/progress-v.png differ diff --git a/theme/scid/scidgrey/radio-ac.png b/theme/scid/scidgrey/radio-ac.png new file mode 100644 index 0000000..26eab21 Binary files /dev/null and b/theme/scid/scidgrey/radio-ac.png differ diff --git a/theme/scid/scidgrey/radio-au.png b/theme/scid/scidgrey/radio-au.png new file mode 100644 index 0000000..4a06aa5 Binary files /dev/null and b/theme/scid/scidgrey/radio-au.png differ diff --git a/theme/scid/scidgrey/radio-dc.png b/theme/scid/scidgrey/radio-dc.png new file mode 100644 index 0000000..4e65b17 Binary files /dev/null and b/theme/scid/scidgrey/radio-dc.png differ diff --git a/theme/scid/scidgrey/radio-du.png b/theme/scid/scidgrey/radio-du.png new file mode 100644 index 0000000..4a06aa5 Binary files /dev/null and b/theme/scid/scidgrey/radio-du.png differ diff --git a/theme/scid/scidgrey/radio-hu.png b/theme/scid/scidgrey/radio-hu.png new file mode 100644 index 0000000..44d8482 Binary files /dev/null and b/theme/scid/scidgrey/radio-hu.png differ diff --git a/theme/scid/scidgrey/radio-nc.png b/theme/scid/scidgrey/radio-nc.png new file mode 100644 index 0000000..26eab21 Binary files /dev/null and b/theme/scid/scidgrey/radio-nc.png differ diff --git a/theme/scid/scidgrey/radio-nu.png b/theme/scid/scidgrey/radio-nu.png new file mode 100644 index 0000000..4a06aa5 Binary files /dev/null and b/theme/scid/scidgrey/radio-nu.png differ diff --git a/theme/scid/scidgrey/radio-pc.png b/theme/scid/scidgrey/radio-pc.png new file mode 100644 index 0000000..26eab21 Binary files /dev/null and b/theme/scid/scidgrey/radio-pc.png differ diff --git a/theme/scid/scidgrey/radio-pu.png b/theme/scid/scidgrey/radio-pu.png new file mode 100644 index 0000000..8db2b62 Binary files /dev/null and b/theme/scid/scidgrey/radio-pu.png differ diff --git a/theme/scid/scidgrey/sas-h.png b/theme/scid/scidgrey/sas-h.png new file mode 100644 index 0000000..6f0f500 Binary files /dev/null and b/theme/scid/scidgrey/sas-h.png differ diff --git a/theme/scid/scidgrey/sas-v.png b/theme/scid/scidgrey/sas-v.png new file mode 100644 index 0000000..299db97 Binary files /dev/null and b/theme/scid/scidgrey/sas-v.png differ diff --git a/theme/scid/scidgrey/sbthumb-ha.png b/theme/scid/scidgrey/sbthumb-ha.png new file mode 100644 index 0000000..fced6e4 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-ha.png differ diff --git a/theme/scid/scidgrey/sbthumb-hd.png b/theme/scid/scidgrey/sbthumb-hd.png new file mode 100644 index 0000000..93962b9 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-hd.png differ diff --git a/theme/scid/scidgrey/sbthumb-hn.png b/theme/scid/scidgrey/sbthumb-hn.png new file mode 100644 index 0000000..1650335 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-hn.png differ diff --git a/theme/scid/scidgrey/sbthumb-hp.png b/theme/scid/scidgrey/sbthumb-hp.png new file mode 100644 index 0000000..decea68 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-hp.png differ diff --git a/theme/scid/scidgrey/sbthumb-va.png b/theme/scid/scidgrey/sbthumb-va.png new file mode 100644 index 0000000..1a861e1 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-va.png differ diff --git a/theme/scid/scidgrey/sbthumb-vd.png b/theme/scid/scidgrey/sbthumb-vd.png new file mode 100644 index 0000000..bba2cbe Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-vd.png differ diff --git a/theme/scid/scidgrey/sbthumb-vn.png b/theme/scid/scidgrey/sbthumb-vn.png new file mode 100644 index 0000000..bef6722 Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-vn.png differ diff --git a/theme/scid/scidgrey/sbthumb-vp.png b/theme/scid/scidgrey/sbthumb-vp.png new file mode 100644 index 0000000..4486c2e Binary files /dev/null and b/theme/scid/scidgrey/sbthumb-vp.png differ diff --git a/theme/scid/scidgrey/sbtrough-h.png b/theme/scid/scidgrey/sbtrough-h.png new file mode 100644 index 0000000..33c4a39 Binary files /dev/null and b/theme/scid/scidgrey/sbtrough-h.png differ diff --git a/theme/scid/scidgrey/sbtrough-v.png b/theme/scid/scidgrey/sbtrough-v.png new file mode 100644 index 0000000..45115e9 Binary files /dev/null and b/theme/scid/scidgrey/sbtrough-v.png differ diff --git a/theme/scid/scidgrey/scale-ha.png b/theme/scid/scidgrey/scale-ha.png new file mode 100644 index 0000000..8db2b62 Binary files /dev/null and b/theme/scid/scidgrey/scale-ha.png differ diff --git a/theme/scid/scidgrey/scale-hd.png b/theme/scid/scidgrey/scale-hd.png new file mode 100644 index 0000000..bac01ba Binary files /dev/null and b/theme/scid/scidgrey/scale-hd.png differ diff --git a/theme/scid/scidgrey/scale-hn.png b/theme/scid/scidgrey/scale-hn.png new file mode 100644 index 0000000..fa45dbc Binary files /dev/null and b/theme/scid/scidgrey/scale-hn.png differ diff --git a/theme/scid/scidgrey/scale-va.png b/theme/scid/scidgrey/scale-va.png new file mode 100644 index 0000000..8db2b62 Binary files /dev/null and b/theme/scid/scidgrey/scale-va.png differ diff --git a/theme/scid/scidgrey/scale-vd.png b/theme/scid/scidgrey/scale-vd.png new file mode 100644 index 0000000..bac01ba Binary files /dev/null and b/theme/scid/scidgrey/scale-vd.png differ diff --git a/theme/scid/scidgrey/scale-vn.png b/theme/scid/scidgrey/scale-vn.png new file mode 100644 index 0000000..fa45dbc Binary files /dev/null and b/theme/scid/scidgrey/scale-vn.png differ diff --git a/theme/scid/scidgrey/scaletrough-h.png b/theme/scid/scidgrey/scaletrough-h.png new file mode 100644 index 0000000..2ff7e85 Binary files /dev/null and b/theme/scid/scidgrey/scaletrough-h.png differ diff --git a/theme/scid/scidgrey/scaletrough-hp.png b/theme/scid/scidgrey/scaletrough-hp.png new file mode 100644 index 0000000..4fd38de Binary files /dev/null and b/theme/scid/scidgrey/scaletrough-hp.png differ diff --git a/theme/scid/scidgrey/scaletrough-v.png b/theme/scid/scidgrey/scaletrough-v.png new file mode 100644 index 0000000..01a4e9b Binary files /dev/null and b/theme/scid/scidgrey/scaletrough-v.png differ diff --git a/theme/scid/scidgrey/scaletrough-vp.png b/theme/scid/scidgrey/scaletrough-vp.png new file mode 100644 index 0000000..52838bb Binary files /dev/null and b/theme/scid/scidgrey/scaletrough-vp.png differ diff --git a/theme/scid/scidgrey/sep-h.png b/theme/scid/scidgrey/sep-h.png new file mode 100644 index 0000000..3e62ba8 Binary files /dev/null and b/theme/scid/scidgrey/sep-h.png differ diff --git a/theme/scid/scidgrey/sep-v.png b/theme/scid/scidgrey/sep-v.png new file mode 100644 index 0000000..330b3e1 Binary files /dev/null and b/theme/scid/scidgrey/sep-v.png differ diff --git a/theme/scid/scidgrey/sizegrip.png b/theme/scid/scidgrey/sizegrip.png new file mode 100644 index 0000000..e1ece6f Binary files /dev/null and b/theme/scid/scidgrey/sizegrip.png differ diff --git a/theme/scid/scidgrey/spinarrowdown-a.png b/theme/scid/scidgrey/spinarrowdown-a.png new file mode 100644 index 0000000..5fb2fb3 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowdown-a.png differ diff --git a/theme/scid/scidgrey/spinarrowdown-af.png b/theme/scid/scidgrey/spinarrowdown-af.png new file mode 100644 index 0000000..ccd1d87 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowdown-af.png differ diff --git a/theme/scid/scidgrey/spinarrowdown-p.png b/theme/scid/scidgrey/spinarrowdown-p.png new file mode 100644 index 0000000..5fb2fb3 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowdown-p.png differ diff --git a/theme/scid/scidgrey/spinarrowdown-pa.png b/theme/scid/scidgrey/spinarrowdown-pa.png new file mode 100644 index 0000000..dc5dacc Binary files /dev/null and b/theme/scid/scidgrey/spinarrowdown-pa.png differ diff --git a/theme/scid/scidgrey/spinarrowdown-paf.png b/theme/scid/scidgrey/spinarrowdown-paf.png new file mode 100644 index 0000000..330e706 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowdown-paf.png differ diff --git a/theme/scid/scidgrey/spinarrowup-a.png b/theme/scid/scidgrey/spinarrowup-a.png new file mode 100644 index 0000000..31e3a3d Binary files /dev/null and b/theme/scid/scidgrey/spinarrowup-a.png differ diff --git a/theme/scid/scidgrey/spinarrowup-af.png b/theme/scid/scidgrey/spinarrowup-af.png new file mode 100644 index 0000000..d26b579 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowup-af.png differ diff --git a/theme/scid/scidgrey/spinarrowup-p.png b/theme/scid/scidgrey/spinarrowup-p.png new file mode 100644 index 0000000..31e3a3d Binary files /dev/null and b/theme/scid/scidgrey/spinarrowup-p.png differ diff --git a/theme/scid/scidgrey/spinarrowup-pa.png b/theme/scid/scidgrey/spinarrowup-pa.png new file mode 100644 index 0000000..20ba7e3 Binary files /dev/null and b/theme/scid/scidgrey/spinarrowup-pa.png differ diff --git a/theme/scid/scidgrey/spinarrowup-paf.png b/theme/scid/scidgrey/spinarrowup-paf.png new file mode 100644 index 0000000..a3cbead Binary files /dev/null and b/theme/scid/scidgrey/spinarrowup-paf.png differ diff --git a/theme/scid/scidgrey/surface.png b/theme/scid/scidgrey/surface.png new file mode 100644 index 0000000..d4eb278 Binary files /dev/null and b/theme/scid/scidgrey/surface.png differ diff --git a/theme/scid/scidgrey/tab-a.png b/theme/scid/scidgrey/tab-a.png new file mode 100644 index 0000000..0849cf2 Binary files /dev/null and b/theme/scid/scidgrey/tab-a.png differ diff --git a/theme/scid/scidgrey/tab-n.png b/theme/scid/scidgrey/tab-n.png new file mode 100644 index 0000000..76f0a82 Binary files /dev/null and b/theme/scid/scidgrey/tab-n.png differ diff --git a/theme/scid/scidgrey/tab-s.png b/theme/scid/scidgrey/tab-s.png new file mode 100644 index 0000000..0849cf2 Binary files /dev/null and b/theme/scid/scidgrey/tab-s.png differ diff --git a/theme/scid/scidgrey/toolbutton-a.png b/theme/scid/scidgrey/toolbutton-a.png new file mode 100644 index 0000000..36d0045 Binary files /dev/null and b/theme/scid/scidgrey/toolbutton-a.png differ diff --git a/theme/scid/scidgrey/toolbutton-d.png b/theme/scid/scidgrey/toolbutton-d.png new file mode 100644 index 0000000..cacffe9 Binary files /dev/null and b/theme/scid/scidgrey/toolbutton-d.png differ diff --git a/theme/scid/scidgrey/toolbutton-n.png b/theme/scid/scidgrey/toolbutton-n.png new file mode 100644 index 0000000..4d36e03 Binary files /dev/null and b/theme/scid/scidgrey/toolbutton-n.png differ diff --git a/theme/scid/scidgrey/toolbutton-p.png b/theme/scid/scidgrey/toolbutton-p.png new file mode 100644 index 0000000..5813d08 Binary files /dev/null and b/theme/scid/scidgrey/toolbutton-p.png differ diff --git a/theme/scid/scidgrey/toolbutton-pa.png b/theme/scid/scidgrey/toolbutton-pa.png new file mode 100644 index 0000000..f56cf1c Binary files /dev/null and b/theme/scid/scidgrey/toolbutton-pa.png differ diff --git a/theme/scid/scidgrey/tree-d.png b/theme/scid/scidgrey/tree-d.png new file mode 100644 index 0000000..ca5f55a Binary files /dev/null and b/theme/scid/scidgrey/tree-d.png differ diff --git a/theme/scid/scidgrey/tree-h.png b/theme/scid/scidgrey/tree-h.png new file mode 100644 index 0000000..34b71ba Binary files /dev/null and b/theme/scid/scidgrey/tree-h.png differ diff --git a/theme/scid/scidgrey/tree-n.png b/theme/scid/scidgrey/tree-n.png new file mode 100644 index 0000000..34b71ba Binary files /dev/null and b/theme/scid/scidgrey/tree-n.png differ diff --git a/theme/scid/scidgrey/tree-p.png b/theme/scid/scidgrey/tree-p.png new file mode 100644 index 0000000..3c40532 Binary files /dev/null and b/theme/scid/scidgrey/tree-p.png differ diff --git a/theme/scid/scidmint/blank.png b/theme/scid/scidmint/blank.png new file mode 100644 index 0000000..878e560 Binary files /dev/null and b/theme/scid/scidmint/blank.png differ diff --git a/theme/scid/scidmint/button-a.png b/theme/scid/scidmint/button-a.png new file mode 100644 index 0000000..febf866 Binary files /dev/null and b/theme/scid/scidmint/button-a.png differ diff --git a/theme/scid/scidmint/button-a1p.png b/theme/scid/scidmint/button-a1p.png new file mode 100644 index 0000000..a5aca22 Binary files /dev/null and b/theme/scid/scidmint/button-a1p.png differ diff --git a/theme/scid/scidmint/button-d.png b/theme/scid/scidmint/button-d.png new file mode 100644 index 0000000..a84f0cc Binary files /dev/null and b/theme/scid/scidmint/button-d.png differ diff --git a/theme/scid/scidmint/button-default.png b/theme/scid/scidmint/button-default.png new file mode 100644 index 0000000..ae3c8b0 Binary files /dev/null and b/theme/scid/scidmint/button-default.png differ diff --git a/theme/scid/scidmint/button-n.png b/theme/scid/scidmint/button-n.png new file mode 100644 index 0000000..6955608 Binary files /dev/null and b/theme/scid/scidmint/button-n.png differ diff --git a/theme/scid/scidmint/button-p.png b/theme/scid/scidmint/button-p.png new file mode 100644 index 0000000..de33bbc Binary files /dev/null and b/theme/scid/scidmint/button-p.png differ diff --git a/theme/scid/scidmint/button-p1p.png b/theme/scid/scidmint/button-p1p.png new file mode 100644 index 0000000..6b327e0 Binary files /dev/null and b/theme/scid/scidmint/button-p1p.png differ diff --git a/theme/scid/scidmint/button-pa.png b/theme/scid/scidmint/button-pa.png new file mode 100644 index 0000000..16e7b1d Binary files /dev/null and b/theme/scid/scidmint/button-pa.png differ diff --git a/theme/scid/scidmint/check-ac.png b/theme/scid/scidmint/check-ac.png new file mode 100644 index 0000000..be1cf6b Binary files /dev/null and b/theme/scid/scidmint/check-ac.png differ diff --git a/theme/scid/scidmint/check-au.png b/theme/scid/scidmint/check-au.png new file mode 100644 index 0000000..8149dcb Binary files /dev/null and b/theme/scid/scidmint/check-au.png differ diff --git a/theme/scid/scidmint/check-dc.png b/theme/scid/scidmint/check-dc.png new file mode 100644 index 0000000..d2a06b5 Binary files /dev/null and b/theme/scid/scidmint/check-dc.png differ diff --git a/theme/scid/scidmint/check-du.png b/theme/scid/scidmint/check-du.png new file mode 100644 index 0000000..8149dcb Binary files /dev/null and b/theme/scid/scidmint/check-du.png differ diff --git a/theme/scid/scidmint/check-hu.png b/theme/scid/scidmint/check-hu.png new file mode 100644 index 0000000..30863c2 Binary files /dev/null and b/theme/scid/scidmint/check-hu.png differ diff --git a/theme/scid/scidmint/check-nc.png b/theme/scid/scidmint/check-nc.png new file mode 100644 index 0000000..be1cf6b Binary files /dev/null and b/theme/scid/scidmint/check-nc.png differ diff --git a/theme/scid/scidmint/check-nu.png b/theme/scid/scidmint/check-nu.png new file mode 100644 index 0000000..8149dcb Binary files /dev/null and b/theme/scid/scidmint/check-nu.png differ diff --git a/theme/scid/scidmint/check-pc.png b/theme/scid/scidmint/check-pc.png new file mode 100644 index 0000000..be1cf6b Binary files /dev/null and b/theme/scid/scidmint/check-pc.png differ diff --git a/theme/scid/scidmint/check-pu.png b/theme/scid/scidmint/check-pu.png new file mode 100644 index 0000000..c182195 Binary files /dev/null and b/theme/scid/scidmint/check-pu.png differ diff --git a/theme/scid/scidmint/combo-n.png b/theme/scid/scidmint/combo-n.png new file mode 100644 index 0000000..c97c607 Binary files /dev/null and b/theme/scid/scidmint/combo-n.png differ diff --git a/theme/scid/scidmint/combo-ra.png b/theme/scid/scidmint/combo-ra.png new file mode 100644 index 0000000..506f536 Binary files /dev/null and b/theme/scid/scidmint/combo-ra.png differ diff --git a/theme/scid/scidmint/combo-rd.png b/theme/scid/scidmint/combo-rd.png new file mode 100644 index 0000000..fdc4306 Binary files /dev/null and b/theme/scid/scidmint/combo-rd.png differ diff --git a/theme/scid/scidmint/combo-rf.png b/theme/scid/scidmint/combo-rf.png new file mode 100644 index 0000000..a1eb04e Binary files /dev/null and b/theme/scid/scidmint/combo-rf.png differ diff --git a/theme/scid/scidmint/combo-rn.png b/theme/scid/scidmint/combo-rn.png new file mode 100644 index 0000000..79b92fd Binary files /dev/null and b/theme/scid/scidmint/combo-rn.png differ diff --git a/theme/scid/scidmint/combo-rp.png b/theme/scid/scidmint/combo-rp.png new file mode 100644 index 0000000..f275206 Binary files /dev/null and b/theme/scid/scidmint/combo-rp.png differ diff --git a/theme/scid/scidmint/comboarrow-a.png b/theme/scid/scidmint/comboarrow-a.png new file mode 100644 index 0000000..90b7ae5 Binary files /dev/null and b/theme/scid/scidmint/comboarrow-a.png differ diff --git a/theme/scid/scidmint/comboarrow-af.png b/theme/scid/scidmint/comboarrow-af.png new file mode 100644 index 0000000..8add497 Binary files /dev/null and b/theme/scid/scidmint/comboarrow-af.png differ diff --git a/theme/scid/scidmint/comboarrow-d.png b/theme/scid/scidmint/comboarrow-d.png new file mode 100644 index 0000000..2e80ca5 Binary files /dev/null and b/theme/scid/scidmint/comboarrow-d.png differ diff --git a/theme/scid/scidmint/comboarrow-n.png b/theme/scid/scidmint/comboarrow-n.png new file mode 100644 index 0000000..47b4909 Binary files /dev/null and b/theme/scid/scidmint/comboarrow-n.png differ diff --git a/theme/scid/scidmint/comboarrow-p.png b/theme/scid/scidmint/comboarrow-p.png new file mode 100644 index 0000000..1c844e3 Binary files /dev/null and b/theme/scid/scidmint/comboarrow-p.png differ diff --git a/theme/scid/scidmint/entry-a.png b/theme/scid/scidmint/entry-a.png new file mode 100644 index 0000000..71a6ac8 Binary files /dev/null and b/theme/scid/scidmint/entry-a.png differ diff --git a/theme/scid/scidmint/entry-d.png b/theme/scid/scidmint/entry-d.png new file mode 100644 index 0000000..efe1294 Binary files /dev/null and b/theme/scid/scidmint/entry-d.png differ diff --git a/theme/scid/scidmint/entry-n.png b/theme/scid/scidmint/entry-n.png new file mode 100644 index 0000000..985e547 Binary files /dev/null and b/theme/scid/scidmint/entry-n.png differ diff --git a/theme/scid/scidmint/entry-rd.png b/theme/scid/scidmint/entry-rd.png new file mode 100644 index 0000000..d0f8e4c Binary files /dev/null and b/theme/scid/scidmint/entry-rd.png differ diff --git a/theme/scid/scidmint/labelframe.png b/theme/scid/scidmint/labelframe.png new file mode 100644 index 0000000..253ff8d Binary files /dev/null and b/theme/scid/scidmint/labelframe.png differ diff --git a/theme/scid/scidmint/menuarrow-a.png b/theme/scid/scidmint/menuarrow-a.png new file mode 100644 index 0000000..eafb2ef Binary files /dev/null and b/theme/scid/scidmint/menuarrow-a.png differ diff --git a/theme/scid/scidmint/menuarrow-d.png b/theme/scid/scidmint/menuarrow-d.png new file mode 100644 index 0000000..bd057a5 Binary files /dev/null and b/theme/scid/scidmint/menuarrow-d.png differ diff --git a/theme/scid/scidmint/progress-h.png b/theme/scid/scidmint/progress-h.png new file mode 100644 index 0000000..0335a86 Binary files /dev/null and b/theme/scid/scidmint/progress-h.png differ diff --git a/theme/scid/scidmint/progress-v.png b/theme/scid/scidmint/progress-v.png new file mode 100644 index 0000000..d8baa1d Binary files /dev/null and b/theme/scid/scidmint/progress-v.png differ diff --git a/theme/scid/scidmint/radio-ac.png b/theme/scid/scidmint/radio-ac.png new file mode 100644 index 0000000..144d771 Binary files /dev/null and b/theme/scid/scidmint/radio-ac.png differ diff --git a/theme/scid/scidmint/radio-au.png b/theme/scid/scidmint/radio-au.png new file mode 100644 index 0000000..5b49163 Binary files /dev/null and b/theme/scid/scidmint/radio-au.png differ diff --git a/theme/scid/scidmint/radio-dc.png b/theme/scid/scidmint/radio-dc.png new file mode 100644 index 0000000..402d6dd Binary files /dev/null and b/theme/scid/scidmint/radio-dc.png differ diff --git a/theme/scid/scidmint/radio-du.png b/theme/scid/scidmint/radio-du.png new file mode 100644 index 0000000..5b49163 Binary files /dev/null and b/theme/scid/scidmint/radio-du.png differ diff --git a/theme/scid/scidmint/radio-hu.png b/theme/scid/scidmint/radio-hu.png new file mode 100644 index 0000000..ecdb8cb Binary files /dev/null and b/theme/scid/scidmint/radio-hu.png differ diff --git a/theme/scid/scidmint/radio-nc.png b/theme/scid/scidmint/radio-nc.png new file mode 100644 index 0000000..144d771 Binary files /dev/null and b/theme/scid/scidmint/radio-nc.png differ diff --git a/theme/scid/scidmint/radio-nu.png b/theme/scid/scidmint/radio-nu.png new file mode 100644 index 0000000..5b49163 Binary files /dev/null and b/theme/scid/scidmint/radio-nu.png differ diff --git a/theme/scid/scidmint/radio-pc.png b/theme/scid/scidmint/radio-pc.png new file mode 100644 index 0000000..144d771 Binary files /dev/null and b/theme/scid/scidmint/radio-pc.png differ diff --git a/theme/scid/scidmint/radio-pu.png b/theme/scid/scidmint/radio-pu.png new file mode 100644 index 0000000..9439bd0 Binary files /dev/null and b/theme/scid/scidmint/radio-pu.png differ diff --git a/theme/scid/scidmint/sas-h.png b/theme/scid/scidmint/sas-h.png new file mode 100644 index 0000000..089bb6c Binary files /dev/null and b/theme/scid/scidmint/sas-h.png differ diff --git a/theme/scid/scidmint/sas-v.png b/theme/scid/scidmint/sas-v.png new file mode 100644 index 0000000..0c540c8 Binary files /dev/null and b/theme/scid/scidmint/sas-v.png differ diff --git a/theme/scid/scidmint/sbthumb-ha.png b/theme/scid/scidmint/sbthumb-ha.png new file mode 100644 index 0000000..a0ffe5b Binary files /dev/null and b/theme/scid/scidmint/sbthumb-ha.png differ diff --git a/theme/scid/scidmint/sbthumb-hd.png b/theme/scid/scidmint/sbthumb-hd.png new file mode 100644 index 0000000..d27f82d Binary files /dev/null and b/theme/scid/scidmint/sbthumb-hd.png differ diff --git a/theme/scid/scidmint/sbthumb-hn.png b/theme/scid/scidmint/sbthumb-hn.png new file mode 100644 index 0000000..0914bfd Binary files /dev/null and b/theme/scid/scidmint/sbthumb-hn.png differ diff --git a/theme/scid/scidmint/sbthumb-hp.png b/theme/scid/scidmint/sbthumb-hp.png new file mode 100644 index 0000000..568477e Binary files /dev/null and b/theme/scid/scidmint/sbthumb-hp.png differ diff --git a/theme/scid/scidmint/sbthumb-va.png b/theme/scid/scidmint/sbthumb-va.png new file mode 100644 index 0000000..ae9ec39 Binary files /dev/null and b/theme/scid/scidmint/sbthumb-va.png differ diff --git a/theme/scid/scidmint/sbthumb-vd.png b/theme/scid/scidmint/sbthumb-vd.png new file mode 100644 index 0000000..8fcd7af Binary files /dev/null and b/theme/scid/scidmint/sbthumb-vd.png differ diff --git a/theme/scid/scidmint/sbthumb-vn.png b/theme/scid/scidmint/sbthumb-vn.png new file mode 100644 index 0000000..03f10d2 Binary files /dev/null and b/theme/scid/scidmint/sbthumb-vn.png differ diff --git a/theme/scid/scidmint/sbthumb-vp.png b/theme/scid/scidmint/sbthumb-vp.png new file mode 100644 index 0000000..4a2685a Binary files /dev/null and b/theme/scid/scidmint/sbthumb-vp.png differ diff --git a/theme/scid/scidmint/sbtrough-h.png b/theme/scid/scidmint/sbtrough-h.png new file mode 100644 index 0000000..1e7c451 Binary files /dev/null and b/theme/scid/scidmint/sbtrough-h.png differ diff --git a/theme/scid/scidmint/sbtrough-v.png b/theme/scid/scidmint/sbtrough-v.png new file mode 100644 index 0000000..7169136 Binary files /dev/null and b/theme/scid/scidmint/sbtrough-v.png differ diff --git a/theme/scid/scidmint/scale-ha.png b/theme/scid/scidmint/scale-ha.png new file mode 100644 index 0000000..9439bd0 Binary files /dev/null and b/theme/scid/scidmint/scale-ha.png differ diff --git a/theme/scid/scidmint/scale-hd.png b/theme/scid/scidmint/scale-hd.png new file mode 100644 index 0000000..da06dfa Binary files /dev/null and b/theme/scid/scidmint/scale-hd.png differ diff --git a/theme/scid/scidmint/scale-hn.png b/theme/scid/scidmint/scale-hn.png new file mode 100644 index 0000000..e99be55 Binary files /dev/null and b/theme/scid/scidmint/scale-hn.png differ diff --git a/theme/scid/scidmint/scale-va.png b/theme/scid/scidmint/scale-va.png new file mode 100644 index 0000000..2e3f2c6 Binary files /dev/null and b/theme/scid/scidmint/scale-va.png differ diff --git a/theme/scid/scidmint/scale-vd.png b/theme/scid/scidmint/scale-vd.png new file mode 100644 index 0000000..9f64858 Binary files /dev/null and b/theme/scid/scidmint/scale-vd.png differ diff --git a/theme/scid/scidmint/scale-vn.png b/theme/scid/scidmint/scale-vn.png new file mode 100644 index 0000000..4e9cb2b Binary files /dev/null and b/theme/scid/scidmint/scale-vn.png differ diff --git a/theme/scid/scidmint/scaletrough-h.png b/theme/scid/scidmint/scaletrough-h.png new file mode 100644 index 0000000..cae2a60 Binary files /dev/null and b/theme/scid/scidmint/scaletrough-h.png differ diff --git a/theme/scid/scidmint/scaletrough-hp.png b/theme/scid/scidmint/scaletrough-hp.png new file mode 100644 index 0000000..4418b75 Binary files /dev/null and b/theme/scid/scidmint/scaletrough-hp.png differ diff --git a/theme/scid/scidmint/scaletrough-v.png b/theme/scid/scidmint/scaletrough-v.png new file mode 100644 index 0000000..474ca30 Binary files /dev/null and b/theme/scid/scidmint/scaletrough-v.png differ diff --git a/theme/scid/scidmint/scaletrough-vp.png b/theme/scid/scidmint/scaletrough-vp.png new file mode 100644 index 0000000..d28af8e Binary files /dev/null and b/theme/scid/scidmint/scaletrough-vp.png differ diff --git a/theme/scid/scidmint/sep-h.png b/theme/scid/scidmint/sep-h.png new file mode 100644 index 0000000..1cee87e Binary files /dev/null and b/theme/scid/scidmint/sep-h.png differ diff --git a/theme/scid/scidmint/sep-v.png b/theme/scid/scidmint/sep-v.png new file mode 100644 index 0000000..7feaa58 Binary files /dev/null and b/theme/scid/scidmint/sep-v.png differ diff --git a/theme/scid/scidmint/sizegrip.png b/theme/scid/scidmint/sizegrip.png new file mode 100644 index 0000000..9520ccc Binary files /dev/null and b/theme/scid/scidmint/sizegrip.png differ diff --git a/theme/scid/scidmint/spinarrowdown-a.png b/theme/scid/scidmint/spinarrowdown-a.png new file mode 100644 index 0000000..8fcbbd0 Binary files /dev/null and b/theme/scid/scidmint/spinarrowdown-a.png differ diff --git a/theme/scid/scidmint/spinarrowdown-af.png b/theme/scid/scidmint/spinarrowdown-af.png new file mode 100644 index 0000000..02b2a2a Binary files /dev/null and b/theme/scid/scidmint/spinarrowdown-af.png differ diff --git a/theme/scid/scidmint/spinarrowdown-p.png b/theme/scid/scidmint/spinarrowdown-p.png new file mode 100644 index 0000000..8fcbbd0 Binary files /dev/null and b/theme/scid/scidmint/spinarrowdown-p.png differ diff --git a/theme/scid/scidmint/spinarrowdown-pa.png b/theme/scid/scidmint/spinarrowdown-pa.png new file mode 100644 index 0000000..efe0182 Binary files /dev/null and b/theme/scid/scidmint/spinarrowdown-pa.png differ diff --git a/theme/scid/scidmint/spinarrowdown-paf.png b/theme/scid/scidmint/spinarrowdown-paf.png new file mode 100644 index 0000000..6e45b88 Binary files /dev/null and b/theme/scid/scidmint/spinarrowdown-paf.png differ diff --git a/theme/scid/scidmint/spinarrowup-a.png b/theme/scid/scidmint/spinarrowup-a.png new file mode 100644 index 0000000..0b4b35c Binary files /dev/null and b/theme/scid/scidmint/spinarrowup-a.png differ diff --git a/theme/scid/scidmint/spinarrowup-af.png b/theme/scid/scidmint/spinarrowup-af.png new file mode 100644 index 0000000..2e92ce8 Binary files /dev/null and b/theme/scid/scidmint/spinarrowup-af.png differ diff --git a/theme/scid/scidmint/spinarrowup-p.png b/theme/scid/scidmint/spinarrowup-p.png new file mode 100644 index 0000000..0b4b35c Binary files /dev/null and b/theme/scid/scidmint/spinarrowup-p.png differ diff --git a/theme/scid/scidmint/spinarrowup-pa.png b/theme/scid/scidmint/spinarrowup-pa.png new file mode 100644 index 0000000..184c882 Binary files /dev/null and b/theme/scid/scidmint/spinarrowup-pa.png differ diff --git a/theme/scid/scidmint/spinarrowup-paf.png b/theme/scid/scidmint/spinarrowup-paf.png new file mode 100644 index 0000000..222b9c5 Binary files /dev/null and b/theme/scid/scidmint/spinarrowup-paf.png differ diff --git a/theme/scid/scidmint/surface.png b/theme/scid/scidmint/surface.png new file mode 100644 index 0000000..f3a80a6 Binary files /dev/null and b/theme/scid/scidmint/surface.png differ diff --git a/theme/scid/scidmint/tab-a.png b/theme/scid/scidmint/tab-a.png new file mode 100644 index 0000000..21ca0ea Binary files /dev/null and b/theme/scid/scidmint/tab-a.png differ diff --git a/theme/scid/scidmint/tab-n.png b/theme/scid/scidmint/tab-n.png new file mode 100644 index 0000000..f194457 Binary files /dev/null and b/theme/scid/scidmint/tab-n.png differ diff --git a/theme/scid/scidmint/tab-s.png b/theme/scid/scidmint/tab-s.png new file mode 100644 index 0000000..21ca0ea Binary files /dev/null and b/theme/scid/scidmint/tab-s.png differ diff --git a/theme/scid/scidmint/toolbutton-a.png b/theme/scid/scidmint/toolbutton-a.png new file mode 100644 index 0000000..adc1a5e Binary files /dev/null and b/theme/scid/scidmint/toolbutton-a.png differ diff --git a/theme/scid/scidmint/toolbutton-d.png b/theme/scid/scidmint/toolbutton-d.png new file mode 100644 index 0000000..89f6b41 Binary files /dev/null and b/theme/scid/scidmint/toolbutton-d.png differ diff --git a/theme/scid/scidmint/toolbutton-n.png b/theme/scid/scidmint/toolbutton-n.png new file mode 100644 index 0000000..9e68dd6 Binary files /dev/null and b/theme/scid/scidmint/toolbutton-n.png differ diff --git a/theme/scid/scidmint/toolbutton-p.png b/theme/scid/scidmint/toolbutton-p.png new file mode 100644 index 0000000..7f707f7 Binary files /dev/null and b/theme/scid/scidmint/toolbutton-p.png differ diff --git a/theme/scid/scidmint/toolbutton-pa.png b/theme/scid/scidmint/toolbutton-pa.png new file mode 100644 index 0000000..6aa0fe4 Binary files /dev/null and b/theme/scid/scidmint/toolbutton-pa.png differ diff --git a/theme/scid/scidmint/tree-d.png b/theme/scid/scidmint/tree-d.png new file mode 100644 index 0000000..84034ee Binary files /dev/null and b/theme/scid/scidmint/tree-d.png differ diff --git a/theme/scid/scidmint/tree-h.png b/theme/scid/scidmint/tree-h.png new file mode 100644 index 0000000..b472c91 Binary files /dev/null and b/theme/scid/scidmint/tree-h.png differ diff --git a/theme/scid/scidmint/tree-n.png b/theme/scid/scidmint/tree-n.png new file mode 100644 index 0000000..b472c91 Binary files /dev/null and b/theme/scid/scidmint/tree-n.png differ diff --git a/theme/scid/scidmint/tree-p.png b/theme/scid/scidmint/tree-p.png new file mode 100644 index 0000000..358c081 Binary files /dev/null and b/theme/scid/scidmint/tree-p.png differ diff --git a/theme/scid/scidpink/blank.png b/theme/scid/scidpink/blank.png new file mode 100644 index 0000000..06409bb Binary files /dev/null and b/theme/scid/scidpink/blank.png differ diff --git a/theme/scid/scidpink/button-a.png b/theme/scid/scidpink/button-a.png new file mode 100644 index 0000000..69724fb Binary files /dev/null and b/theme/scid/scidpink/button-a.png differ diff --git a/theme/scid/scidpink/button-a1p.png b/theme/scid/scidpink/button-a1p.png new file mode 100644 index 0000000..2a70701 Binary files /dev/null and b/theme/scid/scidpink/button-a1p.png differ diff --git a/theme/scid/scidpink/button-d.png b/theme/scid/scidpink/button-d.png new file mode 100644 index 0000000..0c40b50 Binary files /dev/null and b/theme/scid/scidpink/button-d.png differ diff --git a/theme/scid/scidpink/button-default.png b/theme/scid/scidpink/button-default.png new file mode 100644 index 0000000..08f2a7c Binary files /dev/null and b/theme/scid/scidpink/button-default.png differ diff --git a/theme/scid/scidpink/button-n.png b/theme/scid/scidpink/button-n.png new file mode 100644 index 0000000..7b827a3 Binary files /dev/null and b/theme/scid/scidpink/button-n.png differ diff --git a/theme/scid/scidpink/button-p.png b/theme/scid/scidpink/button-p.png new file mode 100644 index 0000000..526c124 Binary files /dev/null and b/theme/scid/scidpink/button-p.png differ diff --git a/theme/scid/scidpink/button-p1p.png b/theme/scid/scidpink/button-p1p.png new file mode 100644 index 0000000..d40f15c Binary files /dev/null and b/theme/scid/scidpink/button-p1p.png differ diff --git a/theme/scid/scidpink/button-pa.png b/theme/scid/scidpink/button-pa.png new file mode 100644 index 0000000..eddfe5e Binary files /dev/null and b/theme/scid/scidpink/button-pa.png differ diff --git a/theme/scid/scidpink/check-ac.png b/theme/scid/scidpink/check-ac.png new file mode 100644 index 0000000..457587e Binary files /dev/null and b/theme/scid/scidpink/check-ac.png differ diff --git a/theme/scid/scidpink/check-au.png b/theme/scid/scidpink/check-au.png new file mode 100644 index 0000000..9061950 Binary files /dev/null and b/theme/scid/scidpink/check-au.png differ diff --git a/theme/scid/scidpink/check-dc.png b/theme/scid/scidpink/check-dc.png new file mode 100644 index 0000000..899dafe Binary files /dev/null and b/theme/scid/scidpink/check-dc.png differ diff --git a/theme/scid/scidpink/check-du.png b/theme/scid/scidpink/check-du.png new file mode 100644 index 0000000..9061950 Binary files /dev/null and b/theme/scid/scidpink/check-du.png differ diff --git a/theme/scid/scidpink/check-hu.png b/theme/scid/scidpink/check-hu.png new file mode 100644 index 0000000..4afc64b Binary files /dev/null and b/theme/scid/scidpink/check-hu.png differ diff --git a/theme/scid/scidpink/check-nc.png b/theme/scid/scidpink/check-nc.png new file mode 100644 index 0000000..457587e Binary files /dev/null and b/theme/scid/scidpink/check-nc.png differ diff --git a/theme/scid/scidpink/check-nu.png b/theme/scid/scidpink/check-nu.png new file mode 100644 index 0000000..9061950 Binary files /dev/null and b/theme/scid/scidpink/check-nu.png differ diff --git a/theme/scid/scidpink/check-pc.png b/theme/scid/scidpink/check-pc.png new file mode 100644 index 0000000..457587e Binary files /dev/null and b/theme/scid/scidpink/check-pc.png differ diff --git a/theme/scid/scidpink/check-pu.png b/theme/scid/scidpink/check-pu.png new file mode 100644 index 0000000..1f6cf22 Binary files /dev/null and b/theme/scid/scidpink/check-pu.png differ diff --git a/theme/scid/scidpink/combo-n.png b/theme/scid/scidpink/combo-n.png new file mode 100644 index 0000000..e2e9aec Binary files /dev/null and b/theme/scid/scidpink/combo-n.png differ diff --git a/theme/scid/scidpink/combo-ra.png b/theme/scid/scidpink/combo-ra.png new file mode 100644 index 0000000..aa9fb7a Binary files /dev/null and b/theme/scid/scidpink/combo-ra.png differ diff --git a/theme/scid/scidpink/combo-rd.png b/theme/scid/scidpink/combo-rd.png new file mode 100644 index 0000000..d3378f7 Binary files /dev/null and b/theme/scid/scidpink/combo-rd.png differ diff --git a/theme/scid/scidpink/combo-rf.png b/theme/scid/scidpink/combo-rf.png new file mode 100644 index 0000000..df042a6 Binary files /dev/null and b/theme/scid/scidpink/combo-rf.png differ diff --git a/theme/scid/scidpink/combo-rn.png b/theme/scid/scidpink/combo-rn.png new file mode 100644 index 0000000..a7c1fa5 Binary files /dev/null and b/theme/scid/scidpink/combo-rn.png differ diff --git a/theme/scid/scidpink/combo-rp.png b/theme/scid/scidpink/combo-rp.png new file mode 100644 index 0000000..82a1562 Binary files /dev/null and b/theme/scid/scidpink/combo-rp.png differ diff --git a/theme/scid/scidpink/comboarrow-a.png b/theme/scid/scidpink/comboarrow-a.png new file mode 100644 index 0000000..bc6bee4 Binary files /dev/null and b/theme/scid/scidpink/comboarrow-a.png differ diff --git a/theme/scid/scidpink/comboarrow-af.png b/theme/scid/scidpink/comboarrow-af.png new file mode 100644 index 0000000..382bc9b Binary files /dev/null and b/theme/scid/scidpink/comboarrow-af.png differ diff --git a/theme/scid/scidpink/comboarrow-d.png b/theme/scid/scidpink/comboarrow-d.png new file mode 100644 index 0000000..c665284 Binary files /dev/null and b/theme/scid/scidpink/comboarrow-d.png differ diff --git a/theme/scid/scidpink/comboarrow-n.png b/theme/scid/scidpink/comboarrow-n.png new file mode 100644 index 0000000..e3cff58 Binary files /dev/null and b/theme/scid/scidpink/comboarrow-n.png differ diff --git a/theme/scid/scidpink/comboarrow-p.png b/theme/scid/scidpink/comboarrow-p.png new file mode 100644 index 0000000..88fe8b7 Binary files /dev/null and b/theme/scid/scidpink/comboarrow-p.png differ diff --git a/theme/scid/scidpink/entry-a.png b/theme/scid/scidpink/entry-a.png new file mode 100644 index 0000000..890b0a2 Binary files /dev/null and b/theme/scid/scidpink/entry-a.png differ diff --git a/theme/scid/scidpink/entry-d.png b/theme/scid/scidpink/entry-d.png new file mode 100644 index 0000000..ad3c236 Binary files /dev/null and b/theme/scid/scidpink/entry-d.png differ diff --git a/theme/scid/scidpink/entry-n.png b/theme/scid/scidpink/entry-n.png new file mode 100644 index 0000000..ffddfe8 Binary files /dev/null and b/theme/scid/scidpink/entry-n.png differ diff --git a/theme/scid/scidpink/entry-rd.png b/theme/scid/scidpink/entry-rd.png new file mode 100644 index 0000000..a485684 Binary files /dev/null and b/theme/scid/scidpink/entry-rd.png differ diff --git a/theme/scid/scidpink/labelframe.png b/theme/scid/scidpink/labelframe.png new file mode 100644 index 0000000..e76adb8 Binary files /dev/null and b/theme/scid/scidpink/labelframe.png differ diff --git a/theme/scid/scidpink/menuarrow-a.png b/theme/scid/scidpink/menuarrow-a.png new file mode 100644 index 0000000..930ca68 Binary files /dev/null and b/theme/scid/scidpink/menuarrow-a.png differ diff --git a/theme/scid/scidpink/menuarrow-d.png b/theme/scid/scidpink/menuarrow-d.png new file mode 100644 index 0000000..51f92cb Binary files /dev/null and b/theme/scid/scidpink/menuarrow-d.png differ diff --git a/theme/scid/scidpink/progress-h.png b/theme/scid/scidpink/progress-h.png new file mode 100644 index 0000000..ecb750c Binary files /dev/null and b/theme/scid/scidpink/progress-h.png differ diff --git a/theme/scid/scidpink/progress-v.png b/theme/scid/scidpink/progress-v.png new file mode 100644 index 0000000..dd49760 Binary files /dev/null and b/theme/scid/scidpink/progress-v.png differ diff --git a/theme/scid/scidpink/radio-ac.png b/theme/scid/scidpink/radio-ac.png new file mode 100644 index 0000000..a347c1a Binary files /dev/null and b/theme/scid/scidpink/radio-ac.png differ diff --git a/theme/scid/scidpink/radio-au.png b/theme/scid/scidpink/radio-au.png new file mode 100644 index 0000000..7a69cdd Binary files /dev/null and b/theme/scid/scidpink/radio-au.png differ diff --git a/theme/scid/scidpink/radio-dc.png b/theme/scid/scidpink/radio-dc.png new file mode 100644 index 0000000..8fc8a44 Binary files /dev/null and b/theme/scid/scidpink/radio-dc.png differ diff --git a/theme/scid/scidpink/radio-du.png b/theme/scid/scidpink/radio-du.png new file mode 100644 index 0000000..7a69cdd Binary files /dev/null and b/theme/scid/scidpink/radio-du.png differ diff --git a/theme/scid/scidpink/radio-hu.png b/theme/scid/scidpink/radio-hu.png new file mode 100644 index 0000000..8861218 Binary files /dev/null and b/theme/scid/scidpink/radio-hu.png differ diff --git a/theme/scid/scidpink/radio-nc.png b/theme/scid/scidpink/radio-nc.png new file mode 100644 index 0000000..a347c1a Binary files /dev/null and b/theme/scid/scidpink/radio-nc.png differ diff --git a/theme/scid/scidpink/radio-nu.png b/theme/scid/scidpink/radio-nu.png new file mode 100644 index 0000000..7a69cdd Binary files /dev/null and b/theme/scid/scidpink/radio-nu.png differ diff --git a/theme/scid/scidpink/radio-pc.png b/theme/scid/scidpink/radio-pc.png new file mode 100644 index 0000000..a347c1a Binary files /dev/null and b/theme/scid/scidpink/radio-pc.png differ diff --git a/theme/scid/scidpink/radio-pu.png b/theme/scid/scidpink/radio-pu.png new file mode 100644 index 0000000..9ab56ab Binary files /dev/null and b/theme/scid/scidpink/radio-pu.png differ diff --git a/theme/scid/scidpink/sas-h.png b/theme/scid/scidpink/sas-h.png new file mode 100644 index 0000000..c080740 Binary files /dev/null and b/theme/scid/scidpink/sas-h.png differ diff --git a/theme/scid/scidpink/sas-v.png b/theme/scid/scidpink/sas-v.png new file mode 100644 index 0000000..7c8ec16 Binary files /dev/null and b/theme/scid/scidpink/sas-v.png differ diff --git a/theme/scid/scidpink/sbthumb-ha.png b/theme/scid/scidpink/sbthumb-ha.png new file mode 100644 index 0000000..2d852f5 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-ha.png differ diff --git a/theme/scid/scidpink/sbthumb-hd.png b/theme/scid/scidpink/sbthumb-hd.png new file mode 100644 index 0000000..0834a5c Binary files /dev/null and b/theme/scid/scidpink/sbthumb-hd.png differ diff --git a/theme/scid/scidpink/sbthumb-hn.png b/theme/scid/scidpink/sbthumb-hn.png new file mode 100644 index 0000000..fec75a2 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-hn.png differ diff --git a/theme/scid/scidpink/sbthumb-hp.png b/theme/scid/scidpink/sbthumb-hp.png new file mode 100644 index 0000000..44b6ce6 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-hp.png differ diff --git a/theme/scid/scidpink/sbthumb-va.png b/theme/scid/scidpink/sbthumb-va.png new file mode 100644 index 0000000..0b860d7 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-va.png differ diff --git a/theme/scid/scidpink/sbthumb-vd.png b/theme/scid/scidpink/sbthumb-vd.png new file mode 100644 index 0000000..358b826 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-vd.png differ diff --git a/theme/scid/scidpink/sbthumb-vn.png b/theme/scid/scidpink/sbthumb-vn.png new file mode 100644 index 0000000..b8033c4 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-vn.png differ diff --git a/theme/scid/scidpink/sbthumb-vp.png b/theme/scid/scidpink/sbthumb-vp.png new file mode 100644 index 0000000..2357376 Binary files /dev/null and b/theme/scid/scidpink/sbthumb-vp.png differ diff --git a/theme/scid/scidpink/sbtrough-h.png b/theme/scid/scidpink/sbtrough-h.png new file mode 100644 index 0000000..d759475 Binary files /dev/null and b/theme/scid/scidpink/sbtrough-h.png differ diff --git a/theme/scid/scidpink/sbtrough-v.png b/theme/scid/scidpink/sbtrough-v.png new file mode 100644 index 0000000..26cf474 Binary files /dev/null and b/theme/scid/scidpink/sbtrough-v.png differ diff --git a/theme/scid/scidpink/scale-ha.png b/theme/scid/scidpink/scale-ha.png new file mode 100644 index 0000000..9ab56ab Binary files /dev/null and b/theme/scid/scidpink/scale-ha.png differ diff --git a/theme/scid/scidpink/scale-hd.png b/theme/scid/scidpink/scale-hd.png new file mode 100644 index 0000000..f8dcdbb Binary files /dev/null and b/theme/scid/scidpink/scale-hd.png differ diff --git a/theme/scid/scidpink/scale-hn.png b/theme/scid/scidpink/scale-hn.png new file mode 100644 index 0000000..b0cf6b9 Binary files /dev/null and b/theme/scid/scidpink/scale-hn.png differ diff --git a/theme/scid/scidpink/scale-va.png b/theme/scid/scidpink/scale-va.png new file mode 100644 index 0000000..9ab56ab Binary files /dev/null and b/theme/scid/scidpink/scale-va.png differ diff --git a/theme/scid/scidpink/scale-vd.png b/theme/scid/scidpink/scale-vd.png new file mode 100644 index 0000000..f8dcdbb Binary files /dev/null and b/theme/scid/scidpink/scale-vd.png differ diff --git a/theme/scid/scidpink/scale-vn.png b/theme/scid/scidpink/scale-vn.png new file mode 100644 index 0000000..b0cf6b9 Binary files /dev/null and b/theme/scid/scidpink/scale-vn.png differ diff --git a/theme/scid/scidpink/scaletrough-h.png b/theme/scid/scidpink/scaletrough-h.png new file mode 100644 index 0000000..806812b Binary files /dev/null and b/theme/scid/scidpink/scaletrough-h.png differ diff --git a/theme/scid/scidpink/scaletrough-hp.png b/theme/scid/scidpink/scaletrough-hp.png new file mode 100644 index 0000000..00db9aa Binary files /dev/null and b/theme/scid/scidpink/scaletrough-hp.png differ diff --git a/theme/scid/scidpink/scaletrough-v.png b/theme/scid/scidpink/scaletrough-v.png new file mode 100644 index 0000000..12be0e6 Binary files /dev/null and b/theme/scid/scidpink/scaletrough-v.png differ diff --git a/theme/scid/scidpink/scaletrough-vp.png b/theme/scid/scidpink/scaletrough-vp.png new file mode 100644 index 0000000..d89bdd3 Binary files /dev/null and b/theme/scid/scidpink/scaletrough-vp.png differ diff --git a/theme/scid/scidpink/sep-h.png b/theme/scid/scidpink/sep-h.png new file mode 100644 index 0000000..6c693ba Binary files /dev/null and b/theme/scid/scidpink/sep-h.png differ diff --git a/theme/scid/scidpink/sep-v.png b/theme/scid/scidpink/sep-v.png new file mode 100644 index 0000000..d1afb96 Binary files /dev/null and b/theme/scid/scidpink/sep-v.png differ diff --git a/theme/scid/scidpink/sizegrip.png b/theme/scid/scidpink/sizegrip.png new file mode 100644 index 0000000..3f8c079 Binary files /dev/null and b/theme/scid/scidpink/sizegrip.png differ diff --git a/theme/scid/scidpink/spinarrowdown-a.png b/theme/scid/scidpink/spinarrowdown-a.png new file mode 100644 index 0000000..c5b16ab Binary files /dev/null and b/theme/scid/scidpink/spinarrowdown-a.png differ diff --git a/theme/scid/scidpink/spinarrowdown-af.png b/theme/scid/scidpink/spinarrowdown-af.png new file mode 100644 index 0000000..21d5281 Binary files /dev/null and b/theme/scid/scidpink/spinarrowdown-af.png differ diff --git a/theme/scid/scidpink/spinarrowdown-p.png b/theme/scid/scidpink/spinarrowdown-p.png new file mode 100644 index 0000000..c5b16ab Binary files /dev/null and b/theme/scid/scidpink/spinarrowdown-p.png differ diff --git a/theme/scid/scidpink/spinarrowdown-pa.png b/theme/scid/scidpink/spinarrowdown-pa.png new file mode 100644 index 0000000..f6cde1f Binary files /dev/null and b/theme/scid/scidpink/spinarrowdown-pa.png differ diff --git a/theme/scid/scidpink/spinarrowdown-paf.png b/theme/scid/scidpink/spinarrowdown-paf.png new file mode 100644 index 0000000..68f880b Binary files /dev/null and b/theme/scid/scidpink/spinarrowdown-paf.png differ diff --git a/theme/scid/scidpink/spinarrowup-a.png b/theme/scid/scidpink/spinarrowup-a.png new file mode 100644 index 0000000..31a0531 Binary files /dev/null and b/theme/scid/scidpink/spinarrowup-a.png differ diff --git a/theme/scid/scidpink/spinarrowup-af.png b/theme/scid/scidpink/spinarrowup-af.png new file mode 100644 index 0000000..82235d0 Binary files /dev/null and b/theme/scid/scidpink/spinarrowup-af.png differ diff --git a/theme/scid/scidpink/spinarrowup-p.png b/theme/scid/scidpink/spinarrowup-p.png new file mode 100644 index 0000000..31a0531 Binary files /dev/null and b/theme/scid/scidpink/spinarrowup-p.png differ diff --git a/theme/scid/scidpink/spinarrowup-pa.png b/theme/scid/scidpink/spinarrowup-pa.png new file mode 100644 index 0000000..87ceafe Binary files /dev/null and b/theme/scid/scidpink/spinarrowup-pa.png differ diff --git a/theme/scid/scidpink/spinarrowup-paf.png b/theme/scid/scidpink/spinarrowup-paf.png new file mode 100644 index 0000000..6ea408d Binary files /dev/null and b/theme/scid/scidpink/spinarrowup-paf.png differ diff --git a/theme/scid/scidpink/surface.png b/theme/scid/scidpink/surface.png new file mode 100644 index 0000000..9638497 Binary files /dev/null and b/theme/scid/scidpink/surface.png differ diff --git a/theme/scid/scidpink/tab-a.png b/theme/scid/scidpink/tab-a.png new file mode 100644 index 0000000..66ea7c9 Binary files /dev/null and b/theme/scid/scidpink/tab-a.png differ diff --git a/theme/scid/scidpink/tab-n.png b/theme/scid/scidpink/tab-n.png new file mode 100644 index 0000000..0f1a5ed Binary files /dev/null and b/theme/scid/scidpink/tab-n.png differ diff --git a/theme/scid/scidpink/tab-s.png b/theme/scid/scidpink/tab-s.png new file mode 100644 index 0000000..66ea7c9 Binary files /dev/null and b/theme/scid/scidpink/tab-s.png differ diff --git a/theme/scid/scidpink/toolbutton-a.png b/theme/scid/scidpink/toolbutton-a.png new file mode 100644 index 0000000..2a70701 Binary files /dev/null and b/theme/scid/scidpink/toolbutton-a.png differ diff --git a/theme/scid/scidpink/toolbutton-d.png b/theme/scid/scidpink/toolbutton-d.png new file mode 100644 index 0000000..0c40b50 Binary files /dev/null and b/theme/scid/scidpink/toolbutton-d.png differ diff --git a/theme/scid/scidpink/toolbutton-n.png b/theme/scid/scidpink/toolbutton-n.png new file mode 100644 index 0000000..08f2a7c Binary files /dev/null and b/theme/scid/scidpink/toolbutton-n.png differ diff --git a/theme/scid/scidpink/toolbutton-p.png b/theme/scid/scidpink/toolbutton-p.png new file mode 100644 index 0000000..d40f15c Binary files /dev/null and b/theme/scid/scidpink/toolbutton-p.png differ diff --git a/theme/scid/scidpink/toolbutton-pa.png b/theme/scid/scidpink/toolbutton-pa.png new file mode 100644 index 0000000..eddfe5e Binary files /dev/null and b/theme/scid/scidpink/toolbutton-pa.png differ diff --git a/theme/scid/scidpink/tree-d.png b/theme/scid/scidpink/tree-d.png new file mode 100644 index 0000000..ff15b7d Binary files /dev/null and b/theme/scid/scidpink/tree-d.png differ diff --git a/theme/scid/scidpink/tree-h.png b/theme/scid/scidpink/tree-h.png new file mode 100644 index 0000000..e151b2d Binary files /dev/null and b/theme/scid/scidpink/tree-h.png differ diff --git a/theme/scid/scidpink/tree-n.png b/theme/scid/scidpink/tree-n.png new file mode 100644 index 0000000..e151b2d Binary files /dev/null and b/theme/scid/scidpink/tree-n.png differ diff --git a/theme/scid/scidpink/tree-p.png b/theme/scid/scidpink/tree-p.png new file mode 100644 index 0000000..d59b3d6 Binary files /dev/null and b/theme/scid/scidpink/tree-p.png differ diff --git a/theme/scid/scidpurple/blank.png b/theme/scid/scidpurple/blank.png new file mode 100644 index 0000000..ca702d7 Binary files /dev/null and b/theme/scid/scidpurple/blank.png differ diff --git a/theme/scid/scidpurple/button-a.png b/theme/scid/scidpurple/button-a.png new file mode 100644 index 0000000..e5b5f01 Binary files /dev/null and b/theme/scid/scidpurple/button-a.png differ diff --git a/theme/scid/scidpurple/button-a1p.png b/theme/scid/scidpurple/button-a1p.png new file mode 100644 index 0000000..b0b3cf5 Binary files /dev/null and b/theme/scid/scidpurple/button-a1p.png differ diff --git a/theme/scid/scidpurple/button-d.png b/theme/scid/scidpurple/button-d.png new file mode 100644 index 0000000..d530288 Binary files /dev/null and b/theme/scid/scidpurple/button-d.png differ diff --git a/theme/scid/scidpurple/button-default.png b/theme/scid/scidpurple/button-default.png new file mode 100644 index 0000000..53c93f6 Binary files /dev/null and b/theme/scid/scidpurple/button-default.png differ diff --git a/theme/scid/scidpurple/button-n.png b/theme/scid/scidpurple/button-n.png new file mode 100644 index 0000000..5265814 Binary files /dev/null and b/theme/scid/scidpurple/button-n.png differ diff --git a/theme/scid/scidpurple/button-p.png b/theme/scid/scidpurple/button-p.png new file mode 100644 index 0000000..31c7dec Binary files /dev/null and b/theme/scid/scidpurple/button-p.png differ diff --git a/theme/scid/scidpurple/button-p1p.png b/theme/scid/scidpurple/button-p1p.png new file mode 100644 index 0000000..f31feba Binary files /dev/null and b/theme/scid/scidpurple/button-p1p.png differ diff --git a/theme/scid/scidpurple/button-pa.png b/theme/scid/scidpurple/button-pa.png new file mode 100644 index 0000000..d6841f9 Binary files /dev/null and b/theme/scid/scidpurple/button-pa.png differ diff --git a/theme/scid/scidpurple/check-ac.png b/theme/scid/scidpurple/check-ac.png new file mode 100644 index 0000000..65867fd Binary files /dev/null and b/theme/scid/scidpurple/check-ac.png differ diff --git a/theme/scid/scidpurple/check-au.png b/theme/scid/scidpurple/check-au.png new file mode 100644 index 0000000..f008317 Binary files /dev/null and b/theme/scid/scidpurple/check-au.png differ diff --git a/theme/scid/scidpurple/check-dc.png b/theme/scid/scidpurple/check-dc.png new file mode 100644 index 0000000..8a59442 Binary files /dev/null and b/theme/scid/scidpurple/check-dc.png differ diff --git a/theme/scid/scidpurple/check-du.png b/theme/scid/scidpurple/check-du.png new file mode 100644 index 0000000..f008317 Binary files /dev/null and b/theme/scid/scidpurple/check-du.png differ diff --git a/theme/scid/scidpurple/check-hu.png b/theme/scid/scidpurple/check-hu.png new file mode 100644 index 0000000..76e5201 Binary files /dev/null and b/theme/scid/scidpurple/check-hu.png differ diff --git a/theme/scid/scidpurple/check-nc.png b/theme/scid/scidpurple/check-nc.png new file mode 100644 index 0000000..65867fd Binary files /dev/null and b/theme/scid/scidpurple/check-nc.png differ diff --git a/theme/scid/scidpurple/check-nu.png b/theme/scid/scidpurple/check-nu.png new file mode 100644 index 0000000..f008317 Binary files /dev/null and b/theme/scid/scidpurple/check-nu.png differ diff --git a/theme/scid/scidpurple/check-pc.png b/theme/scid/scidpurple/check-pc.png new file mode 100644 index 0000000..65867fd Binary files /dev/null and b/theme/scid/scidpurple/check-pc.png differ diff --git a/theme/scid/scidpurple/check-pu.png b/theme/scid/scidpurple/check-pu.png new file mode 100644 index 0000000..aebf61a Binary files /dev/null and b/theme/scid/scidpurple/check-pu.png differ diff --git a/theme/scid/scidpurple/combo-n.png b/theme/scid/scidpurple/combo-n.png new file mode 100644 index 0000000..e432adb Binary files /dev/null and b/theme/scid/scidpurple/combo-n.png differ diff --git a/theme/scid/scidpurple/combo-ra.png b/theme/scid/scidpurple/combo-ra.png new file mode 100644 index 0000000..d9e2f6f Binary files /dev/null and b/theme/scid/scidpurple/combo-ra.png differ diff --git a/theme/scid/scidpurple/combo-rd.png b/theme/scid/scidpurple/combo-rd.png new file mode 100644 index 0000000..214751e Binary files /dev/null and b/theme/scid/scidpurple/combo-rd.png differ diff --git a/theme/scid/scidpurple/combo-rf.png b/theme/scid/scidpurple/combo-rf.png new file mode 100644 index 0000000..b0ab0cb Binary files /dev/null and b/theme/scid/scidpurple/combo-rf.png differ diff --git a/theme/scid/scidpurple/combo-rn.png b/theme/scid/scidpurple/combo-rn.png new file mode 100644 index 0000000..29c8585 Binary files /dev/null and b/theme/scid/scidpurple/combo-rn.png differ diff --git a/theme/scid/scidpurple/combo-rp.png b/theme/scid/scidpurple/combo-rp.png new file mode 100644 index 0000000..bd82dfd Binary files /dev/null and b/theme/scid/scidpurple/combo-rp.png differ diff --git a/theme/scid/scidpurple/comboarrow-a.png b/theme/scid/scidpurple/comboarrow-a.png new file mode 100644 index 0000000..7887019 Binary files /dev/null and b/theme/scid/scidpurple/comboarrow-a.png differ diff --git a/theme/scid/scidpurple/comboarrow-af.png b/theme/scid/scidpurple/comboarrow-af.png new file mode 100644 index 0000000..04ac3ef Binary files /dev/null and b/theme/scid/scidpurple/comboarrow-af.png differ diff --git a/theme/scid/scidpurple/comboarrow-d.png b/theme/scid/scidpurple/comboarrow-d.png new file mode 100644 index 0000000..19f76c3 Binary files /dev/null and b/theme/scid/scidpurple/comboarrow-d.png differ diff --git a/theme/scid/scidpurple/comboarrow-n.png b/theme/scid/scidpurple/comboarrow-n.png new file mode 100644 index 0000000..073c1cb Binary files /dev/null and b/theme/scid/scidpurple/comboarrow-n.png differ diff --git a/theme/scid/scidpurple/comboarrow-p.png b/theme/scid/scidpurple/comboarrow-p.png new file mode 100644 index 0000000..35cb4a1 Binary files /dev/null and b/theme/scid/scidpurple/comboarrow-p.png differ diff --git a/theme/scid/scidpurple/entry-a.png b/theme/scid/scidpurple/entry-a.png new file mode 100644 index 0000000..9ce82ac Binary files /dev/null and b/theme/scid/scidpurple/entry-a.png differ diff --git a/theme/scid/scidpurple/entry-d.png b/theme/scid/scidpurple/entry-d.png new file mode 100644 index 0000000..24e39fa Binary files /dev/null and b/theme/scid/scidpurple/entry-d.png differ diff --git a/theme/scid/scidpurple/entry-n.png b/theme/scid/scidpurple/entry-n.png new file mode 100644 index 0000000..b41a33b Binary files /dev/null and b/theme/scid/scidpurple/entry-n.png differ diff --git a/theme/scid/scidpurple/entry-rd.png b/theme/scid/scidpurple/entry-rd.png new file mode 100644 index 0000000..36a473e Binary files /dev/null and b/theme/scid/scidpurple/entry-rd.png differ diff --git a/theme/scid/scidpurple/labelframe.png b/theme/scid/scidpurple/labelframe.png new file mode 100644 index 0000000..79c17d3 Binary files /dev/null and b/theme/scid/scidpurple/labelframe.png differ diff --git a/theme/scid/scidpurple/menuarrow-a.png b/theme/scid/scidpurple/menuarrow-a.png new file mode 100644 index 0000000..6cc6bc0 Binary files /dev/null and b/theme/scid/scidpurple/menuarrow-a.png differ diff --git a/theme/scid/scidpurple/menuarrow-d.png b/theme/scid/scidpurple/menuarrow-d.png new file mode 100644 index 0000000..db4b168 Binary files /dev/null and b/theme/scid/scidpurple/menuarrow-d.png differ diff --git a/theme/scid/scidpurple/progress-h.png b/theme/scid/scidpurple/progress-h.png new file mode 100644 index 0000000..e351bfa Binary files /dev/null and b/theme/scid/scidpurple/progress-h.png differ diff --git a/theme/scid/scidpurple/progress-v.png b/theme/scid/scidpurple/progress-v.png new file mode 100644 index 0000000..a3079f3 Binary files /dev/null and b/theme/scid/scidpurple/progress-v.png differ diff --git a/theme/scid/scidpurple/radio-ac.png b/theme/scid/scidpurple/radio-ac.png new file mode 100644 index 0000000..1dbefaf Binary files /dev/null and b/theme/scid/scidpurple/radio-ac.png differ diff --git a/theme/scid/scidpurple/radio-au.png b/theme/scid/scidpurple/radio-au.png new file mode 100644 index 0000000..a9ee838 Binary files /dev/null and b/theme/scid/scidpurple/radio-au.png differ diff --git a/theme/scid/scidpurple/radio-dc.png b/theme/scid/scidpurple/radio-dc.png new file mode 100644 index 0000000..d95f481 Binary files /dev/null and b/theme/scid/scidpurple/radio-dc.png differ diff --git a/theme/scid/scidpurple/radio-du.png b/theme/scid/scidpurple/radio-du.png new file mode 100644 index 0000000..a9ee838 Binary files /dev/null and b/theme/scid/scidpurple/radio-du.png differ diff --git a/theme/scid/scidpurple/radio-hu.png b/theme/scid/scidpurple/radio-hu.png new file mode 100644 index 0000000..71bac64 Binary files /dev/null and b/theme/scid/scidpurple/radio-hu.png differ diff --git a/theme/scid/scidpurple/radio-nc.png b/theme/scid/scidpurple/radio-nc.png new file mode 100644 index 0000000..1dbefaf Binary files /dev/null and b/theme/scid/scidpurple/radio-nc.png differ diff --git a/theme/scid/scidpurple/radio-nu.png b/theme/scid/scidpurple/radio-nu.png new file mode 100644 index 0000000..a9ee838 Binary files /dev/null and b/theme/scid/scidpurple/radio-nu.png differ diff --git a/theme/scid/scidpurple/radio-pc.png b/theme/scid/scidpurple/radio-pc.png new file mode 100644 index 0000000..1dbefaf Binary files /dev/null and b/theme/scid/scidpurple/radio-pc.png differ diff --git a/theme/scid/scidpurple/radio-pu.png b/theme/scid/scidpurple/radio-pu.png new file mode 100644 index 0000000..fa41590 Binary files /dev/null and b/theme/scid/scidpurple/radio-pu.png differ diff --git a/theme/scid/scidpurple/sas-h.png b/theme/scid/scidpurple/sas-h.png new file mode 100644 index 0000000..be53913 Binary files /dev/null and b/theme/scid/scidpurple/sas-h.png differ diff --git a/theme/scid/scidpurple/sas-v.png b/theme/scid/scidpurple/sas-v.png new file mode 100644 index 0000000..7d5edf2 Binary files /dev/null and b/theme/scid/scidpurple/sas-v.png differ diff --git a/theme/scid/scidpurple/sbthumb-ha.png b/theme/scid/scidpurple/sbthumb-ha.png new file mode 100644 index 0000000..7486297 Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-ha.png differ diff --git a/theme/scid/scidpurple/sbthumb-hd.png b/theme/scid/scidpurple/sbthumb-hd.png new file mode 100644 index 0000000..85242af Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-hd.png differ diff --git a/theme/scid/scidpurple/sbthumb-hn.png b/theme/scid/scidpurple/sbthumb-hn.png new file mode 100644 index 0000000..0971bde Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-hn.png differ diff --git a/theme/scid/scidpurple/sbthumb-hp.png b/theme/scid/scidpurple/sbthumb-hp.png new file mode 100644 index 0000000..e1504dd Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-hp.png differ diff --git a/theme/scid/scidpurple/sbthumb-va.png b/theme/scid/scidpurple/sbthumb-va.png new file mode 100644 index 0000000..c7bdcca Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-va.png differ diff --git a/theme/scid/scidpurple/sbthumb-vd.png b/theme/scid/scidpurple/sbthumb-vd.png new file mode 100644 index 0000000..a3cc8c8 Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-vd.png differ diff --git a/theme/scid/scidpurple/sbthumb-vn.png b/theme/scid/scidpurple/sbthumb-vn.png new file mode 100644 index 0000000..e24ce65 Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-vn.png differ diff --git a/theme/scid/scidpurple/sbthumb-vp.png b/theme/scid/scidpurple/sbthumb-vp.png new file mode 100644 index 0000000..4447b8b Binary files /dev/null and b/theme/scid/scidpurple/sbthumb-vp.png differ diff --git a/theme/scid/scidpurple/sbtrough-h.png b/theme/scid/scidpurple/sbtrough-h.png new file mode 100644 index 0000000..7701592 Binary files /dev/null and b/theme/scid/scidpurple/sbtrough-h.png differ diff --git a/theme/scid/scidpurple/sbtrough-v.png b/theme/scid/scidpurple/sbtrough-v.png new file mode 100644 index 0000000..f852f59 Binary files /dev/null and b/theme/scid/scidpurple/sbtrough-v.png differ diff --git a/theme/scid/scidpurple/scale-ha.png b/theme/scid/scidpurple/scale-ha.png new file mode 100644 index 0000000..fa41590 Binary files /dev/null and b/theme/scid/scidpurple/scale-ha.png differ diff --git a/theme/scid/scidpurple/scale-hd.png b/theme/scid/scidpurple/scale-hd.png new file mode 100644 index 0000000..565c2fa Binary files /dev/null and b/theme/scid/scidpurple/scale-hd.png differ diff --git a/theme/scid/scidpurple/scale-hn.png b/theme/scid/scidpurple/scale-hn.png new file mode 100644 index 0000000..9d92f9f Binary files /dev/null and b/theme/scid/scidpurple/scale-hn.png differ diff --git a/theme/scid/scidpurple/scale-va.png b/theme/scid/scidpurple/scale-va.png new file mode 100644 index 0000000..fa41590 Binary files /dev/null and b/theme/scid/scidpurple/scale-va.png differ diff --git a/theme/scid/scidpurple/scale-vd.png b/theme/scid/scidpurple/scale-vd.png new file mode 100644 index 0000000..565c2fa Binary files /dev/null and b/theme/scid/scidpurple/scale-vd.png differ diff --git a/theme/scid/scidpurple/scale-vn.png b/theme/scid/scidpurple/scale-vn.png new file mode 100644 index 0000000..9d92f9f Binary files /dev/null and b/theme/scid/scidpurple/scale-vn.png differ diff --git a/theme/scid/scidpurple/scaletrough-h.png b/theme/scid/scidpurple/scaletrough-h.png new file mode 100644 index 0000000..ccaaa51 Binary files /dev/null and b/theme/scid/scidpurple/scaletrough-h.png differ diff --git a/theme/scid/scidpurple/scaletrough-hp.png b/theme/scid/scidpurple/scaletrough-hp.png new file mode 100644 index 0000000..0688b90 Binary files /dev/null and b/theme/scid/scidpurple/scaletrough-hp.png differ diff --git a/theme/scid/scidpurple/scaletrough-v.png b/theme/scid/scidpurple/scaletrough-v.png new file mode 100644 index 0000000..f1d0f67 Binary files /dev/null and b/theme/scid/scidpurple/scaletrough-v.png differ diff --git a/theme/scid/scidpurple/scaletrough-vp.png b/theme/scid/scidpurple/scaletrough-vp.png new file mode 100644 index 0000000..8f28d02 Binary files /dev/null and b/theme/scid/scidpurple/scaletrough-vp.png differ diff --git a/theme/scid/scidpurple/sep-h.png b/theme/scid/scidpurple/sep-h.png new file mode 100644 index 0000000..7d0c062 Binary files /dev/null and b/theme/scid/scidpurple/sep-h.png differ diff --git a/theme/scid/scidpurple/sep-v.png b/theme/scid/scidpurple/sep-v.png new file mode 100644 index 0000000..7c7ca1f Binary files /dev/null and b/theme/scid/scidpurple/sep-v.png differ diff --git a/theme/scid/scidpurple/sizegrip.png b/theme/scid/scidpurple/sizegrip.png new file mode 100644 index 0000000..7b37839 Binary files /dev/null and b/theme/scid/scidpurple/sizegrip.png differ diff --git a/theme/scid/scidpurple/spinarrowdown-a.png b/theme/scid/scidpurple/spinarrowdown-a.png new file mode 100644 index 0000000..a34b019 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowdown-a.png differ diff --git a/theme/scid/scidpurple/spinarrowdown-af.png b/theme/scid/scidpurple/spinarrowdown-af.png new file mode 100644 index 0000000..e79dc67 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowdown-af.png differ diff --git a/theme/scid/scidpurple/spinarrowdown-p.png b/theme/scid/scidpurple/spinarrowdown-p.png new file mode 100644 index 0000000..a34b019 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowdown-p.png differ diff --git a/theme/scid/scidpurple/spinarrowdown-pa.png b/theme/scid/scidpurple/spinarrowdown-pa.png new file mode 100644 index 0000000..4fa27d1 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowdown-pa.png differ diff --git a/theme/scid/scidpurple/spinarrowdown-paf.png b/theme/scid/scidpurple/spinarrowdown-paf.png new file mode 100644 index 0000000..c387480 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowdown-paf.png differ diff --git a/theme/scid/scidpurple/spinarrowup-a.png b/theme/scid/scidpurple/spinarrowup-a.png new file mode 100644 index 0000000..a87d6a1 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowup-a.png differ diff --git a/theme/scid/scidpurple/spinarrowup-af.png b/theme/scid/scidpurple/spinarrowup-af.png new file mode 100644 index 0000000..8ed76a3 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowup-af.png differ diff --git a/theme/scid/scidpurple/spinarrowup-p.png b/theme/scid/scidpurple/spinarrowup-p.png new file mode 100644 index 0000000..a87d6a1 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowup-p.png differ diff --git a/theme/scid/scidpurple/spinarrowup-pa.png b/theme/scid/scidpurple/spinarrowup-pa.png new file mode 100644 index 0000000..a42d0ff Binary files /dev/null and b/theme/scid/scidpurple/spinarrowup-pa.png differ diff --git a/theme/scid/scidpurple/spinarrowup-paf.png b/theme/scid/scidpurple/spinarrowup-paf.png new file mode 100644 index 0000000..3659f71 Binary files /dev/null and b/theme/scid/scidpurple/spinarrowup-paf.png differ diff --git a/theme/scid/scidpurple/surface.png b/theme/scid/scidpurple/surface.png new file mode 100644 index 0000000..dead4b5 Binary files /dev/null and b/theme/scid/scidpurple/surface.png differ diff --git a/theme/scid/scidpurple/tab-a.png b/theme/scid/scidpurple/tab-a.png new file mode 100644 index 0000000..1d31806 Binary files /dev/null and b/theme/scid/scidpurple/tab-a.png differ diff --git a/theme/scid/scidpurple/tab-n.png b/theme/scid/scidpurple/tab-n.png new file mode 100644 index 0000000..aea2c22 Binary files /dev/null and b/theme/scid/scidpurple/tab-n.png differ diff --git a/theme/scid/scidpurple/tab-s.png b/theme/scid/scidpurple/tab-s.png new file mode 100644 index 0000000..1d31806 Binary files /dev/null and b/theme/scid/scidpurple/tab-s.png differ diff --git a/theme/scid/scidpurple/toolbutton-a.png b/theme/scid/scidpurple/toolbutton-a.png new file mode 100644 index 0000000..b0b3cf5 Binary files /dev/null and b/theme/scid/scidpurple/toolbutton-a.png differ diff --git a/theme/scid/scidpurple/toolbutton-d.png b/theme/scid/scidpurple/toolbutton-d.png new file mode 100644 index 0000000..d530288 Binary files /dev/null and b/theme/scid/scidpurple/toolbutton-d.png differ diff --git a/theme/scid/scidpurple/toolbutton-n.png b/theme/scid/scidpurple/toolbutton-n.png new file mode 100644 index 0000000..53c93f6 Binary files /dev/null and b/theme/scid/scidpurple/toolbutton-n.png differ diff --git a/theme/scid/scidpurple/toolbutton-p.png b/theme/scid/scidpurple/toolbutton-p.png new file mode 100644 index 0000000..c9daabd Binary files /dev/null and b/theme/scid/scidpurple/toolbutton-p.png differ diff --git a/theme/scid/scidpurple/toolbutton-pa.png b/theme/scid/scidpurple/toolbutton-pa.png new file mode 100644 index 0000000..d6841f9 Binary files /dev/null and b/theme/scid/scidpurple/toolbutton-pa.png differ diff --git a/theme/scid/scidpurple/tree-d.png b/theme/scid/scidpurple/tree-d.png new file mode 100644 index 0000000..451145f Binary files /dev/null and b/theme/scid/scidpurple/tree-d.png differ diff --git a/theme/scid/scidpurple/tree-h.png b/theme/scid/scidpurple/tree-h.png new file mode 100644 index 0000000..1e5cb3a Binary files /dev/null and b/theme/scid/scidpurple/tree-h.png differ diff --git a/theme/scid/scidpurple/tree-n.png b/theme/scid/scidpurple/tree-n.png new file mode 100644 index 0000000..1e5cb3a Binary files /dev/null and b/theme/scid/scidpurple/tree-n.png differ diff --git a/theme/scid/scidpurple/tree-p.png b/theme/scid/scidpurple/tree-p.png new file mode 100644 index 0000000..372fbae Binary files /dev/null and b/theme/scid/scidpurple/tree-p.png differ diff --git a/theme/scid/scidsand/blank.png b/theme/scid/scidsand/blank.png new file mode 100644 index 0000000..9e99c04 Binary files /dev/null and b/theme/scid/scidsand/blank.png differ diff --git a/theme/scid/scidsand/button-a.png b/theme/scid/scidsand/button-a.png new file mode 100644 index 0000000..5564454 Binary files /dev/null and b/theme/scid/scidsand/button-a.png differ diff --git a/theme/scid/scidsand/button-a1p.png b/theme/scid/scidsand/button-a1p.png new file mode 100644 index 0000000..80de4c1 Binary files /dev/null and b/theme/scid/scidsand/button-a1p.png differ diff --git a/theme/scid/scidsand/button-d.png b/theme/scid/scidsand/button-d.png new file mode 100644 index 0000000..6468ccb Binary files /dev/null and b/theme/scid/scidsand/button-d.png differ diff --git a/theme/scid/scidsand/button-default.png b/theme/scid/scidsand/button-default.png new file mode 100644 index 0000000..38576b1 Binary files /dev/null and b/theme/scid/scidsand/button-default.png differ diff --git a/theme/scid/scidsand/button-n.png b/theme/scid/scidsand/button-n.png new file mode 100644 index 0000000..5931584 Binary files /dev/null and b/theme/scid/scidsand/button-n.png differ diff --git a/theme/scid/scidsand/button-p.png b/theme/scid/scidsand/button-p.png new file mode 100644 index 0000000..c1b0d4d Binary files /dev/null and b/theme/scid/scidsand/button-p.png differ diff --git a/theme/scid/scidsand/button-p1p.png b/theme/scid/scidsand/button-p1p.png new file mode 100644 index 0000000..59c4196 Binary files /dev/null and b/theme/scid/scidsand/button-p1p.png differ diff --git a/theme/scid/scidsand/button-pa.png b/theme/scid/scidsand/button-pa.png new file mode 100644 index 0000000..14221bc Binary files /dev/null and b/theme/scid/scidsand/button-pa.png differ diff --git a/theme/scid/scidsand/check-ac.png b/theme/scid/scidsand/check-ac.png new file mode 100644 index 0000000..769db80 Binary files /dev/null and b/theme/scid/scidsand/check-ac.png differ diff --git a/theme/scid/scidsand/check-au.png b/theme/scid/scidsand/check-au.png new file mode 100644 index 0000000..796ace8 Binary files /dev/null and b/theme/scid/scidsand/check-au.png differ diff --git a/theme/scid/scidsand/check-dc.png b/theme/scid/scidsand/check-dc.png new file mode 100644 index 0000000..100a387 Binary files /dev/null and b/theme/scid/scidsand/check-dc.png differ diff --git a/theme/scid/scidsand/check-du.png b/theme/scid/scidsand/check-du.png new file mode 100644 index 0000000..796ace8 Binary files /dev/null and b/theme/scid/scidsand/check-du.png differ diff --git a/theme/scid/scidsand/check-hu.png b/theme/scid/scidsand/check-hu.png new file mode 100644 index 0000000..96bf26f Binary files /dev/null and b/theme/scid/scidsand/check-hu.png differ diff --git a/theme/scid/scidsand/check-nc.png b/theme/scid/scidsand/check-nc.png new file mode 100644 index 0000000..769db80 Binary files /dev/null and b/theme/scid/scidsand/check-nc.png differ diff --git a/theme/scid/scidsand/check-nu.png b/theme/scid/scidsand/check-nu.png new file mode 100644 index 0000000..796ace8 Binary files /dev/null and b/theme/scid/scidsand/check-nu.png differ diff --git a/theme/scid/scidsand/check-pc.png b/theme/scid/scidsand/check-pc.png new file mode 100644 index 0000000..769db80 Binary files /dev/null and b/theme/scid/scidsand/check-pc.png differ diff --git a/theme/scid/scidsand/check-pu.png b/theme/scid/scidsand/check-pu.png new file mode 100644 index 0000000..5899162 Binary files /dev/null and b/theme/scid/scidsand/check-pu.png differ diff --git a/theme/scid/scidsand/combo-n.png b/theme/scid/scidsand/combo-n.png new file mode 100644 index 0000000..c8213d5 Binary files /dev/null and b/theme/scid/scidsand/combo-n.png differ diff --git a/theme/scid/scidsand/combo-ra.png b/theme/scid/scidsand/combo-ra.png new file mode 100644 index 0000000..26089a3 Binary files /dev/null and b/theme/scid/scidsand/combo-ra.png differ diff --git a/theme/scid/scidsand/combo-rd.png b/theme/scid/scidsand/combo-rd.png new file mode 100644 index 0000000..d5d88cc Binary files /dev/null and b/theme/scid/scidsand/combo-rd.png differ diff --git a/theme/scid/scidsand/combo-rf.png b/theme/scid/scidsand/combo-rf.png new file mode 100644 index 0000000..cdac4a0 Binary files /dev/null and b/theme/scid/scidsand/combo-rf.png differ diff --git a/theme/scid/scidsand/combo-rn.png b/theme/scid/scidsand/combo-rn.png new file mode 100644 index 0000000..3830f39 Binary files /dev/null and b/theme/scid/scidsand/combo-rn.png differ diff --git a/theme/scid/scidsand/combo-rp.png b/theme/scid/scidsand/combo-rp.png new file mode 100644 index 0000000..da249dd Binary files /dev/null and b/theme/scid/scidsand/combo-rp.png differ diff --git a/theme/scid/scidsand/comboarrow-a.png b/theme/scid/scidsand/comboarrow-a.png new file mode 100644 index 0000000..330b69b Binary files /dev/null and b/theme/scid/scidsand/comboarrow-a.png differ diff --git a/theme/scid/scidsand/comboarrow-af.png b/theme/scid/scidsand/comboarrow-af.png new file mode 100644 index 0000000..b6de1e9 Binary files /dev/null and b/theme/scid/scidsand/comboarrow-af.png differ diff --git a/theme/scid/scidsand/comboarrow-d.png b/theme/scid/scidsand/comboarrow-d.png new file mode 100644 index 0000000..ef2f4ef Binary files /dev/null and b/theme/scid/scidsand/comboarrow-d.png differ diff --git a/theme/scid/scidsand/comboarrow-n.png b/theme/scid/scidsand/comboarrow-n.png new file mode 100644 index 0000000..7d96011 Binary files /dev/null and b/theme/scid/scidsand/comboarrow-n.png differ diff --git a/theme/scid/scidsand/comboarrow-p.png b/theme/scid/scidsand/comboarrow-p.png new file mode 100644 index 0000000..dcaa28f Binary files /dev/null and b/theme/scid/scidsand/comboarrow-p.png differ diff --git a/theme/scid/scidsand/entry-a.png b/theme/scid/scidsand/entry-a.png new file mode 100644 index 0000000..57afd29 Binary files /dev/null and b/theme/scid/scidsand/entry-a.png differ diff --git a/theme/scid/scidsand/entry-d.png b/theme/scid/scidsand/entry-d.png new file mode 100644 index 0000000..96f8ac8 Binary files /dev/null and b/theme/scid/scidsand/entry-d.png differ diff --git a/theme/scid/scidsand/entry-n.png b/theme/scid/scidsand/entry-n.png new file mode 100644 index 0000000..05ddf0d Binary files /dev/null and b/theme/scid/scidsand/entry-n.png differ diff --git a/theme/scid/scidsand/entry-rd.png b/theme/scid/scidsand/entry-rd.png new file mode 100644 index 0000000..1f18916 Binary files /dev/null and b/theme/scid/scidsand/entry-rd.png differ diff --git a/theme/scid/scidsand/labelframe.png b/theme/scid/scidsand/labelframe.png new file mode 100644 index 0000000..29a24e1 Binary files /dev/null and b/theme/scid/scidsand/labelframe.png differ diff --git a/theme/scid/scidsand/menuarrow-a.png b/theme/scid/scidsand/menuarrow-a.png new file mode 100644 index 0000000..dbc0ce8 Binary files /dev/null and b/theme/scid/scidsand/menuarrow-a.png differ diff --git a/theme/scid/scidsand/menuarrow-d.png b/theme/scid/scidsand/menuarrow-d.png new file mode 100644 index 0000000..445182f Binary files /dev/null and b/theme/scid/scidsand/menuarrow-d.png differ diff --git a/theme/scid/scidsand/progress-h.png b/theme/scid/scidsand/progress-h.png new file mode 100644 index 0000000..451bf5a Binary files /dev/null and b/theme/scid/scidsand/progress-h.png differ diff --git a/theme/scid/scidsand/progress-v.png b/theme/scid/scidsand/progress-v.png new file mode 100644 index 0000000..058de42 Binary files /dev/null and b/theme/scid/scidsand/progress-v.png differ diff --git a/theme/scid/scidsand/radio-ac.png b/theme/scid/scidsand/radio-ac.png new file mode 100644 index 0000000..a54b5de Binary files /dev/null and b/theme/scid/scidsand/radio-ac.png differ diff --git a/theme/scid/scidsand/radio-au.png b/theme/scid/scidsand/radio-au.png new file mode 100644 index 0000000..298a322 Binary files /dev/null and b/theme/scid/scidsand/radio-au.png differ diff --git a/theme/scid/scidsand/radio-dc.png b/theme/scid/scidsand/radio-dc.png new file mode 100644 index 0000000..92e1cf0 Binary files /dev/null and b/theme/scid/scidsand/radio-dc.png differ diff --git a/theme/scid/scidsand/radio-du.png b/theme/scid/scidsand/radio-du.png new file mode 100644 index 0000000..298a322 Binary files /dev/null and b/theme/scid/scidsand/radio-du.png differ diff --git a/theme/scid/scidsand/radio-hu.png b/theme/scid/scidsand/radio-hu.png new file mode 100644 index 0000000..2a9b5d5 Binary files /dev/null and b/theme/scid/scidsand/radio-hu.png differ diff --git a/theme/scid/scidsand/radio-nc.png b/theme/scid/scidsand/radio-nc.png new file mode 100644 index 0000000..a54b5de Binary files /dev/null and b/theme/scid/scidsand/radio-nc.png differ diff --git a/theme/scid/scidsand/radio-nu.png b/theme/scid/scidsand/radio-nu.png new file mode 100644 index 0000000..298a322 Binary files /dev/null and b/theme/scid/scidsand/radio-nu.png differ diff --git a/theme/scid/scidsand/radio-pc.png b/theme/scid/scidsand/radio-pc.png new file mode 100644 index 0000000..a54b5de Binary files /dev/null and b/theme/scid/scidsand/radio-pc.png differ diff --git a/theme/scid/scidsand/radio-pu.png b/theme/scid/scidsand/radio-pu.png new file mode 100644 index 0000000..0ac94a5 Binary files /dev/null and b/theme/scid/scidsand/radio-pu.png differ diff --git a/theme/scid/scidsand/sas-h.png b/theme/scid/scidsand/sas-h.png new file mode 100644 index 0000000..245632e Binary files /dev/null and b/theme/scid/scidsand/sas-h.png differ diff --git a/theme/scid/scidsand/sas-v.png b/theme/scid/scidsand/sas-v.png new file mode 100644 index 0000000..0b10897 Binary files /dev/null and b/theme/scid/scidsand/sas-v.png differ diff --git a/theme/scid/scidsand/sbthumb-ha.png b/theme/scid/scidsand/sbthumb-ha.png new file mode 100644 index 0000000..7b8954a Binary files /dev/null and b/theme/scid/scidsand/sbthumb-ha.png differ diff --git a/theme/scid/scidsand/sbthumb-hd.png b/theme/scid/scidsand/sbthumb-hd.png new file mode 100644 index 0000000..90eeff1 Binary files /dev/null and b/theme/scid/scidsand/sbthumb-hd.png differ diff --git a/theme/scid/scidsand/sbthumb-hn.png b/theme/scid/scidsand/sbthumb-hn.png new file mode 100644 index 0000000..6a13dff Binary files /dev/null and b/theme/scid/scidsand/sbthumb-hn.png differ diff --git a/theme/scid/scidsand/sbthumb-hp.png b/theme/scid/scidsand/sbthumb-hp.png new file mode 100644 index 0000000..21841b9 Binary files /dev/null and b/theme/scid/scidsand/sbthumb-hp.png differ diff --git a/theme/scid/scidsand/sbthumb-va.png b/theme/scid/scidsand/sbthumb-va.png new file mode 100644 index 0000000..a70172c Binary files /dev/null and b/theme/scid/scidsand/sbthumb-va.png differ diff --git a/theme/scid/scidsand/sbthumb-vd.png b/theme/scid/scidsand/sbthumb-vd.png new file mode 100644 index 0000000..bccda32 Binary files /dev/null and b/theme/scid/scidsand/sbthumb-vd.png differ diff --git a/theme/scid/scidsand/sbthumb-vn.png b/theme/scid/scidsand/sbthumb-vn.png new file mode 100644 index 0000000..bf7d6cc Binary files /dev/null and b/theme/scid/scidsand/sbthumb-vn.png differ diff --git a/theme/scid/scidsand/sbthumb-vp.png b/theme/scid/scidsand/sbthumb-vp.png new file mode 100644 index 0000000..887f620 Binary files /dev/null and b/theme/scid/scidsand/sbthumb-vp.png differ diff --git a/theme/scid/scidsand/sbtrough-h.png b/theme/scid/scidsand/sbtrough-h.png new file mode 100644 index 0000000..5207985 Binary files /dev/null and b/theme/scid/scidsand/sbtrough-h.png differ diff --git a/theme/scid/scidsand/sbtrough-v.png b/theme/scid/scidsand/sbtrough-v.png new file mode 100644 index 0000000..769c488 Binary files /dev/null and b/theme/scid/scidsand/sbtrough-v.png differ diff --git a/theme/scid/scidsand/scale-ha.png b/theme/scid/scidsand/scale-ha.png new file mode 100644 index 0000000..0ac94a5 Binary files /dev/null and b/theme/scid/scidsand/scale-ha.png differ diff --git a/theme/scid/scidsand/scale-hd.png b/theme/scid/scidsand/scale-hd.png new file mode 100644 index 0000000..eec2a1d Binary files /dev/null and b/theme/scid/scidsand/scale-hd.png differ diff --git a/theme/scid/scidsand/scale-hn.png b/theme/scid/scidsand/scale-hn.png new file mode 100644 index 0000000..5469b2a Binary files /dev/null and b/theme/scid/scidsand/scale-hn.png differ diff --git a/theme/scid/scidsand/scale-va.png b/theme/scid/scidsand/scale-va.png new file mode 100644 index 0000000..0ac94a5 Binary files /dev/null and b/theme/scid/scidsand/scale-va.png differ diff --git a/theme/scid/scidsand/scale-vd.png b/theme/scid/scidsand/scale-vd.png new file mode 100644 index 0000000..eec2a1d Binary files /dev/null and b/theme/scid/scidsand/scale-vd.png differ diff --git a/theme/scid/scidsand/scale-vn.png b/theme/scid/scidsand/scale-vn.png new file mode 100644 index 0000000..5469b2a Binary files /dev/null and b/theme/scid/scidsand/scale-vn.png differ diff --git a/theme/scid/scidsand/scaletrough-h.png b/theme/scid/scidsand/scaletrough-h.png new file mode 100644 index 0000000..1f39e5c Binary files /dev/null and b/theme/scid/scidsand/scaletrough-h.png differ diff --git a/theme/scid/scidsand/scaletrough-hp.png b/theme/scid/scidsand/scaletrough-hp.png new file mode 100644 index 0000000..c8d505c Binary files /dev/null and b/theme/scid/scidsand/scaletrough-hp.png differ diff --git a/theme/scid/scidsand/scaletrough-v.png b/theme/scid/scidsand/scaletrough-v.png new file mode 100644 index 0000000..6cb7256 Binary files /dev/null and b/theme/scid/scidsand/scaletrough-v.png differ diff --git a/theme/scid/scidsand/scaletrough-vp.png b/theme/scid/scidsand/scaletrough-vp.png new file mode 100644 index 0000000..7865efb Binary files /dev/null and b/theme/scid/scidsand/scaletrough-vp.png differ diff --git a/theme/scid/scidsand/sep-h.png b/theme/scid/scidsand/sep-h.png new file mode 100644 index 0000000..a7f3ed9 Binary files /dev/null and b/theme/scid/scidsand/sep-h.png differ diff --git a/theme/scid/scidsand/sep-v.png b/theme/scid/scidsand/sep-v.png new file mode 100644 index 0000000..17a11fb Binary files /dev/null and b/theme/scid/scidsand/sep-v.png differ diff --git a/theme/scid/scidsand/sizegrip.png b/theme/scid/scidsand/sizegrip.png new file mode 100644 index 0000000..531e875 Binary files /dev/null and b/theme/scid/scidsand/sizegrip.png differ diff --git a/theme/scid/scidsand/spinarrowdown-a.png b/theme/scid/scidsand/spinarrowdown-a.png new file mode 100644 index 0000000..9a56f5b Binary files /dev/null and b/theme/scid/scidsand/spinarrowdown-a.png differ diff --git a/theme/scid/scidsand/spinarrowdown-af.png b/theme/scid/scidsand/spinarrowdown-af.png new file mode 100644 index 0000000..5e5dce2 Binary files /dev/null and b/theme/scid/scidsand/spinarrowdown-af.png differ diff --git a/theme/scid/scidsand/spinarrowdown-p.png b/theme/scid/scidsand/spinarrowdown-p.png new file mode 100644 index 0000000..9a56f5b Binary files /dev/null and b/theme/scid/scidsand/spinarrowdown-p.png differ diff --git a/theme/scid/scidsand/spinarrowdown-pa.png b/theme/scid/scidsand/spinarrowdown-pa.png new file mode 100644 index 0000000..9bc2600 Binary files /dev/null and b/theme/scid/scidsand/spinarrowdown-pa.png differ diff --git a/theme/scid/scidsand/spinarrowdown-paf.png b/theme/scid/scidsand/spinarrowdown-paf.png new file mode 100644 index 0000000..31b0c84 Binary files /dev/null and b/theme/scid/scidsand/spinarrowdown-paf.png differ diff --git a/theme/scid/scidsand/spinarrowup-a.png b/theme/scid/scidsand/spinarrowup-a.png new file mode 100644 index 0000000..94d07f0 Binary files /dev/null and b/theme/scid/scidsand/spinarrowup-a.png differ diff --git a/theme/scid/scidsand/spinarrowup-af.png b/theme/scid/scidsand/spinarrowup-af.png new file mode 100644 index 0000000..014bf88 Binary files /dev/null and b/theme/scid/scidsand/spinarrowup-af.png differ diff --git a/theme/scid/scidsand/spinarrowup-p.png b/theme/scid/scidsand/spinarrowup-p.png new file mode 100644 index 0000000..94d07f0 Binary files /dev/null and b/theme/scid/scidsand/spinarrowup-p.png differ diff --git a/theme/scid/scidsand/spinarrowup-pa.png b/theme/scid/scidsand/spinarrowup-pa.png new file mode 100644 index 0000000..2782c3e Binary files /dev/null and b/theme/scid/scidsand/spinarrowup-pa.png differ diff --git a/theme/scid/scidsand/spinarrowup-paf.png b/theme/scid/scidsand/spinarrowup-paf.png new file mode 100644 index 0000000..5d578fb Binary files /dev/null and b/theme/scid/scidsand/spinarrowup-paf.png differ diff --git a/theme/scid/scidsand/surface.png b/theme/scid/scidsand/surface.png new file mode 100644 index 0000000..d9dd7d7 Binary files /dev/null and b/theme/scid/scidsand/surface.png differ diff --git a/theme/scid/scidsand/tab-a.png b/theme/scid/scidsand/tab-a.png new file mode 100644 index 0000000..fa540c0 Binary files /dev/null and b/theme/scid/scidsand/tab-a.png differ diff --git a/theme/scid/scidsand/tab-n.png b/theme/scid/scidsand/tab-n.png new file mode 100644 index 0000000..6f014ec Binary files /dev/null and b/theme/scid/scidsand/tab-n.png differ diff --git a/theme/scid/scidsand/tab-s.png b/theme/scid/scidsand/tab-s.png new file mode 100644 index 0000000..fa540c0 Binary files /dev/null and b/theme/scid/scidsand/tab-s.png differ diff --git a/theme/scid/scidsand/toolbutton-a.png b/theme/scid/scidsand/toolbutton-a.png new file mode 100644 index 0000000..6300e9f Binary files /dev/null and b/theme/scid/scidsand/toolbutton-a.png differ diff --git a/theme/scid/scidsand/toolbutton-d.png b/theme/scid/scidsand/toolbutton-d.png new file mode 100644 index 0000000..6468ccb Binary files /dev/null and b/theme/scid/scidsand/toolbutton-d.png differ diff --git a/theme/scid/scidsand/toolbutton-n.png b/theme/scid/scidsand/toolbutton-n.png new file mode 100644 index 0000000..38576b1 Binary files /dev/null and b/theme/scid/scidsand/toolbutton-n.png differ diff --git a/theme/scid/scidsand/toolbutton-p.png b/theme/scid/scidsand/toolbutton-p.png new file mode 100644 index 0000000..59c4196 Binary files /dev/null and b/theme/scid/scidsand/toolbutton-p.png differ diff --git a/theme/scid/scidsand/toolbutton-pa.png b/theme/scid/scidsand/toolbutton-pa.png new file mode 100644 index 0000000..14221bc Binary files /dev/null and b/theme/scid/scidsand/toolbutton-pa.png differ diff --git a/theme/scid/scidsand/tree-d.png b/theme/scid/scidsand/tree-d.png new file mode 100644 index 0000000..4cbf3e9 Binary files /dev/null and b/theme/scid/scidsand/tree-d.png differ diff --git a/theme/scid/scidsand/tree-h.png b/theme/scid/scidsand/tree-h.png new file mode 100644 index 0000000..1937e42 Binary files /dev/null and b/theme/scid/scidsand/tree-h.png differ diff --git a/theme/scid/scidsand/tree-n.png b/theme/scid/scidsand/tree-n.png new file mode 100644 index 0000000..1937e42 Binary files /dev/null and b/theme/scid/scidsand/tree-n.png differ diff --git a/theme/scid/scidsand/tree-p.png b/theme/scid/scidsand/tree-p.png new file mode 100644 index 0000000..09773a4 Binary files /dev/null and b/theme/scid/scidsand/tree-p.png differ diff --git a/theme/ttk_theme_dark.tcl b/theme/ttk_theme_dark.tcl new file mode 100644 index 0000000..4342a93 --- /dev/null +++ b/theme/ttk_theme_dark.tcl @@ -0,0 +1,166 @@ +# black.tcl - +# +# Experimental! +# +# Copyright (c) 2007-2008 Mats Bengtsson +# +# $Id: black.tcl,v 1.2 2009/10/25 19:21:30 oberdorfer Exp $ + +package require Tk + +namespace eval ttk::theme::dark { + variable version 0.0.1 + variable dir [file dirname [info script]] + + package provide ttk::theme::dark $version + + # NB: These colors must be in sync with the ones in black.rdb + + variable colors + array set colors { + -disabledfg "#a9a9a9" + -frame "#1e1e1e" + -lightframe "#3d3d3d" + -dark "#222222" + -darker "#121212" + -darkest "#000000" + -lighter "#626262" + -lightest "#ffffff" + -selectbg "#4a6984" + -selectfg "#ffffff" + -foreground "#cecbc9" + } + + ttk::style theme create dark -parent clam -settings { + + # ----------------------------------------------------------------- + # Theme defaults + # + ttk::style configure . \ + -background $colors(-frame) \ + -foreground #ffffff \ + -bordercolor $colors(-darkest) \ + -darkcolor $colors(-dark) \ + -lightcolor $colors(-lighter) \ + -troughcolor $colors(-darker) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -selectborderwidth 0 \ + -font "{Droid Sans Mono} 10" + + ttk::style map "." \ + -background [list disabled $colors(-frame) \ + active $colors(-lighter)] \ + -foreground [list disabled $colors(-disabledfg)] \ + -selectbackground [list !focus $colors(-darkest)] \ + -selectforeground [list !focus #ffffff] + + # ttk widgets. + ttk::style configure TButton \ + -width -8 -padding {5 1} -relief link + ttk::style configure TMenubutton \ + -width -11 -padding {5 1} -relief raised + ttk::style configure TCheckbutton \ + -indicatorbackground "#ffffff" -indicatormargin {1 1 4 1} + ttk::style configure TRadiobutton \ + -indicatorbackground "#ffffff" -indicatormargin {1 1 4 1} + + # ttk::style configure TEntry -fieldbackground #ffffff -foreground #000000 -padding {2 0} + ttk::style configure TEntry -fieldbackground $colors(-lightframe) -foreground #ffffff -padding {2 0} + + ttk::style configure TCombobox \ + -fieldbackground $colors(-lightframe) \ + -foreground #ffffff \ + -padding {2 0} + ttk::style configure TSpinbox \ + -fieldbackground $colors(-lightframe) \ + -foreground #ffffff + + ttk::style configure TNotebook.Tab \ + -padding {6 2 6 2} + + #ttk::style configure TPanedwindow -fieldbackground #ffffff -foreground #000000 + #ttk::style configure TPanedwindow -background red -foreground blue + + # tk widgets. + ttk::style map Menu \ + -background [list active $colors(-lighter)] \ + -foreground [list disabled $colors(-disabledfg)] + + ttk::style configure Treeview \ + -background $colors(-lightframe) -itembackground {gray60 gray50} \ + -itemfill #ffffff -itemaccentfill yellow \ + -fieldbackground $colors(-lightframe) + + ttk::style configure Text \ + -linemapbg [list active $colors(-frame)]\ + -linemapbg [list active $colors(-disabledfg)]\ + -background [list active $colors(-lighter)] \ + -foreground [list disabled $colors(-disabledfg)] + + ttk::style configure TLabel -foreground $colors(-disabledfg) -padding {2 0} + + # ttk::style configure TreeCtrl \ + # -background gray30 -itembackground {gray60 gray50} \ + # -itemfill #ffffff -itemaccentfill yellow + option add *Toplevel.Background $colors(-dark) interactive + option add *Text.Foreground $colors(-foreground) interactive + option add *Text.Background $colors(-frame) interactive + + # option add *Text.Insertbackground yellow interactive + # option add *Text.BorderWidth -2 interactive + # option add *Text.selectBorderWidth -2 interactive + # option add *Text.Relief flat interactive + option add *Text.Font "{Noto Sans Mono} 10" interactive + #option add *BorderWidth -2 interactive + } + #option add *Treeview.Background red interactive + # option add *Frame.Background $colors(-frame) interactive + # option add *Label.Background $colors(-frame) interactive + # option add *Label.Foreground $colors(-foreground) interactive + # option add *Entry.Background $colors(-frame) interactive + # option add *Entry.Foreground $colors(-foreground) interactive +} + +# A few tricks for Tablelist. + +namespace eval ::tablelist:: { + proc blackTheme {} { + variable themeDefaults + + array set colors [array get ttk::theme::dark::colors] + + array set themeDefaults [list \ + -background "#000000" \ + -foreground "#ffffff" \ + -disabledforeground $colors(-disabledfg) \ + -stripebackground "#191919" \ + -selectbackground "#4a6984" \ + -selectforeground "#8b8b00" \ + -selectborderwidth 0 \ + -font TkTextFont \ + -labelbackground $colors(-frame) \ + -labeldisabledBg "#dcdad5" \ + -labelactiveBg "#eeebe7" \ + -labelpressedBg "#eeebe7" \ + -labelforeground #ffffff \ + -labeldisabledFg "#999999" \ + -labelactiveFg #ffffff \ + -labelpressedFg #ffffff \ + -labelfont TkDefaultFont \ + -labelborderwidth 2 \ + -labelpady 1 \ + -arrowcolor "" \ + -arrowstyle sunken10x9 ] + } +} + + + + + + + + + + diff --git a/theme/yaru/yaru.tcl b/theme/yaru/yaru.tcl new file mode 100644 index 0000000..08c22da --- /dev/null +++ b/theme/yaru/yaru.tcl @@ -0,0 +1,417 @@ +# Copyright (c) 2021 rdbende +# Copyright (c) 2020 RedFantom +# Derived from Ubuntu Yaru theme, Copyright (c) 2018-2020 The Yaru theme authors +# See for a list of authors for the Yaru theme + +package require Tk 8.6 + +namespace eval ttk::theme::yaru { + + variable version 1.2 + package provide ttk::theme::yaru $version + variable colors + array set colors { + -fg "#3d3d3d" + -bg "#f7f7f7" + -disabledfg "#8b8e8f" + -disabledbg "#f7f7f7" + -selectfg "#f7f7f7" + -selectbg "#e95420" + } + + proc LoadImages {imgdir} { + variable I + foreach file [glob -directory $imgdir *.png] { + set img [file tail [file rootname $file]] + set I($img) [image create photo -file $file -format png] + } + } + + LoadImages [file join [file dirname [info script]] yaru] + + # Settings + ttk::style theme create yaru -parent default -settings { + ttk::style configure . \ + -background $colors(-bg) \ + -foreground $colors(-fg) \ + -troughcolor $colors(-bg) \ + -focuscolor $colors(-selectbg) \ + -selectbackground $colors(-selectbg) \ + -selectforeground $colors(-selectfg) \ + -fieldbackground $colors(-selectbg) \ + -font TkDefaultFont \ + -borderwidth 1 \ + -relief flat + + ttk::style map . -foreground [list disabled $colors(-disabledfg)] + + tk_setPalette background [ttk::style lookup . -background] \ + foreground [ttk::style lookup . -foreground] \ + highlightColor [ttk::style lookup . -focuscolor] \ + selectBackground [ttk::style lookup . -selectbackground] \ + selectForeground [ttk::style lookup . -selectforeground] \ + activeBackground [ttk::style lookup . -selectbackground] \ + activeForeground [ttk::style lookup . -selectforeground] + option add *font [ttk::style lookup . -font] + + + # Layouts + ttk::style layout TButton { + Button.button -children { + Button.padding -children { + Button.label -side left -expand true + } + } + } + + ttk::style layout Toolbutton { + Toolbutton.button -children { + Toolbutton.padding -children { + Toolbutton.label -side left -expand true + } + } + } + + ttk::style layout TMenubutton { + Menubutton.button -children { + Menubutton.padding -children { + Menubutton.indicator -side right + Menubutton.label -side right -expand true + } + } + } + + ttk::style layout TOptionMenu { + OptionMenu.button -children { + OptionMenu.padding -children { + OptionMenu.indicator -side right + OptionMenu.label -side right -expand true + } + } + } + + ttk::style layout TCheckbutton { + Checkbutton.button -children { + Checkbutton.padding -children { + Checkbutton.indicator -side left + Checkbutton.label -side right -expand true + } + } + } + + ttk::style layout TRadiobutton { + Radiobutton.button -children { + Radiobutton.padding -children { + Radiobutton.indicator -side left + Radiobutton.label -side right -expand true + } + } + } + + ttk::style layout Vertical.TScrollbar { + Vertical.Scrollbar.trough -sticky ns -children { + Vertical.Scrollbar.thumb -expand true + } + } + + ttk::style layout Horizontal.TScrollbar { + Horizontal.Scrollbar.trough -sticky ew -children { + Horizontal.Scrollbar.thumb -expand true + } + } + + ttk::style layout TCombobox { + Combobox.field -children { + Combobox.downarrow -side right -sticky {} + Combobox.padding -expand 1 -children { + Combobox.textarea + } + } + } + + ttk::style layout TSpinbox { + Spinbox.field -children { + null -side right -children { + Spinbox.uparrow -side top -sticky e + Spinbox.downarrow -side bottom -sticky s + } + Spinbox.padding -expand 0 -children { + Spinbox.textarea + } + } + } + + ttk::style layout Horizontal.TSeparator { + Horizontal.separator -sticky nswe + } + + ttk::style layout Vertical.TSeparator { + Vertical.separator -sticky nswe + } + + ttk::style layout TLabelframe { + Labelframe.border { + Labelframe.padding -expand 1 -children { + Labelframe.label -side right + } + } + } + + ttk::style layout TNotebook.Tab { + Notebook.tab -children { + Notebook.padding -side top -children { + Notebook.label -side top -sticky {} + } + } + } + + ttk::style layout Treeview.Item { + Treeitem.padding -sticky nswe -children { + Treeitem.indicator -side left -sticky {} + Treeitem.image -side left -sticky {} + Treeitem.text -side left -sticky {} + } + } + + # Button + ttk::style configure TButton -padding 4 -width 10 -anchor center + + ttk::style element create Button.button \ + image [list $I(button-basic) \ + disabled $I(button-disabled) \ + pressed $I(button-pressed) \ + active $I(button-basic) \ + ] -border 4 -sticky news + + # Toolbutton + ttk::style configure Toolbutton -padding 4 -width 10 -anchor center + + ttk::style element create Toolbutton.button \ + image [list $I(empty) \ + disabled $I(empty) \ + pressed $I(button-pressed) \ + active $I(button-pressed) \ + ] -border 4 -sticky news + + # Menubutton + ttk::style configure TMenubutton -padding 4 + + ttk::style element create Menubutton.button \ + image [list $I(button-basic) \ + disabled $I(button-disabled) \ + pressed $I(button-pressed) \ + active $I(button-basic) \ + ] -border 4 -sticky news + + ttk::style element create Menubutton.indicator image $I(arrow-down-basic) -width 25 -sticky e + + # OptionMenu + ttk::style configure TOptionMenu -padding 4 + + ttk::style element create OptionMenu.button \ + image [list $I(button-basic) \ + disabled $I(button-disabled) \ + pressed $I(button-pressed) \ + active $I(button-basic) \ + ] -border 4 -sticky news + + ttk::style element create OptionMenu.indicator image $I(arrow-down-basic) -width 25 -sticky e + + # Checkbutton + ttk::style configure TCheckbutton -padding 4 + + ttk::style element create Checkbutton.indicator \ + image [list $I(checkbox-basic) \ + disabled $I(checkbox-basic) \ + {selected disabled} $I(checkbox-selected-dis) \ + {pressed selected} $I(checkbox-selected) \ + {active selected} $I(checkbox-selected) \ + selected $I(checkbox-selected) \ + {pressed !selected} $I(checkbox-basic) \ + active $I(checkbox-basic) \ + ] -width 20 -sticky w + + # Radiobutton + ttk::style configure TRadiobutton -padding 4 + + ttk::style element create Radiobutton.indicator \ + image [list $I(radio-basic) \ + disabled $I(radio-basic) \ + {selected disabled} $I(radio-selected-dis) \ + {pressed selected} $I(radio-selected) \ + {active selected} $I(radio-selected) \ + selected $I(radio-selected) \ + {pressed !selected} $I(radio-basic) \ + active $I(radio-basic) \ + ] -width 20 -sticky w + + # Scrollbar + ttk::style element create Horizontal.Scrollbar.trough image $I(scrollbar-hor-trough) \ + -border 2 -sticky ew + + ttk::style element create Horizontal.Scrollbar.thumb \ + image [list $I(scrollbar-hor-gray) \ + disabled $I(scrollbar-hor-gray) \ + pressed $I(scrollbar-hor-orange) \ + active $I(scrollbar-hor-orange) \ + ] -border 1 -sticky ew + + ttk::style element create Vertical.Scrollbar.trough image $I(scrollbar-vert-trough) \ + -border 2 -sticky ns + + ttk::style element create Vertical.Scrollbar.thumb \ + image [list $I(scrollbar-vert-gray) \ + disabled $I(scrollbar-vert-gray) \ + pressed $I(scrollbar-vert-orange) \ + active $I(scrollbar-vert-orange) \ + ] -border 1 -sticky ns + + # Scale + ttk::style element create Horizontal.Scale.trough \ + image [ list $I(scale-trough) \ + disabled $I(scale-trough-disabled) + ] -border 9 -padding 0 + + ttk::style element create Horizontal.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider) \ + pressed $I(scale-slider-hover) \ + active $I(scale-slider-hover) \ + ] -sticky news + + ttk::style element create Vertical.Scale.trough \ + image [ list $I(scale-trough) \ + disabled $I(scale-trough-disabled) + ] -border 9 -padding 0 + + ttk::style element create Vertical.Scale.slider \ + image [list $I(scale-slider) \ + disabled $I(scale-slider) \ + pressed $I(scale-slider-hover) \ + active $I(scale-slider-hover) \ + ] -sticky news + + # Progressbar + ttk::style element create Horizontal.Progressbar.trough image $I(progressbar-trough-hor) \ + -border 2 -sticky ew + + ttk::style element create Horizontal.Progressbar.pbar image $I(progressbar-hor) \ + -border 2 -sticky ew + + ttk::style element create Vertical.Progressbar.trough image $I(progressbar-trough-hor) \ + -border 2 -sticky ns + + ttk::style element create Vertical.Progressbar.pbar image $I(progressbar-hor) \ + -border 2 -sticky ns + + # Entry + ttk::style element create Entry.field \ + image [list $I(entry-basic) \ + {focus hover} $I(entry-focus) \ + invalid $I(entry-focus) \ + disabled $I(entry-disabled) \ + focus $I(entry-focus) \ + hover $I(entry-basic) \ + ] -border 4 -padding 8 -sticky news + + # Combobox + ttk::style map TCombobox -selectbackground [list \ + {!focus} $colors(-selectbg) \ + {readonly hover} $colors(-selectbg) \ + {readonly focus} $colors(-selectbg)] + + ttk::style map TCombobox -selectforeground [list \ + {!focus} $colors(-selectfg) \ + {readonly hover} $colors(-selectfg) \ + {readonly focus} $colors(-selectfg)] + + ttk::style element create Combobox.field \ + image [list $I(entry-basic) \ + {readonly disabled} $I(button-disabled) \ + {readonly pressed} $I(button-pressed) \ + {readonly focus hover} $I(button-basic) \ + {readonly focus} $I(button-basic) \ + {readonly hover} $I(button-basic) \ + {focus hover} $I(entry-focus) \ + readonly $I(button-basic) \ + disabled $I(entry-disabled) \ + focus $I(entry-focus) \ + hover $I(entry-basic) \ + ] -border 4 -padding 8 + + ttk::style element create Combobox.downarrow image $I(arrow-down-basic) \ + -width 25 -sticky e + + # Spinbox + ttk::style element create Spinbox.field \ + image [list $I(entry-basic) \ + disabled $I(entry-disabled) \ + focus $I(entry-focus) \ + hover $I(entry-basic) \ + ] -border 4 -padding 8 -sticky news + + ttk::style element create Spinbox.uparrow \ + image [list $I(arrow-up-basic) \ + disabled $I(arrow-up-hover) \ + pressed $I(arrow-up-hover) \ + active $I(arrow-up-hover) \ + ] -width 15 -sticky e + + ttk::style element create Spinbox.downarrow \ + image [list $I(arrow-down-basic) \ + disabled $I(arrow-down-hover) \ + pressed $I(arrow-down-hover) \ + active $I(arrow-down-hover) \ + ] -width 15 -sticky e + + # Sizegrip + ttk::style element create Sizegrip.sizegrip image $I(sizegrip) \ + -sticky news + + # Separator + ttk::style element create Horizontal.separator image $I(separator) + + ttk::style element create Vertical.separator image $I(separator) + + # Labelframe + ttk::style element create Labelframe.border image $I(checkbox-basic) \ + -border 4 -padding 4 -sticky news + + # Notebook + ttk::style element create Notebook.client \ + image $I(checkbox-basic) -border 4 + + ttk::style element create Notebook.tab \ + image [list $I(tab-basic) \ + selected $I(tab-current) \ + active $I(tab-hover) \ + ] -border 6 -padding {14 10} -sticky news + + # Treeview + ttk::style element create Treeview.field image $I(checkbox-basic) \ + -border 4 + + ttk::style element create Treeheading.cell \ + image [list $I(tree-basic) \ + pressed $I(tree-pressed) + ] -border 10 -padding 4 -sticky news + + ttk::style element create Treeitem.indicator \ + image [list $I(plus) \ + user2 $I(empty) \ + user1 $I(minus) \ + ] -width 15 -sticky w + + ttk::style configure Treeview -background $colors(-bg) + ttk::style configure Treeview.Item + ttk::style map Treeview \ + -background [list selected $colors(-selectbg)] \ + -foreground [list selected $colors(-selectfg)] + + # Sashes + ttk::style configure TPanedwindow \ + -width 1 -padding 0 + ttk::style map TPanedwindow \ + -background [list hover $colors(-bg)] + } +} diff --git a/theme/yaru/yaru/arrow-down-basic.png b/theme/yaru/yaru/arrow-down-basic.png new file mode 100644 index 0000000..dc3522b Binary files /dev/null and b/theme/yaru/yaru/arrow-down-basic.png differ diff --git a/theme/yaru/yaru/arrow-down-hover.png b/theme/yaru/yaru/arrow-down-hover.png new file mode 100644 index 0000000..23fa671 Binary files /dev/null and b/theme/yaru/yaru/arrow-down-hover.png differ diff --git a/theme/yaru/yaru/arrow-up-basic.png b/theme/yaru/yaru/arrow-up-basic.png new file mode 100644 index 0000000..b8591f0 Binary files /dev/null and b/theme/yaru/yaru/arrow-up-basic.png differ diff --git a/theme/yaru/yaru/arrow-up-hover.png b/theme/yaru/yaru/arrow-up-hover.png new file mode 100644 index 0000000..9225437 Binary files /dev/null and b/theme/yaru/yaru/arrow-up-hover.png differ diff --git a/theme/yaru/yaru/button-basic.png b/theme/yaru/yaru/button-basic.png new file mode 100644 index 0000000..f933953 Binary files /dev/null and b/theme/yaru/yaru/button-basic.png differ diff --git a/theme/yaru/yaru/button-disabled.png b/theme/yaru/yaru/button-disabled.png new file mode 100644 index 0000000..da03c22 Binary files /dev/null and b/theme/yaru/yaru/button-disabled.png differ diff --git a/theme/yaru/yaru/button-pressed.png b/theme/yaru/yaru/button-pressed.png new file mode 100644 index 0000000..681fc3a Binary files /dev/null and b/theme/yaru/yaru/button-pressed.png differ diff --git a/theme/yaru/yaru/checkbox-basic.png b/theme/yaru/yaru/checkbox-basic.png new file mode 100644 index 0000000..810a330 Binary files /dev/null and b/theme/yaru/yaru/checkbox-basic.png differ diff --git a/theme/yaru/yaru/checkbox-selected-dis.png b/theme/yaru/yaru/checkbox-selected-dis.png new file mode 100644 index 0000000..396974d Binary files /dev/null and b/theme/yaru/yaru/checkbox-selected-dis.png differ diff --git a/theme/yaru/yaru/checkbox-selected.png b/theme/yaru/yaru/checkbox-selected.png new file mode 100644 index 0000000..186ca0d Binary files /dev/null and b/theme/yaru/yaru/checkbox-selected.png differ diff --git a/theme/yaru/yaru/empty.png b/theme/yaru/yaru/empty.png new file mode 100644 index 0000000..202e3de Binary files /dev/null and b/theme/yaru/yaru/empty.png differ diff --git a/theme/yaru/yaru/entry-basic.png b/theme/yaru/yaru/entry-basic.png new file mode 100644 index 0000000..f933953 Binary files /dev/null and b/theme/yaru/yaru/entry-basic.png differ diff --git a/theme/yaru/yaru/entry-disabled.png b/theme/yaru/yaru/entry-disabled.png new file mode 100644 index 0000000..188349f Binary files /dev/null and b/theme/yaru/yaru/entry-disabled.png differ diff --git a/theme/yaru/yaru/entry-focus.png b/theme/yaru/yaru/entry-focus.png new file mode 100644 index 0000000..585a749 Binary files /dev/null and b/theme/yaru/yaru/entry-focus.png differ diff --git a/theme/yaru/yaru/entry-hover.png b/theme/yaru/yaru/entry-hover.png new file mode 100644 index 0000000..357fbf4 Binary files /dev/null and b/theme/yaru/yaru/entry-hover.png differ diff --git a/theme/yaru/yaru/minus.png b/theme/yaru/yaru/minus.png new file mode 100644 index 0000000..8e96a79 Binary files /dev/null and b/theme/yaru/yaru/minus.png differ diff --git a/theme/yaru/yaru/plus.png b/theme/yaru/yaru/plus.png new file mode 100644 index 0000000..446ff48 Binary files /dev/null and b/theme/yaru/yaru/plus.png differ diff --git a/theme/yaru/yaru/progressbar-hor.png b/theme/yaru/yaru/progressbar-hor.png new file mode 100644 index 0000000..f0b9a23 Binary files /dev/null and b/theme/yaru/yaru/progressbar-hor.png differ diff --git a/theme/yaru/yaru/progressbar-trough-hor.png b/theme/yaru/yaru/progressbar-trough-hor.png new file mode 100644 index 0000000..bdbf1bc Binary files /dev/null and b/theme/yaru/yaru/progressbar-trough-hor.png differ diff --git a/theme/yaru/yaru/progressbar-trough-vert.png b/theme/yaru/yaru/progressbar-trough-vert.png new file mode 100644 index 0000000..d89da50 Binary files /dev/null and b/theme/yaru/yaru/progressbar-trough-vert.png differ diff --git a/theme/yaru/yaru/progressbar-vert.png b/theme/yaru/yaru/progressbar-vert.png new file mode 100644 index 0000000..6e40e6f Binary files /dev/null and b/theme/yaru/yaru/progressbar-vert.png differ diff --git a/theme/yaru/yaru/radio-basic.png b/theme/yaru/yaru/radio-basic.png new file mode 100644 index 0000000..221a3b2 Binary files /dev/null and b/theme/yaru/yaru/radio-basic.png differ diff --git a/theme/yaru/yaru/radio-mix.png b/theme/yaru/yaru/radio-mix.png new file mode 100644 index 0000000..7763ac4 Binary files /dev/null and b/theme/yaru/yaru/radio-mix.png differ diff --git a/theme/yaru/yaru/radio-selected-dis.png b/theme/yaru/yaru/radio-selected-dis.png new file mode 100644 index 0000000..129e058 Binary files /dev/null and b/theme/yaru/yaru/radio-selected-dis.png differ diff --git a/theme/yaru/yaru/radio-selected.png b/theme/yaru/yaru/radio-selected.png new file mode 100644 index 0000000..aabe1e1 Binary files /dev/null and b/theme/yaru/yaru/radio-selected.png differ diff --git a/theme/yaru/yaru/scale-slider-hover.png b/theme/yaru/yaru/scale-slider-hover.png new file mode 100644 index 0000000..7983e8e Binary files /dev/null and b/theme/yaru/yaru/scale-slider-hover.png differ diff --git a/theme/yaru/yaru/scale-slider.png b/theme/yaru/yaru/scale-slider.png new file mode 100644 index 0000000..f3d1115 Binary files /dev/null and b/theme/yaru/yaru/scale-slider.png differ diff --git a/theme/yaru/yaru/scale-trough-disabled.png b/theme/yaru/yaru/scale-trough-disabled.png new file mode 100644 index 0000000..11b8958 Binary files /dev/null and b/theme/yaru/yaru/scale-trough-disabled.png differ diff --git a/theme/yaru/yaru/scale-trough.png b/theme/yaru/yaru/scale-trough.png new file mode 100644 index 0000000..be2a8bc Binary files /dev/null and b/theme/yaru/yaru/scale-trough.png differ diff --git a/theme/yaru/yaru/scrollbar-hor-gray.png b/theme/yaru/yaru/scrollbar-hor-gray.png new file mode 100644 index 0000000..c230ec9 Binary files /dev/null and b/theme/yaru/yaru/scrollbar-hor-gray.png differ diff --git a/theme/yaru/yaru/scrollbar-hor-orange.png b/theme/yaru/yaru/scrollbar-hor-orange.png new file mode 100644 index 0000000..a6d2ecb Binary files /dev/null and b/theme/yaru/yaru/scrollbar-hor-orange.png differ diff --git a/theme/yaru/yaru/scrollbar-hor-purple.png b/theme/yaru/yaru/scrollbar-hor-purple.png new file mode 100644 index 0000000..cdecd2d Binary files /dev/null and b/theme/yaru/yaru/scrollbar-hor-purple.png differ diff --git a/theme/yaru/yaru/scrollbar-hor-trough.png b/theme/yaru/yaru/scrollbar-hor-trough.png new file mode 100644 index 0000000..3ca9c66 Binary files /dev/null and b/theme/yaru/yaru/scrollbar-hor-trough.png differ diff --git a/theme/yaru/yaru/scrollbar-vert-gray.png b/theme/yaru/yaru/scrollbar-vert-gray.png new file mode 100644 index 0000000..6f3966c Binary files /dev/null and b/theme/yaru/yaru/scrollbar-vert-gray.png differ diff --git a/theme/yaru/yaru/scrollbar-vert-orange.png b/theme/yaru/yaru/scrollbar-vert-orange.png new file mode 100644 index 0000000..c597d67 Binary files /dev/null and b/theme/yaru/yaru/scrollbar-vert-orange.png differ diff --git a/theme/yaru/yaru/scrollbar-vert-purple.png b/theme/yaru/yaru/scrollbar-vert-purple.png new file mode 100644 index 0000000..7853073 Binary files /dev/null and b/theme/yaru/yaru/scrollbar-vert-purple.png differ diff --git a/theme/yaru/yaru/scrollbar-vert-trough.png b/theme/yaru/yaru/scrollbar-vert-trough.png new file mode 100644 index 0000000..b124e24 Binary files /dev/null and b/theme/yaru/yaru/scrollbar-vert-trough.png differ diff --git a/theme/yaru/yaru/separator.png b/theme/yaru/yaru/separator.png new file mode 100644 index 0000000..d446e27 Binary files /dev/null and b/theme/yaru/yaru/separator.png differ diff --git a/theme/yaru/yaru/sizegrip.png b/theme/yaru/yaru/sizegrip.png new file mode 100644 index 0000000..3d1a712 Binary files /dev/null and b/theme/yaru/yaru/sizegrip.png differ diff --git a/theme/yaru/yaru/tab-basic.png b/theme/yaru/yaru/tab-basic.png new file mode 100644 index 0000000..80880b6 Binary files /dev/null and b/theme/yaru/yaru/tab-basic.png differ diff --git a/theme/yaru/yaru/tab-current.png b/theme/yaru/yaru/tab-current.png new file mode 100644 index 0000000..b4bd334 Binary files /dev/null and b/theme/yaru/yaru/tab-current.png differ diff --git a/theme/yaru/yaru/tab-hover.png b/theme/yaru/yaru/tab-hover.png new file mode 100644 index 0000000..fef2099 Binary files /dev/null and b/theme/yaru/yaru/tab-hover.png differ diff --git a/theme/yaru/yaru/tree-basic.png b/theme/yaru/yaru/tree-basic.png new file mode 100644 index 0000000..1b7e0e4 Binary files /dev/null and b/theme/yaru/yaru/tree-basic.png differ diff --git a/theme/yaru/yaru/tree-pressed.png b/theme/yaru/yaru/tree-pressed.png new file mode 100644 index 0000000..2acb4a0 Binary files /dev/null and b/theme/yaru/yaru/tree-pressed.png differ