Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
883c141
Include cleanup in build/run script
paaguti Feb 5, 2023
0ca5799
make build-run.sh depend on the install directory
paaguti Feb 11, 2023
f4d7e12
Add a minimalistic Emacs >=27 theme
paaguti Mar 3, 2023
9487e1d
Add minimalist Emacs27 to app
paaguti Mar 3, 2023
8f545e1
Set minimum emacs version to 27
paaguti Mar 11, 2023
b292b23
Redefine mode-line backgrounds
paaguti Mar 11, 2023
7392b93
Use docstring for cursor foreground
paaguti Mar 11, 2023
eb0ca1e
Add docstring derived from string, not comment
paaguti Mar 4, 2023
0878c64
Merge branch 'master' of github.com:paaguti/themecreator
paaguti Mar 11, 2023
753ab3e
Cherry pinking mess
paaguti Mar 11, 2023
88ce8cf
master doesn't have a specific selection colour, use bg4
paaguti Mar 11, 2023
c630657
The selection is bugging me
paaguti Mar 11, 2023
5dd6412
Merge branch 'mswift42:master' into master
paaguti Oct 16, 2023
15ed4e8
Update textadept-12.txt
paaguti Oct 16, 2023
21c7467
Stage back: address recent (breaking) TextAdept 12 changes
paaguti Oct 20, 2023
bf3be34
Concentrate on textadept
paaguti Oct 20, 2023
bbc8ca2
Update textadept-12.txt
paaguti Oct 20, 2023
a6d1742
TA12: command_entry
paaguti Oct 20, 2023
141d16d
Finally had time to correct italic_s_ typo
paaguti Jan 21, 2024
7b08f7d
Slightly highlight current line number
paaguti Feb 28, 2024
5fd34a8
Remove really old obsolete and cleanup duplicates
paaguti Feb 28, 2024
b1d5b62
sort colour names
paaguti Jun 13, 2024
92606bc
Add cursor class
paaguti Jun 13, 2024
57f5f2d
cursor is a decoration
paaguti Jun 13, 2024
47294f2
cursor for emacs and TA14
paaguti Jun 14, 2024
05ef568
TA12 is actually TA14
paaguti Jun 14, 2024
f4bb01f
TA12 is actually TA14 - 2
paaguti Jun 14, 2024
e2527c3
Comment out old TextAdept templates
paaguti Jun 20, 2024
913618f
Python preview cursor spans only one char
paaguti Jun 20, 2024
e2bbb93
Update Readme.md
paaguti Sep 4, 2024
b41721e
New fg/bg for the modeline in ark or light themes
paaguti Oct 30, 2024
426c4a5
Merge branch 'master' of github.com:paaguti/themecreator
paaguti Oct 30, 2024
88d97f5
highlight mode-line less
paaguti Oct 30, 2024
148c57d
error/warning instead of warning/warning2
paaguti Oct 31, 2024
e3d74b5
build-run.sh: Clean up on ^C
paaguti Nov 1, 2024
6010db4
Add corfu, fix company
paaguti Mar 6, 2025
9e56b7d
Speak about the my-themes branch
paaguti Mar 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[ThemeCreator](https://mswift42.github.io/themecreator/)
==============
ThemeCreator
============
Forked from [ThemeCreator](https://mswift42.github.io/themecreator/)

![Screenshot](https://github.com/mswift42/themecreator/raw/master/screenshots/tc1chromehamburg.png)

Expand Down Expand Up @@ -32,6 +33,8 @@ Download the textmate theme, then follow your editors instructions. For Visual S
### Emacs:
Download the emacs file. Add a fitting package description to the first line. You can try your new theme by visiting your new theme with `C-x C-f <filename.el>`. You can install your new theme with: `M-x package-install-file <filename.el>`.

*Note*: Use the `my-themes` branch for streamlined themes. This is an attempt to see how well face definitions integrate into themes.

### TextAdept:
Download the TextAdept file. Copy it into your ~/.textadept/themes directory, edit your preferences to use it and restart TextAdept.

Expand Down Expand Up @@ -82,10 +85,10 @@ to deploy ThemeCreator in a Docker container. You will need the Docker CLI tools
use them.

`build-sh.run` will expose the container port `9500` to the host/VM where you are running
ThemeCreator. If you are running ThemeCreator inside Dockeer inside a VM, you may also
ThemeCreator. If you are running ThemeCreator inside Docker inside a VM, you may also
need to add a port translation for your virtual machine to access ThemeCreator from you host.

This has been tested on a Ubuntu 20.04 server VM running on VirtualBox and on KVM directly.
This has been tested on a Ubuntu 20.04 or 22.04 server VM running on VirtualBox and on KVM directly.


Screenshots:
Expand Down
2 changes: 1 addition & 1 deletion app.core/resources/public/templates/colors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@
@string: {{string}};
@var: {{variable}};
@selection: {{selection}};
@error: {{error}};
@warning: {{warning}};
@warning2: {{warning2}};
159 changes: 75 additions & 84 deletions app.core/resources/public/templates/emacs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,19 @@
(str "{{string}}")
(type "{{type}}")
(var "{{variable}}")
(cursor "{{cursor}}")
(selection "{{selection}}")
(warning "{{warning}}")
(warning2 "{{warning2}}")
(error "{{error}}")
(warning "{{warning}}")
(unspec (when (>= emacs-major-version 29) 'unspecified)))
(custom-theme-set-faces
'{{themename}}
`(default ((,class (:background ,bg1 :foreground ,fg1))))
`(font-lock-builtin-face ((,class (:foreground ,builtin))))
`(font-lock-comment-face ((,class (:foreground ,comment))))
`(font-lock-negation-char-face ((,class (:foreground ,const))))
`(font-lock-reference-face ((,class (:foreground ,const))))
`(font-lock-constant-face ((,class (:foreground ,const))))
`(font-lock-negation-char-face ((,class (:foreground ,const))))
`(font-lock-reference-face ((,class (:foreground ,const))))
`(font-lock-constant-face ((,class (:foreground ,const))))
`(font-lock-doc-face ((,class (:foreground ,comment))))
`(font-lock-function-name-face ((,class (:foreground ,func ))))
`(font-lock-keyword-face ((,class (:bold ,class :foreground ,keyword))))
Expand All @@ -69,21 +70,29 @@
;; `(region ((,class (:background ,fg1 :foreground ,bg1))))
`(region ((,class (:background ,selection))))
`(highlight ((,class (:foreground ,fg3 :background ,bg3))))
`(hl-line ((,class (:background ,bg2))))
`(fringe ((,class (:background ,bg2 :foreground ,fg4))))
`(cursor ((,class (:background ,fg4))))
`(isearch ((,class (:bold t :foreground ,warning :background ,bg3))))
`(hl-line ((,class (:background ,bg2))))
`(fringe ((,class (:background ,bg2 :foreground ,fg4))))
`(cursor ((,class (:background ,cursor))))
`(error ((,class (:foreground ,error))))
`(warning ((,class (:foreground ,warning))))
`(isearch ((,class (:bold t :foreground ,error :background ,bg3))))
`(vertical-border ((,class (:foreground ,fg3))))
`(minibuffer-prompt ((,class (:bold t :foreground ,keyword))))
`(default-italic ((,class (:italic t))))
`(link ((,class (:foreground ,const :underline t))))
{{#hasdarkbg}}
`(mode-line ((,class (:box (:line-width 1 :color nil) :bold t :foreground ,fg4 :background ,bg3))))
`(mode-line-inactive ((,class (:box (:line-width 1 :color nil :style pressed-button) :foreground ,var :background ,bg2 :weight normal))))
{{/hasdarkbg}}
{{^hasdarkbg}}
`(mode-line ((,class (:box (:line-width 1 :color nil) :bold t :foreground ,fg4 :background ,bg2))))
`(mode-line-inactive ((,class (:box (:line-width 1 :color nil :style pressed-button) :foreground ,var :background ,bg1 :weight normal))))
`(mode-line-inactive ((,class (:box (:line-width 1 :color nil :style pressed-button) :foreground ,var :background ,bg3 :weight normal))))
{{/hasdarkbg}}
`(mode-line-buffer-id ((,class (:bold t :foreground ,func :background ,unspec))))
`(mode-line-highlight ((,class (:foreground ,keyword :box nil :weight bold))))
`(mode-line-highlight ((,class (:foreground ,keyword :box nil :weight bold))))
`(mode-line-emphasis ((,class (:foreground ,fg1))))
`(vertical-border ((,class (:foreground ,fg3))))
`(minibuffer-prompt ((,class (:bold t :foreground ,keyword))))
`(default-italic ((,class (:italic t))))
`(link ((,class (:foreground ,const :underline t))))
`(org-code ((,class (:foreground ,fg2))))
`(org-hide ((,class (:foreground ,fg4))))
`(org-code ((,class (:foreground ,fg2))))
`(org-hide ((,class (:foreground ,fg4))))
`(org-level-1 ((,class (:bold t :foreground ,fg2 :height 1.1))))
`(org-level-2 ((,class (:bold nil :foreground ,fg3))))
`(org-level-3 ((,class (:bold t :foreground ,fg4))))
Expand All @@ -103,52 +112,51 @@
`(org-agenda-date-weekend ((,class (:weight normal :foreground ,fg4))))
`(org-agenda-date-today ((,class (:weight bold :foreground ,keyword :height 1.4))))
`(org-agenda-done ((,class (:foreground ,bg4))))
`(org-scheduled ((,class (:foreground ,type))))
`(org-scheduled ((,class (:foreground ,type))))
`(org-scheduled-today ((,class (:foreground ,func :weight bold :height 1.2))))
`(org-ellipsis ((,class (:foreground ,builtin))))
`(org-verbatim ((,class (:foreground ,fg4))))
`(org-ellipsis ((,class (:foreground ,builtin))))
`(org-verbatim ((,class (:foreground ,fg4))))
`(org-document-info-keyword ((,class (:foreground ,func))))
`(font-latex-bold-face ((,class (:foreground ,type))))
`(font-latex-italic-face ((,class (:foreground ,var :italic t))))
`(font-latex-string-face ((,class (:foreground ,str))))
`(font-latex-match-reference-keywords ((,class (:foreground ,const))))
`(font-latex-match-variable-keywords ((,class (:foreground ,var))))
`(ido-only-match ((,class (:foreground ,warning))))
`(org-sexp-date ((,class (:foreground ,fg4))))
`(ido-first-match ((,class (:foreground ,keyword :bold t))))
`(font-latex-bold-face ((,class (:foreground ,type))))
`(font-latex-italic-face ((,class (:foreground ,var :italic t))))
`(font-latex-string-face ((,class (:foreground ,str))))
`(font-latex-match-reference-keywords ((,class (:foreground ,const))))
`(font-latex-match-variable-keywords ((,class (:foreground ,var))))
`(ido-only-match ((,class (:foreground ,warning))))
`(org-sexp-date ((,class (:foreground ,fg4))))
`(ido-first-match ((,class (:foreground ,keyword :bold t))))
`(ivy-current-match ((,class (:foreground ,fg3 :inherit highlight :underline t))))
`(gnus-header-content ((,class (:foreground ,keyword))))
`(gnus-header-from ((,class (:foreground ,var))))
`(gnus-header-name ((,class (:foreground ,type))))
`(gnus-header-subject ((,class (:foreground ,func :bold t))))
`(mu4e-view-url-number-face ((,class (:foreground ,type))))
`(mu4e-cited-1-face ((,class (:foreground ,fg2))))
`(mu4e-cited-7-face ((,class (:foreground ,fg3))))
`(mu4e-header-marks-face ((,class (:foreground ,type))))
`(ffap ((,class (:foreground ,fg4))))
`(js2-private-function-call ((,class (:foreground ,const))))
`(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,str))))
`(js2-jsdoc-html-tag-name ((,class (:foreground ,var))))
`(js2-external-variable ((,class (:foreground ,type ))))
`(gnus-header-content ((,class (:foreground ,keyword))))
`(gnus-header-from ((,class (:foreground ,var))))
`(gnus-header-name ((,class (:foreground ,type))))
`(gnus-header-subject ((,class (:foreground ,func :bold t))))
`(mu4e-view-url-number-face ((,class (:foreground ,type))))
`(mu4e-cited-1-face ((,class (:foreground ,fg2))))
`(mu4e-cited-7-face ((,class (:foreground ,fg3))))
`(mu4e-header-marks-face ((,class (:foreground ,type))))
`(ffap ((,class (:foreground ,fg4))))
`(js2-private-function-call ((,class (:foreground ,const))))
`(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,str))))
`(js2-jsdoc-html-tag-name ((,class (:foreground ,var))))
`(js2-external-variable ((,class (:foreground ,type ))))
`(js2-function-param ((,class (:foreground ,const))))
`(js2-jsdoc-value ((,class (:foreground ,str))))
`(js2-private-member ((,class (:foreground ,fg3))))
`(js3-warning-face ((,class (:underline ,keyword))))
`(js3-error-face ((,class (:underline ,warning))))
`(js3-error-face ((,class (:underline ,error))))
`(js3-external-variable-face ((,class (:foreground ,var))))
`(js3-function-param-face ((,class (:foreground ,fg2))))
`(js3-jsdoc-tag-face ((,class (:foreground ,keyword))))
`(js3-instance-member-face ((,class (:foreground ,const))))
`(warning ((,class (:foreground ,warning))))
`(ac-completion-face ((,class (:underline t :foreground ,keyword))))
`(info-quoted-name ((,class (:foreground ,builtin))))
`(info-string ((,class (:foreground ,str))))
`(icompletep-determined ((,class :foreground ,builtin)))
`(ac-completion-face ((,class (:underline t :foreground ,keyword))))
`(info-quoted-name ((,class (:foreground ,builtin))))
`(info-string ((,class (:foreground ,str))))
`(icompletep-determined ((,class :foreground ,builtin)))
`(undo-tree-visualizer-current-face ((,class :foreground ,builtin)))
`(undo-tree-visualizer-default-face ((,class :foreground ,fg2)))
`(undo-tree-visualizer-unmodified-face ((,class :foreground ,var)))
`(undo-tree-visualizer-register-face ((,class :foreground ,type)))
`(slime-repl-inputed-output-face ((,class (:foreground ,type))))
`(slime-repl-inputed-output-face ((,class (:foreground ,type))))
`(trailing-whitespace ((,class :foreground ,unspec :background ,warning)))
`(rainbow-delimiters-depth-1-face ((,class :foreground ,fg1)))
`(rainbow-delimiters-depth-2-face ((,class :foreground ,type)))
Expand Down Expand Up @@ -199,7 +207,7 @@
`(helm-ff-directory ((,class (:foreground ,func :background ,bg1 :weight bold))))
`(helm-ff-file ((,class (:foreground ,fg1 :background ,bg1 :weight normal))))
`(helm-ff-executable ((,class (:foreground ,var :background ,bg1 :weight normal))))
`(helm-ff-invalid-symlink ((,class (:foreground ,warning2 :background ,bg1 :weight bold))))
`(helm-ff-invalid-symlink ((,class (:foreground ,warning :background ,bg1 :weight bold))))
`(helm-ff-symlink ((,class (:foreground ,keyword :background ,bg1 :weight bold))))
`(helm-ff-prefix ((,class (:foreground ,bg1 :background ,keyword :weight normal))))
`(helm-grep-cmd-line ((,class (:foreground ,fg1 :background ,bg1))))
Expand All @@ -213,7 +221,7 @@
`(helm-bookmark-w3m ((,class (:foreground ,type))))
`(company-echo-common ((,class (:foreground ,bg1 :background ,fg1))))
`(company-preview ((,class (:background ,bg1 :foreground ,var))))
`(company-preview-common ((,class (:foreground ,bg2 :foreground ,fg3))))
`(company-preview-common ((,class (:foreground ,bg2 :background ,fg3))))
`(company-preview-search ((,class (:foreground ,type :background ,bg1))))
`(company-scrollbar-bg ((,class (:background ,bg3))))
`(company-scrollbar-fg ((,class (:foreground ,keyword))))
Expand All @@ -224,6 +232,8 @@
`(company-tooltip-mouse ((,class (:inherit highlight))))
`(company-tooltip-selection ((,class (:background ,bg3 :foreground ,fg3))))
`(company-template-field ((,class (:inherit region))))
`(corfu-default ((,class (:background ,bg3 :foreground ,fg3))))
`(corfu-current ((,class (:background ,bg2 :foreground ,fg2 :weight bold))))
`(web-mode-builtin-face ((,class (:inherit ,font-lock-builtin-face))))
`(web-mode-comment-face ((,class (:inherit ,font-lock-comment-face))))
`(web-mode-constant-face ((,class (:inherit ,font-lock-constant-face))))
Expand All @@ -243,22 +253,16 @@
`(jde-java-font-lock-modifier-face ((t (:foreground ,fg2))))
`(jde-jave-font-lock-protected-face ((t (:foreground ,keyword))))
`(jde-java-font-lock-number-face ((t (:foreground ,var))))
`(yas-field-highlight-face ((t (:background ,selection)))))
;; Legacy
(if (< emacs-major-version 22)
(custom-theme-set-faces
'{{themename}}
`(show-paren-match-face ((,class (:background ,warning))))) ;; obsoleted in 22.1, removed 2016
(custom-theme-set-faces
'{{themename}}
`(show-paren-match ((,class (:foreground ,bg1 :background ,str))))
`(show-paren-mismatch ((,class (:foreground ,bg1 :background ,warning))))))
;; emacs >= 26.1
(when (>= emacs-major-version 26)
(custom-theme-set-faces
'{{themename}}
`(line-number ((t (:inherit fringe))))
`(line-number-current-line ((t (:inherit fringe :foreground ,fg6 :weight bold))))))
`(yas-field-highlight-face ((t (:background ,selection))))
`(show-paren-match ((,class (:foreground ,bg1 :background ,str))))
`(show-paren-mismatch ((,class (:foreground ,bg1 :background ,error)))))

;; emacs >= 26.1
(when (>= emacs-major-version 26)
(custom-theme-set-faces
'{{themename}}
`(line-number ((t (:inherit fringe))))
`(line-number-current-line ((t (:foreground ,fg6 :background ,bg3 :weight bold))))))

;; emacs >= 27.1
(when (>= emacs-major-version 27)
Expand All @@ -269,28 +273,15 @@
`(tab-line-tab-inactive ((,class (:background ,bg2 :foreground ,fg4))))
`(tab-line-tab-current ((,class (:background ,bg1 :foreground ,fg1))))
`(tab-line-highlight ((,class (:background ,bg1 :foreground ,fg2))))))
(when (>= emacs-major-version 28)
(custom-theme-set-faces
'{{themename}}
`(line-number ((t (:inherit fringe))))
`(line-number-current-line ((t (:inherit fringe :foreground ,fg6 :weight bold))))))
;; emacs >= 27.1
(when (>= emacs-major-version 27)
(custom-theme-set-faces
'{{themename}}
`(tab-line ((,class (:background ,bg2 :foreground ,fg4))))
`(tab-line-tab ((,class (:inherit tab-line))))
`(tab-line-tab-inactive ((,class (:background ,bg2 :foreground ,fg4))))
`(tab-line-tab-current ((,class (:background ,bg1 :foreground ,fg1))))
`(tab-line-highlight ((,class (:background ,bg1 :foreground ,fg2))))))
(when (>= emacs-major-version 28)

(when (>= emacs-major-version 28)
(custom-theme-set-faces
'{{themename}}
`(tab-line-tab-modified ((,class (:foreground ,warning2 :weight bold))))))
`(tab-line-tab-modified ((,class (:foreground ,warning :weight bold))))))
(when (boundp 'font-lock-regexp-face)
(custom-theme-set-faces
'{{themename}}
`(font-lock-regexp-face ((,class (:inherit font-lock-string-face :underline t)))))))
'{{themename}}
`(font-lock-regexp-face ((,class (:inherit font-lock-string-face :underline t)))))))

;;;###autoload
(when load-file-name
Expand Down
4 changes: 2 additions & 2 deletions app.core/resources/public/templates/gnome-terminal.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ if which "$DCONF" > /dev/null 2>&1; then

# Update profile values with theme options
dset visible-name "'$PROFILE_NAME'"
dset palette "['{{mainbg}}', '{{fg2}}','{{fg5}}', '{{fg3}}', '{{fg4}}', '{{functionname}}', '{{type}}', '{{keyword}}', '{{constant}}', '{{variable}}', '{{type}}', '{{warning}}', '{{functionname}}', '{{fg4}}', '{{fg2}}', '{{mainfg}}']"
dset palette "['{{mainbg}}', '{{fg2}}','{{fg5}}', '{{fg3}}', '{{fg4}}', '{{functionname}}', '{{type}}', '{{keyword}}', '{{constant}}', '{{variable}}', '{{type}}', '{{error}}', '{{functionname}}', '{{fg4}}', '{{fg2}}', '{{mainfg}}']"
dset background-color "'{{mainbg}}'"
dset foreground-color "'{{mainfg}}'"
dset bold-color "'{{mainfg}}'"
Expand Down Expand Up @@ -120,7 +120,7 @@ glist_append() {
glist_append string /apps/gnome-terminal/global/profile_list "$PROFILE_SLUG"

gset string visible_name "$PROFILE_NAME"
gset string palette "{{mainbg}}:{{fg2}}:{{fg5}}:{{fg3}}:{{fg4}}:{{functionname}}:{{type}}:{{variable}}:{{constant}}:{{functionname}}:{{keyword}}:{{warning}}:{{variable}}:{{fg4}}:{{fg2}}:{{mainfg}}"
gset string palette "{{mainbg}}:{{fg2}}:{{fg5}}:{{fg3}}:{{fg4}}:{{functionname}}:{{type}}:{{variable}}:{{constant}}:{{functionname}}:{{keyword}}:{{error}}:{{variable}}:{{fg4}}:{{fg2}}:{{mainfg}}"
gset string background_color "{{mainbg}}"
gset string foreground_color "{{mainfg}}"
gset string bold_color "{{mainfg}}"
Expand Down
Loading