My build of the simple terminal from suckless.org.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

st-osc10-20210106-9c4b3f4.diff 2.1 KiB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. From 9c4b3f40e07dd1d6dd94fa733b7853aff7f4b8fc Mon Sep 17 00:00:00 2001
  2. From: Raheman Vaiya <r.vaiya@gmail.com>
  3. Date: Sat, 16 Jan 2021 18:18:07 -0500
  4. Subject: [PATCH] Add proper OSC 10/11 support.
  5. ---
  6. config.def.h | 9 ++++++---
  7. st.c | 30 ++++++++++++++++++++++++++++++
  8. st.h | 1 +
  9. 3 files changed, 37 insertions(+), 3 deletions(-)
  10. diff --git a/config.def.h b/config.def.h
  11. index 6f05dce..9bb22a5 100644
  12. --- a/config.def.h
  13. +++ b/config.def.h
  14. @@ -120,6 +120,8 @@ static const char *colorname[] = {
  15. /* more colors can be added after 255 to use with DefaultXX */
  16. "#cccccc",
  17. "#555555",
  18. + "black",
  19. + "gray90",
  20. };
  21. @@ -127,9 +129,10 @@ static const char *colorname[] = {
  22. * Default colors (colorname index)
  23. * foreground, background, cursor, reverse cursor
  24. */
  25. -unsigned int defaultfg = 7;
  26. -unsigned int defaultbg = 0;
  27. -static unsigned int defaultcs = 256;
  28. +
  29. +unsigned int defaultbg = 258;
  30. +unsigned int defaultfg = 259;
  31. +unsigned int defaultcs = 256;
  32. static unsigned int defaultrcs = 257;
  33. /*
  34. diff --git a/st.c b/st.c
  35. index abbbe4b..6a57d89 100644
  36. --- a/st.c
  37. +++ b/st.c
  38. @@ -1877,6 +1877,36 @@ strhandle(void)
  39. }
  40. }
  41. return;
  42. + case 10: /* set foreground color */
  43. + if (narg < 2)
  44. + break;
  45. +
  46. + p = strescseq.args[1];
  47. + if (xsetcolorname(defaultfg, p))
  48. + fprintf(stderr, "erresc: invalid foreground color %d\n", p);
  49. + else
  50. + redraw();
  51. + break;
  52. + case 11: /* set background color */
  53. + if (narg < 2)
  54. + break;
  55. +
  56. + p = strescseq.args[1];
  57. + if (xsetcolorname(defaultbg, p))
  58. + fprintf(stderr, "erresc: invalid background color %d\n", p);
  59. + else
  60. + redraw();
  61. + break;
  62. + case 12: /* set cursor color */
  63. + if (narg < 2)
  64. + break;
  65. +
  66. + p = strescseq.args[1];
  67. + if (xsetcolorname(defaultcs, p))
  68. + fprintf(stderr, "erresc: invalid cursor color %d\n", p);
  69. + else
  70. + redraw();
  71. + break;
  72. case 4: /* color set */
  73. if (narg < 3)
  74. break;
  75. diff --git a/st.h b/st.h
  76. index 3d351b6..054366d 100644
  77. --- a/st.h
  78. +++ b/st.h
  79. @@ -123,3 +123,4 @@ extern char *termname;
  80. extern unsigned int tabspaces;
  81. extern unsigned int defaultfg;
  82. extern unsigned int defaultbg;
  83. +extern unsigned int defaultcs;
  84. --
  85. 2.20.1