]> gitweb.factorcode.org Git - factor.git/commitdiff
Moved both themes into ui.theme
authornicolas-p <z.nicolas@gmail.com>
Sun, 8 May 2016 08:09:44 +0000 (10:09 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 10 May 2016 04:40:56 +0000 (21:40 -0700)
34 files changed:
basis/help/stylesheet/stylesheet.factor
basis/help/tips/tips-docs.factor
basis/help/tips/tips.factor
basis/listener/listener.factor
basis/prettyprint/stylesheet/stylesheet.factor
basis/ui/gadgets/buttons/buttons.factor
basis/ui/gadgets/editors/editors.factor
basis/ui/gadgets/labeled/labeled.factor
basis/ui/gadgets/theme/dark/authors.txt [deleted file]
basis/ui/gadgets/theme/dark/dark.factor [deleted file]
basis/ui/gadgets/theme/dark/summary.txt [deleted file]
basis/ui/gadgets/theme/light/authors.txt [deleted file]
basis/ui/gadgets/theme/light/light.factor [deleted file]
basis/ui/gadgets/theme/light/summary.txt [deleted file]
basis/ui/gadgets/theme/switching/authors.txt [deleted file]
basis/ui/gadgets/theme/switching/summary.txt [deleted file]
basis/ui/gadgets/theme/switching/switching.factor [deleted file]
basis/ui/gadgets/theme/theme.factor
basis/ui/gadgets/toolbar/toolbar.factor
basis/ui/theme/authors.txt [new file with mode: 0644]
basis/ui/theme/summary.txt [new file with mode: 0644]
basis/ui/theme/switching/authors.txt [new file with mode: 0644]
basis/ui/theme/switching/summary.txt [new file with mode: 0644]
basis/ui/theme/switching/switching.factor [new file with mode: 0644]
basis/ui/theme/theme.factor [new file with mode: 0644]
basis/ui/tools/browser/browser.factor
basis/ui/tools/common/common.factor
basis/ui/tools/debugger/debugger.factor
basis/ui/tools/error-list/error-list.factor
basis/ui/tools/inspector/inspector.factor
basis/ui/tools/listener/listener.factor
basis/ui/tools/traceback/traceback.factor
basis/ui/tools/walker/walker.factor
basis/vocabs/prettyprint/prettyprint.factor

index dd2f4f8c6c54c4dbf304bcece91c6823fed80a9f..2396d2e24a3b5607bf01e2f532e993efddcae811 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2005, 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: assocs colors.constants fonts fry io.styles kernel literals
-math namespaces sequences ui.gadgets.theme ;
+math namespaces sequences ui.theme ;
 IN: help.stylesheet
 
 : wrap-margin-full ( -- n )
index 9a00ab02a69bf4f2d1049b54a577b5ec432cbd9a..b682ed1da09bcacffe117064aaa2170bbd7bd0db 100644 (file)
@@ -1,6 +1,6 @@
 USING: debugger editors help help.apropos help.markup
 help.syntax help.vocabs memory see stack-checker
-tools.destructors tools.time ui.gadgets.theme.switching ;
+tools.destructors tools.time ui.theme.switching ;
 IN: help.tips
 
 TIP: "To look at the most recent error, run " { $link :error } ". To look at the most recent error's callstack, run " { $link :c } "." ;
index 7e6d40d7e9783fb26ed3c936345cc57588397778..d85aca9abaf7151cc0590a289d072a39ab3bb175 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays colors.constants definitions help.markup
 help.stylesheet io io.styles kernel literals namespaces parser
-random sequences ui.gadgets.theme ;
+random sequences ui.theme ;
 IN: help.tips
 
 SYMBOL: tips
index 0e21e980686954bad548fa34c06317d045d41743..d256e747e7126c8e6c8b97bb8158cac26181c899 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors colors colors.constants
 combinators.short-circuit compiler.units continuations debugger
 fry io io.styles kernel lexer literals locals math math.parser
 namespaces parser parser.notes prettyprint sequences sets
-source-files.errors system ui.gadgets.theme vocabs vocabs.loader
+source-files.errors system ui.theme vocabs vocabs.loader
 vocabs.parser ;
 IN: listener
 
index 225d0e5da9756f8787fe73ccfc0e902f6dad0249..51544e5b3c4a74a32f6f8552d20bb35ce362fbc1 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: assocs colors combinators
 combinators.short-circuit hashtables io.styles kernel literals
-namespaces sequences ui.gadgets.theme words words.symbol ;
+namespaces sequences ui.theme words words.symbol ;
 IN: prettyprint.stylesheet
 
 <PRIVATE
index dc8abd016cef7981cba7e40ae147adbffec68e42..3fea83065a7a243c02f3dbe290440be6154c4910 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors assocs colors combinators combinators.short-circuit
 combinators.smart fry kernel locals math.vectors memoize models
 namespaces sequences ui.commands ui.gadgets ui.gadgets.borders
-ui.gadgets.labels ui.gadgets.packs ui.gadgets.theme ui.gadgets.worlds
+ui.gadgets.labels ui.gadgets.packs ui.theme ui.gadgets.theme ui.gadgets.worlds
 ui.gestures ui.pens ui.pens.image ui.pens.solid ui.pens.tile ;
 FROM: models => change-model ;
 IN: ui.gadgets.buttons
index ba3d077f5a52ee32c99b123f591fdb259e7d2113..f14e2b6ed2934226944449c18d09d156c9ade078 100644 (file)
@@ -8,7 +8,7 @@ math.vectors models models.arrow namespaces opengl sequences
 sorting splitting timers ui.baseline-alignment ui.clipboards
 ui.commands ui.gadgets ui.gadgets.borders
 ui.gadgets.line-support ui.gadgets.menus ui.gadgets.scrollers
-ui.gadgets.theme ui.gestures ui.pens.solid ui.render ui.text
+ui.theme ui.gestures ui.pens.solid ui.render ui.text
 unicode ;
 EXCLUDE: fonts => selection ;
 IN: ui.gadgets.editors
index acdaef69adbdcf4c76167f297017ece49f1bccde..3c826c9c9d9ca2af727ac47a5d3c74110956918b 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors colors.constants kernel system ui.gadgets
 ui.gadgets.borders ui.gadgets.labels ui.gadgets.packs
-ui.gadgets.theme ui.gadgets.tracks ui.pens.gradient
+ui.theme ui.gadgets.tracks ui.pens.gradient
 ui.pens.solid ui.tools.common ;
 IN: ui.gadgets.labeled
 
diff --git a/basis/ui/gadgets/theme/dark/authors.txt b/basis/ui/gadgets/theme/dark/authors.txt
deleted file mode 100644 (file)
index 7b5c10d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Nicolas Pénet
diff --git a/basis/ui/gadgets/theme/dark/dark.factor b/basis/ui/gadgets/theme/dark/dark.factor
deleted file mode 100644 (file)
index fcf294f..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-! Copyright (C) 2016 Nicolas Pénet.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors colors.constants colors.hex
-ui.gadgets.theme ui.pens.solid ;
-IN: ui.gadgets.theme.dark
-
-M: dark-theme toolbar-background COLOR: solarized-base02 ;
-M: dark-theme toolbar-button-pressed-background COLOR: solarized-base0 ;
-
-M: dark-theme menu-background COLOR: solarized-base02 ;
-M: dark-theme menu-border-color COLOR: solarized-base01 ;
-
-M: dark-theme status-bar-background COLOR: FactorDarkSlateBlue ;
-M: dark-theme status-bar-foreground COLOR: white ;
-
-M: dark-theme button-text-color COLOR: solarized-base1 ;
-M: dark-theme button-clicked-text-color COLOR: white ;
-
-M: dark-theme line-color COLOR: solarized-base01 ;
-
-M: dark-theme column-title-background HEXCOLOR: 2F4D5B ;
-
-M: dark-theme roll-button-rollover-border COLOR: gray50 ;
-M: dark-theme roll-button-selected-background COLOR: dark-gray ;
-
-M: dark-theme source-files-color COLOR: solarized-green ;
-M: dark-theme errors-color COLOR: solarized-red ;
-M: dark-theme details-color COLOR: solarized-blue ;
-
-M: dark-theme debugger-color COLOR: solarized-red ;
-M: dark-theme completion-color COLOR: solarized-violet ;
-
-M: dark-theme data-stack-color COLOR: solarized-blue ;
-M: dark-theme retain-stack-color COLOR: solarized-magenta ;
-M: dark-theme call-stack-color COLOR: solarized-green ;
-
-M: dark-theme title-bar-gradient { COLOR: solarized-base01 COLOR: solarized-base02 } ;
-
-M: dark-theme popup-color COLOR: solarized-yellow ;
-
-M: dark-theme object-color COLOR: solarized-cyan ;
-M: dark-theme contents-color COLOR: solarized-magenta ;
-
-M: dark-theme help-header-background HEXCOLOR: 2F4D5B ;
-
-M: dark-theme thread-status-stopped-background HEXCOLOR: 492d33 ;
-M: dark-theme thread-status-suspended-background HEXCOLOR: 3c4a24 ;
-M: dark-theme thread-status-running-background HEXCOLOR: 2c4f24 ;
-
-M: dark-theme thread-status-stopped-foreground COLOR: solarized-red ;
-M: dark-theme thread-status-suspended-foreground COLOR: solarized-yellow ;
-M: dark-theme thread-status-running-foreground COLOR: solarized-green ;
-
-M: dark-theme error-summary-background HEXCOLOR: 6E2E32 ;
-
-M: dark-theme content-background COLOR: solarized-base03 ;
-M: dark-theme text-color COLOR: grey75 ;
-
-M: dark-theme link-color COLOR: solarized-blue ;
-M: dark-theme url-color COLOR: solarized-blue ;
-M: dark-theme title-color COLOR: grey75 ;
-M: dark-theme heading-color COLOR: grey75 ;
-M: dark-theme snippet-color COLOR: solarized-orange ;
-M: dark-theme output-color COLOR: solarized-orange ;
-M: dark-theme warning-background-color HEXCOLOR: 6E2E32 ;
-M: dark-theme code-background-color HEXCOLOR: 2F4D5B ;
-
-M: dark-theme tip-background-color HEXCOLOR: 2F4D5B ;
-
-M: dark-theme prompt-background-color HEXCOLOR: 922f31 ;
-
-M: dark-theme dim-color COLOR: solarized-cyan ;
-M: dark-theme highlighted-word-color COLOR: solarized-green ;
-M: dark-theme string-color COLOR: solarized-magenta ;
-M: dark-theme stack-effect-color COLOR: solarized-orange ;
-
-M: dark-theme vocab-background-color COLOR: solarized-base01 ;
-M: dark-theme vocab-border-color COLOR: solarized-base01 ;
-
-M: dark-theme field-border-color COLOR: solarized-base01 ;
-
-M: dark-theme selection-color COLOR: solarized-base01 ;
-M: dark-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
-M: dark-theme focus-border-color COLOR: solarized-base01 ;
-
-M: dark-theme labeled-border-color COLOR: solarized-base01 ;
diff --git a/basis/ui/gadgets/theme/dark/summary.txt b/basis/ui/gadgets/theme/dark/summary.txt
deleted file mode 100644 (file)
index ab67578..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Dark-colored theme
diff --git a/basis/ui/gadgets/theme/light/authors.txt b/basis/ui/gadgets/theme/light/authors.txt
deleted file mode 100644 (file)
index 7b5c10d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Nicolas Pénet
diff --git a/basis/ui/gadgets/theme/light/light.factor b/basis/ui/gadgets/theme/light/light.factor
deleted file mode 100644 (file)
index 5cd16fc..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-! Copyright (C) 2015 Nicolas Pénet.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors colors.constants colors.hex
-ui.gadgets.theme ui.pens.solid ;
-IN: ui.gadgets.theme.light
-
-M: light-theme toolbar-background COLOR: grey95 ;
-M: light-theme toolbar-button-pressed-background COLOR: dark-gray ;
-
-M: light-theme menu-background COLOR: grey95 ;
-M: light-theme menu-border-color COLOR: grey75 ;
-
-M: light-theme status-bar-background COLOR: FactorDarkSlateBlue ;
-M: light-theme status-bar-foreground COLOR: white ;
-
-M: light-theme button-text-color COLOR: FactorDarkSlateBlue ;
-M: light-theme button-clicked-text-color COLOR: white ;
-
-M: light-theme line-color COLOR: grey75 ;
-
-M: light-theme column-title-background COLOR: grey95 ;
-
-M: light-theme roll-button-rollover-border COLOR: gray50 ;
-M: light-theme roll-button-selected-background COLOR: dark-gray ;
-
-M: light-theme source-files-color COLOR: MediumSeaGreen ;
-M: light-theme errors-color COLOR: chocolate1 ;
-M: light-theme details-color COLOR: SteelBlue3 ;
-
-M: light-theme debugger-color COLOR: chocolate1 ;
-M: light-theme completion-color COLOR: magenta ;
-
-M: light-theme data-stack-color COLOR: DodgerBlue ;
-M: light-theme retain-stack-color COLOR: HotPink ;
-M: light-theme call-stack-color COLOR: GreenYellow ;
-
-M: light-theme title-bar-gradient { COLOR: white COLOR: grey90 } ;
-
-M: light-theme popup-color COLOR: yellow2 ;
-
-M: light-theme object-color COLOR: aquamarine2 ;
-M: light-theme contents-color COLOR: orchid2 ;
-
-M: light-theme help-header-background HEXCOLOR: F4EFD9 ;
-
-M: light-theme thread-status-stopped-background HEXCOLOR: F4D9D9 ;
-M: light-theme thread-status-suspended-background HEXCOLOR: F4EAD9 ;
-M: light-theme thread-status-running-background HEXCOLOR: EDF4D9 ;
-
-M: light-theme thread-status-stopped-foreground HEXCOLOR: F42300 ;
-M: light-theme thread-status-suspended-foreground HEXCOLOR: F37B00 ;
-M: light-theme thread-status-running-foreground HEXCOLOR: 3FCA00 ;
-
-M: light-theme error-summary-background HEXCOLOR: F4D9D9 ;
-
-M: light-theme content-background COLOR: white ;
-M: light-theme text-color COLOR: black ;
-
-M: light-theme link-color COLOR: DodgerBlue4 ;
-M: light-theme url-color COLOR: DodgerBlue4 ;
-M: light-theme title-color COLOR: gray20 ;
-M: light-theme heading-color COLOR: FactorDarkSlateBlue ;
-M: light-theme snippet-color COLOR: solarized-orange ;
-M: light-theme output-color COLOR: solarized-orange ;
-M: light-theme warning-background-color T{ rgba f 1 0.7 0.7 1 } ;
-M: light-theme code-background-color COLOR: FactorLightTan ;
-
-M: light-theme tip-background-color COLOR: lavender ;
-
-M: light-theme prompt-background-color T{ rgba f 1 0.7 0.7 1 } ;
-
-M: light-theme dim-color COLOR: solarized-cyan ;
-M: light-theme highlighted-word-color COLOR: solarized-green ;
-M: light-theme string-color COLOR: solarized-magenta ;
-M: light-theme stack-effect-color COLOR: solarized-orange ;
-
-M: light-theme vocab-background-color COLOR: FactorLightTan ;
-M: light-theme vocab-border-color COLOR: FactorDarkTan ;
-
-M: light-theme field-border-color COLOR: gray ;
-
-M: light-theme selection-color T{ rgba f 0.8 0.8 1.0 1.0 } ;
-M: light-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
-M: light-theme focus-border-color COLOR: dark-gray ;
-
-M: light-theme labeled-border-color COLOR: grey85 ;
diff --git a/basis/ui/gadgets/theme/light/summary.txt b/basis/ui/gadgets/theme/light/summary.txt
deleted file mode 100644 (file)
index 8228018..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Light-colored theme
diff --git a/basis/ui/gadgets/theme/switching/authors.txt b/basis/ui/gadgets/theme/switching/authors.txt
deleted file mode 100644 (file)
index 7b5c10d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Nicolas Pénet
diff --git a/basis/ui/gadgets/theme/switching/summary.txt b/basis/ui/gadgets/theme/switching/summary.txt
deleted file mode 100644 (file)
index 47f2e52..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Theme switching mechanism
diff --git a/basis/ui/gadgets/theme/switching/switching.factor b/basis/ui/gadgets/theme/switching/switching.factor
deleted file mode 100644 (file)
index 8fb37d5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-! Copyright (C) 2016 Nicolas Pénet.
-! See http://factorcode.org/license.txt for BSD license.
-USING: fry hashtables help.stylesheet help.tips io.styles
-kernel listener namespaces ui.gadgets.theme ui.tools.listener ;
-IN: ui.gadgets.theme.switching
-
-: (update-style) ( style color elt -- )
-    '[ _ _ rot ?set-at ] change-global ;
-
-: update-stylesheet ( -- )
-    default-span-style text-color foreground (update-style)
-    link-style link-color foreground (update-style)
-    title-style title-color foreground (update-style)
-    heading-style heading-color foreground (update-style)
-    snippet-style snippet-color foreground (update-style)
-    code-style code-background-color page-color (update-style)
-    output-style output-color foreground (update-style)
-    url-style url-color foreground (update-style)
-    warning-style warning-background-color page-color (update-style)
-    deprecated-style warning-background-color page-color (update-style)
-    table-style line-color table-border (update-style)
-    prompt-style prompt-background-color background (update-style)
-    prompt-style text-color foreground (update-style)
-    tip-of-the-day-style tip-background-color page-color (update-style)
-    listener-input-style text-color foreground (update-style)
-    listener-word-style text-color foreground (update-style) ;
-
-: light-mode ( -- ) light-theme theme set-global update-stylesheet ;
-: dark-mode ( -- ) dark-theme theme set-global update-stylesheet ;
-
-light-mode
index e36c0144c84fb2efa434de6ac11633ea77e07ae4..1a764b9828358e3ec10e69c0f6bd2c1449e9ad0f 100644 (file)
@@ -1,97 +1,7 @@
 ! Copyright (C) 2009, 2010 Slava Pestov, Joe Groff.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: io.pathnames sequences ui.images vocabs namespaces ;
+USING: io.pathnames sequences ui.images ;
 IN: ui.gadgets.theme
 
 : theme-image ( name -- image-name )
     "vocab:ui/gadgets/theme/" prepend-path ".tiff" append <image-name> ;
-
-SYMBOL: theme
-SINGLETON: light-theme
-SINGLETON: dark-theme
-
-light-theme theme set-global
-
-HOOK: toolbar-background theme ( -- color )
-HOOK: toolbar-button-pressed-background theme ( -- color )
-
-HOOK: menu-background theme ( -- color )
-HOOK: menu-border-color theme ( -- color )
-
-HOOK: status-bar-background theme ( -- color )
-HOOK: status-bar-foreground theme ( -- color )
-
-HOOK: button-text-color theme ( -- color )
-HOOK: button-clicked-text-color theme ( -- color )
-
-HOOK: line-color theme ( -- color )
-
-HOOK: column-title-background theme ( -- color )
-
-HOOK: roll-button-rollover-border theme ( -- color )
-HOOK: roll-button-selected-background theme ( -- color )
-
-HOOK: source-files-color theme ( -- color )
-HOOK: errors-color theme ( -- color )
-HOOK: details-color theme ( -- color )
-
-HOOK: debugger-color theme ( -- color )
-HOOK: completion-color theme ( -- color )
-
-HOOK: data-stack-color theme ( -- color )
-HOOK: retain-stack-color theme ( -- color )
-HOOK: call-stack-color theme ( -- color )
-
-HOOK: title-bar-gradient theme ( -- color )
-
-HOOK: popup-color theme ( -- color )
-
-HOOK: object-color theme ( -- color )
-HOOK: contents-color theme ( -- color )
-
-HOOK: help-header-background theme ( -- color )
-
-HOOK: thread-status-stopped-background theme ( -- color )
-HOOK: thread-status-suspended-background theme ( -- color )
-HOOK: thread-status-running-background theme ( -- color )
-
-HOOK: thread-status-stopped-foreground theme ( -- color )
-HOOK: thread-status-suspended-foreground theme ( -- color )
-HOOK: thread-status-running-foreground theme ( -- color )
-
-HOOK: error-summary-background theme ( -- color )
-
-HOOK: content-background theme ( -- color )
-HOOK: text-color theme ( -- color )
-
-HOOK: link-color theme ( -- color )
-HOOK: url-color theme ( -- color )
-HOOK: title-color theme ( -- color )
-HOOK: heading-color theme ( -- color )
-HOOK: snippet-color theme ( -- color )
-HOOK: output-color theme ( -- color )
-HOOK: warning-background-color theme ( -- color )
-HOOK: code-background-color theme ( -- color )
-
-HOOK: tip-background-color theme ( -- color )
-
-HOOK: prompt-background-color theme ( -- color )
-
-HOOK: dim-color theme ( -- color )
-HOOK: highlighted-word-color theme ( -- color )
-HOOK: string-color theme ( -- color )
-HOOK: stack-effect-color theme ( -- color )
-
-HOOK: vocab-background-color theme ( -- color )
-HOOK: vocab-border-color theme ( -- color )
-
-HOOK: field-border-color theme ( -- color )
-
-HOOK: selection-color theme ( -- color )
-HOOK: panel-background-color theme ( -- color )
-HOOK: focus-border-color theme ( -- color )
-
-HOOK: labeled-border-color theme ( -- color )
-
-<< "ui.gadgets.theme.light" require >>
-<< "ui.gadgets.theme.dark" require >>
index cb37241e5da82142d6eb68ccadc409c5597b0ff8..991dd324ad2bbd3ef013943215cf2dfb95336da6 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs classes fry kernel locals ui.baseline-alignment ui.commands
 ui.gadgets ui.gadgets.borders ui.gadgets.buttons
-ui.gadgets.buttons.private ui.gadgets.packs ui.gadgets.theme
+ui.gadgets.buttons.private ui.gadgets.packs ui.theme
 ui.gadgets.tracks ui.pens ui.pens.solid ;
 IN: ui.gadgets.toolbar
 
diff --git a/basis/ui/theme/authors.txt b/basis/ui/theme/authors.txt
new file mode 100644 (file)
index 0000000..7b5c10d
--- /dev/null
@@ -0,0 +1 @@
+Nicolas Pénet
diff --git a/basis/ui/theme/summary.txt b/basis/ui/theme/summary.txt
new file mode 100644 (file)
index 0000000..65c25b9
--- /dev/null
@@ -0,0 +1 @@
+Light and dark themes
diff --git a/basis/ui/theme/switching/authors.txt b/basis/ui/theme/switching/authors.txt
new file mode 100644 (file)
index 0000000..7b5c10d
--- /dev/null
@@ -0,0 +1 @@
+Nicolas Pénet
diff --git a/basis/ui/theme/switching/summary.txt b/basis/ui/theme/switching/summary.txt
new file mode 100644 (file)
index 0000000..47f2e52
--- /dev/null
@@ -0,0 +1 @@
+Theme switching mechanism
diff --git a/basis/ui/theme/switching/switching.factor b/basis/ui/theme/switching/switching.factor
new file mode 100644 (file)
index 0000000..0afdad0
--- /dev/null
@@ -0,0 +1,31 @@
+! Copyright (C) 2016 Nicolas Pénet.
+! See http://factorcode.org/license.txt for BSD license.
+USING: fry hashtables help.stylesheet help.tips io.styles
+kernel listener namespaces ui.theme ui.tools.listener ;
+IN: ui.theme.switching
+
+: (update-style) ( style color elt -- )
+    '[ _ _ rot ?set-at ] change-global ;
+
+: update-stylesheet ( -- )
+    default-span-style text-color foreground (update-style)
+    link-style link-color foreground (update-style)
+    title-style title-color foreground (update-style)
+    heading-style heading-color foreground (update-style)
+    snippet-style snippet-color foreground (update-style)
+    code-style code-background-color page-color (update-style)
+    output-style output-color foreground (update-style)
+    url-style url-color foreground (update-style)
+    warning-style warning-background-color page-color (update-style)
+    deprecated-style warning-background-color page-color (update-style)
+    table-style line-color table-border (update-style)
+    prompt-style prompt-background-color background (update-style)
+    prompt-style text-color foreground (update-style)
+    tip-of-the-day-style tip-background-color page-color (update-style)
+    listener-input-style text-color foreground (update-style)
+    listener-word-style text-color foreground (update-style) ;
+
+: light-mode ( -- ) light-theme theme set-global update-stylesheet ;
+: dark-mode ( -- ) dark-theme theme set-global update-stylesheet ;
+
+light-mode
diff --git a/basis/ui/theme/theme.factor b/basis/ui/theme/theme.factor
new file mode 100644 (file)
index 0000000..dbdd5ec
--- /dev/null
@@ -0,0 +1,255 @@
+! Copyright (C) 2016 Nicolas Pénet.
+! See http://factorcode.org/license.txt for BSD license.
+USING: colors colors.constants colors.hex namespaces ;
+IN: ui.theme
+
+SYMBOL: theme
+
+HOOK: toolbar-background theme ( -- color )
+HOOK: toolbar-button-pressed-background theme ( -- color )
+
+HOOK: menu-background theme ( -- color )
+HOOK: menu-border-color theme ( -- color )
+
+HOOK: status-bar-background theme ( -- color )
+HOOK: status-bar-foreground theme ( -- color )
+
+HOOK: button-text-color theme ( -- color )
+HOOK: button-clicked-text-color theme ( -- color )
+
+HOOK: line-color theme ( -- color )
+
+HOOK: column-title-background theme ( -- color )
+
+HOOK: roll-button-rollover-border theme ( -- color )
+HOOK: roll-button-selected-background theme ( -- color )
+
+HOOK: source-files-color theme ( -- color )
+HOOK: errors-color theme ( -- color )
+HOOK: details-color theme ( -- color )
+
+HOOK: debugger-color theme ( -- color )
+HOOK: completion-color theme ( -- color )
+
+HOOK: data-stack-color theme ( -- color )
+HOOK: retain-stack-color theme ( -- color )
+HOOK: call-stack-color theme ( -- color )
+
+HOOK: title-bar-gradient theme ( -- color )
+
+HOOK: popup-color theme ( -- color )
+
+HOOK: object-color theme ( -- color )
+HOOK: contents-color theme ( -- color )
+
+HOOK: help-header-background theme ( -- color )
+
+HOOK: thread-status-stopped-background theme ( -- color )
+HOOK: thread-status-suspended-background theme ( -- color )
+HOOK: thread-status-running-background theme ( -- color )
+
+HOOK: thread-status-stopped-foreground theme ( -- color )
+HOOK: thread-status-suspended-foreground theme ( -- color )
+HOOK: thread-status-running-foreground theme ( -- color )
+
+HOOK: error-summary-background theme ( -- color )
+
+HOOK: content-background theme ( -- color )
+HOOK: text-color theme ( -- color )
+
+HOOK: link-color theme ( -- color )
+HOOK: url-color theme ( -- color )
+HOOK: title-color theme ( -- color )
+HOOK: heading-color theme ( -- color )
+HOOK: snippet-color theme ( -- color )
+HOOK: output-color theme ( -- color )
+HOOK: warning-background-color theme ( -- color )
+HOOK: code-background-color theme ( -- color )
+
+HOOK: tip-background-color theme ( -- color )
+
+HOOK: prompt-background-color theme ( -- color )
+
+HOOK: dim-color theme ( -- color )
+HOOK: highlighted-word-color theme ( -- color )
+HOOK: string-color theme ( -- color )
+HOOK: stack-effect-color theme ( -- color )
+
+HOOK: vocab-background-color theme ( -- color )
+HOOK: vocab-border-color theme ( -- color )
+
+HOOK: field-border-color theme ( -- color )
+
+HOOK: selection-color theme ( -- color )
+HOOK: panel-background-color theme ( -- color )
+HOOK: focus-border-color theme ( -- color )
+
+HOOK: labeled-border-color theme ( -- color )
+
+SINGLETON: light-theme
+
+M: light-theme toolbar-background COLOR: grey95 ;
+M: light-theme toolbar-button-pressed-background COLOR: dark-gray ;
+
+M: light-theme menu-background COLOR: grey95 ;
+M: light-theme menu-border-color COLOR: grey75 ;
+
+M: light-theme status-bar-background COLOR: FactorDarkSlateBlue ;
+M: light-theme status-bar-foreground COLOR: white ;
+
+M: light-theme button-text-color COLOR: FactorDarkSlateBlue ;
+M: light-theme button-clicked-text-color COLOR: white ;
+
+M: light-theme line-color COLOR: grey75 ;
+
+M: light-theme column-title-background COLOR: grey95 ;
+
+M: light-theme roll-button-rollover-border COLOR: gray50 ;
+M: light-theme roll-button-selected-background COLOR: dark-gray ;
+
+M: light-theme source-files-color COLOR: MediumSeaGreen ;
+M: light-theme errors-color COLOR: chocolate1 ;
+M: light-theme details-color COLOR: SteelBlue3 ;
+
+M: light-theme debugger-color COLOR: chocolate1 ;
+M: light-theme completion-color COLOR: magenta ;
+
+M: light-theme data-stack-color COLOR: DodgerBlue ;
+M: light-theme retain-stack-color COLOR: HotPink ;
+M: light-theme call-stack-color COLOR: GreenYellow ;
+
+M: light-theme title-bar-gradient { COLOR: white COLOR: grey90 } ;
+
+M: light-theme popup-color COLOR: yellow2 ;
+
+M: light-theme object-color COLOR: aquamarine2 ;
+M: light-theme contents-color COLOR: orchid2 ;
+
+M: light-theme help-header-background HEXCOLOR: F4EFD9 ;
+
+M: light-theme thread-status-stopped-background HEXCOLOR: F4D9D9 ;
+M: light-theme thread-status-suspended-background HEXCOLOR: F4EAD9 ;
+M: light-theme thread-status-running-background HEXCOLOR: EDF4D9 ;
+
+M: light-theme thread-status-stopped-foreground HEXCOLOR: F42300 ;
+M: light-theme thread-status-suspended-foreground HEXCOLOR: F37B00 ;
+M: light-theme thread-status-running-foreground HEXCOLOR: 3FCA00 ;
+
+M: light-theme error-summary-background HEXCOLOR: F4D9D9 ;
+
+M: light-theme content-background COLOR: white ;
+M: light-theme text-color COLOR: black ;
+
+M: light-theme link-color COLOR: DodgerBlue4 ;
+M: light-theme url-color COLOR: DodgerBlue4 ;
+M: light-theme title-color COLOR: gray20 ;
+M: light-theme heading-color COLOR: FactorDarkSlateBlue ;
+M: light-theme snippet-color COLOR: solarized-orange ;
+M: light-theme output-color COLOR: solarized-orange ;
+M: light-theme warning-background-color T{ rgba f 1 0.7 0.7 1 } ;
+M: light-theme code-background-color COLOR: FactorLightTan ;
+
+M: light-theme tip-background-color COLOR: lavender ;
+
+M: light-theme prompt-background-color T{ rgba f 1 0.7 0.7 1 } ;
+
+M: light-theme dim-color COLOR: solarized-cyan ;
+M: light-theme highlighted-word-color COLOR: solarized-green ;
+M: light-theme string-color COLOR: solarized-magenta ;
+M: light-theme stack-effect-color COLOR: solarized-orange ;
+
+M: light-theme vocab-background-color COLOR: FactorLightTan ;
+M: light-theme vocab-border-color COLOR: FactorDarkTan ;
+
+M: light-theme field-border-color COLOR: gray ;
+
+M: light-theme selection-color T{ rgba f 0.8 0.8 1.0 1.0 } ;
+M: light-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
+M: light-theme focus-border-color COLOR: dark-gray ;
+
+M: light-theme labeled-border-color COLOR: grey85 ;
+
+SINGLETON: dark-theme
+
+M: dark-theme toolbar-background COLOR: solarized-base02 ;
+M: dark-theme toolbar-button-pressed-background COLOR: solarized-base0 ;
+
+M: dark-theme menu-background COLOR: solarized-base02 ;
+M: dark-theme menu-border-color COLOR: solarized-base01 ;
+
+M: dark-theme status-bar-background COLOR: FactorDarkSlateBlue ;
+M: dark-theme status-bar-foreground COLOR: white ;
+
+M: dark-theme button-text-color COLOR: solarized-base1 ;
+M: dark-theme button-clicked-text-color COLOR: white ;
+
+M: dark-theme line-color COLOR: solarized-base01 ;
+
+M: dark-theme column-title-background HEXCOLOR: 2F4D5B ;
+
+M: dark-theme roll-button-rollover-border COLOR: gray50 ;
+M: dark-theme roll-button-selected-background COLOR: dark-gray ;
+
+M: dark-theme source-files-color COLOR: solarized-green ;
+M: dark-theme errors-color COLOR: solarized-red ;
+M: dark-theme details-color COLOR: solarized-blue ;
+
+M: dark-theme debugger-color COLOR: solarized-red ;
+M: dark-theme completion-color COLOR: solarized-violet ;
+
+M: dark-theme data-stack-color COLOR: solarized-blue ;
+M: dark-theme retain-stack-color COLOR: solarized-magenta ;
+M: dark-theme call-stack-color COLOR: solarized-green ;
+
+M: dark-theme title-bar-gradient { COLOR: solarized-base01 COLOR: solarized-base02 } ;
+
+M: dark-theme popup-color COLOR: solarized-yellow ;
+
+M: dark-theme object-color COLOR: solarized-cyan ;
+M: dark-theme contents-color COLOR: solarized-magenta ;
+
+M: dark-theme help-header-background HEXCOLOR: 2F4D5B ;
+
+M: dark-theme thread-status-stopped-background HEXCOLOR: 492d33 ;
+M: dark-theme thread-status-suspended-background HEXCOLOR: 3c4a24 ;
+M: dark-theme thread-status-running-background HEXCOLOR: 2c4f24 ;
+
+M: dark-theme thread-status-stopped-foreground COLOR: solarized-red ;
+M: dark-theme thread-status-suspended-foreground COLOR: solarized-yellow ;
+M: dark-theme thread-status-running-foreground COLOR: solarized-green ;
+
+M: dark-theme error-summary-background HEXCOLOR: 6E2E32 ;
+
+M: dark-theme content-background COLOR: solarized-base03 ;
+M: dark-theme text-color COLOR: grey75 ;
+
+M: dark-theme link-color COLOR: solarized-blue ;
+M: dark-theme url-color COLOR: solarized-blue ;
+M: dark-theme title-color COLOR: grey75 ;
+M: dark-theme heading-color COLOR: grey75 ;
+M: dark-theme snippet-color COLOR: solarized-orange ;
+M: dark-theme output-color COLOR: solarized-orange ;
+M: dark-theme warning-background-color HEXCOLOR: 6E2E32 ;
+M: dark-theme code-background-color HEXCOLOR: 2F4D5B ;
+
+M: dark-theme tip-background-color HEXCOLOR: 2F4D5B ;
+
+M: dark-theme prompt-background-color HEXCOLOR: 922f31 ;
+
+M: dark-theme dim-color COLOR: solarized-cyan ;
+M: dark-theme highlighted-word-color COLOR: solarized-green ;
+M: dark-theme string-color COLOR: solarized-magenta ;
+M: dark-theme stack-effect-color COLOR: solarized-orange ;
+
+M: dark-theme vocab-background-color COLOR: solarized-base01 ;
+M: dark-theme vocab-border-color COLOR: solarized-base01 ;
+
+M: dark-theme field-border-color COLOR: solarized-base01 ;
+
+M: dark-theme selection-color COLOR: solarized-base01 ;
+M: dark-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ;
+M: dark-theme focus-border-color COLOR: solarized-base01 ;
+
+M: dark-theme labeled-border-color COLOR: solarized-base01 ;
+
+light-theme theme set-global
index 8f284f93e72b68a7c5fbb0017ec9297af3cb8292..e4ad3dae48e0f5e3fe61e0047cb19ae078c097ee 100644 (file)
@@ -8,7 +8,7 @@ make models namespaces sequences sets ui ui.commands ui.gadgets
 ui.gadgets.borders ui.gadgets.editors ui.gadgets.editors.private
 ui.gadgets.glass ui.gadgets.labels ui.gadgets.labels.private
 ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.status-bar
-ui.gadgets.theme ui.gadgets.toolbar ui.gadgets.tracks
+ui.theme ui.gadgets.toolbar ui.gadgets.tracks
 ui.gadgets.viewports ui.gadgets.worlds ui.gestures ui.pens.solid
 ui.render ui.text ui.tools.browser.history
 ui.tools.browser.popups ui.tools.common vocabs ;
index 4a74aca5e967eb96117705e5a293f4977841f951..287539c540245dcfc2b55fb1c6a470e8a778d339 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs classes classes.mixin kernel namespaces
 parser ui.gadgets ui.gadgets.borders
-ui.pens.solid ui.gadgets.scrollers ui.gadgets.tracks ui.gadgets.theme
+ui.pens.solid ui.gadgets.scrollers ui.gadgets.tracks ui.theme
 combinators.short-circuit ;
 IN: ui.tools.common
 
index 10450a4cc834e6010d2effa0c4446f3586a027c3..610aa10b6f8f548626f5bacd1ad7f604002a01d6 100644 (file)
@@ -6,7 +6,7 @@ debugger prettyprint help editors fonts ui ui.commands
 ui.debugger ui.gestures ui.gadgets ui.pens.solid
 ui.gadgets.worlds ui.gadgets.packs ui.gadgets.buttons
 ui.gadgets.labels ui.gadgets.presentations ui.gadgets.panes
-ui.gadgets.viewports ui.gadgets.tables ui.gadgets.theme
+ui.gadgets.viewports ui.gadgets.tables ui.theme
 ui.gadgets.tracks ui.gadgets.toolbar
 ui.gadgets.scrollers ui.gadgets.borders ui.gadgets.status-bar
 ui.tools.traceback ui.tools.inspector ui.tools.browser ui.tools.common ;
index 49ed22ad19b8db11b194f83b02d146b98b0a7fab..d838eed0bf2d6042c9bda6a8840dd81a5639063c 100644 (file)
@@ -9,7 +9,7 @@ namespaces summary locals ui ui.commands ui.gadgets ui.gadgets.panes
 ui.gadgets.tables ui.gadgets.labeled ui.gadgets.tracks ui.gestures
 ui.operations ui.tools.browser ui.tools.common ui.gadgets.scrollers
 ui.tools.inspector ui.gadgets.buttons ui.gadgets.borders ui.gadgets.labels
-ui.gadgets.packs ui.gadgets.theme ui.gadgets.toolbar ui.gadgets.status-bar
+ui.gadgets.packs ui.theme ui.gadgets.toolbar ui.gadgets.status-bar
 ui.baseline-alignment ui.images
 compiler.errors tools.errors tools.errors.model ;
 IN: ui.tools.error-list
index 9c228b3d29e5ebbb160dc056726389540d438152..29b5dbce14683989652403f3c3bd776ad5692c4c 100644 (file)
@@ -5,7 +5,7 @@ colors.constants models.arrow prettyprint sequences mirrors assocs
 classes io io.styles arrays hashtables math.order sorting refs fonts
 ui.tools.browser ui.commands ui.operations ui.gadgets ui.gadgets.panes
 ui.gadgets.scrollers ui.gadgets.slots ui.gadgets.tracks ui.gestures
-ui.gadgets.buttons ui.gadgets.tables ui.gadgets.theme
+ui.gadgets.buttons ui.gadgets.tables ui.theme
 ui.gadgets.toolbar ui.gadgets.status-bar
 ui.gadgets.labeled ui.tools.common ui combinators ui.gadgets.worlds ;
 IN: ui.tools.inspector
index 1aaf99f6937b94e4e5cad0de8742a5e5fbf7cdd6..863e170384b08e0507cdeb949ad67dfb53ad2f42 100644 (file)
@@ -9,7 +9,7 @@ math models models.arrow models.delay namespaces parser
 prettyprint sequences source-files.errors strings system threads
 tools.errors.model ui ui.commands ui.gadgets ui.gadgets.editors
 ui.gadgets.glass ui.gadgets.labeled ui.gadgets.panes
-ui.gadgets.scrollers ui.gadgets.status-bar ui.gadgets.theme
+ui.gadgets.scrollers ui.gadgets.status-bar ui.theme
 ui.gadgets.toolbar ui.gadgets.tracks ui.gestures ui.operations
 ui.pens.solid ui.tools.browser ui.tools.common ui.tools.debugger
 ui.tools.error-list ui.tools.listener.completion
index 8d092f2928b2558e4773e32a58d46db0c592fe8b..9341d96ab4d460f5ae0e18a80a4a9c9cf6afe787 100644 (file)
@@ -5,7 +5,7 @@ kernel models models.arrow prettyprint sequences ui.commands
 ui.gadgets ui.gadgets.borders ui.gadgets.buttons
 ui.gadgets.labeled ui.gadgets.panes ui.gadgets.scrollers
 ui.gadgets.status-bar ui.gadgets.tables ui.gadgets.toolbar
-ui.gadgets.theme ui.gadgets.tracks
+ui.theme ui.gadgets.tracks
 ui.gestures ui.tools.common ;
 QUALIFIED-WITH: ui.tools.inspector i
 IN: ui.tools.traceback
index 1e60de76a70dcb260f59a1bb2e09fa6653e24bdc..9e5fa4f6795e8b24139e44351d9cf4a68d52b972 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors assocs colors colors.constants combinators
 concurrency.messaging formatting fry inspector kernel make
 models models.arrow namespaces sequences threads tools.walker ui
 ui.commands ui.gadgets ui.gadgets.buttons ui.gadgets.labels
-ui.gadgets.status-bar ui.gadgets.theme ui.gadgets.toolbar
+ui.gadgets.status-bar ui.theme ui.gadgets.toolbar
 ui.gadgets.tracks ui.gestures ui.pens.solid ui.tools.browser
 ui.tools.common ui.tools.listener ui.tools.traceback ;
 IN: ui.tools.walker
index 480df1a36893fff50b1956d891fa99a4322edd28..a8c2f806316a80dfa8cb1408da99aba731e3242c 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors arrays assocs colors fry io
 io.styles kernel literals make math.order namespaces parser
 prettyprint.backend prettyprint.sections prettyprint.stylesheet
-sequences sets sorting ui.gadgets.theme vocabs vocabs.parser ;
+sequences sets sorting ui.theme vocabs vocabs.parser ;
 FROM: io.styles => inset ;
 IN: vocabs.prettyprint