-1.6.1-roc-jul
+1.6.1-roc (June-July 2026)
* Banner (Menu) Files
- * $ATTR() now takes numbers > 15 -- they are the same colors against
- all "normal" (no-dim/no-bold) backgrounds. There are now 130 color
- pairs in total, including 0 and 129 which are white-on-black and
- whatever the user's terminal's default fg/bg combo is, respectively.
- * $ATTR() now accepts/turns an "blink" attribute, using character 'f'
- for flash (since b was already taken by blink).
- * Fixed lingering error in original and 1.6.1-roc dgamelaunch.conf, which
- incorrectly instructed users to use ':' rather than ';' as a delimiter
- in $ATTR() replacements.
-1.6.1-roc-jun (2026)
+ * Under the hood, there are now 152 color pairs.
+ * $ATTR(7) now sets white on black, instead of the user's terminal
+ emulator's default colors. (unintended side-effect of commit bf205)
+ * $ATTR() now accepts/turns on "blink" attribute, using character 'f'
+ for flash (since b was already taken by bold).
+ * Fixed lingering error in original and 1.6.1-roc dgamelaunch.conf,
+ which incorrectly instructed users to use ':' rather than ';' as a
+ delimiter in $ATTR() replacements.
+ * $ATTR() now, in addition to taking a single number, will take two
+ comma-separated numbers to represent a Foreground and a Background.
+ New signature: $ATTR([0-15][,0-7][;(attr-char)])
+ * ATTR() color codes can be -1, for either (or both) foreground or
+ background, which will cause the displayed color to be the default
+ for the user's terminal emulator.
+ * ATTR() color codes, if no bg is given, now default to user term
+ default. So users with black-on-white for some reason won't see
+ messy blobs of black backgrounds.
+1.6.1-roc (June 2026)
* Banner (Menu) Files
* Changed loadbanner() [dgamelaunch.c] -- $INCLUDE() can now be
anywhere in a line.
-Subproject commit 0a4f9285b6d8fc5344f0a6b0e09f290e96a17294
+Subproject commit 35f6c00ac0cfd5b8821c51479cf4e7ce0965d245
# String substitutions defined in bannervars-section above.
# $VERSION = dgamelaunch version
# $USERNAME = user name (or [Anonymous] if not logged in)
-# $ATTR(params) = change text color and attributes. | 0 = Black
-# params can be either number (to set the text color), | 1 = Blue
-# one, or any of "b" (bold), "s" (standout), "u" (underline), | 2 = Green
-# "r" (reverse) or "d" (dim), | 3 = Cyan
-# or both color number and attribute characters, separated by semicolon.| 4 = Red
-# Empty param resets color and attributes to default. | 5 = Purple
-# Color number can be from -1 to 128. Two color numbers can be provided,| 6 = Yellow
-# separated by a comma (eg: $ATTR(14,1;b;f)) -- the second number must | 7 = White
-# be from 0-7, and will be used as the background colour. | 8-15 = bright-bit set
-# If no background color is given, and the provided foreground is >15, | 16-127 = setting background bits
-# the higher 3 bits will be used as a background color.
+# $ATTR(params) = change text color and attributes.
+# params can be either number (to set the text color),
+# one, or any of "b" (bold), "s" (standout), "u" (underline),
+# "r" (reverse), "d" (dim), or "f" (flash),
+# or both color number and attribute characters, separated by semicolon.
+# Empty param resets color and attributes to default.
+# Color number can be from 0-15. Two color numbers can be provided,
+# separated by a comma (eg: $ATTR(14,1;b;f)) -- the second number must
+# be from 0-7, and will be used as the background colour.
+# Negative numbers in fg or bg will be replaced with the user's terminal's
+# default fg or bg; other out of bound colors are ignored/reset to black.
+# 0 = Black, 1 = Blue, 2 = Green, 3 = Cyan, 4 = Red
+# 5 = Purple, 6 = Yellow, 7 = White, 8-15 = bright bit set
bannerfile = "(:menudir:)/dgl_menu_main_user.txt"
# after which cursor is moved to this location
# if cursor-definition is missing, the cursor is put
# commands["I"] = ifnxcp "/etc/dcss0341/settings/init.txt" "%ruserdata/%n/%n.dcss0341rc",
# exec "/bin/virus" "%ruserdata/%n/%n.dcss0341rc"
# commands["c"] = play_game "dcss0341"
+commands["~"] = submenu "colors"
commands["q"] = quit
}
commands["qQ "] = return
}
+menu["colors"] {
+ bannerfile = "/etc/dgl/menu/dgl-color-test.menu"
+ commands["Qq"] = return
+}
--- /dev/null
+ ATTR(s) ATTR(r) ATTR(f)\r
+ ATTR(b) ATTR(u) ATTR(d)\r
+ $ATTR()TEST$ATTR() $ATTR(b)TEST$ATTR() $ATTR(s)TEST$ATTR() $ATTR(u)TEST$ATTR() $ATTR(r)TEST$ATTR() $ATTR(d)TEST$ATTR() $ATTR(f)TEST$ATTR()\r
+ATTR(0) $ATTR(0)TEST$ATTR() $ATTR(0;b)TEST$ATTR() $ATTR(0;s)TEST$ATTR() $ATTR(0;u)TEST$ATTR() $ATTR(0;r)TEST$ATTR() $ATTR(0;d)TEST$ATTR() $ATTR(0;f)TEST$ATTR()\r
+ATTR(1) $ATTR(1)TEST$ATTR() $ATTR(1;b)TEST$ATTR() $ATTR(1;s)TEST$ATTR() $ATTR(1;u)TEST$ATTR() $ATTR(1;r)TEST$ATTR() $ATTR(1;d)TEST$ATTR() $ATTR(1;f)TEST$ATTR()\r
+ATTR(2) $ATTR(2)TEST$ATTR() $ATTR(2;b)TEST$ATTR() $ATTR(2;s)TEST$ATTR() $ATTR(2;u)TEST$ATTR() $ATTR(2;r)TEST$ATTR() $ATTR(2;d)TEST$ATTR() $ATTR(2;f)TEST$ATTR()\r
+ATTR(3) $ATTR(3)TEST$ATTR() $ATTR(3;b)TEST$ATTR() $ATTR(3;s)TEST$ATTR() $ATTR(3;u)TEST$ATTR() $ATTR(3;r)TEST$ATTR() $ATTR(3;d)TEST$ATTR() $ATTR(3;f)TEST$ATTR()\r
+ATTR(4) $ATTR(4)TEST$ATTR() $ATTR(4;b)TEST$ATTR() $ATTR(4;s)TEST$ATTR() $ATTR(4;u)TEST$ATTR() $ATTR(4;r)TEST$ATTR() $ATTR(4;d)TEST$ATTR() $ATTR(4;f)TEST$ATTR()\r
+ATTR(5) $ATTR(5)TEST$ATTR() $ATTR(5;b)TEST$ATTR() $ATTR(5;s)TEST$ATTR() $ATTR(5;u)TEST$ATTR() $ATTR(5;r)TEST$ATTR() $ATTR(5;d)TEST$ATTR() $ATTR(5;f)TEST$ATTR()\r
+ATTR(6) $ATTR(6)TEST$ATTR() $ATTR(6;b)TEST$ATTR() $ATTR(6;s)TEST$ATTR() $ATTR(6;u)TEST$ATTR() $ATTR(6;r)TEST$ATTR() $ATTR(6;d)TEST$ATTR() $ATTR(6;f)TEST$ATTR()\r
+ATTR(7) $ATTR(7)TEST$ATTR() $ATTR(7;b)TEST$ATTR() $ATTR(7;s)TEST$ATTR() $ATTR(7;u)TEST$ATTR() $ATTR(7;r)TEST$ATTR() $ATTR(7;d)TEST$ATTR() $ATTR(7;f)TEST$ATTR()\r
+ATTR(8) $ATTR(8)TEST$ATTR() $ATTR(8;b)TEST$ATTR() $ATTR(8;s)TEST$ATTR() $ATTR(8;u)TEST$ATTR() $ATTR(8;r)TEST$ATTR() $ATTR(8;d)TEST$ATTR() $ATTR(8;f)TEST$ATTR()\r
+ATTR(9) $ATTR(9)TEST$ATTR() $ATTR(9;b)TEST$ATTR() $ATTR(9;s)TEST$ATTR() $ATTR(9;u)TEST$ATTR() $ATTR(9;r)TEST$ATTR() $ATTR(9;d)TEST$ATTR() $ATTR(9;f)TEST$ATTR()\r
+ATTR(10) $ATTR(10)TEST$ATTR() $ATTR(10;b)TEST$ATTR() $ATTR(10;s)TEST$ATTR() $ATTR(10;u)TEST$ATTR() $ATTR(10;r)TEST$ATTR() $ATTR(10;d)TEST$ATTR() $ATTR(10;f)TEST$ATTR()\r
+ATTR(11) $ATTR(11)TEST$ATTR() $ATTR(11;b)TEST$ATTR() $ATTR(11;s)TEST$ATTR() $ATTR(11;u)TEST$ATTR() $ATTR(11;r)TEST$ATTR() $ATTR(11;d)TEST$ATTR() $ATTR(11;f)TEST$ATTR()\r
+ATTR(12) $ATTR(12)TEST$ATTR() $ATTR(12;b)TEST$ATTR() $ATTR(12;s)TEST$ATTR() $ATTR(12;u)TEST$ATTR() $ATTR(12;r)TEST$ATTR() $ATTR(12;d)TEST$ATTR() $ATTR(12;f)TEST$ATTR()\r
+ATTR(13) $ATTR(13)TEST$ATTR() $ATTR(13;b)TEST$ATTR() $ATTR(13;s)TEST$ATTR() $ATTR(13;u)TEST$ATTR() $ATTR(13;r)TEST$ATTR() $ATTR(13;d)TEST$ATTR() $ATTR(13;f)TEST$ATTR()\r
+ATTR(14) $ATTR(14)TEST$ATTR() $ATTR(14;b)TEST$ATTR() $ATTR(14;s)TEST$ATTR() $ATTR(14;u)TEST$ATTR() $ATTR(14;r)TEST$ATTR() $ATTR(14;d)TEST$ATTR() $ATTR(14;f)TEST$ATTR()\r
+ATTR(15) $ATTR(15)TEST$ATTR() $ATTR(15;b)TEST$ATTR() $ATTR(15;s)TEST$ATTR() $ATTR(15;u)TEST$ATTR() $ATTR(15;r)TEST$ATTR() $ATTR(15;d)TEST$ATTR() $ATTR(15;f)TEST$ATTR()\r
+ATTR(25) $ATTR(25)TEST$ATTR() $ATTR(25;b)TEST$ATTR() $ATTR(25;s)TEST$ATTR() $ATTR(25;u)TEST$ATTR() $ATTR(25;r)TEST$ATTR() $ATTR(25;d)TEST$ATTR() $ATTR(25;f)TEST$ATTR()\r
+ATTR(50) $ATTR(50)TEST$ATTR() $ATTR(50;b)TEST$ATTR() $ATTR(50;s)TEST$ATTR() $ATTR(50;u)TEST$ATTR() $ATTR(50;r)TEST$ATTR() $ATTR(50;d)TEST$ATTR() $ATTR(50;f)TEST$ATTR()\r
+ATTR(68) $ATTR(68)TEST$ATTR() $ATTR(68;b)TEST$ATTR() $ATTR(68;s)TEST$ATTR() $ATTR(68;u)TEST$ATTR() $ATTR(68;r)TEST$ATTR() $ATTR(68;d)TEST$ATTR() $ATTR(68;f)TEST$ATTR()
\ No newline at end of file