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.
This commit is contained in:
TLINDEN
2012-02-10 20:28:25 +01:00
parent 3f3206e506
commit 6c4ca1167c
20 changed files with 175 additions and 617 deletions

View File

@@ -1,14 +0,0 @@
D/0x49////
D/NOTEDB////
D/bin////
D/config////
D/mysql////
/NOTEDB.pm/1.2/Fri Aug 11 00:05:58 2000//
/Makefile.PL/1.2/Fri Aug 11 00:03:47 2000//
/UPGRADE/1.1.1.1/Fri Aug 11 00:03:51 2000//
/stresstest.sh/1.1.1.1/Fri Aug 11 00:03:57 2000//
/Changelog/1.7/Sat Aug 19 13:56:13 2000//
/README/1.5/Sat Aug 19 13:58:19 2000//
/VERSION/1.4/Sat Aug 19 13:57:57 2000//
/note.1/1.2/Sat Aug 19 14:00:17 2000//
/note.pod/1.2/Sat Aug 19 13:57:20 2000//

View File

@@ -1 +0,0 @@
NOTE

View File

@@ -1 +0,0 @@
zarahg@cvs.htnews.sourceforge.net:/cvsroot/htnews

View File

@@ -1,3 +1,16 @@
================================================================================
1.2.1:
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.
================================================================================
1.2.0:
CHANGED: using Makemaker instead of self-written code in Makefile.PL

View File

@@ -1,5 +0,0 @@
/binary.pm/1.3/Fri Aug 11 00:05:58 2000//
/dbm.pm/1.3/Fri Aug 11 00:05:58 2000//
/mysql.pm/1.3/Fri Aug 11 00:05:58 2000//
/README/1.1.1.1/Fri Aug 11 00:03:59 2000//
D

View File

@@ -1 +0,0 @@
NOTE/NOTEDB

View File

@@ -1 +0,0 @@
zarahg@cvs.htnews.sourceforge.net:/cvsroot/htnews

633
README
View File

@@ -1,36 +1,36 @@
note 1.2.0 by Thomas Linden, 28/02/2003
note 1.2.1 by Thomas Linden, 03/03/2003
=======================================
Introduction
============
This is a small console program written in
perl, which allows you to manage notes similar
to programs like "knotes" from commandline.
This is a small console program written in
perl, which allows you to manage notes similar
to programs like "knotes" from commandline.
There are currently three different database backends,
which you can use with note:
o NOTEDB::binary - this is the default backend
and uses a binary file to store your notes.
o NOTEDB::mysql - this backend uses a mysql
database to store your notes. You can switch
easily to another DBMS since this module uses
the Perl standard module "DBI" for database-
access. See below for more info on this topic!
o NOTEDB::dbm - this module uses two DBM files
for data storage and requires the module DB_FILE,
which is part of the perl standard distribution.
See below for more details about the DBM module.
There are currently three different database backends,
which you can use with note:
o NOTEDB::binary - this is the default backend
and uses a binary file to store your notes.
o NOTEDB::mysql - this backend uses a mysql
database to store your notes. You can switch
easily to another DBMS since this module uses
the Perl standard module "DBI" for database-
access. See below for more info on this topic!
o NOTEDB::dbm - this module uses two DBM files
for data storage and requires the module DB_FILE,
which is part of the perl standard distribution.
See below for more details about the DBM module.
Where to get?
=============
By now at
http://www.daemon.de/note/
You may also try your nearest tucows mirror.
By now at
http://www.daemon.de/note/
You may also try your nearest tucows mirror.
@@ -38,43 +38,43 @@ Where to get?
Features
========
o Three different database backends, mysql(DBI), dbm, binary(bin file).
o Commandline interface using the standard perl module
Getopt::Long, which allows you to use short or long
command-line options.
o Interactive interface(pure ascii), the following functions
are available in interactive mode: list, display, topic,
delete, edit, help.
o Highly confiurable using a perlish configfile ~/.noterc.
although it is configurable it is not required, note can
run without a configfile using useful default presets.
o Colourized output is supported using ASCII Escape-Sequences.
o The user can customize the color for each item.
o Data can be stored in various different database backends,
since all database access is excluded from the program itself
in perl modules.
o Notes can be deleted, edited and you can search trough your notes.
o Notes can be categorized. Each category(topic) can contain multiple
notes and even more sup-topics. There is no limitation about
sub topics.
o You can view all notes in a list and it is possible only to view
notes under a certain topic.
o There is a tree-view, which allows you to get an overview of your
topic-hierarchy.
o Notes can be encrypted using DES or IDEA algorythms and Crypt::CBC.
o You can dump the contents of your note database into a plain text
file, which can later be imported. Imports can be appended or it can
overwrite an existing database (-o).
o Note has scripting capabilities, you can create a new note by piping
another commands output to note, you can also import a notedump from
stdin as well es duming to stdout instead a file. Additional, there
is an option --raw available, which prints everything out completely
without formatting.
o for better performance, note can cache the database for listings
or searching.
o It can be installed without root-privileges.
o Last, a while ago a user stated: "... it simply does, what it
says ..."
o Three different database backends, mysql(DBI), dbm, binary(bin file).
o Commandline interface using the standard perl module
Getopt::Long, which allows you to use short or long
command-line options.
o Interactive interface(pure ascii), the following functions
are available in interactive mode: list, display, topic,
delete, edit, help.
o Highly confiurable using a perlish configfile ~/.noterc.
although it is configurable it is not required, note can
run without a configfile using useful default presets.
o Colourized output is supported using ASCII Escape-Sequences.
o The user can customize the color for each item.
o Data can be stored in various different database backends,
since all database access is excluded from the program itself
in perl modules.
o Notes can be deleted, edited and you can search trough your notes.
o Notes can be categorized. Each category(topic) can contain multiple
notes and even more sup-topics. There is no limitation about
sub topics.
o You can view all notes in a list and it is possible only to view
notes under a certain topic.
o There is a tree-view, which allows you to get an overview of your
topic-hierarchy.
o Notes can be encrypted using DES or IDEA algorythms and Crypt::CBC.
o You can dump the contents of your note database into a plain text
file, which can later be imported. Imports can be appended or it can
overwrite an existing database (-o).
o Note has scripting capabilities, you can create a new note by piping
another commands output to note, you can also import a notedump from
stdin as well es duming to stdout instead a file. Additional, there
is an option --raw available, which prints everything out completely
without formatting.
o for better performance, note can cache the database for listings
or searching.
o It can be installed without root-privileges.
o Last, a while ago a user stated: "... it simply does, what it
says ..."
@@ -83,516 +83,123 @@ Features
Requirements
============
You need the following things:
o perl installed (5.004x)
o The module IO::Seekable and Fcntl, which should be
already installed with your perl distributuion if
you want to use the binary database backend.
o DBI module and DBI::mysql if you want to use the
mysql database backend.
o The module DB_FILE if you want to use the DBM module.
o Getopt::Long (part of perl std ditribution)
You need the following things:
o perl installed (5.004x)
o The module IO::Seekable and Fcntl, which should be
already installed with your perl distributuion if
you want to use the binary database backend.
o DBI module and DBI::mysql if you want to use the
mysql database backend.
o The module DB_FILE if you want to use the DBM module.
o Getopt::Long (part of perl std ditribution)
Installation
============
Unpack the tar-ball and issue the command:
$ perl Makefile.PL
It will ask you a few questions about file destinations.
The script will find itself the proper destinations for
the files. So, if you agree with it, simply press ENTER.
However, you may decide to use other destinations. In this
case, enter it, when asked. This maybe usefull, if you are
installing it in your ome-directory and if you are not root!
Unpack the tar-ball and issue the following command:
For installation instructions for the mysql database installation
see mysql/README.
$ perl Makefile.PL
If want to use another SQL database, i.e. postgresql then set
the option "DbDriver" to the name of the responding DBI-driver
and create a symlink of this name like this:
/usr/lib/perl5/siteperl/NOTEDB $ ln -s mysql.pm oracle.pm
The functionality is the same, but not the name!
This creates the Makefile neccessary for installing.
You may add some additional variables to the commandline, the
most important one is PREFIX.
The default binary file backend does not need any special installation
procedure, you need only to spceify a filename in your config file.
Then enter the following command to prepare the installation
process:
The DBM backend(NOTEDB::dbm) requires the existence of a directory,
which you must specify in your config using the option "DbName".
$ make
After that, you are ready to install. Become root and issue:
# make install
The installation process installs all modules for every available
data backend (binary, dbm and mysql). The default note configuration
does not require additional perl modules.
If you want to use the mysql backend refer to the installation
instructions for the mysql database installation in mysql/README.
The DBM backend(NOTEDB::dbm) requires the existence of a directory,
which you must specify in your config using the option "DbName".
If you want to use encryption support, you will need at least
Crypt:CBC and Crypt::Blowfish (or Crypt::DES or whatever).
Configuration
=============
This version of note doesn't neccessarily need
a configuration file. But you can have one and change
some default values. Take a look to the file config/noterc
provided with this tarball. There are detailed instructions
about every available parameter.
Simply copy this file into your home-directory and name it
.noterc
If you decide not to use the default database backend (a binary
file), you will *need* a configuration!
This version of note doesn't neccessarily need
a configuration file. But you can have one and change
some default values. Take a look to the file config/noterc
provided with this tarball. There are detailed instructions
about every available parameter.
Simply copy this file into your home-directory and name it
.noterc
If you decide not to use the default database backend (a binary
file), you will *need* a configuration!
Usage
=====
If you don't know, how to run note, try "note -h" first.
It will tell you all available commandline options.
To create a new note, simply run "note". You can enter
the note (the length is by default limited to 4096 bytes,
which you can change from your config file if you are using
the binary backend, otherwise there is no limitation).
End by typing a . on a line itself. note will tell you the
number of the note.
If you want to view the note, type "note 1", if the notenumber
was 1.
If you want to get an overview of all notes, type "note -l".
You will get a list of all notes, containing the number,
the first line and the creation date. If topic-support is
turned on (which is by default), then all subtopics under the
current topic will be displayed first.
If you want to see the timestamps, use "-L" instead of "-l".
Read more about topics below in the section "Topics".
You can also specify the topic which notes you want to see:
"-l mytopic" does the trick.
Additional, you might want to get an overview of your topic-
structure. You can use the command "-t" in this case, which
will display a tree-view of your topic-structure. You can
use the command "-T" if you want to see the notes under each
topic too. "-T" will also show the number of each note.
To edit a certain note, type "note -e 1". It will invoke your
editor (vi or pico). You can edit it, after saving, note
will store the changed note to the database.
Of course you can drop a certain note: "note -d 1" deletes
note number 1. If a note in the middle or the beginning of
the database will be deleted, note will recount the other
existent notes. For example there are 3 notes, number 1, 2
and 3. If you delete number 2, then number 3 will become
number 2.
You can also make use of the extended delete-syntax:
To delete note 1 and 2, use "-d 1,2"
To delete note 1,2 and 3, use "-d 1-3".
If you cannot remember, which note you are looking for, you
can use the search capability of note: "note -s <searchstring>".
note will search the whole note database case insensitive for
an occurence of this string and tell you the number and first-
line it have.
You can extend the searchstring using B<AND>, B<OR> ( and ) and
shell-like wildcards:
$ note -s "moses AND lenin"
or:
$ note -s "(mike OR ar??ld) AND (jackson OR schwarzen*)"
If note finds a note, which first line is a topic, then it will
display it's second line.
If you want to search for ? or * then you have to surround the
searchstring with apostrophs ("").
These rules apply for the interactive search too.
Instead of using note from the commandline you can use the
interactive mode. Run note with "note -i". If you need assistance
type "?" or "h" at the ">" prompt. The interactive mode
provides you the most functions of note.
You can also dump the contents of your note-database into a
ASCII-textfile(-D). You can use this file later to import it into
your note-database(-I). This is usefull, if you want quickly trans-
fer your notes from one host to another (i.e. you could mail
your note-dump form your office to home and import it there
for further use).
The dumps from the two versions of note are in the same format.
Using dumps it is also possible to reinitialize your database. You
can use the "-o" switch which causes note to overwrite your existing
database. This is very handy if you changed heavily your config. And
it is required, if you changed: encryption, db-driver, (binary-format)
and the password. You can use the following command for reinitializing:
$ note -D - | note -o -I -
What the hell, does it?! Step by step:
o "note -D -" creates a note-database dump and prints it out
to stantdard output.
o "|" this is the shell's pipe command. It takes the output
of the left program and gives it to the right program as
standard input.
o "note -o -I -" imports a note-database dump from standard
input and overwrites an existing database.
Before you use the "-o" switch, I consider yuo to make a backup!
Topics
======
If topic-support is turned on (which is by default), the various
notes are sorted under various topics. There is no special database
field for the topic. Instead the topic will be stored right in the
note.
If the first line of your note contains some text bordered by slashes
(or whatever you prefer, set "TopicSeparator" in your config! default
is slash), then note will consider it as the topic of this certain
note. For examle:
/TodoList/
If you are using topics, no data after the topic is allowed, if there
is any text, note will consider it as a subtopic! Therefore, don't for-
get to put a newline after the topic-line.
If you are in interactive mode, you can "cd" to a different note simply
by typing it's name at the command-prompt, or you can use the well-known
syntax "cd topic".
The list-command will only show you notes under this topic. If you
create a new note, it will automagically inserted under the current
topic (note will prepend the string "/topicname/" to the text of your
note).
You can use some enhanced capabilities of the cd command. If you turn on
the "ShortCd" parameter in your configuration, then you can cd to a
note number (and thus - to it's topic) i.e. "cd 13" jumps to the topic
of the note number 13. You can always go one level up using the "cd .."
command and you can go to the top-level topic using "cd /".
You can create at any time from any point a new topic. Just create a new
note and type the name of the new topic bordered by slashes (or
TopicSeparator) at the first line of this note. After saving, there
will be available a new topic with one note in it.
You can create as many subtopics as you like, the format is similar to
a filesystem-path. An example, say, you want to create such a
structure:
(root - top level)
|
|----test
| |----subtopic
| | |--note 1
| | |--note 2
| |
| |--note 4
|
|--note 3
Then you may create those 4 new notes:
--- snip ---
/test/subtopic/
note 1
--- snip ---
/test/subtopic/
note 2
--- snip ---
note 3
--- snip ---
/test/
note 4
--- snip ---
I hope, you got the point ;-)
If a note does not contain the "magic" /topic/ construction on the first
line, it will be listed under the "root" of note, that is the point
you are at the startup of note.
You can subsequently move a note without a topic to a certain topic.
Simply edit it and insert at the first line the above mentioned
construction.
Note: Please don't forget the prepending and appending a slash of a
topic. You will get strange results without it!
Formatting of notes
===================
Another very nice feature is the possibility to format the note-text
(as much as shell allows it). First, you can use the note-internal
"magic-strings" for colorizing. Those strings looks much like HTML:
"<green>here is a green line of text</green> no more green."
As you see, the beginning of another color starts with a tag(kinda) of
the color <colorname> and ends with an end tag </colorname>.
The following colors are available:
black, red, green, yellow, blue, magenta, cyan and white.
Beside colorizing text, you can also create bold or underlined text! If
you decide to use this (additional) feature, you need to set the
Config-Option "FormatNotes" to 1 which turns it on.
Usage is very straightforward, if a word (a word is defined as some
text with at least one space surrounded) is between a magic mark-
character. Here are the available things, you can do:
bold: **word**
underlined: __word__
inverse: {{word}}
The text will be formatted using the actually note-color.
Cache
=====
If you have many notes stored in your database then you might
find the cache feature useful. Chaching is currently supported
by the binary and the mysql backend. Set the configuration
parameter "Cache" to "1" or "yes" to turn caching on.
Note will then use an internal copy of your notes-database for
the list/search/tree commands instead of every time accessing
the physically database. If something changed (i.e. you edited
a note or added a new one) then the database will be used and
the cache will be updated.
A "%" character at the top left of the screen indicates that
the cache is in use.
I consider you not to use the cache feature if you are using
multiple instances of note accessing the same database.
The cache is turned off by default.
Scripting
=========
Since version 1.0.3 there are some additions which allows you to use
note in scripts, without user-interaction. You might run a special
script as cronjob, which adds a note under a certain topic every week.
Or the like.
Here are the possibilies you have:
You can add a new note through a pipe, another commands output becomes
note's input:
$ cat /var/spool/news/daily | note -
This command adds the content of a file "daily" as a new note. Note
the dash - it stands for "Standard Input". Note will be completely
silent and it will not ask for something.
Suppose you are using encryption. You might wonder, how note will get
your passphrase? The solution: You need to set up an environment
variable which contains the password:
$ export NOTE_PASSWD=secret
If the variable is present, note will not ask you for a passphrase!
Another thingy you might find useful is the -r (--raw) command-line
flag. This turns note into raw mode , which means it will only print the
data without any formatting. Raw mode is available for list and display,
since it makes no sense, interactive mode does not support raw mode.
Format of the notedb (binary backend)
=====================================
The database where the notes are stored is a binary fixed record length
file of the following format:
It consists of three fixed length fields per entry. The fields
have the following types:
o Number: Integer (1 byte)
o Note: String (default 1024 bytes)
o Time: String (default 64 bytes)
You can change the sizes of the fields "Note" and "Time" in
the configfile "~/.noterc". If it does not exist, the above
defaults will be used.
If the data to be stored is smaller then the size of the field,
it will be filled with ZERO's ("\0"). The Note and the Time
fields will be uuencoded before storage. Of course, this is
no security, never mind...
The note-database (mysql backend)
=================================
The sql-database for the mysql version has the following design:
+--------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+----------------+
| number | int(10) | | PRI | 0 | auto_increment |
| note | text | YES | | NULL | |
| date | text | YES | | NULL | |
+--------+---------+------+-----+---------+----------------+
Format of the ASCII-dump file (note -D)
=======================================
The dump of a note-database (if you use note -D) has the following
format:
--- snip ---
Number: 1
Timestamp: 14.01.2000 00:25:01
This is a sample text
in a sample note.
Number: 2
Timestamp: 14.01.2000 02:37:40
And this is another sample
of a note.
--- snip ---
You can reimport a dump into your note-database with "note -I <file>"
Existing notes will not overwritten, note will append the imported
data to your note-database.
Security
========
If you are using the MySQL driver, refer to the mysql
manual for more informations about security of mysql databases:
http://www.mysql.org/Manual_chapter/manual_Privilege_system.html
If you are using notes proprietary binary driver, then
the permission 0600 of the file "~/.notedb" is strongly required!
Additional, you can turn on encryption from the config file.
Simply set UseEncryption to 1. Please note, that you need
to decide, if you want to use encryption before the first use
of note! If have already a note database and want to "migrate"
to encryption, I suggest you to follow the directions in the
file UPGRADE!
You can choose from different encryption algorythms. The default
is IDEA, but DES or BLOWFISH is also possible. You need to have
installed the following additional perl-modules on your system:
MD5
Crypt::IDEA
Crypt::DES
Crypt::CBC
After turning on encryption, note will ask you for a passphrase
everytime it runs! It will *not* store this passphrase!
So, don't forget it! Be careful!
If you are using the mysql backend and if your mysql database
requires a password then you can store an encrypted version of
your mysql password instead of the cleartext one.
You need to turn on the config-parameter "encrypt_passwd" (set it
to 1). Then you need to create an encrypted string from your
mysql-password using note's commandline option --encrypt <string>.
Note will ask you for a passphrase which will be used to encrypt
the mysql-password. This passphrase must be exactly the same as
you use for mysql itself. That means you need to use encryption.
The string you get from this command must be saved in your config
file as attribute to "DbPasswd". Later on note will decrypt that
string using the supplied note-passphrase (that's why it must be
the same used for encrypt) and pass the result to the mysql server.
Once note have encrypted some data using this passphrase, you
cannot simply switch to another passphrase, because all data
within the database needs to be encrypted using the same passphrase!
If you want to change the passphrase for any reason, please read
the file UPGRADE and follow it's directions!
Someday I will add a "change passwd" function, which will do all
these things for you. Someday, I said...
For now you can use the "re-initialze database" functionality, mentioned
earlier in the "Usage" section (at the end of the section).
Note: To make sure, the encrypted data can be stored properly,
it will be uuencoded after encryption.
Note: *If* you forgot your passphrase and *if* you don't have
a backup of your database without encryption, PLEASE
don't bother me with "helpme" emails! If you don't know
the phrase, then the data can't be decrypted. Even if it
is possible - I am not responsible for that!
Note: How does note know, if the passphrase was incorrect? It uses the
specified phrase and encodes at least one note (the first one)
and checks if the decrypted timestamp field matches the following
expression: "^\d+\.\d+". Translated from perl to human:
the timestamp must begin with minimum one digit (possibly more),
followed by one dot, followed by minimum one digit (possibly
more).
Chances are bad, that a wrong passphrase will cause a timestamp
matching the rule above. If you have other experiences, please
drop me a mail!
For the paranoid: do not use the cache-feature, 'cause note stores a
copy of your note database in RAM if cache support is turned on.
This means an attacker could access your (unencrypted!) notes.
Refer to the note(1) manpage for usage instructions.
Comments
========
You can send any comments to Thomas Linden <tom@daemon.de>.
If you find a bug or if you have a suggestion for improvement of the
script feel free to send me a patch ;-)
You can send any comments to Thomas Linden <tom@daemon.de>.
If you find a bug or if you have a suggestion for improvement of the
script feel free to send me a patch ;-)
License
=======
This script comes with absolutely NO WARRANTY. It is distributed under
the terms of the GNU General Public License. Use it at your own risk :-)
You can read the complete GPL at: http://www.gnu.org/copyleft/gpl.html
This program comes with absolutely NO WARRANTY. It is distributed under
the terms of the GNU General Public License. Use it at your own risk :-)
You can read the complete GPL at: http://www.gnu.org/copyleft/gpl.html
Recources
=========
The command-line options and all commands of the interactive mode are
described in the supplied note(1) manpage.
You may also refer to the note website http://www.daemon.de/note/.
The command-line options and all commands of the interactive mode are
described in the supplied note(1) manpage.
You may also refer to the note website http://www.daemon.de/note/.
Author and Copyright
====================
The author is Thomas Linden.
note is Copyright of Thomas Linden.
The author is Thomas Linden.
note is Copyright of Thomas Linden.
Contributors / Credits
======================
Shouts to all those guys who helped me to enhance note: THANKS A LOT!
Shouts to all those guys who helped me to enhance note: THANKS A LOT!
Jens Heunemann <jens.heunemann@consol.de> - sub tree.
Peter Palmreuther - various additions.
And many other people who sent bug reports, feature requests. If you
feel that I forgot your name in this list, then please send me an email
and I'll add you.
Jens Heunemann <jens.heunemann@consol.de> - sub tree.
Peter Palmreuther - various additions.
And many other people who sent bug reports, feature requests. If you
feel that I forgot your name in this list, then please send me an email
and I'll add you.
Last changed
============
28/02/2003
03/03/2003

View File

@@ -1,2 +0,0 @@
/note/1.10/Sat Aug 19 13:38:33 2000//
D

View File

@@ -1 +0,0 @@
NOTE/bin

View File

@@ -1 +0,0 @@
zarahg@cvs.htnews.sourceforge.net:/cvsroot/htnews

View File

@@ -126,7 +126,7 @@ $TIME_COLOR = "blue";
$TOPIC_COLOR = "bold";
$TOPIC = 1;
$TopicSep = '/';
$version = "1.2.0";
$version = "1.2.1";
if ($TOPIC) {
$CurDepth = 1; # the current depth inside the topic "directory" structure...
}
@@ -916,6 +916,10 @@ sub determine_width {
if ($wide =~ /columns (\d+?);/) {
$maxlen = $1 - 33; # (33 = timestamp + borders)
}
elsif ($wide =~ /; (\d+?) columns;/) {
# bsd
$maxlen = $1 - 33; # (33 = timestamp + borders)
}
else {
# stty didn't work
$maxlen = 80 - 33;
@@ -932,6 +936,10 @@ sub clear {
if ($height =~ /rows (\d+?);/) {
$hoch = $1;
}
elsif ($height =~ /; (\d+?) rows;/) {
# bsd
$hoch = $1;
}
};
if (!$hoch) {
# stty didn't work
@@ -1120,7 +1128,27 @@ sub interactive {
&list;
}
else {
print "\nunknown command!\n";
# try incomplete match
my @matches;
foreach my $topic (keys %TP) {
if ($topic =~ /^$char/) {
push @matches, $topic;
}
}
my $nm = scalar @matches;
if ($nm == 1) {
# match on one incomplete topic, use this
$LastTopic[$CurDepth] = $CurTopic;
$CurTopic = $matches[0];
$CurDepth++;
&list;
}
elsif ($nm > 1) {
print "available topics: " . join( "," , @matches) . "\n";
}
else {
print "\nunknown command!\n";
}
}
undef $unchar;
}
@@ -1130,7 +1158,7 @@ sub interactive {
sub usage
{
print qq~This is the program note $version by Thomas Linden (c) 1999-2000.
print qq~This is the program note $version by Thomas Linden (c) 1999-2003.
It comes with absolutely NO WARRANTY. It is distributed under the
terms of the GNU General Public License. Use it at your own risk :-)

View File

@@ -1,2 +0,0 @@
/noterc/1.5/Fri Aug 11 00:04:03 2000//
D

View File

@@ -1 +0,0 @@
NOTE/config

View File

@@ -1 +0,0 @@
zarahg@cvs.htnews.sourceforge.net:/cvsroot/htnews

View File

@@ -1,5 +0,0 @@
/README/1.1.1.1/Fri Aug 11 00:04:04 2000//
/install.sh/1.1.1.1/Fri Aug 11 00:04:04 2000//
/permissions/1.1.1.1/Fri Aug 11 00:04:05 2000//
/sql/1.1.1.1/Fri Aug 11 00:04:05 2000//
D

View File

@@ -1 +0,0 @@
NOTE/mysql

View File

@@ -1 +0,0 @@
zarahg@cvs.htnews.sourceforge.net:/cvsroot/htnews

View File

@@ -338,6 +338,8 @@ Say if you delete 1 and 2, then 3 will become 1, 4 will become 5 and so forth.
You can search for the occurence of a text in your notes-database with the
command B<S> or B<s>. If you omit an expression note will ask you for one.
If your search criteria matches on exactly one entry, note will display
that note entry instead of displaying its number.
=item B<T>
@@ -350,13 +352,18 @@ notes, B<t> displays just the topics without notes.
Change the actual topic under which you are. This works identical like just
entering the topic but it has some advantages. You can enter B<cd ..> if
you want to go one level up in the topic-structure. And you can enter B<cd />
to go to the top of the structure.
to go to the top of the structure. You can always leave out the 'cd' keyword too.
Additional it is possible to enter a note-number instead of a topic name.
For this feature to be active you need to set the config option B<ShortCd>
to B<1> or B<yes>. If you use a number and the note with this number is
under a certain topic then you will "cd" to this topic. This allows you
to do kind of jumps over multiple levels of topics.
If is possible to abbreviate a topic. This works only if the abbreviation
matches on one single topic. If it matches more than one topic then the
available ones will be suggested.
=item B<? or h>
Display a short help screen.
@@ -488,18 +495,14 @@ at the supplied sample configuration file in B<config/noterc>.
=head1 SEE ALSO
See the usage guide in the README or visit the note website:
http://www.0x49.org.
=head1 AUTHOR
Thomas Linden <tom@daemon.de>
=head1 VERSION
1.2.1 (03/03/2003)
=cut
=cut

View File

@@ -1,55 +0,0 @@
#!/bin/sh
# create notes with topics which then represents the corresponding
# directory structure. Depending on how many files the directory
# contains, the resulting note-database may become very large.
# It will then have thousands of notes!
STARTDIR=$1
case $STARTDIR in
"")
echo "usage: stresstest.sh <directory>"
exit 1
;;
*)
LOCPFAD=`echo $STARTDIR | grep "^[a-zA-Z0-9.]"`
case $LOCPFAD in
"")
#echo nix
;;
*)
STARTDIR=`echo $STARTDIR | sed 's/^\.*//'`
STARTDIR="`pwd`/$STARTDIR"
STARTDIR=`echo $STARTDIR | sed 's/\/\//\//g'`
;;
esac
;;
esac
stress ()
{
FILES=""
for file in `ls $1|sort`
do
echo "$1/$file"
if [ -d "$1/$file" ] ; then
stress "$1/$file"
else
#echo "$1/" > /tmp/$$
#echo $file >> /tmp/$$
#`cat /tmp/$$ | note -`
FILES="$FILES $file"
fi
done
echo "$1/" > /tmp/$$
echo "$FILES" >> /tmp/$$
case $FILES in
"")
;;
*)
RES=`cat /tmp/$$ | note -`
;;
esac
FILES=""
}
stress $STARTDIR