! -*- factor -*- USING: accessors calendar calendar.english calendar.parser colors combinators.random combinators.short-circuit combinators.smart continuations editors.emacs fry fuel.remote generalizations io io.encodings.utf8 io.files io.streams.string io.styles json.reader kernel libc listener math math.combinatorics namespaces random sequences tools.scaffold ui.gadgets.editors ui.tools.listener ui.theme ui.theme.switching unicode.control-pictures unix vocabs vocabs.hierarchy vocabs.parser ; IN: ui.theme.alex SINGLETON: alex-theme M: alex-theme toolbar-background COLOR: #454545 ; M: alex-theme toolbar-button-pressed-background COLOR: #242424 ; M: alex-theme menu-background COLOR: #384048 ; M: alex-theme menu-border-color COLOR: grey75 ; M: alex-theme status-bar-background COLOR: FactorDarkSlateBlue ; M: alex-theme status-bar-foreground COLOR: white ; M: alex-theme button-text-color COLOR: #303030 ; M: alex-theme button-clicked-text-color COLOR: white ; M: alex-theme line-color COLOR: grey50 ; M: alex-theme column-title-background COLOR: #384048 ; M: alex-theme roll-button-rollover-border COLOR: #333366 ; M: alex-theme roll-button-selected-background COLOR: dark-gray ; M: alex-theme source-files-color COLOR: #95e454 ; M: alex-theme errors-color COLOR: #e5786d ; M: alex-theme details-color COLOR: #8ac6f2 ; M: alex-theme debugger-color COLOR: #e5786d ; M: alex-theme completion-color COLOR: solarized-violet ; M: alex-theme data-stack-color COLOR: #8ac6f2 ; M: alex-theme retain-stack-color COLOR: #95e454 ; M: alex-theme call-stack-color COLOR: #95e454 ; M: alex-theme title-bar-gradient { COLOR: #242424 COLOR: #454545 } ; M: alex-theme popup-color COLOR: #ddaa6f ; M: alex-theme object-color COLOR: #8ac6f2 ; M: alex-theme contents-color COLOR: #95e454 ; M: alex-theme help-header-background COLOR: #384048 ; M: alex-theme thread-status-stopped-background COLOR: #492d33 ; M: alex-theme thread-status-suspended-background COLOR: #3c4a24 ; M: alex-theme thread-status-running-background COLOR: #2c4f24 ; M: alex-theme thread-status-stopped-foreground COLOR: #e5786d ; M: alex-theme thread-status-suspended-foreground COLOR: #ddaa6f ; M: alex-theme thread-status-running-foreground COLOR: #95e454 ; M: alex-theme error-summary-background COLOR: #6E2E32 ; ! M: alex-theme content-background COLOR: #384048 ; M: alex-theme content-background COLOR: #333333 ; M: alex-theme text-color COLOR: #f6f3e9 ; M: alex-theme link-color COLOR: #8ac6f2 ; M: alex-theme title-color COLOR: grey75 ; M: alex-theme heading-color COLOR: grey75 ; M: alex-theme snippet-color COLOR: #e5786d ; M: alex-theme output-color COLOR: #e5786d ; M: alex-theme deprecated-background-color COLOR: #3c4a24 ; M: alex-theme deprecated-border-color COLOR: #ddaa6f ; M: alex-theme warning-background-color COLOR: #492d33 ; M: alex-theme warning-border-color COLOR: #e5786d ; M: alex-theme code-background-color COLOR: #242424 ; M: alex-theme help-path-border-color COLOR: #384048 ; M: alex-theme tip-background-color COLOR: #242424 ; M: alex-theme prompt-background-color COLOR: #92a65e ; M: alex-theme dim-color COLOR: #8ac6f2 ; M: alex-theme highlighted-word-color COLOR: #95e454 ; M: alex-theme string-color COLOR: #95e454 ; M: alex-theme stack-effect-color COLOR: #e5786d ; M: alex-theme vocab-background-color COLOR: #242424 ; M: alex-theme vocab-border-color COLOR: grey75 ; M: alex-theme field-border-color COLOR: grey75 ; M: alex-theme editor-caret-color COLOR: #92a65e ; M: alex-theme selection-color COLOR: #a0df00 ; M: alex-theme panel-background-color T{ rgba f 0.7843 0.7686 0.7176 1.0 } ; M: alex-theme focus-border-color COLOR: grey75 ; M: alex-theme labeled-border-color COLOR: #242424 ; M: alex-theme table-border-color COLOR: grey75 ; M: alex-theme code-border-color COLOR: white ; IN: scratchpad "/usr/local/bin/emacsclient" emacsclient-path set-global "Alex Maestas" developer-name set-global alex-theme switch-theme prompt-style COLOR: black foreground update-style interactor readline-bindings [ fuel-start-remote-listener* ] [ { [ unix-system-call-error? ] [ errno>> EADDRINUSE = ] } 1&& dup [ "Never mind, address already in use" write nl flush ] when ] ignore-error : load-birdsite-archive ( path -- alist ) utf8 [ [ "=" read-until ] drop-outputs read-json ] with-file-reader ; : birdsite-timestamp ( s -- timestamp ) [ read-sp check-day-name read-sp month-abbreviations index 1 + check-timestamp read-sp checked-number read-hh:mm:ss read-sp parse-rfc822-gmt-offset [ read-0000 ] 6 ndip ] with-string-reader ; : glitch-text ( str p -- st2 ) '[ _ [ 7 random 2^ bitxor ] whenp ] map control-pictures ;