summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--Makefile.in127
-rw-r--r--docs/terminal-media-launcher-config.5.gzbin2383 -> 0 bytes
-rw-r--r--docs/terminal-media-launcher.1.gzbin1022 -> 0 bytes
-rw-r--r--icon/128.pngbin0 -> 3765 bytes
-rw-r--r--icon/16.pngbin0 -> 633 bytes
-rw-r--r--icon/24.pngbin0 -> 874 bytes
-rw-r--r--icon/256.pngbin0 -> 7120 bytes
-rw-r--r--icon/32.pngbin0 -> 1159 bytes
-rw-r--r--icon/40.pngbin0 -> 1407 bytes
-rw-r--r--icon/48.pngbin0 -> 1620 bytes
-rw-r--r--icon/64.pngbin0 -> 2092 bytes
-rw-r--r--icon/96.pngbin0 -> 2932 bytes
-rw-r--r--icon/terminal-media-launcher.desktop9
-rw-r--r--man/terminal-media-launcher-config.5133
-rw-r--r--man/terminal-media-launcher.181
16 files changed, 341 insertions, 15 deletions
diff --git a/Makefile.am b/Makefile.am
index 1afe8bd..6005a31 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,2 +1,6 @@
SUBDIRS = src
-dist_doc_DATA = docs/README.md
+dist_doc_DATA = docs/*
+#dist_man_MANS = man/terminal-media-launcher.1 man/terminal-media-launcher-config.5
+dist_man_MANS = man
+man1_MANS = man/terminal-media-launcher.1
+man5_MANS = man/terminal-media-launcher-config.5
diff --git a/Makefile.in b/Makefile.in
index d91b507..0e78389 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -154,7 +154,12 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(docdir)"
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(docdir)"
+man5dir = $(mandir)/man5
+NROFF = nroff
+MANS = $(dist_man_MANS) $(man1_MANS) $(man5_MANS)
DATA = $(dist_doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
@@ -185,8 +190,8 @@ ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in compile config.guess \
- config.sub depcomp install-sh missing
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in compile \
+ config.guess config.sub depcomp install-sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -333,7 +338,11 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src
-dist_doc_DATA = docs/README.md
+dist_doc_DATA = docs/*
+#dist_man_MANS = man/terminal-media-launcher.1 man/terminal-media-launcher-config.5
+dist_man_MANS = man
+man1_MANS = man/terminal-media-launcher.1
+man5_MANS = man/terminal-media-launcher-config.5
all: all-recursive
.SUFFIXES:
@@ -370,6 +379,92 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
+install-man1: $(dist_man_MANS) $(man1_MANS)
+ @$(NORMAL_INSTALL)
+ @list1='$(man1_MANS)'; \
+ list2='$(dist_man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-man5: $(dist_man_MANS) $(man5_MANS)
+ @$(NORMAL_INSTALL)
+ @list1='$(man5_MANS)'; \
+ list2='$(dist_man_MANS)'; \
+ test -n "$(man5dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.5[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man5:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man5_MANS)'; test -n "$(man5dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.5[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir)
install-dist_docDATA: $(dist_doc_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
@@ -697,10 +792,10 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-recursive
-all-am: Makefile $(DATA)
+all-am: Makefile $(MANS) $(DATA)
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(docdir)"; do \
+ for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -754,7 +849,7 @@ info: info-recursive
info-am:
-install-data-am: install-dist_docDATA
+install-data-am: install-dist_docDATA install-man
install-dvi: install-dvi-recursive
@@ -770,7 +865,7 @@ install-info: install-info-recursive
install-info-am:
-install-man:
+install-man: install-man1 install-man5
install-pdf: install-pdf-recursive
@@ -800,7 +895,9 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-dist_docDATA
+uninstall-am: uninstall-dist_docDATA uninstall-man
+
+uninstall-man: uninstall-man1 uninstall-man5
.MAKE: $(am__recursive_targets) install-am install-strip
@@ -814,11 +911,13 @@ uninstall-am: uninstall-dist_docDATA
install-data-am install-dist_docDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
- tags-am uninstall uninstall-am uninstall-dist_docDATA
+ install-man1 install-man5 install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-dist_docDATA uninstall-man uninstall-man1 \
+ uninstall-man5
.PRECIOUS: Makefile
diff --git a/docs/terminal-media-launcher-config.5.gz b/docs/terminal-media-launcher-config.5.gz
deleted file mode 100644
index 23250a5..0000000
--- a/docs/terminal-media-launcher-config.5.gz
+++ /dev/null
Binary files differ
diff --git a/docs/terminal-media-launcher.1.gz b/docs/terminal-media-launcher.1.gz
deleted file mode 100644
index de27be3..0000000
--- a/docs/terminal-media-launcher.1.gz
+++ /dev/null
Binary files differ
diff --git a/icon/128.png b/icon/128.png
new file mode 100644
index 0000000..5986173
--- /dev/null
+++ b/icon/128.png
Binary files differ
diff --git a/icon/16.png b/icon/16.png
new file mode 100644
index 0000000..d32610a
--- /dev/null
+++ b/icon/16.png
Binary files differ
diff --git a/icon/24.png b/icon/24.png
new file mode 100644
index 0000000..01ae725
--- /dev/null
+++ b/icon/24.png
Binary files differ
diff --git a/icon/256.png b/icon/256.png
new file mode 100644
index 0000000..752911e
--- /dev/null
+++ b/icon/256.png
Binary files differ
diff --git a/icon/32.png b/icon/32.png
new file mode 100644
index 0000000..3264903
--- /dev/null
+++ b/icon/32.png
Binary files differ
diff --git a/icon/40.png b/icon/40.png
new file mode 100644
index 0000000..acd4a3b
--- /dev/null
+++ b/icon/40.png
Binary files differ
diff --git a/icon/48.png b/icon/48.png
new file mode 100644
index 0000000..21afd32
--- /dev/null
+++ b/icon/48.png
Binary files differ
diff --git a/icon/64.png b/icon/64.png
new file mode 100644
index 0000000..4d05924
--- /dev/null
+++ b/icon/64.png
Binary files differ
diff --git a/icon/96.png b/icon/96.png
new file mode 100644
index 0000000..7cfe286
--- /dev/null
+++ b/icon/96.png
Binary files differ
diff --git a/icon/terminal-media-launcher.desktop b/icon/terminal-media-launcher.desktop
new file mode 100644
index 0000000..c9802e8
--- /dev/null
+++ b/icon/terminal-media-launcher.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=terminal-media-launcher
+Comment=Terminal Media Launcher
+Path=/usr/local/bin
+Exec=terminal-media-launcher
+Icon=terminal-media-launcher
+Terminal=true
+Categories=Utility
diff --git a/man/terminal-media-launcher-config.5 b/man/terminal-media-launcher-config.5
new file mode 100644
index 0000000..60b814b
--- /dev/null
+++ b/man/terminal-media-launcher-config.5
@@ -0,0 +1,133 @@
+.TH TERMINAL-MEDIA-LAUNCHER-CONFIG 5
+
+.SH NAME
+terminal-media-launcher-config - terminal-media-launcher configuration file
+
+.SH SYNOPSIS
+~/.config/terminal-media-launcher/config (or ~/.terminal-media-launcher/config)
+
+.SH DESCRIPTION
+The configuration file for terminal-media-launcher is a plain text file where commands regarding media groups and entries, along with various settings regarding layout, are specified. These commands are described in the next section. Each line is evaluated on its own, while empty lines and lines beginning with # are ignored.
+
+A configuration file can be automatically generated if no such file is found. An automatically generated configuration file will create groups for Music, Pictures, and Videos, and add entries to each group from the respective directory in the user's home directory. It is highly recommended that the user edit the configuration file manually.
+
+.SH COMMANDS
+.SS Creating a Group
+\fIterminal-media-launcher-config\fR requires at least one group.
+
+\fBaddGroup\fR <name>
+.RS
+This command will create a new group with a specified name. By default, a new group is empty, with zero entries, no launching application specified, and no flags specified. If their is a space in the name, it must be written in quotes (ex. "TV Shows").
+.RE
+
+\fBsetLauncher\fR <group> <path>
+.RS
+This command will set a group's launching application. If no launching application is specified for a group, terminal-media-launcher will treat each entry in that group as an executable file. If their is a space in the path to the launching application, it must be written in quotes (ex. "/usr/bin/my launcher"). The path to the launching application should be absolute.
+.RE
+
+\fBsetLauncherRaw\fR <group> <path>
+.RS
+This command is identical to \fIsetLauncher\fR with the exception that the launcher application specified will not be wrapped in quotes for the system call when a member of the group is launched. This can be used to specify more complex launching instructions.
+.RE
+
+\fBsetFlags\fR <group> <flags>
+.RS
+This command will set the flags to be specified for the launching application. If no launching application is specified, any specified flags are ignored. If the specified flags contain a space, they must be written in quotes.
+.RE
+
+.SS Adding Entries
+In order for a created group to be valid, it must contain at least one entry.
+
+\fBadd\fR <path> <group>
+.RS
+This command will add a file to a specified group if the path exists. It can also be used to add mutiple files to a group in one line using the '*' operator (ex. add /home/john/Pictures/* Pictures). If the path to the file(s) contains space(s), it must be written in quotes.
+.RE
+
+\fBaddF\fR <new entry> <group>
+.RS
+This command will force an entry to be added to a specified group, regardless as to whether it is a valid file or not. Unlike \fIadd\fR, \fIaddF\fR's argument does not need to be a valid file, but \fIaddF\fR can only specify a single entry and does not support the '*' operator. If the arg has a space in it, it must be written in quotes.
+.RE
+
+\fBaddName\fR <name> <path> <group>
+.RS
+This command, like \fIadd\fR, will add an entry to a specified group if the path exists. \fIaddName\fR allows for a name to be specified for this entry (by default, the name is the same as the file name). Unlike \fIadd\fR, only one entry can be added per line, as \fIaddName\fR does not support the '*' operator. If either the name or file path contain a space, they must be written in quotes.
+.RE
+
+\fBaddNameF\fR <name> <new-entry> <group>
+.RS
+This command can be used in place of \fIaddF\fR if you want the forced argument to have a different name displayed for the entry than is called in the system call to launch the entry. Otherwise, it is effectively the same as \fIaddF\fR.
+.RE
+
+\fBaddR\fR <path> <group>
+.RS
+This command will recursively add entries to a group. \fIaddR\fR functions like \fIadd\fR, but will also search sub-directories for matches.
+.RE
+
+\fBhide\fR <entry> <group>
+.RS
+This command will remove a specified entry from a specified group. The entry argument should refer to the entry's name, rather than the entry's path. This option may be useful to hide certain entries after adding many entries with the '*' operator.
+.RE
+
+\fBhideFile\fR <path> <group>
+.RS
+This command has the exact same functionality as \fIhide\fR, but takes the absolute path of the entry to hide as the first argument, instead of the name.
+.RE
+
+.SS Settings
+Settings should be specified at the top of \fIterminal-media-launcher-config\fR
+
+\fBautoAlias\fR on|off
+.RS
+This setting will attempt to automatically give entries more human-readable names by:
+
+ 1. Removing any characters inside parenthesis (including parenthesis)
+ 2. Replacing '-' and '\_' with a space character
+ 3. Replacing cases of multiple spaces in a row with only one space
+ 4. Removing file extensions (if the file has an extension)
+
+\fIautoAlias\fR is turned off by default.
+.RE
+
+\fBfoldCase\fR on|off
+.RS
+Entering any non-traversal input in terminal-media-launcher can be used to jump to a group or entry. For instance, hitting 'f' on the keyboard will jump the cursor to the next group or entry that starts with an 'f'. This setting determines whether or not this functionality is case insensitive (on) or case sensitive (off). \fIfoldCase\fR is turned on by default.
+.RE
+
+\fBsort\fR on|off
+.RS
+This setting will sort entries of each group in alphabetical order (though not the list of groups). Turning off \fIsort\fR is only recommended when adding one item per line to a group. \fIsort\fR is turned on by default.
+.RE
+
+.SH EXAMPLE
+
+.nf
+autoAlias on
+
+# Adding a Group of Various Applications
+
+addGroup Applications
+addName GIMP /usr/bin/gimp Applications
+addName Chromium /usr/bin/chromium-browser Applications
+addName Thunderbird /usr/bin/thunderbird Applications
+
+# Adding a Videos Group that contains mp4 files
+
+addGroup Videos
+setLauncher Videos /usr/bin/vlc
+add /home/john/Videos/*mp4 Videos
+
+.fi
+# Adding a Pictures Group that contains only jpg and png files as well as all files from an external drive and a single desktop wallpaper
+.nf
+
+addGroup Pictures
+setLauncher Pictures /usr/bin/sxiv
+setFlags Pictures "-s f"
+add /home/john/Pictures/*jpg Pictures
+add /home/john/Pictures/*png Pictures
+addR "/mnt/External_Drive/Johns Photos/*" Pictures
+addName "My Desktop Background" "/mnt/External_Drive/desktop wallpaper.jpg" Pictures
+
+.fi
+.SH SEE ALSO
+\fBterminal-media-launcher\fR(1)
diff --git a/man/terminal-media-launcher.1 b/man/terminal-media-launcher.1
new file mode 100644
index 0000000..3ab827d
--- /dev/null
+++ b/man/terminal-media-launcher.1
@@ -0,0 +1,81 @@
+.TH TERMINAL-MEDIA-LAUNCHER 1
+
+.SH NAME
+terminal-media-launcher \- terminal media launcher
+
+.SH SYNOPSIS
+terminal-media-launcher [-c|--config PATH]
+
+.SH DESCRIPTION
+\fBterminal-media-launcher\fR is a TUI application designed to help streamline launching applications and other media. It aims to be a fast and minimal command line frontend with a Unix-like approach to setup and configuration. The program looks for a configuration file listing different groups of media and creates an ncurses menu from which the user can launch their media files.
+
+Upon execution, the program will look for a configuration file. If a configuration file is found, the program will draw two columns: one for groups, and one for entries. At the bottom of the window, a preview of the command execution is displayed. If a configuration file is not found, the user will be prompted whether or not they would like to have a configuration file automatically generated.
+
+.SH OPTIONS
+\fB-c\fR, \fB--config\fR \fIpath\fR
+.RS
+Specify a configuration file path.
+.RE
+
+\fB-h\fR, \fB--help\fR
+.RS
+Print a help message
+.RE
+
+\fB-q\fR, \fB--quiet\fR
+.RS
+Suppress stdout messages
+.RE
+
+.SH KEY BINDINGS
+.B Up, Down
+.RS
+Move selection up and down on the focused column
+.RE
+
+.B Tab, Left, Right
+.RS
+Toggle focus between group and entry columns
+.RE
+
+.B PgUp
+.RS
+Jump to the top of the focused column
+.RE
+
+.B PgDn
+.RS
+Jump to the bottom of the focused column
+.RE
+
+.B F3
+.RS
+Jump to a random row of the focused column
+.RE
+
+.B Enter
+.RS
+Execute the selected entry
+.RE
+
+.B Escape
+.RS
+Exit the program
+.RE
+
+Any other input will jump to the next matching group/entry that begins with the input character, if one exists (ex. hitting 'f' while focused on the entries column will jump to the next entry that starts with an 'f' unless there is no entry that starts with an 'f').
+
+.SH FILES
+\fB~/.config/terminal-media-launcher/config (or ~/.terminal-media-launcher/config)\fR
+.RS
+When starting, terminal-media-launcher looks for a configuration file in the following order:
+
+ 1. ~/.config/terminal-media-launcher/config
+
+ 2. ~/.terminal-media-launcher/config
+
+You can specify a custom path using the -c option. For documentation of the config file, see \fBterminal-media-launcher-config\fR(5).
+.RE
+
+.SH SEE ALSO
+terminal-media-launcher-config(5)