Browse Source

first readme

Pat Beirne 1 year ago
parent
commit
a4a8209525
1 changed files with 89 additions and 0 deletions
  1. 89 0
      README.md

+ 89 - 0
README.md

@@ -0,0 +1,89 @@
+---
+title: 
+title-meta: Dirnotes README
+note: run this with pandoc -T "Dirnotes README" -s README.md -t html > README.html
+---
+
+
+
+# Dirnotes
+
+### SYNOPSIS
+
+The **dirnotes** family of apps allows you to add a descriptive comment to a file. The descriptions are stored in two places:
+
+ * in the xattr properties of the file
+ * in a database located in the user's home directory
+
+[The [MacOS](#macos) stores its comments in a similar way.]
+
+The <code>**dirnotes**</code> app is a GUI app, using the Qt5 framework. At startup, it displays the contents of the current directory, and the comments associated with any of the files or directories. 
+Simple mouse clicks allow you to tunnel down into directories, or rise up the file system. 
+You can create/edit comments and choose whether the _xattr_ or _database_ version of the comments take priority, 
+
+The <code>**dirnotes-tui**</code> is a very similar app, but uses the _curses_ framework to display its activity in a terminal window. This can be handy if you have to work across a network, or if terminal apps are you preference.
+
+The <code>**dirnotes-cli**</code> is a command line tool, which may be handy for scripting.
+
+### USAGE
+
+The <code>**dirnotes**</code> program displays usage and keystoke info when you press _F1_. The <code>**dirnotes-tui**</code> program display onscreen usage when you press the 'h' key, or _F1_. 
+The <code>**dirnotes-cli**</code> program has a man page.
+
+In short, you navigate <code>**dirnotes**</code> and <code>**dirnotes-tui**</code> by using the up/down arrow keys, <enter> to enter into a directory. The **-tui** version accepts _e_ for edit, 
+_s_ for sort, _M_ to change between xattr/database priority.
+
+The **<code>dirnotes-cli</code>** has options for _-l_ list and _-c_ create a comment. 
+
+### Direct Access
+
+Instead of an API, here is how you can get directly at the underlying comment data. If you intend to use the **dirnotes** apps, try to keep the two versions of the comments in sync.
+
+  * xattr
+
+Use the commands  
+
+        xattr -l [filename]  
+
+to display the comments/author/date on a file. For example:  
+
+        $ xattr -l /etc/fstab
+        user.xdg.comment: controls the default mount bindings
+        user.xdg.comment.author: patb
+        user.xdg.comment.date: 2022-09-29 08:07:42
+
+The other options on the **xattr** command line tool allow you to write (*xattr -w*) or delete (*xattr -d*) the comments.
+
+  * database
+
+The comments are stored in an Sqlite3 database, usually located at "~/.dirnotes.db". The database itself is contained within that file, and its schema is this:
+
+~~~~
+    CREATE TABLE dirnotes (name TEXT, date DATETIME, size INTEGER, comment TEXT, comment_date DATETIME, author TEXT)
+~~~~
+
+field         usage                                                  example  
+------        -------                                                ---------
+name          the long filename, using python's os.path.abspath()    /home/patb/projects/dirnotes/README.md  |
+date          the file's modified date                               2020-01-13 09:25:40 
+size          the byte count of the file                             145  
+comment       a utf-8 string                                         the readme for the GIT page  
+comment_date  the date of the comment itself                         2020-10-03 22:30:19 
+author        the system name of the user who created the comment    patb  
+
+The 'date' and 'size' fields reflect the file's modification date and size at the time of the last edit of the file comment, which is also 'comment_date'.
+
+### MacOS {#macos}
+
+The **MacOS** inherently supports file comments. The Finder app manages most of the user activity. It handles file comments in a similar manner to **Dirnotes**. Comments are stored in two places:
+
+ * in the xattr properties of the file  
+  ** using a different xattr-tag  
+ * in a database located in each directory  
+  ** in the .DS-Store file
+ 
+The user can examine the file comments by opening the GetInfo dialog, and scrolling down to "Comment"
+
+If the Finder is used to copy/move files, the comments are moved properly to both destinations. If you use the os to copy/move the files, you can ask that the xattr properties get moved, but the .DS-Store file will not be updated. That means the Finder will not see file comments on the destination file.
+
+**MacOS** has AppleScript, by which you can ask the Finder to perform the file copy/move. In this case, the comments are moved properly.