Personal emacs config
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

378 lines
15 KiB

  1. ;; Copyright (C) 2016 Free Software Foundation, Inc
  2. ;; Authors: Clément Pit--Claudel, Nick Roberts <nickrob@gnu.org>,
  3. ;; Rocky Bernstein
  4. ;; This program is free software; you can redistribute it and/or modify
  5. ;; it under the terms of the GNU General Public License as published by
  6. ;; the Free Software Foundation, either version 3 of the License, or
  7. ;; (at your option) any later version.
  8. ;; This program is distributed in the hope that it will be useful,
  9. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. ;; GNU General Public License for more details.
  12. ;; You should have received a copy of the GNU General Public License
  13. ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. ;; Run ‘cask exec emacs -Q -L . -l etc/screenshot.el’ from the project's root to
  15. ;; build a screenshot.
  16. (require 'load-relative)
  17. (defconst realgud-bp-xpm-data
  18. "/* XPM */
  19. static char *magick[] = {
  20. /* columns rows colors chars-per-pixel */
  21. \"10 10 2 1\",
  22. \" c red\",
  23. \"+ c None\",
  24. /* pixels */
  25. \"+++ +++\",
  26. \"++ ++\",
  27. \"+ +\",
  28. \" \",
  29. \" \",
  30. \" \",
  31. \" \",
  32. \"+ +\",
  33. \"++ ++\",
  34. \"+++ +++\",
  35. };"
  36. "XPM data used for breakpoint enable and disable icon.")
  37. ;; For seeing what above icon looks like:
  38. (if nil
  39. (progn
  40. (let ((image
  41. (find-image `((:type xpm :data
  42. ,realgud-bp-xpm-data
  43. :ascent 100 :pointer hand)))))
  44. (insert-image image)) ;; eval-last-sexp after previous ))
  45. (let ((image
  46. (find-image `((:type xpm :data
  47. ,realgud-bp-xpm-data
  48. :conversion disabled
  49. :ascent 100 :pointer hand)))))
  50. (insert-image image)) ;; eval-last-sexp after previous ))
  51. )
  52. )
  53. (defconst realgud-bp-enabled-pbm-data
  54. "P1
  55. 10 10\",
  56. 0 0 0 0 1 1 1 1 0 0 0 0
  57. 0 0 0 1 1 1 1 1 1 0 0 0
  58. 0 0 1 1 1 1 1 1 1 1 0 0
  59. 0 1 1 1 1 1 1 1 1 1 1 0
  60. 0 1 1 1 1 1 1 1 1 1 1 0
  61. 0 1 1 1 1 1 1 1 1 1 1 0
  62. 0 1 1 1 1 1 1 1 1 1 1 0
  63. 0 0 1 1 1 1 1 1 1 1 0 0
  64. 0 0 0 1 1 1 1 1 1 0 0 0
  65. 0 0 0 0 1 1 1 1 0 0 0 0"
  66. "PBM data used for enabled breakpoint icon.")
  67. ;; For seeing what above icon looks like:
  68. (if nil
  69. (let ((image
  70. (find-image `((:type pbm :data
  71. ,realgud-bp-enabled-pbm-data
  72. :ascent 100 :pointer hand)))))
  73. (insert-image image)) ;; eval-last-sexp after previous ))
  74. )
  75. (defconst realgud-bp-disabled-pbm-data
  76. "P1
  77. 10 10\",
  78. 1 1 1 1 0 0 0 0 1 1 1 1
  79. 1 1 1 0 0 0 0 0 0 1 1 1
  80. 1 1 0 0 0 0 0 0 0 0 1 1
  81. 1 0 0 0 0 0 0 0 0 0 0 1
  82. 1 0 0 0 0 0 0 0 0 0 0 1
  83. 1 0 0 0 0 0 0 0 0 0 0 1
  84. 1 0 0 0 0 0 0 0 0 0 0 1
  85. 1 1 0 0 0 0 0 0 0 0 1 1
  86. 1 1 1 0 0 0 0 0 0 1 1 1
  87. 1 1 1 1 0 0 0 0 1 1 1 1"
  88. "PBM data used for disabled breakpoint icon.")
  89. ;; For seeing what above icon looks like:
  90. (if nil
  91. (let ((image
  92. (find-image `((:type pbm :data
  93. ,realgud-bp-disabled-pbm-data
  94. :ascent 100 :pointer hand)))))
  95. (insert-image image)) ;; eval-last-sexp after previous ))
  96. )
  97. (defconst realgud-bp-enabled-svg-data
  98. "<?xml version='1.0' standalone='no'?>
  99. <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN'
  100. 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
  101. <svg width='10' height='10'>
  102. <circle cx='0' cy='0' r='1' fill='none'/>
  103. <circle cx='1' cy='0' r='1' fill='none'/>
  104. <circle cx='2' cy='0' r='1' fill='none'/>
  105. <circle cx='3' cy='0' r='1' fill='red'/>
  106. <circle cx='4' cy='0' r='1' fill='red'/>
  107. <circle cx='5' cy='0' r='1' fill='red'/>
  108. <circle cx='6' cy='0' r='1' fill='red'/>
  109. <circle cx='7' cy='0' r='1' fill='none'/>
  110. <circle cx='8' cy='0' r='1' fill='none'/>
  111. <circle cx='9' cy='0' r='1' fill='none'/>
  112. <circle cx='0' cy='1' r='1' fill='none'/>
  113. <circle cx='1' cy='1' r='1' fill='none'/>
  114. <circle cx='2' cy='1' r='1' fill='red'/>
  115. <circle cx='3' cy='1' r='1' fill='red'/>
  116. <circle cx='4' cy='1' r='1' fill='red'/>
  117. <circle cx='5' cy='1' r='1' fill='red'/>
  118. <circle cx='6' cy='1' r='1' fill='red'/>
  119. <circle cx='7' cy='1' r='1' fill='red'/>
  120. <circle cx='8' cy='1' r='1' fill='none'/>
  121. <circle cx='9' cy='1' r='1' fill='none'/>
  122. <circle cx='0' cy='2' r='1' fill='none'/>
  123. <circle cx='1' cy='2' r='1' fill='red'/>
  124. <circle cx='2' cy='2' r='1' fill='red'/>
  125. <circle cx='3' cy='2' r='1' fill='red'/>
  126. <circle cx='4' cy='2' r='1' fill='red'/>
  127. <circle cx='5' cy='2' r='1' fill='red'/>
  128. <circle cx='6' cy='2' r='1' fill='red'/>
  129. <circle cx='7' cy='2' r='1' fill='red'/>
  130. <circle cx='8' cy='2' r='1' fill='red'/>
  131. <circle cx='9' cy='2' r='1' fill='none'/>
  132. <circle cx='0' cy='3' r='1' fill='red'/>
  133. <circle cx='1' cy='3' r='1' fill='red'/>
  134. <circle cx='2' cy='3' r='1' fill='red'/>
  135. <circle cx='3' cy='3' r='1' fill='red'/>
  136. <circle cx='4' cy='3' r='1' fill='red'/>
  137. <circle cx='5' cy='3' r='1' fill='red'/>
  138. <circle cx='6' cy='3' r='1' fill='red'/>
  139. <circle cx='7' cy='3' r='1' fill='red'/>
  140. <circle cx='8' cy='3' r='1' fill='red'/>
  141. <circle cx='9' cy='3' r='1' fill='red'/>
  142. <circle cx='0' cy='4' r='1' fill='red'/>
  143. <circle cx='1' cy='4' r='1' fill='red'/>
  144. <circle cx='2' cy='4' r='1' fill='red'/>
  145. <circle cx='3' cy='4' r='1' fill='red'/>
  146. <circle cx='4' cy='4' r='1' fill='red'/>
  147. <circle cx='5' cy='4' r='1' fill='red'/>
  148. <circle cx='6' cy='4' r='1' fill='red'/>
  149. <circle cx='7' cy='4' r='1' fill='red'/>
  150. <circle cx='8' cy='4' r='1' fill='red'/>
  151. <circle cx='9' cy='4' r='1' fill='red'/>
  152. <circle cx='0' cy='5' r='1' fill='red'/>
  153. <circle cx='1' cy='5' r='1' fill='red'/>
  154. <circle cx='2' cy='5' r='1' fill='red'/>
  155. <circle cx='3' cy='5' r='1' fill='red'/>
  156. <circle cx='4' cy='5' r='1' fill='red'/>
  157. <circle cx='5' cy='5' r='1' fill='red'/>
  158. <circle cx='6' cy='5' r='1' fill='red'/>
  159. <circle cx='7' cy='5' r='1' fill='red'/>
  160. <circle cx='8' cy='5' r='1' fill='red'/>
  161. <circle cx='9' cy='5' r='1' fill='red'/>
  162. <circle cx='0' cy='6' r='1' fill='red'/>
  163. <circle cx='1' cy='6' r='1' fill='red'/>
  164. <circle cx='2' cy='6' r='1' fill='red'/>
  165. <circle cx='3' cy='6' r='1' fill='red'/>
  166. <circle cx='4' cy='6' r='1' fill='red'/>
  167. <circle cx='5' cy='6' r='1' fill='red'/>
  168. <circle cx='6' cy='6' r='1' fill='red'/>
  169. <circle cx='7' cy='6' r='1' fill='red'/>
  170. <circle cx='8' cy='6' r='1' fill='red'/>
  171. <circle cx='9' cy='6' r='1' fill='red'/>
  172. <circle cx='0' cy='7' r='1' fill='none'/>
  173. <circle cx='1' cy='7' r='1' fill='red'/>
  174. <circle cx='2' cy='7' r='1' fill='red'/>
  175. <circle cx='3' cy='7' r='1' fill='red'/>
  176. <circle cx='4' cy='7' r='1' fill='red'/>
  177. <circle cx='5' cy='7' r='1' fill='red'/>
  178. <circle cx='6' cy='7' r='1' fill='red'/>
  179. <circle cx='7' cy='7' r='1' fill='red'/>
  180. <circle cx='8' cy='7' r='1' fill='red'/>
  181. <circle cx='9' cy='7' r='1' fill='none'/>
  182. <circle cx='0' cy='8' r='1' fill='none'/>
  183. <circle cx='1' cy='8' r='1' fill='none'/>
  184. <circle cx='2' cy='8' r='1' fill='red'/>
  185. <circle cx='3' cy='8' r='1' fill='red'/>
  186. <circle cx='4' cy='8' r='1' fill='red'/>
  187. <circle cx='5' cy='8' r='1' fill='red'/>
  188. <circle cx='6' cy='8' r='1' fill='red'/>
  189. <circle cx='7' cy='8' r='1' fill='red'/>
  190. <circle cx='8' cy='8' r='1' fill='none'/>
  191. <circle cx='9' cy='8' r='1' fill='none'/>
  192. <circle cx='0' cy='9' r='1' fill='none'/>
  193. <circle cx='1' cy='9' r='1' fill='none'/>
  194. <circle cx='2' cy='9' r='1' fill='none'/>
  195. <circle cx='3' cy='9' r='1' fill='red'/>
  196. <circle cx='4' cy='9' r='1' fill='red'/>
  197. <circle cx='5' cy='9' r='1' fill='red'/>
  198. <circle cx='6' cy='9' r='1' fill='red'/>
  199. <circle cx='7' cy='9' r='1' fill='none'/>
  200. <circle cx='8' cy='9' r='1' fill='none'/>
  201. <circle cx='9' cy='9' r='1' fill='none'/>
  202. </svg>")
  203. ;; For seeing what above icon looks like:
  204. (if nil
  205. (let ((image
  206. (find-image `((:type svg :data
  207. ,realgud-bp-enabled-svg-data
  208. :ascent 100 :pointer hand)))))
  209. (insert-image image)) ;; eval-last-sexp after previous ))
  210. )
  211. (defconst realgud-bp-disabled-svg-data
  212. "<?xml version='1.0' standalone='no'?>
  213. <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN'
  214. 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
  215. <svg width='10' height='10'>
  216. <circle cx='0' cy='0' r='1' fill='none'/>
  217. <circle cx='1' cy='0' r='1' fill='none'/>
  218. <circle cx='2' cy='0' r='1' fill='none'/>
  219. <circle cx='3' cy='0' r='1' fill='gray'/>
  220. <circle cx='4' cy='0' r='1' fill='gray'/>
  221. <circle cx='5' cy='0' r='1' fill='gray'/>
  222. <circle cx='6' cy='0' r='1' fill='gray'/>
  223. <circle cx='7' cy='0' r='1' fill='none'/>
  224. <circle cx='8' cy='0' r='1' fill='none'/>
  225. <circle cx='9' cy='0' r='1' fill='none'/>
  226. <circle cx='0' cy='1' r='1' fill='none'/>
  227. <circle cx='1' cy='1' r='1' fill='none'/>
  228. <circle cx='2' cy='1' r='1' fill='gray'/>
  229. <circle cx='3' cy='1' r='1' fill='gray'/>
  230. <circle cx='4' cy='1' r='1' fill='gray'/>
  231. <circle cx='5' cy='1' r='1' fill='gray'/>
  232. <circle cx='6' cy='1' r='1' fill='gray'/>
  233. <circle cx='7' cy='1' r='1' fill='gray'/>
  234. <circle cx='8' cy='1' r='1' fill='none'/>
  235. <circle cx='9' cy='1' r='1' fill='none'/>
  236. <circle cx='0' cy='2' r='1' fill='none'/>
  237. <circle cx='1' cy='2' r='1' fill='gray'/>
  238. <circle cx='2' cy='2' r='1' fill='gray'/>
  239. <circle cx='3' cy='2' r='1' fill='gray'/>
  240. <circle cx='4' cy='2' r='1' fill='gray'/>
  241. <circle cx='5' cy='2' r='1' fill='gray'/>
  242. <circle cx='6' cy='2' r='1' fill='gray'/>
  243. <circle cx='7' cy='2' r='1' fill='gray'/>
  244. <circle cx='8' cy='2' r='1' fill='gray'/>
  245. <circle cx='9' cy='2' r='1' fill='none'/>
  246. <circle cx='0' cy='3' r='1' fill='gray'/>
  247. <circle cx='1' cy='3' r='1' fill='gray'/>
  248. <circle cx='2' cy='3' r='1' fill='gray'/>
  249. <circle cx='3' cy='3' r='1' fill='gray'/>
  250. <circle cx='4' cy='3' r='1' fill='gray'/>
  251. <circle cx='5' cy='3' r='1' fill='gray'/>
  252. <circle cx='6' cy='3' r='1' fill='gray'/>
  253. <circle cx='7' cy='3' r='1' fill='gray'/>
  254. <circle cx='8' cy='3' r='1' fill='gray'/>
  255. <circle cx='9' cy='3' r='1' fill='gray'/>
  256. <circle cx='0' cy='4' r='1' fill='gray'/>
  257. <circle cx='1' cy='4' r='1' fill='gray'/>
  258. <circle cx='2' cy='4' r='1' fill='gray'/>
  259. <circle cx='3' cy='4' r='1' fill='gray'/>
  260. <circle cx='4' cy='4' r='1' fill='gray'/>
  261. <circle cx='5' cy='4' r='1' fill='gray'/>
  262. <circle cx='6' cy='4' r='1' fill='gray'/>
  263. <circle cx='7' cy='4' r='1' fill='gray'/>
  264. <circle cx='8' cy='4' r='1' fill='gray'/>
  265. <circle cx='9' cy='4' r='1' fill='gray'/>
  266. <circle cx='0' cy='5' r='1' fill='gray'/>
  267. <circle cx='1' cy='5' r='1' fill='gray'/>
  268. <circle cx='2' cy='5' r='1' fill='gray'/>
  269. <circle cx='3' cy='5' r='1' fill='gray'/>
  270. <circle cx='4' cy='5' r='1' fill='gray'/>
  271. <circle cx='5' cy='5' r='1' fill='gray'/>
  272. <circle cx='6' cy='5' r='1' fill='gray'/>
  273. <circle cx='7' cy='5' r='1' fill='gray'/>
  274. <circle cx='8' cy='5' r='1' fill='gray'/>
  275. <circle cx='9' cy='5' r='1' fill='gray'/>
  276. <circle cx='0' cy='6' r='1' fill='gray'/>
  277. <circle cx='1' cy='6' r='1' fill='gray'/>
  278. <circle cx='2' cy='6' r='1' fill='gray'/>
  279. <circle cx='3' cy='6' r='1' fill='gray'/>
  280. <circle cx='4' cy='6' r='1' fill='gray'/>
  281. <circle cx='5' cy='6' r='1' fill='gray'/>
  282. <circle cx='6' cy='6' r='1' fill='gray'/>
  283. <circle cx='7' cy='6' r='1' fill='gray'/>
  284. <circle cx='8' cy='6' r='1' fill='gray'/>
  285. <circle cx='9' cy='6' r='1' fill='gray'/>
  286. <circle cx='0' cy='7' r='1' fill='none'/>
  287. <circle cx='1' cy='7' r='1' fill='gray'/>
  288. <circle cx='2' cy='7' r='1' fill='gray'/>
  289. <circle cx='3' cy='7' r='1' fill='gray'/>
  290. <circle cx='4' cy='7' r='1' fill='gray'/>
  291. <circle cx='5' cy='7' r='1' fill='gray'/>
  292. <circle cx='6' cy='7' r='1' fill='gray'/>
  293. <circle cx='7' cy='7' r='1' fill='gray'/>
  294. <circle cx='8' cy='7' r='1' fill='gray'/>
  295. <circle cx='9' cy='7' r='1' fill='none'/>
  296. <circle cx='0' cy='8' r='1' fill='none'/>
  297. <circle cx='1' cy='8' r='1' fill='none'/>
  298. <circle cx='2' cy='8' r='1' fill='gray'/>
  299. <circle cx='3' cy='8' r='1' fill='gray'/>
  300. <circle cx='4' cy='8' r='1' fill='gray'/>
  301. <circle cx='5' cy='8' r='1' fill='gray'/>
  302. <circle cx='6' cy='8' r='1' fill='gray'/>
  303. <circle cx='7' cy='8' r='1' fill='gray'/>
  304. <circle cx='8' cy='8' r='1' fill='none'/>
  305. <circle cx='9' cy='8' r='1' fill='none'/>
  306. <circle cx='0' cy='9' r='1' fill='none'/>
  307. <circle cx='1' cy='9' r='1' fill='none'/>
  308. <circle cx='2' cy='9' r='1' fill='none'/>
  309. <circle cx='3' cy='9' r='1' fill='gray'/>
  310. <circle cx='4' cy='9' r='1' fill='gray'/>
  311. <circle cx='5' cy='9' r='1' fill='gray'/>
  312. <circle cx='6' cy='9' r='1' fill='gray'/>
  313. <circle cx='7' cy='9' r='1' fill='none'/>
  314. <circle cx='8' cy='9' r='1' fill='none'/>
  315. <circle cx='9' cy='9' r='1' fill='none'/>
  316. </svg>")
  317. ;; For seeing what above icon looks like:
  318. (if nil
  319. (let ((image
  320. (find-image `((:type svg :data
  321. ,realgud-bp-disabled-svg-data
  322. :ascent 100 :pointer hand)))))
  323. (insert-image image)) ;; eval-last-sexp after previous ))
  324. )
  325. (defconst realgud-bp-enabled-tiff-data
  326. "II*(����������@@@@������������������������BBBB��������������������@@@@��������������������������������BBBB������������������������������������������������BBBB����������������������������������������������������������������������������������������������������������������������������������������������������������������>>>>����<<<<��������������������������������>>>>��������������������<<<<������������������������>>>>������������������������������������<<<<����������������>>>>��������������������������
  327. 
  328. 
  329.   &f 4<()>D?TR/tmp/en.tiffHHF@V@(@`@@33@ff&@ @<
  330. @"
  331. "TIFF data used for breakpoint enabled icon.")
  332. ;; For seeing what above icon looks like:
  333. (if nil
  334. (let ((image
  335. (find-image `((:type tiff :data
  336. ,realgud-bp-enabled-tiff-data
  337. :ascent 100 :pointer hand)))))
  338. (insert-image image)) ;; eval-last-sexp after previous ))
  339. )
  340. (defconst realgud-bp-disabled-tiff-data
  341. "II*�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
  342. 
  343. 
  344.  ()>?R/tmp/dis.tiffHHF@V@(@`@@33@ff&@ @<
  345. @"
  346. "TIFF data used for breakpoint disabled icon.")
  347. ;; For seeing what above icon looks like:
  348. (if nil
  349. (let ((image
  350. (find-image `((:type tiff :data
  351. ,realgud-bp-disabled-tiff-data
  352. :ascent 100 :pointer hand)))))
  353. (insert-image image)) ;; eval-last-sexp after previous ))
  354. )
  355. (provide-me "realgud-")