• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..10-Mar-2018-

source/H18-Mar-2018-11,4397,227

CHANGELOGH A D18-Mar-201850.1 KiB1,048917

COPYINGH A D14-Mar-201017.6 KiB341281

READMEH A D13-Mar-20183.7 KiB8165

TODOH A D07-Dec-2017136 75

README

1   Kickshaw - A Menu Editor for Openbox
2
3   Copyright (c) 2010–2018        Marcus Schätzle
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 2 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License along
16   with Kickshaw. If not, see http://www.gnu.org/licenses/.
17
18
19---
20
21REQUIREMENTS
22
23Dependencies: GTK version 2.6 or higher; the code makes use of GNU
24extensions. Kickshaw is not dependent on Openbox; it can be used inside all
25window managers/desktop environments that support GTK applications to
26create and edit menu files. A makefile is included in the source directory.
27"make" and "make install" are sufficient to compile and install this
28program; there is no configure script file which has to be started first.
29
30IMPORTANT NOTES
31
32From version 0.5 on this program has all essential plus some additional
33features. This is the first release considered by the author to be stable
34and bug-free enough, as to his knowledge achieved by own reviewing and
35testing.
36Additional input to enhance the program further is of course
37appreciated, since one author alone has always his own "limited view".
38There are some additional features planned for the future (see the TODO
39file for these), but they rather fall into the "luxury" category;
40priority from now on is a stable and as bug-free as possible program.
41
42Even though the program can cope with whitespace and several tags that
43are nested into each other, the menu xml file has to be syntactically
44correct, or it won't be loaded properly or at all. In this case the
45program gives a detailed error message, if possible.
46
47FEATURES
48
49- Dynamic, context sensitive interface
50- The tree view can be customised (show/hide columns, grid etc.)
51- Context menus
52- Editable cells (dependent on the type of the cell)
53- Support for icons. Changes done outside the program to the image files,
54  for example a replacement of the image file with a new one under the
55  same name, are taken over within a second, and the program will show the
56  new image.
57- (Multirow) Drag and drop
58- The options of an "Execute" action and "startupnotify" option block can
59  be auto-sorted to obtain a constant menu structure
60- Search functionality (incl. processing of regular expressions)
61- Multiple selections (hold ctrl/shift key) can be used for mass deletions
62  or multirow drag and drop
63- Entering an existing Menu ID is prevented
64- The program informs the user if there are missing menu/item labels,
65  invalid icon paths and menus defined outside the root menu that are not
66  included inside the latter. By request the program creates labels for
67  these invisible menus/items, integrates the orphaned menus into the root
68  menu and opens a file chooser dialog so invalid icon paths can be
69  corrected.
70- Deprecated "execute" options are converted to "command" options.
71- Fast and compact, avoidance of overhead (programmed natively in C,
72  only one additional settings file created by the program itself,
73  no use of Glade)
74
75SPECIAL NOTE ABOUT DRAG AND DROP
76
77GTK does not support multirow drag and drop, that's why only one row is
78shown as dragged if mulitple rows have been selected for drag and drop.
79There is a workaround for this, but as good as it works for list views
80it doesn't for tree views, so it wasn't implemented here.
81