ports/contrib (3.4): dvtm: remove config.h
commit 53d1d03f7450f8a4272f3114d1f53cfe7153e2e1 Author: John Vogel <jvogel4@stny.rr.com> Date: Tue May 22 22:57:16 2018 -0400 dvtm: remove config.h Also expand README to explain how to generate a custom config.h and some hints on using this port as a reference for a private and customized dvtm port. diff --git a/dvtm/.md5sum b/dvtm/.md5sum index fab0dfee..67162d8f 100644 --- a/dvtm/.md5sum +++ b/dvtm/.md5sum @@ -1,2 +1 @@ -243bc2d4085c08d9b748f892f5950a00 config.h 887e162a3abe2ad8e86caefab20cdd63 dvtm-0.15.tar.gz diff --git a/dvtm/.signature b/dvtm/.signature index 61a8742d..56325f1b 100644 --- a/dvtm/.signature +++ b/dvtm/.signature @@ -1,6 +1,5 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF339TXF+xeb2wH8Wr/52zQRtXe6ifmAOw0K6oDl1KchpQCvb8f+1luw7bBFAQ7Q4c5zTZnVIVWzLQjjhuXdOVyAI= -SHA256 (Pkgfile) = d69592179802e2f2524535436c9cace0bed90a99620f2f3287c77a6be1360566 +RWSagIOpLGJF39gJw2WHNuT1q1KhtmZYAUh5OjdosD62Y7s6jOOv6WrL2blDDlWKuauyXakfhQYnvJw9wPjD4ZJUtgc8TU4Iiw4= +SHA256 (Pkgfile) = 4a76e00df75de0b5a6145ca9c48077aab453432519846fba115f3fac83dc0791 SHA256 (.footprint) = 5844e2099c90a39108885338f2e5aea59133601e10503ad7b7f171b9f83145de SHA256 (dvtm-0.15.tar.gz) = 8f2015c05e2ad82f12ae4cf12b363d34f527a4bbc8c369667f239e4542e1e510 -SHA256 (config.h) = 89652c67613d8750567b4bdb9088939203fe5602d6d36bb95c95b72908b4a80b diff --git a/dvtm/Pkgfile b/dvtm/Pkgfile index d299fcde..a00ec2b4 100644 --- a/dvtm/Pkgfile +++ b/dvtm/Pkgfile @@ -5,16 +5,19 @@ name=dvtm version=0.15 -release=1 -source=(http://www.brain-dump.org/projects/$name/$name-$version.tar.gz config.h) +release=2 +source=(http://www.brain-dump.org/projects/$name/$name-$version.tar.gz) build () { - cd "$name-$version" + cd "$name-$version" - cp $SRC/config.h . - make - make DESTDIR=$PKG PREFIX=/usr install + if [ -f $PKGMK_ROOT/config.h ]; then + cp $SRC/config.h . + fi - # remove redundant terminfo files that conflict with ncurses - rm -rf $PKG/usr/share/terminfo + make + make DESTDIR=$PKG PREFIX=/usr install + + # remove redundant terminfo files that conflict with ncurses + rm -rf $PKG/usr/share/terminfo } diff --git a/dvtm/README b/dvtm/README index d05ed4ee..1667ff14 100644 --- a/dvtm/README +++ b/dvtm/README @@ -1 +1,14 @@ -Edit config.h and rebuild the package to configure dvtm. +The configuration of dvtm is done by creating a custom config.h +and (re)compiling the source code. To create a custom config.h, +unpack the tarball, copy the file dvtm-$version/config.def.h to +dvtm's port directory, and edit to suit your preferences. Then, +when you call pkgmk in the dvtm port directory, the custom +config.h will be detected and copied into the source before +compilation. I recommend that you save a copy your custom config.h +some where other than the dvtm port directory, so that your changes +won't get nuked when updating ports or performing a prtsweep or +prtwash (see opt/prt-utils for more information about those two). + +Another solution for customizing dvtm is to create a custom and +(preferably) private port that contains your custom config and also +might include patches for added features. diff --git a/dvtm/config.h b/dvtm/config.h deleted file mode 100644 index 643a2810..00000000 --- a/dvtm/config.h +++ /dev/null @@ -1,217 +0,0 @@ -/* valid curses attributes are listed below they can be ORed - * - * A_NORMAL Normal display (no highlight) - * A_STANDOUT Best highlighting mode of the terminal. - * A_UNDERLINE Underlining - * A_REVERSE Reverse video - * A_BLINK Blinking - * A_DIM Half bright - * A_BOLD Extra bright or bold - * A_PROTECT Protected mode - * A_INVIS Invisible or blank mode - */ - -enum { - DEFAULT, - BLUE, -}; - -static Color colors[] = { - [DEFAULT] = { .fg = -1, .bg = -1, .fg256 = -1, .bg256 = -1, }, - [BLUE] = { .fg = COLOR_BLUE, .bg = -1, .fg256 = 68, .bg256 = -1, }, -}; - -#define COLOR(c) COLOR_PAIR(colors[c].pair) -/* curses attributes for the currently focused window */ -#define SELECTED_ATTR (COLOR(BLUE) | A_NORMAL) -/* curses attributes for normal (not selected) windows */ -#define NORMAL_ATTR (COLOR(DEFAULT) | A_NORMAL) -/* curses attributes for a window with pending urgent flag */ -#define URGENT_ATTR NORMAL_ATTR -/* curses attributes for the status bar */ -#define BAR_ATTR (COLOR(BLUE) | A_NORMAL) -/* characters for beginning and end of status bar message */ -#define BAR_BEGIN '[' -#define BAR_END ']' -/* status bar (command line option -s) position */ -#define BAR_POS BAR_TOP /* BAR_BOTTOM, BAR_OFF */ -/* whether status bar should be hidden if only one client exists */ -#define BAR_AUTOHIDE true -/* master width factor [0.1 .. 0.9] */ -#define MFACT 0.5 -/* number of clients in master area */ -#define NMASTER 1 -/* scroll back buffer size in lines */ -#define SCROLL_HISTORY 500 -/* printf format string for the tag in the status bar */ -#define TAG_SYMBOL "[%s]" -/* curses attributes for the currently selected tags */ -#define TAG_SEL (COLOR(BLUE) | A_BOLD) -/* curses attributes for not selected tags which contain no windows */ -#define TAG_NORMAL (COLOR(DEFAULT) | A_NORMAL) -/* curses attributes for not selected tags which contain windows */ -#define TAG_OCCUPIED (COLOR(BLUE) | A_NORMAL) -/* curses attributes for not selected tags which with urgent windows */ -#define TAG_URGENT (COLOR(BLUE) | A_NORMAL | A_BLINK) - -const char tags[][8] = { "1", "2", "3", "4", "5" }; - -#include "tile.c" -#include "grid.c" -#include "bstack.c" -#include "fullscreen.c" - -/* by default the first layout entry is used */ -static Layout layouts[] = { - { "[]=", tile }, - { "+++", grid }, - { "TTT", bstack }, - { "[ ]", fullscreen }, -}; - -#define MOD CTRL('g') -#define TAGKEYS(KEY,TAG) \ - { { MOD, 'v', KEY, }, { view, { tags[TAG] } } }, \ - { { MOD, 't', KEY, }, { tag, { tags[TAG] } } }, \ - { { MOD, 'V', KEY, }, { toggleview, { tags[TAG] } } }, \ - { { MOD, 'T', KEY, }, { toggletag, { tags[TAG] } } }, - -/* you can at most specifiy MAX_ARGS (3) number of arguments */ -static KeyBinding bindings[] = { - { { MOD, 'c', }, { create, { NULL } } }, - { { MOD, 'C', }, { create, { NULL, NULL, "$CWD" } } }, - { { MOD, 'x', 'x', }, { killclient, { NULL } } }, - { { MOD, 'j', }, { focusnext, { NULL } } }, - { { MOD, 'J', }, { focusnextnm, { NULL } } }, - { { MOD, 'K', }, { focusprevnm, { NULL } } }, - { { MOD, 'k', }, { focusprev, { NULL } } }, - { { MOD, 'f', }, { setlayout, { "[]=" } } }, - { { MOD, 'g', }, { setlayout, { "+++" } } }, - { { MOD, 'b', }, { setlayout, { "TTT" } } }, - { { MOD, 'm', }, { setlayout, { "[ ]" } } }, - { { MOD, ' ', }, { setlayout, { NULL } } }, - { { MOD, 'i', }, { incnmaster, { "+1" } } }, - { { MOD, 'd', }, { incnmaster, { "-1" } } }, - { { MOD, 'h', }, { setmfact, { "-0.05" } } }, - { { MOD, 'l', }, { setmfact, { "+0.05" } } }, - { { MOD, '.', }, { toggleminimize, { NULL } } }, - { { MOD, 's', }, { togglebar, { NULL } } }, - { { MOD, 'S', }, { togglebarpos, { NULL } } }, - { { MOD, 'M', }, { togglemouse, { NULL } } }, - { { MOD, '\n', }, { zoom , { NULL } } }, - { { MOD, '\r', }, { zoom , { NULL } } }, - { { MOD, '1', }, { focusn, { "1" } } }, - { { MOD, '2', }, { focusn, { "2" } } }, - { { MOD, '3', }, { focusn, { "3" } } }, - { { MOD, '4', }, { focusn, { "4" } } }, - { { MOD, '5', }, { focusn, { "5" } } }, - { { MOD, '6', }, { focusn, { "6" } } }, - { { MOD, '7', }, { focusn, { "7" } } }, - { { MOD, '8', }, { focusn, { "8" } } }, - { { MOD, '9', }, { focusn, { "9" } } }, - { { MOD, '\t', }, { focuslast, { NULL } } }, - { { MOD, 'q', 'q', }, { quit, { NULL } } }, - { { MOD, 'a', }, { togglerunall, { NULL } } }, - { { MOD, CTRL('L'), }, { redraw, { NULL } } }, - { { MOD, 'r', }, { redraw, { NULL } } }, - { { MOD, 'e', }, { copymode, { NULL } } }, - { { MOD, '/', }, { copymode, { "/" } } }, - { { MOD, 'p', }, { paste, { NULL } } }, - { { MOD, KEY_PPAGE, }, { scrollback, { "-1" } } }, - { { MOD, KEY_NPAGE, }, { scrollback, { "1" } } }, - { { MOD, '?', }, { create, { "man dvtm", "dvtm help" } } }, - { { MOD, MOD, }, { send, { (const char []){MOD, 0} } } }, - { { KEY_SPREVIOUS, }, { scrollback, { "-1" } } }, - { { KEY_SNEXT, }, { scrollback, { "1" } } }, - { { MOD, '0', }, { view, { NULL } } }, - { { MOD, KEY_F(1), }, { view, { tags[0] } } }, - { { MOD, KEY_F(2), }, { view, { tags[1] } } }, - { { MOD, KEY_F(3), }, { view, { tags[2] } } }, - { { MOD, KEY_F(4), }, { view, { tags[3] } } }, - { { MOD, KEY_F(5), }, { view, { tags[4] } } }, - { { MOD, 'v', '0' }, { view, { NULL } } }, - { { MOD, 'v', '\t', }, { viewprevtag, { NULL } } }, - { { MOD, 't', '0' }, { tag, { NULL } } }, - TAGKEYS( '1', 0) - TAGKEYS( '2', 1) - TAGKEYS( '3', 2) - TAGKEYS( '4', 3) - TAGKEYS( '5', 4) -}; - -static const ColorRule colorrules[] = { - { "", A_NORMAL, &colors[DEFAULT] }, /* default */ -}; - -/* possible values for the mouse buttons are listed below: - * - * BUTTON1_PRESSED mouse button 1 down - * BUTTON1_RELEASED mouse button 1 up - * BUTTON1_CLICKED mouse button 1 clicked - * BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked - * BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked - * BUTTON2_PRESSED mouse button 2 down - * BUTTON2_RELEASED mouse button 2 up - * BUTTON2_CLICKED mouse button 2 clicked - * BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked - * BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked - * BUTTON3_PRESSED mouse button 3 down - * BUTTON3_RELEASED mouse button 3 up - * BUTTON3_CLICKED mouse button 3 clicked - * BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked - * BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked - * BUTTON4_PRESSED mouse button 4 down - * BUTTON4_RELEASED mouse button 4 up - * BUTTON4_CLICKED mouse button 4 clicked - * BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked - * BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked - * BUTTON_SHIFT shift was down during button state change - * BUTTON_CTRL control was down during button state change - * BUTTON_ALT alt was down during button state change - * ALL_MOUSE_EVENTS report all button state changes - * REPORT_MOUSE_POSITION report mouse movement - */ - -#ifdef NCURSES_MOUSE_VERSION -# define CONFIG_MOUSE /* compile in mouse support if we build against ncurses */ -#endif - -#define ENABLE_MOUSE true /* whether to enable mouse events by default */ - -#ifdef CONFIG_MOUSE -static Button buttons[] = { - { BUTTON1_CLICKED, { mouse_focus, { NULL } } }, - { BUTTON1_DOUBLE_CLICKED, { mouse_fullscreen, { "[ ]" } } }, - { BUTTON2_CLICKED, { mouse_zoom, { NULL } } }, - { BUTTON3_CLICKED, { mouse_minimize, { NULL } } }, -}; -#endif /* CONFIG_MOUSE */ - -static Cmd commands[] = { - { "create", { create, { NULL } } }, -}; - -/* gets executed when dvtm is started */ -static Action actions[] = { - { create, { NULL } }, -}; - -static char const * const keytable[] = { - /* add your custom key escape sequences */ -}; - -/* editor to use for copy mode. If neither of DVTM_EDITOR, EDITOR and PAGER is - * set the first entry is chosen. Otherwise the array is consulted for supported - * options. A %d in argv is replaced by the line number at which the file should - * be opened. If filter is true the editor is expected to work even if stdout is - * redirected (i.e. not a terminal). If color is true then color escape sequences - * are generated in the output. - */ -static Editor editors[] = { - { .name = "vis", .argv = { "vis", "+%d", "-", NULL }, .filter = true, .color = false }, - { .name = "sandy", .argv = { "sandy", "-d", "-", NULL }, .filter = true, .color = false }, - { .name = "dvtm-editor", .argv = { "dvtm-editor", "-", NULL }, .filter = true, .color = false }, - { .name = "vim", .argv = { "vim", "+%d", "-", NULL }, .filter = false, .color = false }, - { .name = "less", .argv = { "less", "-R", "+%d", NULL }, .filter = false, .color = true }, - { .name = "more", .argv = { "more", "+%d", NULL }, .filter = false, .color = false }, -};
participants (1)
-
crux@crux.nu