Commit Graph

36 Commits

Author SHA1 Message Date
TLINDEN
08cb2a0962 FIXED: Applied patch by Elmar Loos which fixes misbehavior for
-t and -T (identical output)
FIXED:          Fixed import bug which omitted the timestamp of the last
                entry, supmitted by Bill Barnard.
FIXED:          Fixed another import "bug" (or design flaw) which caused
                imported notes to get new numbering after importing them.
                Submitted by Bill Barnard.
CHANGED:        Until 1.3.4 missing Crypt:: modules lead to unencrypted
                fallback by note. From 1.3.5 on this will no more happen,
                it croaks now until you install the desired modules
                or modify your configuration to use no encryption.
CHANGED:        default config and default settings without config have
                been changed. They are now simpler, no colours or anything
                so that it works better out of the box in any terminal
                window or shell (e.g. on dark ones or the like).
ADDED:          New interactive mode command: "c". It is now possible to
                change note's behavior at runtime. No database related
                parameters can be modified.
2012-02-10 20:34:04 +01:00
TLINDEN
80b38b5f6f - 2012-02-10 20:32:35 +01:00
TLINDEN
7b47e6bb10 ADDED: new configfile parameter PrintLines (default: YES), which
controls wether listings are separated by horizontal lines.
2012-02-10 20:32:00 +01:00
TLINDEN
8779f24249 - 2012-02-10 20:31:48 +01:00
TLINDEN
b2b5cea5ec FIXED: most config variables not related to drivers had
invalid sentence in note, so the new ones of the new config
                were ignored.
FIXED:          added version to NOTEDB::text.
FIXED:          fixed handling of NOTEDB::crypt_supported, now encryption
                works again.
ADDED:          NOTEDB::text now supports internal caching too.
CHANGED:        lock() sets the umask internally to 022, so that other
                users are able to read the lockfile.
2012-02-10 20:31:13 +01:00
TLINDEN
773584e400 - 2012-02-10 20:30:38 +01:00
TLINDEN
23c301be2a FIXED: the binary driver (NOTEDB::binary) encounters now if a note
entry is bigger then MaxNoteByte. It prints the overlapping
                part to STDERR, and a warning message and finally saves
                the complete, unchanged note entry to an external text file.
2012-02-10 20:30:10 +01:00
TLINDEN
c15c8ba731 FIXED: removed any file/path actions using '/'. replaced by portable
functions by using File::Spec. This makes it possible to run
                note unchanged on win32 (and possibly any other) environments.

FIXED:          added a whitespace to the prompt in interactive mode to
                circumvent a bug in the win32 Term::ReadLine module which causes
                the cursor to be displayed on the left side (column 0) of
                the screen.

FIXED:          added "or die" code to some commands which are running inside
                an eval{} block to fetch errors. Without the "or die"s no
                error could ever catched.

CHANGED:        removed HOME variable support of the noterc. in fact, if it
                exists, no error will occur, but it will no longer be used.
                It didn't work in older versions anyway.

ADDED:          It is now possible to quit note using CTRL-D (or: EOF)
2012-02-10 20:29:50 +01:00
TLINDEN
adb457de48 CHANGED: in the function find_editor() the alternatives vim and pico
has been removed because they would never had a match.
FIXED:          applied patch by Bill Barnard <bill@barnard-engineering.com>
                which fixes a bug in the sub format() which features bold
                hidden or underlined text. Now its possible to use a ^ char
                in hidden texts too. I applied the same for the other regexps.
ADDED:          if the config variable FormatText is set to 'simple' then
                only one * _ { or / will make the text tagged with them to
                be displayed formatted, instead of two.
ADDED:          added Term::ReadLine support (auto-completion and history).
2012-02-10 20:29:36 +01:00
TLINDEN
a43f27d328 ADDED: if FormatText is enabled one can now use a new special format
tag: //. If a text is surrounded by two slashes, i.e.: //blah//
                then it appears "invisible" by using blue forground and blue
                background color for displaying. This is handy for passwords
                since no nobody can grab you password by looking at your
                monitor, but you can copy&paste it.
2012-02-10 20:29:18 +01:00
TLINDEN
850a892bfb FIXED: oneliner note entries caused breaked displaying in interactive
mode.
FIXED:          list displaying in interactiv mode corrected. the width of the
                note number will now correctly used.
CHANGED:        the default setting of note will now be to use an external
                editor instead of stdin.
CHANGED:        the unneccessary apostrophes in listings has been removed.
ADDED:          the note version will be displayed in the titlebar of interactive
                mode.
ADDED:          new config variable AutoClear, which is turned on by default,
                which controls wether the screen shall be cleared after each
                item (display, list and so on).
2012-02-10 20:28:49 +01:00
TLINDEN
6c4ca1167c CHANGED: added the correct installation instructions to the README file.
REMOVED:        removed the usage guidelines from te README file. This information
                were redundant because its also contained in the manpage.
FIXED:          on FreeBSD the setting of MaxLen to 'auto' had no effect because the
                output of 'stty -a' which I use in note to determine the actual
                size of the terminal, is different from that on linux.
ADDED:          topics can now be abbreviated in interactive mode, which
                avoids typing. abbreviation works only if an explicit
                match could be found, otherwise the available topics that
                matches will be suggested.
2012-02-10 20:28:25 +01:00
TLINDEN
3f3206e506 CHANGED: using Makemaker instead of self-written code in Makefile.PL
for installation. No more dependency checks built-in because
                note runs out-of-the-box without additional modules, as a matter fact.
ADDED:          if a search matches exactly on one note it will be displayed
                directly, which avoids typing.
CHANGED:        the main if-else contruct for calling the several subs has
                been replaced by a simple closure call.
CHANGED:        notes will now displayed in a slightly simpler fashion in interactive
                mode, without the separator line between the title and the note.
ADDED:          note can now determine automatically the width and height of
                the terminal window it runs in (in interactive mode only) and
                sets the width/height of what it prints accordingly. the config
                variable "MaxLen" must be set to "auto" (which is the default
                from now on) to get this to work.
ADDED:          any interactive command will now clear the screen before it does
                anything. this look much more uncluttered.
ADDED:          if multiple notes are printed at once (i.e. note 1,2) then the
                separator line between them will no more being printed because
                every notes title is preceded by a line anyway.
CHANGED:        by default the default operation mode is now interactive mode,
                which is somewhat kindlier to new users.
CHANGED:        changed to order which editor note tries to find. vi got now
                higher precedence, because it is likely installed on almost
                any unix system.
CHANGED:        cosmetics.
NOTE:           increased minor version number from 1 to 2 to indicate that
                development begun after 2 1/2 years pause again :-)
2012-02-10 20:27:05 +01:00
TLINDEN
62ede07799 FIXED: Some odd typos in README and note.pod.
FIXED:          if ShortCd was on and one used "cd 3" and after that "cd .."
                then the current topic was wrong (empty $PATH).
FIXED:          if the current topic contained no notes and one created a new
                note without specifying a topic, then note did not add a
                proper topic (also because of empty $PATH).
CHANGED:        the default colors are now visible both on black and white
                backgrounds, see next entry.
ADDED:          two more color values: <white_black> and <bold>.
CHANGED:        the color hash is now in ::main instead of ::C.
2012-02-10 20:26:16 +01:00
TLINDEN
f548a0a1e2 - 2012-02-10 20:24:51 +01:00
TLINDEN
9cf564ffe4 CHANGED: does no more use the external touch command to create a new
file, use perls open() instead.
CHANGED:        excluded some of the help texts from the usage message and the
                interactive help command to a manpage.
ADDED:          new commandline flag "--encrypt" which one can use to encrypt
                the mysql database password. This will be decrypted before
                connecting to the db. There is also a new config file option
                "encrypt_passwd" which indicates an encrypted db-password.
ADDED:          another new config option "ShortCd", which can be set to "yes"
                or 1 and if set, then a command like "cd 13" would jump
                directly to the topic of the note with the number 13.
ADDED:          now you can at any time cd back to the "root" of the
                topic-structure using the command "cd /".
CHANGED:        mysql.pm does now only do a table-lock on single write
                accesses, no more on the whole session. This allows one to
                access the same db twice or more.
FIXED:          Changed README and Changelog for readability on 80 by 25
                displays. And changed indentation of the note script itself.
ADDED:          NOTEDB.pm - a generic module, which holds some methods, which
                are used by binary.pm, mysql.pm and dbm.pm.
ADDED:          NOTEDB.pm generate_search(), which allows one to
                use AND, OR and various combinations of them using ( and ).
ADDED:          a search does now return the 2nd line of a note if a matching
                note's first line is a topic.
CHANGED:        use "unshift" instead of push to add $libpath to @INC.
ADDED:          a new feature, Caching of notes. supported by binary.pm and
                mysql.pm. To turn it on, one need to set "Cache" in the config
                to a true value.
2012-02-10 20:22:49 +01:00
TLINDEN
788902c69d - 2012-02-10 20:22:14 +01:00
TLINDEN
0c293e4b81 FIXED: there was a bug in the search expression, use now \Q and \E.
ADDED:          --config <file> allows one to use another config than the default.
2012-02-10 20:15:52 +01:00
TLINDEN
7d308cde40 FIXED: there were some odd bugs in commandline parsing, some options were unavailable.
FIXED:          Forgot "PreferredEditor" config-option in the new config format.
FIXED:          the interactive "cd .." command has ignored the presence of a
                "DefaultLong" setting(and search too)... thx to Peter.
CHANGED:        Optimized a little bit the output routine, now it is better to read.
ADDED:          sub format and appropriate config-option for text formatting capabilities.
CHANGED:        changed getconfig regexp, which allows now also to use Option = Param.
FIXED:          was not possible to override config-options, which are set by default to
                something.
ADDED:          note chacks now, if a database os actually really encrypted and exits with
                an error if it s and the user turned off encryption. This protects her from
                destroying it's own database ..
2012-02-10 20:15:34 +01:00
TLINDEN
9a2d07e0e0 FIXED: the T (and t respectively) printed nothing out since 1.0.3! It does
it now again...
ADDED:          a new database backend added, NOTEDB::dbm, which uses DBM files for
                storage.
FIXED:          &display-tree returns now, if there is no note, otherwise it
                would die because of an undefined refernce.
CHANGED:        Changed the config file format completely. It is now no more a perl
                file, instead it is a simple plain text file which note parses.
CHANGED:        Changed the way, note loads it database backend. It uses now the
                $dbdriver variable as module-name, which makes it possible easily
                to write your own backend without the need to change note itself.
FIXED:          Removed Getopt::Long option "bundling", causes errors with perl
                5.6.0 and is not senceful.
FIXED:          Added the Getopt::Long option "no_ignore_case". In 1.0.4 options
                were case insensitive causing -i to be interpreted as --import
                instead of --interactive ;-(((
ADDED:          a new config option $DEFAULT_LIST, which causes note,  \
                if turned to "LONG", to use long-listing as default.    |
                But it will still be able to use short-listing if you   |
                explicit specify that.                                  |    submitted by
FIXED:          sub search prints now an appropriate error-message in   |==> Peter Palmreuther
                case no searchstring was given instead of jumping to    |    thanks a lot!
                usage.                                                  |
CHANGED:        Changed the text in the interactive help to reflect     |
                changes of verion 1.0.3 (t and T).                     /
2012-02-10 20:15:05 +01:00
TLINDEN
332db5a3dd CHANGED: Moved from @ARGV-parsing to Getopt::Long, adding options is now
much easier and I do now understand my own code ;-)
ADDED:          --raw, the "Raw Mode", which turns off any formatting of output.
2012-02-10 20:14:49 +01:00
TLINDEN
5b54b5f822 ADDED: "-" works also for --dump, but in the other direction. It causes
note to dump to standard output instead into a file.
ADDED:          you can specify - as filename for use with --import and if you want
                to create a new note. "-" stands for standardinput and it allows you
                tp pipe another commands output to note!
ADDED:          you can now use an environment variable for the passphrase (when using
                encryption). If it is presen, note will not ask for a passphrase. This
                is very usefull in comination with the addition above, for use in
                scripts.
CHANGED:        the interactive help screen is now coloured.
ADDED:          -o commandline switch, which causes note to overwrite an existing
                database when importing data from a previous dump. Very handy if
                you want to re-initialize your db, i.e. if you changed the format.
ADDED:          the long-tree-view (-T) displays now also the note-number of each
                note.
2012-02-10 20:14:24 +01:00
TLINDEN
26d9b1ce97 ADDED: Topic-Tree overview command (-t or -T).
ADDED:          Enhanced list command in interactive mode, you can now specify
                a topic which notes you want to see.
CHANGED:        updated the help and usage sections to reflect the additions above.
2012-02-10 20:14:10 +01:00
TLINDEN
2287e23f35 FIXED: fixed bug in NOTEDB::mysql, which caused note t store NULL values
in db, if encryption was off. A really dump failure :-(
2012-02-10 20:13:51 +01:00
TLINDEN
4a5dd8c4bd CHANGED: removed install.sh. use now a Makefile for installation.
ADDED:          Encryption support. Note can now encrypt notes using IDEA
                or DES as encryption-protocols(symetric).
2012-02-10 20:13:28 +01:00
TLINDEN
c38665373c FIXED: There were many new bugs after my last changes *grrrrr*. fixed.
Works now properly, with both backends!
FIXED:          and another bug: recounting of numbers did not take care about
                the existing order! If you deleted note #12, then note #13 became
                not neccessarily #12! Instead it becames any other number (kind of
                randomly...).
CHANGED:        NOTEDB::binary set_del function changed, it does no more require
                a temporary file for number recount. Instead it uses get_all and
                stores all notes in RAM and then rewrites the database.
FIXED:          fixed the set_new call within note. It used 0 as the first param
                (number) which is not useful since we dont have support for auto-
                increment from all database backends.
FIXED:          fixed the function set_recountnum in NITEDB::mysql, it was also
                incorrect :-((( 0.8 seemed to be a very bad early alpha...........
FIXED:          there was a bug in NOTEDB::binary which caused not to recount note
                numbers after deleting one :-(
2012-02-10 20:13:09 +01:00
TLINDEN
f54d187c47 ADDED: NOTEDB::binary. so now 0.8 is ready for shipping !
FIXED:          regexp bug fixed. It was only possible to delete 2 items together
                separated by comma ("d 1,2,3,4" deleted only 1,2!).
ADDED:          Some new config options which reflects the new module structure.
                So you can change your database backend without the need to
                replace the note script itself.
FIXED:          the previously added feature "cd <topic>" didn't really work :-(
ADDED:          NOTEDB::mysql added. Perlmodule, which I will use within
                note from now on instead of buildin functions for accessing the
                database. From now on I only need to maintain one version of
                note, since the module interface will be identical between the
                bin and sql version.
CHANGED:        The SQL code does not use Mysql.pm anymore. Instead it is coded
                using the more portable DBI module. This allows one easily to
                switch to anther database, which is supported by DBI.
CHANGED:        Locking. The db-table will now be locked before note accesses it.
FIXED:          width of listings is now always the same independent of the string-
                length of a certain note.
2012-02-10 20:12:25 +01:00
TLINDEN
1ab897790c ADDED: one can now use the unix-like "cd" command to change to another
topic, thus use "cd topicname" instead just typing "topicname"!
FIXED:          there was a smal regex bug which maked it impossible to use such
                topics: "4 test", in such a case note just displayed note number 4
                instead of cd'ing to topic "4 test".
ADDED:          a new config option "$KEEP_TIMESTAMP" allows a user to disable
                note's default behavior of updating the timestamp of a note after
                editing it.
2012-02-10 20:12:09 +01:00
TLINDEN
142ff12b12 FIXED: oops - the new suptopic feature confused the commandline-mode of
note! quickly corrected! so subtopics also available from command-
                line.
FIXED:          a small bug fiyed, it was impossible to use -D or -I from command-
                line, if $ALWAYS_INT was turned on, now it is.
FIXED:          fixed problem with local/global variable $time, which confused
                the script under certain circumstances, now $time is no more global,
                it will be read in (using &getdate) locally by &new and &edit.
CHANGED:        The Topic separator is no longer hardcoded, one can customize
                it using the $TopicSep variable, the default is now /, the backslash
                will no mor work!
CHANGED:        use perl buildin localtime() function instead of
                GNU date, which is possibly not installed on every target
                system (i.e. win32), therefore better portability!
CHANGED:        use now the strict module
ADDED:          Support for subtopics added (and sub-sub-..-topics).
CHANGED:        Removed the "T" command, it is now obsolete.
CHANGED:        behavior of list command changed, now shows topics as well as
                notes under the current topic(if there are some).
CHANGED:        The ".." command takes you now one level higher in your topic-
                structure.
ADDED:          A new config option $PreferredEditor, which you can use to
                specify your own choice of editor.
FIXED:          A bug at line 769 causing single note where smaller than note-
                listings
2012-02-10 20:11:22 +01:00
TLINDEN
6c5db55b5e ADDED: Topic support(requested). You can sort the various notes under
different topics now.
FIXED:          There was another bug, which caused the list command to display
                the notes with a too high value of $maxlen.
2012-02-10 20:09:11 +01:00
TLINDEN
a9ee40e5c2 ADDED: If run in interactive mode, note will at first do a list command.
FIXED:          A bug caused note to save bogus timestamps after editing a note.
CHANGED:        It does no more print 3 newlines before the menu in interactive mode.
FIXED:          Some more vars will be resetted during each loop in interactive mode.
                $ListType.
2012-02-10 20:07:35 +01:00
TLINDEN
9a30ffc37a ADDED: The install.sh script for the mysql version is no able to install the
required Mysql module directly from CPAN, thanks to David A. Bandel!
FIXED:          The mysql version did not display notes (i.e.: "note 3" did nothing)
CHANGED:        Again, the sql-format of the mysql database has been changed. Now
                there are only 3 fields, the number filed is the primary key, the id
                field in previous versions was a waste of diskspace...
CHANGED:        The format of the dump-output has been changed.
ADDED:          It is now possible to import previously dumped notes into the notedb
                (dumps from both versions are compatible with each other)
FIXED:          the function num_bereich() had a bug, which caused ot to ignore under
                some circumstances one number (i.e. "note -d 4-13" did nothing).
2012-02-10 20:05:33 +01:00
TLINDEN
ee0797bad6 CHANGED: ok, mysql support is back again (upon requests). therefore there
are two different version of the script in the same time with
                the same features, one for mysql and the other one for the binary
                database.
ADDED:          Dump to textfile capability. Later on I want to dump it into a
                palm readable format, any help is welcome!
ADDED:          interactive mode.
CHANGED:        Better modularity, better code.
CHANGED:        note can now run without the need of a config file. If does not
                exist, it will try to work with default values.
ADDED:          sub num_bereich(), which allows one to specify more then one
                number for deletion or displaying (i.e.: "-d 1,4,7" or "-d 4-9")
2012-02-10 20:03:20 +01:00
TLINDEN
ff1414cd3a CHANGED: it uses no more a mysql database, but a binary file instead.
This is much faster!
ADDED:          note can display the notes with colors, it is turned off by default
2012-02-10 20:01:40 +01:00
TLINDEN
7596c9c634 FIXED: now any occurence of ' will be masked with \' before storage
to the mysql database.
FIXED:          now numbers of notes will be recounted, if one delete one note,
                        so the list of notes will everytime start with 1,2,3,...
CHANGED:        the look of the list output has been changed, similar to a table
2012-02-10 20:00:05 +01:00
TLINDEN
b4432f2922 first commit 2012-02-10 19:58:52 +01:00