diff --git a/configs/ide/default.js b/configs/ide/default.js index 9930230e..8f248989 100644 --- a/configs/ide/default.js +++ b/configs/ide/default.js @@ -511,6 +511,8 @@ module.exports = function(options) { }, "plugins/c9.ide.theme.flat/flat-light", "plugins/c9.ide.theme.flat/flat-dark", + "plugins/c9.ide.theme.jett/plugin", + { packagePath: "plugins/c9.ide.layout.classic/preload", themePrefix: options.themePrefix, diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index 520d665a..3e2a1973 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -100,6 +100,7 @@ define(function(require, exports, module) { var currentTheme; var skin = settings.get("user/general/@skin"); var defaultThemes = { + "jett-dark": "plugins/c9.ide.theme.jett/ace.themes/jett", "light": "ace/theme/cloud9_day", "light-gray": "ace/theme/cloud9_day", "flat-light": "ace/theme/cloud9_day", @@ -562,7 +563,7 @@ define(function(require, exports, module) { var style = currentTheme && (currentTheme.isDark ? "dark" : "light"); if (e.force == false && e.theme.indexOf(style) != -1) return; - if (e.type != "ace") + if (e.type != "ace" && defaultThemes[e.theme]) handle.setTheme(defaultThemes[e.theme]); }, handle); @@ -1285,22 +1286,29 @@ define(function(require, exports, module) { } }), index == -1 ? undefined : index || themeCounter++, plugin || handle); } - function addTheme(css, plugin) { - var theme = { cssText: css }; - var firstLine = css.split("\n", 1)[0].replace(/\/\*|\*\//g, "").trim(); - firstLine.split(";").forEach(function(n) { - if (!n) return; - var info = n.split(":"); - theme[info[0].trim()] = info[1].trim(); - }); - theme.isDark = theme.isDark == "true"; + function addTheme(theme, plugin) { + if (typeof theme == "string") { + var css = theme; + theme = { cssText: css }; + var firstLine = css.split("\n", 1)[0].replace(/\/\*|\*\//g, "").trim(); + firstLine.split(";").forEach(function(n) { + if (!n) return; + var info = n.split(":"); + theme[info[0].trim()] = info[1].trim(); + }); + theme.isDark = theme.isDark == "true"; + theme.id = "custom_themes/" + theme.name; + theme.customCss = css; + } - theme.id = "custom_themes/" + theme.name; - theme.customCss = css; define.undef(theme.id); - define(theme.id, [], theme); + if (theme.cssText) + define(theme.id, [], theme); - themes[theme.id] = theme; + if (!theme.name) + theme.name = theme.caption; + + themes[theme.caption || theme.id] = theme.id; addThemeMenu(theme.name, theme.id, null, plugin); diff --git a/plugins/c9.ide.ace/themes.js b/plugins/c9.ide.ace/themes.js index 17e00cfe..22b1cd13 100644 --- a/plugins/c9.ide.ace/themes.js +++ b/plugins/c9.ide.ace/themes.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { main.consumes = [ "PreferencePanel", "ace", "ui", "configure", "settings", - "preferences.experimental" + "preferences.experimental", "layout" ]; main.provides = ["preferences.themes"]; return main; @@ -10,6 +10,7 @@ define(function(require, exports, module) { var PreferencePanel = imports.PreferencePanel; var ui = imports.ui; var ace = imports.ace; + var layout = imports.layout; var configure = imports.configure; var settings = imports.settings; var experimental = imports["preferences.experimental"]; @@ -29,24 +30,47 @@ define(function(require, exports, module) { // var emit = plugin.getEmitter(); var intro; + var themeContainers = {}; + var themes = []; var loaded = false; function load() { if (loaded) return false; loaded = true; - function update() { - if (!drawn) return; - - var list = getThemes(); - plugin.form.update([{ - id: "syntax", - items: list - }]); - } - - ace.on("addTheme", update); - ace.on("removeTheme", update); + layout.addTheme({ + group: "classic", + color: "#252525;", + name: "dark", + }); + layout.addTheme({ + group: "classic", + color: "#3f3f3f;", + name: "dark-gray", + }); + layout.addTheme({ + group: "classic", + color: "#aaa;", + name: "light-gray", + hidden: !options.lightClassic, + }); + layout.addTheme({ + group: "classic", + color: "#dcdbdb;", + name: "light", + hidden: !options.lightClassic, + }); + layout.addTheme({ + group: "flat", + color: "#252525;", + name: "flat-dark", + hidden: !FLATDARK + }); + layout.addTheme({ + group: "flat", + color: "#dcdbdb;", + name: "flat-light", + }); } var drawn; @@ -55,24 +79,7 @@ define(function(require, exports, module) { drawn = true; var list = getThemes(); - - var rb1, rb2, rb3, rb4, rb5, rb6; - - var flatThemes = []; - rb6 = new ui.radiobutton({ - group: "theme-color", - class: "themepicker", - style: "background:#252525;", - value: "flat-dark" - }); - rb5 = new ui.radiobutton({ - group: "theme-color", - class: "themepicker", - style: "background:#dcdbdb;", - value: "flat-light" - }); - if (FLATDARK) flatThemes.push(rb6); - flatThemes.push(rb5); + plugin.form.add([ { @@ -99,9 +106,7 @@ define(function(require, exports, module) { caption: "Flat Theme:", style: "padding-top:5px" }), - new ui.bar({ - childNodes: flatThemes - }) + themeContainers.flat = new ui.bar({}) ] }) }, @@ -119,34 +124,7 @@ define(function(require, exports, module) { caption: "Classic Theme:", style: "padding-top:5px" }), - new ui.bar({ - childNodes: [ - rb1 = new ui.radiobutton({ - group: "theme-color", - class: "themepicker", - style: "background:#252525;", - value: "dark" - }), - rb2 = new ui.radiobutton({ - group: "theme-color", - class: "themepicker", - style: "background:#3f3f3f;", - value: "dark-gray" - }), - // rb3 = new ui.radiobutton({ - // group: "theme-color", - // class: "themepicker", - // style: "background:#aaa;", - // value: "light-gray" - // }), - // rb4 = new ui.radiobutton({ - // group: "theme-color", - // class: "themepicker", - // style: "background:#dcdbdb;", - // value: "light" - // }) - ] - }) + themeContainers.classic = new ui.bar({}) ] }) }, @@ -164,21 +142,19 @@ define(function(require, exports, module) { }, ], plugin); - var change = function(e) { - settings.set("user/general/@skin", e.value); - }; - var setTheme = function(e) { - [rb1, rb2, rb5, rb6].some(function(rb) { - if (rb.value == e.value) { - rb.select(); - return true; - } - }); - }; - settings.on("user/general/@skin", setTheme); - setTheme({ value: settings.get("user/general/@skin") }); - rb1.$group.on("afterchange", change); + function update() { + if (!drawn) return; + + var list = getThemes(); + plugin.form.update([{ + id: "syntax", + items: list + }]); + } + + ace.on("addTheme", update, plugin); + ace.on("removeTheme", update, plugin); ui.buildDom([ ["h1", null, "Themes"], @@ -188,10 +164,35 @@ define(function(require, exports, module) { ], ["p", { class: "hint" }, "Set all the colors free!"] ], intro.$int); + + + themeContainers.group = new apf.group(); + + layout.on("themeAdded", drawThemeSwatches); + drawThemeSwatches(); + + var change = function(e) { + settings.set("user/general/@skin", e.value); + }; + var setTheme = function(e) { + [].concat( + themeContainers.flat.childNodes, + themeContainers.classic.childNodes + ).some(function(rb) { + if (rb.value == e.value) { + rb.select(); + return true; + } + }); + }; + settings.on("user/general/@skin", setTheme, plugin); + setTheme({ value: settings.get("user/general/@skin") }); + + themeContainers.group.on("afterchange", change); } /***** Methods *****/ - + function getThemes() { var list = []; var themes = ace.themes; @@ -207,6 +208,31 @@ define(function(require, exports, module) { return list; } + + function drawThemeSwatches() { + var themes = layout.listThemes(); + themeContainers.classic.childNodes.forEach(function(n) { + n.remove(); + }); + themeContainers.flat.childNodes.forEach(function(n) { + n.remove(); + }); + + themes.forEach(function(theme) { + if (theme.hidden) return; + var container = theme.group == "flat" ? themeContainers.flat : themeContainers.classic; + container.appendChild( + new ui.radiobutton({ + group: themeContainers.group, + class: "themepicker", + style: "background:" + theme.color, + value: theme.name, + tooltip: theme.name, + }) + ); + }); + } + /***** Lifecycle *****/ plugin.on("load", function() { @@ -218,6 +244,8 @@ define(function(require, exports, module) { plugin.on("unload", function() { loaded = false; drawn = false; + intro = null; + themeContainers = {}; }); /***** Register and define API *****/ diff --git a/plugins/c9.ide.collab/chat/chat.js b/plugins/c9.ide.collab/chat/chat.js index a55c9062..5fec1315 100644 --- a/plugins/c9.ide.collab/chat/chat.js +++ b/plugins/c9.ide.collab/chat/chat.js @@ -320,6 +320,9 @@ define(function(require, exports, module) { var html = document.createElement("p"); html.id = "ot_chat_" + msg.id; html.userId = msg.userId; + + if (msg.userId == workspace.myUserId) + html.className = "you"; var borderEl = document.createElement("span"); html.appendChild(borderEl); diff --git a/plugins/c9.ide.editors/tabmanager.js b/plugins/c9.ide.editors/tabmanager.js index fd0be714..d2bf4bab 100644 --- a/plugins/c9.ide.editors/tabmanager.js +++ b/plugins/c9.ide.editors/tabmanager.js @@ -196,9 +196,9 @@ define(function(require, module, exports) { settings.on("read", function(e) { // Defaults settings.setDefaults("user/tabs", [ - ["show", "true"], - ["title", "false"], - ["asterisk", "false"] + ["show", true], + ["title", false], + ["asterisk", false] ]); settings.setDefaults("state/tabs", []); @@ -248,7 +248,7 @@ define(function(require, module, exports) { settings.on("user/tabs/@asterisk", function(value) { containers.forEach(function(container) { - if (value) + if (ui.isTrue(value)) ui.setStyleClass(container, "asterisk"); else ui.setStyleClass(container, "", ["asterisk"]); diff --git a/plugins/c9.ide.layout.classic/layout.js b/plugins/c9.ide.layout.classic/layout.js index d5809163..74823380 100644 --- a/plugins/c9.ide.layout.classic/layout.js +++ b/plugins/c9.ide.layout.classic/layout.js @@ -126,14 +126,18 @@ define(function(require, exports, module) { emit("draw"); } - var allowedThemes = { - "dark": 1, - "dark-gray": 1, - "light-gray": 1, - "light": 1, - "flat-light": 1, - "flat-dark": 1 - }; + var allowedThemes = {}; + + function addTheme(data) { + allowedThemes[data.name] = data; + emit("themeAdded", data); + } + + function listThemes() { + return Object.keys(allowedThemes).map(function(key) { + return allowedThemes[key]; + }); + } function setImageResolution(value) { if (window.matchMedia) { @@ -159,20 +163,22 @@ define(function(require, exports, module) { theme = sTheme; if (ui.packedThemes) { - preload.getTheme(theme, function(err, theme) { + preload.getTheme(theme, function(err, themeCss) { if (err) return; + if (sTheme !== theme) + return; // Remove Current Theme if (removeTheme) removeTheme(); var url = options.staticPrefix.replace(/c9.ide.layout.classic\/?$/, ""); - theme = theme.replace(/(url\(["']?)\/static\/plugins\//g, function(_, x) { + themeCss = themeCss.replace(/(url\(["']?)\/static\/plugins\//g, function(_, x) { return x + url; }); - theme = setImageResolution(theme); + themeCss = setImageResolution(themeCss); // Load the theme css - ui.insertCss(theme, false, { + ui.insertCss(themeCss, false, { addOther: function(remove) { removeTheme = remove; } }); changeTheme(); @@ -596,7 +602,8 @@ define(function(require, exports, module) { get hasTheme() { return !ui.packedThemes || !!removeTheme }, - + addTheme: addTheme, + listThemes: listThemes, /** * Returns an AMLElement that can server as a parent. * @param {Plugin} plugin The plugin for which to find the parent. diff --git a/plugins/c9.ide.layout.classic/preload.js b/plugins/c9.ide.layout.classic/preload.js index 4a877e59..4511fe5e 100644 --- a/plugins/c9.ide.layout.classic/preload.js +++ b/plugins/c9.ide.layout.classic/preload.js @@ -33,11 +33,8 @@ define(function(require, exports, module) { ["skin", options.defaultTheme || "flat-dark"] ]); if (!packed || options.loadTheme) return callback(); - try { - var theme = settings.get("user/general/@skin"); - return getTheme(theme, callback); - } catch (e) {} - async.forEach(Object.keys(themes), getTheme, callback); + var theme = settings.get("user/general/@skin"); + return getTheme(theme, callback); } function getTheme(name, callback) { diff --git a/plugins/c9.ide.theme.jett/LICENSE b/plugins/c9.ide.theme.jett/LICENSE new file mode 100644 index 00000000..a0d98b61 --- /dev/null +++ b/plugins/c9.ide.theme.jett/LICENSE @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2018 Michael Jett + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugins/c9.ide.theme.jett/README.md b/plugins/c9.ide.theme.jett/README.md new file mode 100644 index 00000000..3cd72678 --- /dev/null +++ b/plugins/c9.ide.theme.jett/README.md @@ -0,0 +1,73 @@ +# Cloud9 Jett Theme +### A flat theme for C9 IDE + +Give your Cloud9 instance a modern look! + +screenshot + +## Features +- Animations! +- Retina ready! +- Modern fonts! +- Updated filetype icons! + +## Compatibility + +- Tested with C9 _v3.1.1022_ +- Latest version of Chrome, Safari, Firefox + + +## Installation +1. Git clone or download this repo into `c9sdk/plugins/c9.ide.theme.jett` +2. Open `c9sdk/configs/client-default.js`. Before `return plugins;` add the following: + + ```js + { + packagePath: "plugins/c9.ide.theme.jett/plugin", + staticPrefix: staticPrefix + "/plugins/c9.ide.theme.jett" + } + ``` + + > **Note**: This plugin styles collaborative features and has a hard set dependancy on `--collab` being enabled. + +3. Open `c9sdk/configs/standalone.js`. Add the following somewhere in the config: + + ```js + { + packagePath: "./c9.ide.theme.jett/build-theme", + pathRoot: __dirname + } + ``` + +4. Run cloud9 in `--collab` mode. + + ``` + node server.js -p 8081 -a : --collab + ``` + +5. Upon launching your Cloud9 instance you should have a new color option in _Preferences > Themes > Flat Theme_. This will allow you switch this theme on/off. + +### Minification + +If you want to run cloud9 with minification turned on ( `--packed` mode ), you'll need to rebuild assets. + + ``` + scripts/makestandalone.sh --compress + ``` + +### Customize CSS + +This is a little manual at the moment. + +1. Delete the current compilation. (`rm build/compile_jett.css`) +2. Restart cloud9. The server-side plugin will detect the missing asset and rebuild it. + +## License +- MIT + +## Contributing + +Please submit a pull request through github. + +## Author +- GitHub: https://github.com/jumbojett/ diff --git a/plugins/c9.ide.theme.jett/ace.themes/jett.css b/plugins/c9.ide.theme.jett/ace.themes/jett.css new file mode 100644 index 00000000..6fb73994 --- /dev/null +++ b/plugins/c9.ide.theme.jett/ace.themes/jett.css @@ -0,0 +1,158 @@ +.ace-jett .ace_gutter { + background: #1C1D21; + color: #686b78 +} + +.ace-jett .ace_print-margin { + width: 0px; +} + +.ace-jett { + background-color: #1C1D21; + color: #cbcdd2 +} + +.ace-jett .ace_cursor { + color: #cbcdd2 +} + +.ace-jett .ace_marker-layer .ace_selection { + background: #2f3137 +} + +.ace-jett.ace_multiselect .ace_selection.ace_start { + box-shadow: 0 0 3px 0px #1C1D21; + border-radius: 2px +} + +.ace-jett .ace_marker-layer .ace_step { + background: #212227 +} + +.ace-jett .ace_marker-layer .ace_bracket { + margin: -1px 0 0 -1px; + border: 1px solid #65737e +} + +.ace-jett .ace_marker-layer .ace_active-line { + background: #212227 +} + +.ace-jett .ace_gutter-active-line { + background-color: #212227; +} + +.ace-jett .ace_marker-layer .ace_selected-word { + border: 1px solid #4f5b66 +} + +.ace-jett .ace_fold { + background-color: #8fa1b3; + border-color: #cbcdd2 +} + +.ace-jett .ace_keyword { + color: #78bd65 +} + +.ace-jett .ace_keyword.ace_operator { + color: #eb3d54 +} + +.ace-jett .ace_keyword.ace_other.ace_unit { + color: #ef7c2a +} + +.ace-jett .ace_constant { + color: #ef7c2a +} + +.ace-jett .ace_constant.ace_numeric { + color: #ef7c2a +} + +.ace-jett .ace_constant.ace_character.ace_escape { + color: #ef7c2a +} + +.ace-jett .ace_support.ace_function { + color: #eb3d54 +} + +.ace-jett .ace_support.ace_class { + color: #ffcb6b +} + +.ace-jett .ace_support.ace_type { + color: #cbcdd2 +} + +.ace-jett .ace_storage { + color: #78bd65 +} + +.ace-jett .ace_invalid.ace_illegal { + color: #1C1D21; + background-color: #bf616a +} + +.ace-jett .ace_string { + color: #4fb4d8 +} + +.ace-jett .ace_string.ace_regexp { + color: #80CBC4 +} + +.ace-jett .ace_comment { + color: #686b78 +} + +.ace-jett .ace_variable { + color: #e5cd52 +} + +.ace-jett .ace_meta.ace_tag { + color: #eb3d54 +} + +.ace-jett .ace_meta.ace_selector { + color: #78bd65 +} + +.ace-jett .ace_entity.ace_other.ace_attribute-name { + color: #FFCB6B +} + +.ace-jett .ace_entity.ace_name.ace_function { + color: #e5cd52 +} + +.ace-jett .ace_entity.ace_name.ace_tag { + color: #ff5370 +} + +.ace-jett .ace_markup.ace_list { + color: rgba(255, 83, 112, 1.0) +} + +.ace-jett .ace_indent-guide { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZGM6c3ViamVjdD4KICAgICAgICAgICAgPHJkZjpCYWcvPgogICAgICAgICA8L2RjOnN1YmplY3Q+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTAyLTE3VDAwOjAyOjgwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5QaXhlbG1hdG9yIDMuNC4yPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoedQbwAAAAEklEQVQIHWMwsXGrZ2JgZGgAAAkvAbkhTCViAAAAAElFTkSuQmCC) right repeat-y +} + +.ace-jett .ace_diff, +.ace-jett .ace_diff.insert, +.ace-jett .ace_diff.delete { + border-color: #4f5b66 !important; + background-color: rgba(79, 91, 102, 0.5) !important; +} + +.ace-jett .ace_diff-connector { + stroke: #4f5b66; + fill: rgba(79, 91, 102, 0.6); +} + +.ace_diff-gutter.ace-jett { + background-color: #1C1D21 !important; + border-right: 1px solid #464e5e !important; +} \ No newline at end of file diff --git a/plugins/c9.ide.theme.jett/ace.themes/jett.js b/plugins/c9.ide.theme.jett/ace.themes/jett.js new file mode 100644 index 00000000..8c8aa867 --- /dev/null +++ b/plugins/c9.ide.theme.jett/ace.themes/jett.js @@ -0,0 +1,39 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2010, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +exports.isDark = true; +exports.cssClass = "ace-jett"; +exports.cssText = require("text!./jett.css"); + +var dom = require("ace/lib/dom"); +dom.importCssString(exports.cssText, exports.cssClass); +}); diff --git a/plugins/c9.ide.theme.jett/fonts/c9.eot b/plugins/c9.ide.theme.jett/fonts/c9.eot new file mode 100644 index 00000000..7c1a893b Binary files /dev/null and b/plugins/c9.ide.theme.jett/fonts/c9.eot differ diff --git a/plugins/c9.ide.theme.jett/fonts/c9.ttf b/plugins/c9.ide.theme.jett/fonts/c9.ttf new file mode 100644 index 00000000..5fcb8647 Binary files /dev/null and b/plugins/c9.ide.theme.jett/fonts/c9.ttf differ diff --git a/plugins/c9.ide.theme.jett/fonts/c9.woff b/plugins/c9.ide.theme.jett/fonts/c9.woff new file mode 100644 index 00000000..29f7749e Binary files /dev/null and b/plugins/c9.ide.theme.jett/fonts/c9.woff differ diff --git a/plugins/c9.ide.theme.jett/less/overrides.less b/plugins/c9.ide.theme.jett/less/overrides.less new file mode 100644 index 00000000..f7721017 --- /dev/null +++ b/plugins/c9.ide.theme.jett/less/overrides.less @@ -0,0 +1,2706 @@ + +/* Sonar */ + +@keyframes fadeinout { + 0%, 100% { + opacity: 0.5; + } + 50% { + opacity: 1; + } +} + +@keyframes sonar { + from { + transform: scale(0); + opacity: 1; + } + to { + transform: scale(1); + opacity: 0; + } +} + + +/* FLASHING */ + +@keyframes flash { + 0%, 100%, 50% { + opacity: 1 + } + 25%, + 75% { + opacity: 0 + } +} + + +/* SPIN */ + +@keyframes spin { + 0% { + transform: rotate(0deg) + } + 100% { + transform: rotate(359deg) + } +} + + +/* Fade In Down */ + +@keyframes pulseIn { + 0%, 20%, 40%, 60%, 80%, 100% { + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + transform: scale3d(1, 1, 1); + } + 20% { + transform: scale3d(1, 1, 1); + } + 40% { + transform: scale3d(0.97, 0.97, 0.97); + } + 60% { + transform: scale3d(1, 1, 1); + } + 80% { + transform: scale3d(0.97, 0.97, 0.97); + } + 100% { + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulseOut { + 20% { + transform: scale3d(0.9, 0.9, 0.9); + } + 50%, + 55% { + opacity: 1; + transform: scale3d(1.1, 1.1, 1.1); + } + 100% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@font-face { + font-family: 'c9'; + src: url('plugins/c9.ide.theme.jett/fonts/c9.eot?zd96sh'); + src: url('plugins/c9.ide.theme.jett/fonts/c9.eot?zd96sh#iefix') format('embedded-opentype'), url('plugins/c9.ide.theme.jett/fonts/c9.ttf?zd96sh') format('truetype'), url('plugins/c9.ide.theme.jett/fonts/c9.woff?zd96sh') format('woff'); + font-weight: normal; + font-style: normal; +} + + +/* Icons */ + +.filetree .tree-row .toggler, +.filetree-icon.folder, +.filetree-icon:before, +.c9-menu-btn.c9btn:before, +.disconnectlabel div:before, +.errorlabel div:before, +.session_btn strong:before, +#playpause_button_icon, +#leftstep:after, +#rightstep:after, +.btnquicksearchnav.btnquicksearchnavLeft .lbl span, +.btnquicksearchnav.btnquicksearchnavRight .lbl span, +.checkbox, +.btn-preview-choice:before, +.btn-preview-choice span:before, +.frame .buttons div.min, +.ace_tree .toggler, +.bar-preferences .navigation .level1>a:after, +.prefpanel h1:after, +.header-btn:before, +.tabsContextMenu:after, +.tabmenubtn:after, +.header-btn:after, +.memberstree .kickout, +span.chattime:before { + background: none !important; + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'c9' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +/* Tree min arrows */ + +.frame .buttons div.min:before, +.ace_tree .toggler:before { + /* Arrow open */ + content: '\f05b'; + font-size: 9px; + line-height: 12px; + position: relative; +} + +.frame .buttons div.min:before, +.memberstree.ace_tree .toggler.open:before { + top: -2px; +} + +.memberstree.ace_tree .toggler:before, +.outline.ace_tree .toggler:before { + top: -1px; +} + +.memberstree .tree-row { + line-height: 18px; +} + +.memberstree .tree-row .root.caption { + top: 0; + font-weight: 300; + line-height: 23px; +} + +.memberstree .tree-row.selected .caption, +.debugcontainer .tree-row.selected .caption, +.debugcontainer .blackdg .selected, +.blackdgDisabled .selected { + color: rgba(255, 255, 255, 0.7); +} + +.frame .buttons div.min, +.ace_tree .toggler { + text-align: center; + cursor: pointer; +} + +.ace_tree .toggler { + line-height: 7px; +} + +.frame.frameMin .buttons div.min:before, +.ace_tree .toggler.closed:before { + /* Arrow closed */ + content: '\f05a'; +} + +.ace_tree .toggler.empty:before { + content: ''; +} + +.frame .title span { + line-height: 15px; +} + + +/* Browser icons */ + +.btn-preview-choice:before { + content: '\f0c5'; + font-size: 17px; + line-height: 14px; + position: relative; + top: 3px; + left: -4px; +} + +.btn-preview-choice span:before { + content: '\f05b'; + font-size: 9px; + left: -1px; + position: absolute; + line-height: 3px; +} + + +/* Find and replace icons */ + +div.find-and-replace div.checkbox:before { + color: @base; + line-height: 25px; + margin: 5px; + font-size: 18px; +} + +.find-and-replace .dropdown-dark-glossy { + line-height: 28px; +} + +div.find-and-replace .cbcontainerChecked div.checkbox:before { + color: #66AEFC; +} + +.chkConsole div.checkbox:before { + content: '\f0c5'; +} + +.chkWrapAround div.checkbox:before { + content: '\e916'; +} + +.chkRegEx div.checkbox:before { + content: '\e91b'; +} + +.chkMatchCase div.checkbox:before { + content: '\e919'; +} + +.chkWholeWords div.checkbox:before { + content: '\e91a'; +} + +.chkSearchSelection div.checkbox:before { + content: '\e917'; +} + +.chkPreserveCase div.checkbox:before { + content: '\e918'; +} + + +/* Close "X" icon for tabs */ + + +/*.session_btn.curbtn strong:after { + content: "\f081"; + color: #fff; + position: relative; + top: -4px; + right: -2px; +} + +.session_btn.curbtn strong { + background-image: none; +}*/ + + +/* Time slider player icons */ + +#playpause_button_icon:before { + content: "\e903"; + line-height: 33px; + padding-left: 11px; + font-size: 13px; + color: #6CC788; +} + +#playpause_button_icon.pause:before { + content: "\e902"; + padding-left: 10px; + color: #fff; +} + +#leftstep:after { + content: "\e904"; +} + +#rightstep:after { + content: "\e914"; +} + + +/* Tabs icon */ + +.sessiontab_title .filetree-icon:before { + position: relative; + top: 3px; + padding-right: 3px; +} + + +/* File icons begin */ + +.filetree-icon { + background-image: none !important; +} + +.filetree-icon:before { + content: "\e907"; +} + +.filetree-icon.preferences:before { + content: "\f07c"; +} + +.filetree-icon.searchresults:before { + content: "\e901"; +} + +.filetree-icon.terminal:before { + content: "\e6a2"; +} + +.filetree-icon.css:before, +.filetree-icon.scss:before, +.filetree-icon.sass:before, +.filetree-icon.less:before { + color: #71A3B7; + content: "\e64a"; +} + +.filetree-icon.html:before, +.filetree-icon.htm:before { + color: #D28445; + content: "\e636"; +} + +.filetree-icon.scala:before { + content: "\e637"; + color: #DE3423; +} + +.filetree-icon.composer:before { + content: "\e683"; +} + +.filetree-icon.bower:before { + content: "\e64d"; +} + +.filetree-icon.gulp:before { + content: "\e663"; +} + +.filetree-icon.grunt:before { + content: "\e64c"; +} + +.filetree-icon.npm:before { + content: "\e61e"; +} + +.filetree-icon.go:before { + content: "\e624"; +} + +.filetree-icon.swift:before { + content: "\e655"; + color: #F05138; +} + +.filetree-icon.groovy:before { + color: #6398AA; + content: "\e675"; +} + +.filetree-icon.sh:before, +.filetree-icon.makefile:before, +.filetree-icon.bat:before, +.filetree-icon.bash:before { + color: #BABFC7; + content: "\f0c8"; +} + +.filetree-icon.xml:before, +.filetree-icon.cfm:before, +.filetree-icon.rhtml:before, +.filetree-icon.smarty:before, +.filetree-icon.jsp:before, +.filetree-icon.twig:before { + color: #D77676; + content: "\f010"; +} + +.filetree-icon.php:before, +.filetree-icon.inc:before, +.filetree-icon.php5:before { + color: #8892BF; + content: "\e63d"; +} + +.filetree-icon.ejs:before, +.filetree-icon.sjs:before, +.filetree-icon.js:before { + content: "\e64e"; +} + +.filetree-icon.js:before { + color: #F6C076; +} + + +/* Microsoft */ + +.filetree-icon.vbs:before, +.filetree-icon.cs:before { + content: "\e60c"; +} + +.filetree-icon.hs:before { + content: "\e677"; + color: #999999; +} + +.filetree-icon.json:before { + color: #F6C076; + content: "{}"; +} + +.filetree-icon.py:before { + color: #F4BF75; + content: "\e63c"; +} + +.filetree-icon.sql:before, +.filetree-icon.sqlserver:before, +.filetree-icon.pgsql:before { + content: "\f096"; +} + +.filetree-icon.pdf:before { + content: "\e908"; +} + +.filetree-icon.eot:before, +.filetree-icon.ttf:before, +.filetree-icon.woff:before { + content: "\e915"; +} + +.filetree-icon.dockerfile:before { + content: "\e6b0"; + color: #3498db; +} + +.filetree-icon.pl:before { + content: "\e669"; + color: #4E5D84; +} + +.filetree-icon.zip:before, +.filetree-icon.tar:before, +.filetree-icon.gz:before { + content: "\f013"; +} + +.filetree-icon.clj:before { + color: #43D06B; + content: "\e66a"; +} + +.filetree-icon.ru:before, +.filetree-icon.erb:before, +.filetree-icon.rb:before { + color: #D14748; + content: "\e691"; +} + +.filetree-icon.coffee:before { + color: #AB7558; + content: "\e651"; +} + +.filetree-icon.java:before { + color: #EA8222; + content: "\e638"; +} + +.filetree-icon.md:before { + color: #A8BB80; + content: "\e63e"; +} + +.filetree-icon.mysql:before { + content: "\e604"; +} + +.filetree-icon.jpg:before, +.filetree-icon.svg:before, +.filetree-icon.jpeg:before, +.filetree-icon.png:before, +.filetree-icon.gif:before, +.filetree-icon.bmp:before { + content: "\f012"; +} + +.filetree .tree-row .toggler.open:before { + content: "\e90c"; + font-size: 0.8rem; +} + +.filetree .tree-row .toggler.closed:before { + content: "\e90a"; + font-size: 0.8rem; +} + +.filetree-icon { + font-size: 16px; + width: 16px; + height: 16px; + line-height: 18px !important; +} + +.filetree-icon.folder:before { + content: "\e90e"; + opacity: 0.3; +} + +.filetree .tree-row .toggler { + width: 12px; + height: 25px; +} + +.filetree .tree-row > span { + margin-right: 4px; + line-height: 27px; +} + +.filetree .loading .filetree-icon:before { + content: "\e913"; + animation: flash 2s ease infinite; +} + +div.navigate-list span.filetree-icon:before { + padding-right: 5px; +} + +div.navigate-list small { + color: @base; +} + + +/* Panel Icons */ + +.panelsbutton.workspace, +.panelsbutton.navigate, +.panelsbutton.commands, +.panelsbutton.changes, +.panelsbutton.outline, +.panelsbutton.debugger, +.panelsbutton.collab { + font-size: 0px !important; + transform: rotate(-90deg); + font-family: 'c9' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + font-smoothing: false; + border-radius: 50%; + width: 15px; + text-align: center; +} + +.panelsbutton.workspace:after, +.panelsbutton.navigate:after, +.panelsbutton.commands:after, +.panelsbutton.changes:after, +.panelsbutton.outline:after, +.panelsbutton.debugger:after, +.panelsbutton.collab:after { + font-size: 15px; +} + +.panelsbutton.workspace:after { + content: "\f017"; +} + +.panelsbutton.navigate:after { + content: "\f02e"; +} + +.panelsbutton.commands:after { + content: "\e909"; +} + +.panelsbutton.changes:after { + content: "\e602"; +} + +.panelsbutton.outline:after { + content: "\e90f"; +} + +.panelsbutton.debugger:after { + content: "\e910"; +} + +.panelsbutton.collab:after { + content: "\f04f"; +} + + +/* Panel button effects */ + +.panelsbutton.panelsbuttonBool:before { + pointer-events: none; + position: absolute; + width: 90%; + height: 90%; + border-radius: 50%; + content: ''; + box-sizing: content-box; + top: -2px; + left: 0px; + padding: 2px; + z-index: -1; + background: #fff; + transition: transform .2s, opacity .3s; + transform: scale(1.3); + opacity: 0; +} + +.panelsbutton.panelsbuttonBool:hover:before, +.panelsbutton.panelsbuttonDown:before { + transform: scale(1); + opacity: 0.075; +} + +.changes>.c9-menu-btnDown, +.changes>.splitbutton div.c9-menu-btnDown:first-child { + height: 39px; +} + + +/* Menu Cloud 9 Icon */ + +.c9-menu-btn.c9btn { + font-size: 0px !important; + padding: 4px 9px 9px 9px !important; + z-index: inherit; + line-height: 28px; +} + +.c9-menu-btn.c9btn:before { + font-size: 30px; + content: "\e69f"; + line-height: 30px; +} + +.c9-menu-btnDown.c9btn { + border: 0 !important; +} + + +/* Menu hover animate bottom border */ + +.c9-menu-bar .c9-menu-btn:after { + content: ""; + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + left: 0; + background-color: #fff; + visibility: hidden; + transform: scaleX(0); + transition: all 0.3s ease-in-out 0s; +} + +.c9-menu-bar .c9-menu-btnOver:after { + visibility: visible; + transform: scaleX(1); +} + + +/* Active table close "x" */ + + +/*.session_btn strong:before { + content: '\f081'; + position: relative; + top: -3px; + font-size: 11px; + color: @compliment1; + display: inline-block; + line-height: 1; +}*/ + + +/* Alert dialogs */ + +.disconnectlabel div:before, +.errorlabel div:before { + padding-left: 10px; + float: left; +} + +.errorlabel u.close { + top: 12px; +} + +.disconnectlabel div:before, +.errorlabel div:before { + content: "\e900"; + font-size: 22px; + line-height: 16px; +} + +.disconnectlabel div, +.errorlabel div { + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); + border-radius: 3px; + font-size: 12px; +} + +.disconnectlabel.anim, +.errorlabel.anim { + transition: inherit; + animation: pulseIn 0.5s ease; +} + + +/* Find and replace bar */ + +.btnquicksearchnav.btnquicksearchnavLeft .lbl span:before, +.btnquicksearchnav.btnquicksearchnavRight .lbl span:before { + font-size: 21px; + margin-left: 4px; + margin-top: 1px; + color: darken(@compliment1, 20%); +} + +.btnquicksearchnav { + margin-top: 1px; +} + +.btnquicksearchnav.btnquicksearchnavLeft .lbl span:before { + content: "\e90b"; +} + +.btnquicksearchnav.btnquicksearchnavRight .lbl span:before { + content: "\e90a"; +} + + +/* Icons End */ + +.c9-toolbarbutton-glossyDown.runbtn { + background: transparent !important; +} + +.bartools .c9-toolbarbutton-glossy { + height: 100%; + border-radius: 0; + border: 0; + padding: 0 9px; +} + +.bartools .c9-toolbarbutton-glossy > div { + line-height: 42px; +} + +.bartools .c9-toolbarbutton-glossyIcon { + padding-left: 16px; +} + +.bartools .c9-toolbarbutton-glossyIcon .c9-icon { + margin-left: 10px; + top: 11px; +} + +.bartools .c9-toolbarbutton-glossyOver { + border: 0; + background: darken(@background, 2%); +} + +.bartools .c9-toolbarbutton-glossymenuDown { + background-color: #ffffff; + box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.29); + border: 1px solid #dedede; + border-width: 0 1px; + padding: 0 8px 0 8px; + z-index: 1000000; +} + +.btnName { + margin-right: 0px !important; + padding-left: 33px !important; +} + +.c9-menu-btnDown:not(.c9-menu-btnmenuDown) { + box-shadow: none; + border: 0; + padding-left: 9px; + padding-right: 9px; +} + +.toolbar-top .c9-divider { + height: 32px; + margin-top: -1px !important; +} + +.toolbar-top.bottom .c9-divider { + display: none; +} + +.previewbar .hbox { + left: 39px !important; +} + +.previewbar .c9-toolbarbutton-glossy { + height: 30px !important; + box-sizing: border-box; + min-width: 30px !important; +} + +.previewbar .locationbar, +.previewbar .hbox .c9-toolbarbutton-glossy { + margin: 0px 5px 0px 0 !important; +} + +.previewbar .hbox .c9-toolbarbutton-glossy:last-child { + margin: 0 !important; +} + +.previewbar .c9-toolbarbutton-glossy .c9-icon { + top: 1px; + left: 3px; +} + +.previewbar .searchbox.tb_console .sbtb_middle { + padding-left: 10px; + height: 23px; + line-height: 22px; +} + +.btn-preview-choice { + line-height: 22px; + height: 24px; + background-position: 5px 5px; + padding-left: 14px; + border: none; + color: #A7ADB8; + background-image: none !important; + left: -1px; +} + +.btn-preview-choice span { + top: 12px; +} + +.btn-default-css3 { + height: 30px; + width: auto; + white-space: nowrap; +} + +.btn-default-css3Disabled { + opacity: 0.5; +} + +.filesave-inner-padding .btn-default-css3 { + width: auto !important; +} + +.btn-default-css3 .caption { + line-height: 30px +} + +.output .c9-toolbarbutton-glossyIcon.runbtn { + width: 69px !important; + min-width: 69px !important; +} + +.output .c9-toolbarbutton-glossyIcon.restart, +.output .c9-toolbarbutton-glossyIcon.bug { + min-width: 30px !important; +} + +.output .toolbar .tbsimple { + height: 23px; + opacity: 0.6; +} + +.output .c9-toolbarbutton-glossy.cwd { + min-width: 53px !important; +} + +.output .c9-toolbarbutton-glossy.env { + min-width: 48px !important; +} + +.output .c9-toolbarbutton-glossyIcon.restart .c9-icon { + left: 5px; + top: 5px; +} + +.output .c9-toolbarbutton-glossyIcon.bug .c9-icon { + left: 4px; +} + +.output .c9-toolbarbutton-glossy { + height: 27px !important; + margin-top: -4px !important; + margin-left: -4px !important; +} + +.output .c9-toolbarbutton-glossyIcon .c9-icon { + left: 7px; + top: 4px; +} + +.output .c9-toolbarbutton-glossy .c9-label { + padding: 3px 6px 3px 10px; +} + +.c9-toolbarbutton-glossy .c9-label { + line-height: 22px; +} + +.output .c9-toolbarbutton-glossyIcon .c9-label { + padding: 3px 3px 0 35px; +} + +.output .toolbar .c9-toolbarbutton-glossyOver { + border: 1px solid #c2c8ca !important; + background: rgba(255, 255, 255, 0.4) !important; +} + +.output .toolbar .c9-toolbarbutton-glossyDown { + border: 1px solid #c2c8ca !important; + background: rgba(255, 255, 255, 0.2) !important; +} + +.output .c9-toolbarbutton-glossy:last-child { + margin-right: 0; +} + +.envcontainer { + border-radius: 4px; + box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.08); + margin-top: 2px; + margin-left: 1px; +} + +.envcontainer .blackdg { + border-top: 0 !important; +} + +.black_dropdownDown { + background: transparent; +} + +.blackdg .ace_wrapper { + z-index: 100000; + padding: 3px 0 0 5px; + background: white; + box-sizing: border-box; + overflow: hidden; +} + +.keybindings .blackdg .ace_wrapper { + height: 24px !important; + background-color: rgb(239, 239, 239); + padding-left: 4px; +} + +.keybindings .blackdg .ace_wrapper .ace_editor { + height: 24px !important; + margin-top: -1px !important; +} + +.console>.hbox>.console_close_btn { + width: 26px !important; + height: 23px !important; + margin: 16px -4px 0px 3px !important; + box-sizing: border-box; +} + +.console>.hbox>.divider_console { + display: none; +} + +.console>.hbox>.btn_console { + margin: 10px 0px 0px 0px !important; + border-radius: 0; + width: 26px !important; + height: 25px !important; + cursor: pointer; +} + +.console>.hbox>.btn_consoleOver { + background: darken(@background, 2%); + border: 1px solid transparent; +} + +.console>.hbox>.btn_console div { + margin: 5px 0 0 3px; +} + +.console>.hbox>.btn_consoleDown { + border: 1px solid transparent; + box-shadow: none; + background: darken(@background, 2%); +} + +.c9-toolbarbutton-glossyDisabled.light .c9-icon { + opacity: 0.6; +} + +.rbcontainer.themepicker { + border-radius: 4px; +} + +.rbcontainer.themepicker div { + box-shadow: none; +} + +.rbcontainer.themepicker.rbcontainerSelected div:after { + border: 3px solid #D8D8D8; + border-radius: 8px; +} + +.ace_scroller.ace_scroll-left > .scroll_shadow { + box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.2) inset !important; +} + +.bar-preferences .blackdg .ace_tree-editor { + box-shadow: none; + color: #333; + text-shadow: none; + background: rgb(239, 239, 239); +} + +.bar-preferences .basic.container { + box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1); +} + +.bar-preferences .blackdg .tree-row { + line-height: 18px; +} + +.c9-toolbarbutton-glossy.saving .c9-label, +.c9-toolbarbutton-glossy.saved .c9-label { + line-height: inherit; + padding: 4px 0 0 0; + font-size: 0px; + width: 25px; +} + +.c9-toolbarbutton-glossy.saved .c9-label:before { + font-family: c9; + content: '\e91c'; + font-size: 17px; + line-height: 32px; + color: @base; + animation: sonar 2s ease-out forwards +} + +.c9-toolbarbutton-glossy.saving .c9-icon, +.c9-toolbarbutton-glossy.saved .c9-icon { + display: none; +} + +.session_btn.btnclose .tab_middle .sessiontab_title { + margin-right: 6px; + margin-left: -1px; + position: relative; + z-index: 1000; + color: @base !important; +} + +.session_btn.btnclose.running .tab_middle .sessiontab_title { + margin-right: 7px; +} + +.session_btn strong { + margin-right: -1px; +} + +.cbcontainerFocus span { + padding: 1px 2px 1px 3px; + border: 1px dotted @compliment1; + margin-left: 4px; + margin-top: 2px; +} + +.grouped_checkbox_holder.mount { + background: #FAFAFA; + border-radius: 4px; + border: 1px solid #DEDEDE; +} + +.grouped_checkbox_holder.mount .cbcontainer { + margin-left: 1px !important; +} + +.grouped_checkbox_holder.mount .cbcontainerFocus span { + border: 0; + margin-left: 0; +} + +.grouped_checkbox_holder.mount .cbcontainer:first-child { + border-radius: 3px 0 0 3px; +} + +.grouped_checkbox_holder.mount .cbcontainer:last-child { + border-radius: 0 3px 3px 0; +} + +.grouped_checkbox_holder.mount .cbcontainerDown, +.grouped_checkbox_holder.mount .cbcontainerChecked { + background: #63acff; + box-shadow: none; + margin: -1px !important; + position: relative; + top: 0px; + padding: 2px 0 1px 0; + height: 27px !important; +} + +.grouped_checkbox_holder.mount .cbcontainer span { + color: #333 !important; +} + +.has_apf .grouped_checkbox_holder.mount .cbcontainerOver:not(.cbcontainerChecked), +.has_apf .grouped_checkbox_holder.mount .cbcontainerFocus:not(.cbcontainerChecked) { + background: #fff; + border-radius: 0 3px 3px 0; + top: 0; + position: relative; + margin-left: 1px !important; + padding: 1px 0 0 0; + box-shadow: none !important; +} + +.has_apf .grouped_checkbox_holder.mount .cbcontainerDown span, +.has_apf .grouped_checkbox_holder.mount .cbcontainerChecked span { + color: white !important; +} + +.immediate .ace_lineWidgetContainer > div { + border-top: 0 !important; + border-bottom: 0; +} + +.filetree .tree-row > span.caption { + margin-left: 0px; +} + +.filetree .tree-row.heading > span.caption { + margin-left: 0; +} + +.toolbar-top.basic .c9-menu-btnDown.scripts { + border: 0; +} + +.blackdg .dbgVarIcon { + background-position: 0 -1px; +} + +.language_highlight_occurrence_other, +.language_highlight_occurrence_main { + border-color: #ADADAD; +} + +.welcome .label { + padding: 5px 2px; +} + +.c9-menu-bar .c9-mbar-cont .c9-divider-double.extrasdivider { + // border-right: 1px solid rgb(224, 224, 224) !important; + // margin-top: -7px; + // height: 46px !important; + display: none; +} + +.c9-toolbarbutton-glossy .c9-icon { + height: 19px; +} + +.bk-window.relative, +.bk-window2.relative { + box-shadow: 0 0 30px rgba(0, 0, 0, 0.2) !important; + animation: pulseIn 0.4s ease +} + +.bk-window .searchbox .sbtb_middle .input { + top: 2px; + left: 5px; +} + +.bk-window .searchbox.tb_console .sbtb_middle { + min-height: 21px; +} + +.reportabug { + width: 378px !important; +} + +.reportabug .bk-container { + padding: 10px; +} + +.reportabug #form > .hbox:first-child { + padding-bottom: 14px !important; +} + +.output .c9-divider { + display: none; +} + +#fileUploadSelect { + top: 300px; + left: 99px; + width: 181px; + height: 24px; +} + +#fileUploadSelect.uploadWithFolders { + left: 118px; + width: 120px; + height: 30px; +} + +#folderUploadSelect { + top: 300px; + left: 243px; + width: 120px; + height: 30px; +} + +.editor_tab.morepadding .btnsesssioncontainer { + padding-right: 0; +} + +.c9terminal .c9terminalcontainer .terminal, .c9terminal .c9terminalcontainer { + background: #111 !important; + color: #f5f5f5 !important; +} + +.c9terminal .c9terminalcontainer .ace_selection { + background: #343d46!important; +} + +.codeditorHolder .editor_tab { + border: 1px solid lighten(@background, 20%); + border-radius: 4px; + overflow: auto; +} + +.console .firstbtn { + border-left: none !important; +} + +.ace_tree.ace_tree_focus .selected .extrainfo { + color: #FFFFFF; + font-smoothing: true; +} + +.ace_tree { + font-size: 11px; + font-family: @general-font-family; + font-weight: 300; +} + +.loading-spinner { + .image-2x("@{pane-button-save-image}", @pane-button-save-image-width, @pane-button-save-image-height); + animation: loading-24-spinner 1.2s steps(24) infinite !important; +} + +.navigate-list .item { + border-bottom: rgba(255, 255, 255, 0.05) 1px solid; +} + +.searchresults .item { + padding: 5px 3px 1px 5px; + border-radius: 0px; +} + +.searchresults .item .path { + font-weight: 300; +} + +.searchresults .item .keys { + background: fade(lighten(@background, 10%), 50%) !important; + padding: 3px; + border-radius: 3px; + border: 1px solid lighten(@background, 10%); + color: #fff; +} + +body, +.searchresults .item > span { + font-weight: 300 !important; +} + +.ace_tree .tree-row .checkbox { + outline: 1px solid rgba(0, 0, 0, 0.16); + background: white; + width: 13px; + height: 13px; + margin: -2px 5px 0 0px; + display: inline-block; + vertical-align: middle; + pointer-events: auto; +} + +.ace_tree .tree-row .checkbox.checked { + background-position: -2px -2px; +} + +.ace_tree .tree-row .checkbox.half-checked { + background-color: #DDDDDD; + background-position: -2px -2px; +} + +.outline.ace_tree .ace_tree_cell-layer>div>span { + font-family: @general-font-family; + line-height: 11px; + font-weight: 300; +} + +.outline.ace_tree .tree-row.selected { + color: inherit; +} + +.installer .execute .progress { + bottom: -44px; +} + +.top-test-panel { + border-bottom: 1px solid @border-highlight; +} + +.has_apf .toolbar-top .sbtb_middle { + height: auto; + padding: 4px 25px 3px 5px; + border: 0; + margin-right: 1px; +} + +.top-test-panel { + border-bottom: 1px solid @border-highlight-dark; + box-shadow: none; +} + +body .runner-form-header { + background: whitesmoke; +} + +.runtestbtn .icon { + background-position: 1px 2px; + height: 22px; +} + +.coverage-toolbar { + background-color: #f7f7f7; + border-bottom: 1px solid #ECECEC; + box-sizing: border-box; +} + +.coverage-toolbar .label { + padding: 7px; +} + +.coverage-toolbar .black_dropdown { + margin: 0 !important; + min-height: 28px !important; +} + +@media print, +(-o-min-device-pixel-ratio: 5/4), +(-webkit-min-device-pixel-ratio: 1.25), +(min-resolution: 1.25dppx) { + .listBP .checked .checkbox { + background-position: 0px -61px !important; + } + .cbblack.cbcontainerChecked .checkbox { + background-color: rgba(255, 255, 255, 0.1) !important; + } + .cbblack.cbcontainerDown .checkbox { + background-position: 0 -41px; + } + .cbblack.cbcontainerOver.cbcontainerChecked .checkbox { + background-position: 0 -81px; + } + .cbblack.cbcontainerChecked.cbcontainerDown .checkbox { + background-position: 0 -101px; + } + .cbblack.cbcontainerDisabled.cbcontainerChecked .checkbox { + background-position: 0 -142px; + } + .session_btn .tab_middle:before { + background-position: 0 -126px; + -webkit-mask-position: 0 -95px; + left: -35px; + } + .session_btn .tab_shadow:before { + left: -35px; + } + .session_btn .tab_middle:after { + background-position: -42px -126px; + -webkit-mask-position: -42px -95px; + right: -25px; + } + .dark.session_btn.curbtn .tab_middle:before, + .session_btn.curbtn .tab_middle:before { + background-position: 0 -126px; + } + .dark.session_btn.curbtn .tab_middle:before { + -webkit-mask-position: 0 -95px; + } + .dark.session_btn.curbtn .tab_middle:after, + .session_btn.curbtn .tab_middle:after { + background-position: -42px -126px; + } + .dark.session_btn.curbtn .tab_middle:after { + -webkit-mask-position: -42px -95px; + } + .session_btn.curbtn .tab_shadow:before { + background-position: 0 -123px; + } + .session_btn.curbtn .tab_shadow:after { + background-position: -42px -123px; + } + .c9-toolbarbutton-glossy .c9-icon { + height: 19px; + } + .runtestbtn .icon { + height: 21px; + } +} + + +/* User icons */ + +.c9-mbar-cont .c9-menu-btnIcon .icon { + border: 3px solid lighten(@background, 4%); + background-size: 100% auto !important; + background-position: center center; +} + +.c9-mbar-cont .c9-menu-btnIcon .icon:after { + content: ''; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.8)); + border-radius: 50%; + opacity: 0.3; +} + +.checkbox { + content: ""; + display: inline-block; + position: absolute; + left: 0; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 3px; + transition: border 0.15s ease-in-out, color 0.15s ease-in-out; + background-image: none !important; +} + +.debugcontainer .checkbox { + margin-left: 3px !important; +} + + +/* Color for debug panels begin */ + +.debugcontainer .ace_tree.blackdg, +.debugcontainer .blackdg .tree-headings, +.debugcontainer .blackdg .tree-headings .tree-column { + background: darken(@background, 1%); + color: lighten(@base, 0%); + border-bottom: 1px solid darken(@background, 2%); + border-top: 1px solid darken(@background, 2%); +} + +.debugcontainer .blackdg .tree-headings { + border-bottom: darken(@background, 1%); +} + +.debugcontainer .blackdg .newwatch { + background: darken(@background, 1%); +} + +.debugcontainer .blackdg .ace_wrapper { + background: darken(@background, 3%); + box-shadow: @textbox-box-shadow; +} + +.debugcontainer .blackdg .ace_tree-editor { + background: darken(@background, 3%); + color: @color; +} + + +/* Color for debug panels end */ + +.cbblack.cbcontainerChecked .checkbox:before, +.listBP .checked .checkbox:before { + content: "\f03a"; + color: #6CC788; + font-size: 13px; + line-height: 17px; + font-weight: bold; +} + +.panel-bar.debugcontainer .listBP .checked .checkbox:before { + margin-left: 3px; +} + +.checkbox { + width: 17px; + text-align: center; +} + +.detail-tree .filetree.ace_tree, +.frame.absframe>.body { + background: darken(@background, 1%); + border-bottom: 1px solid darken(@background, 2%); + border-top: 1px solid darken(@background, 2%); +} + +.difftoolbar { + background: transparent !important; + box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.2); + z-index: 100; + top: 4px !important; +} + +.ace_diff.insert.inline:after { + background-color: rgba(108, 199, 136, 0.4) !important; +} + +.ace_diff.delete.inline:after { + background-color: rgba(247, 122, 153, 0.4) !important; +} + +.listBP .checkbox { + background-color: transparent !important; +} + +.bar-preferences > div { + font-size: 12px; + line-height: 20px; +} + +.c9-toolbarbutton-glossy { + cursor: pointer; +} + +.ace_line { + -webkit-font-smoothing: subpixel-antialiased; + font-smoothing: subpixel-antialiased; +} + +.bar-status > .label { + color: #fff !important; + background: transparent; + font-weight: normal; +} + + +/* Plugin prefs searchbox */ + +.prefpanel .searchbox.tb_console .sbtb_middle { + opacity: 0.5; + min-height: 22px; +} + +.searchbox.tb_console .sbtb_middle { + min-height: 20px; + padding: 3px 25px 3px 1px !important; +} + +.searchTxt.tb_console.dark .sbtb_middle { + background-color: lighten(@background, 10%); + border-color: lighten(@background, 10%) !important; + box-shadow: none; +} + +.filetree.ace_tree { + font-size: 12px; +} + +.filetree .tree-row { + line-height: @tree-row-height; +} + +.filetree .tree-row, +.tree-row > .caption { + color: @base; +} + +.filetree .tree-row.selected, +.filetree .tree-row.selected > .caption, +.tree-row.selected > .filetree-icon { + color: @color; +} + +.filetree .tree-row.selected > .caption {} + +.filetree .tree-row.selected, +.filetree .tree-row.selected.hover { + background-color: @selected-background !important; +} + +.filetree > .ace_scrollbar-v { + border-right: 0px solid #111 !important; +} + +.filetree > .ace_scrollbar-inner { + border-top: 0px solid #111; +} + +.c9-menu-bar .c9-mbar-cont { + border-bottom: 0 !important; + z-index: 350000; +} + +.c9-menu-btn { + color: @compliment1 !important; + line-height: 42px; +} + +.c9-menu-btnDown, +.c9-menu-btnOver { + background-color: @background !important; + color: @compliment1; + border-color: @background; +} + +.c9-toolbarbutton-glossy { + color: @compliment1 !important; +} + +.panel-bar { + border-right: 0px solid desaturate(@background, 16%); + background: @background; +} + +.editor_tab .btnsesssioncontainer { + border: 0px; + box-shadow: none; + left: 0; + right: 0; + top: 0; +} + + + +.session_btn.curbtn { + background: transparent; + background-color: transparent; + border: 1px solid lighten(@background, 20%); + border-bottom: 1px solid transparent; + border-top: none; + height: @pane-button-height; +} + +.session_btn.curbtn .tab_middle, +.session_btn.curbtn .tab_middle::after, +.session_btn.curbtn .tab_middle::before { + background: none !important; + border-bottom-color: none; +} + +.session_btn.focus { + margin-top: none !important; + padding-top: none !important; + height: 38px !important; + // min-width: 9vw; +} + +.has_apf .session_btn strong { + margin-top: -1px !important; +} + +.bar-preferences .blackdg .selected, +.bar-preferences .blackdgDisabled .selected { + color: #fff; +} + +.bar-preferences .btn-default-css3 { + font-size: 0.9vw; +} + + +/* Expand tab titles to increase reability */ + +.session_btn.curbtn.dark.running { + background: @pane-background; +} + +.session_btn.over:not(.focus) { + color: lighten(@color,10%); +} + +.focus.session_btn.curbtn .sessiontab_title { + font-weight: 300; + color: #B7BCC5 !important; + font-smoothing: false; +} + +.c9-menu-btn.preferences .icon { + background: none; +} + +.c9-menu-btn.preferences .icon:after { + content: "\e905"; + font-family: c9; + font-size: 22px; + line-height: 26px; + padding-left: 7px; +} + +.dark.session_btn.curbtn .sessiontab_title { + color: @compliment1 !important; + margin-top: -1px; +} + +.sessiontab_title { + color: @compliment1 !important; + margin-top: -1px; +} + +.session_btn.curbtn:before { + display: none; +} + +.session_btn.curbtn:after { + display: none; +} + +.dark.session_btn.curbtn .tab_middle, +.session_btn .tab_middle, +.session_btn .tab_shadow { + background-image: none; + margin-top: 3px; +} + +.session_btn { + border-left: 1px solid @background; + border-right: 1px solid @background; + border-top: 0px solid @background; + border-bottom: 0px solid @background; + margin-top: none !important; + padding-top: none !important; + transition: min-width 0.2s, background-color 0.2s; +} + +.dark.session_btn.curbtn .tab_middle, +.session_btn.curbtn .tab_middle, +.dark.session_btn .tab_middle, +.session_btn .tab_middle { + line-height: 34px; + padding-top: 0px; +} + +.session_btn .tab_middle:before, +.session_btn .tab_middle:after { + -webkit-mask: none !important; + mask: none !important; + display: none; +} + +.session_btn .sessiontab_title { + padding: 0px; +} + +.focus.session_btn.curbtn .sessiontab_title { + letter-spacing: 0px !important; +} + +.editor_tab .btnsesssioncontainer .inside { + padding: 0px 6px 0 34px; + height: 38px; +} + +.session_btn .tab_shadow { + display: none; +} +.session_btn strong { + content: ' '; + top: 12px; +} + +.dark.session_btn.curbtn strong { + margin-top: -1px !important; +} + +.session_btn.curbtn strong:after { + content: ' '; + /*background: none;*/ +} + +.editor_tab .session_page { + top: 38px; +} + +.ace_folding-enabled > .ace_gutter-cell { + padding-right: 10px; +} + +.ace_gutter-layer .ace_gutter-cell.ace_error, +.ace_gutter-layer .ace_gutter-cell.ace_warning { + background-position: 3px center; +} + +.panelsbar { + box-shadow: none !important; + margin-top: -9px; +} + +.basic.left { + margin-left: 2px; + padding-right: 1px; +} + +.basic.right { + margin-right: 3px; + padding-left: 3px; +} + +.right .panelsbar { + padding-top: 2px; +} + +.right .panel-bar { + margin-right: 4px; +} + +.left .panel-bar { + margin-left: 5px; +} + +.vsplitbox.colMain { + margin-left: 5px; + margin-right: 6px; +} + +.panelsbutton { + color: @compliment1 !important; + font-size: 11px; + line-height: 12px; + font-weight: normal; + text-shadow: none; + background: transparent !important; + margin-top: -2px; + border-color: transparent !important; +} + +.panelsbutton, +.panelsbuttonDown, +.panelsbuttonDown:hover { + margin-left: 15px; +} + +.panelsbuttonDown, +.panelsbuttonDown:hover { + border: 0px !important; + padding-bottom: 7px !important; + margin-right: 2px !important; +} + +.panelsbuttonDown { + color: @compliment1 !important; + font-size: 11px; + line-height: 12px; + font-weight: normal; + text-shadow: none; +} + +.debugcontainer .scroller { + background: @background; +} + +.collab-bar .ace_tree_cells { + background-color: darken(@background, 1%); +} + +.message.empty { + color: #efefef; +} + +.editor_tab .btnsesssioncontainer { + font-size: 13px !important; + border-bottom: 1px solid lighten(@background, 20%); + background: @background; +} + +.session_btn { + padding: 0 15px !important; + margin-right: 0px !important; +} + +.session_btn.curbtn { + margin-top: 0px; +} + +.listBP .message.empty { + color: @compliment1; +} + +.memberstree .collaborator_color { + width: 1px; +} + + +/* Trash can icon */ + +.memberstree .kickout:before { + content: '\f0d0'; + font-size: 14px; + line-height: 18px; + color: fade(@compliment1, 70%) +} + +.memberstree .kickout:hover:before { + color: rgb(244, 68, 85); +} + +.access_control.rw .writebutton, +.access_control.r .readbutton, +.access_control.disabled .readbutton, +.access_control.disabled .writebutton { + line-height: 11px; + margin-left: -2px; +} + +.access_control { + border-radius: 2px; + border: 1px solid rgba(255, 255, 255, 0.1); +} + +.access_control.rw .readbutton { + margin: -3px 1px 0 -3px; + padding-left: 2px; +} + +.access_control.r .writebutton { + margin: -4px -1px 0 -3px; + line-height: 18px; +} + +.notificationstree .btn-default-css3 .caption { + line-height: 10px; +} + +.notificationstree .btn-default-css3 { + height: 18px; + border-radius: 2px; +} + +.notificationstree .tree-row .body>.caption { + font-weight: normal; +} + + +/* Process Dialog Begin */ + +.hbox.dialog-buttons .searchTxt.tb_console .sbtb_middle { + background-color: #fff; + border: 1px solid; + color: #333; +} + + +/* Chatbox begin */ +.chatText { + flex: 1; + overflow-x: hidden +} + +#chatCounter { + display: none; +} + +span.chattime:before { + content: '\e913'; + padding-right: 3px; + font-size: 11px; + position: relative; + top: 1px; +} + +.chatContainer { + padding-top: 5px; +} + +.chatContainer .searchTxt.tb_console .sbtb_middle { + position: relative; + box-shadow: inset 0 0 2px 0px darken(@background, 3%); + border: 1px solid lighten(@background, 8%); + border-radius: 3px; + margin: 5px; + background: rgba(255, 255, 255, 0.025); +} + +.chatText .chatmessage, +.chatText .authorName { + display: inline-table; +} + +.chatText .chatmessage { + margin-left: 5px; + background: #0B93F6; + padding: 5px 5px 0px 5px; + border-radius: 5px; + text-align: left; +} + +.chatText p.you { + text-align: left; +} + +@keyframes expand { + from { + transform: scale(0); + opacity: 0; + background: #5470B0; + } +} +.chatText p { + text-align: right; + animation: expand .5s cubic-bezier(0.005, 0.95, 0.135, 1.205); +} + +span.chatmessage:after { + content: ''; + right: 11px; + border-left: 7px solid dodgerblue; + z-index: 1; + display: block; + width: 6px; + height: 5px; + position: relative; + bottom: 0; + border-bottom-left-radius: 100%; + top: 0px; + transform: scaleX(-1); +} + +.chatText .chattime { + position: static; + line-height: 21px; + display: block; +} + +.chatText .authorName b { + font-weight: 300; + font-size: 12px; +} + +.chatText .authorName { + vertical-align: bottom; +} + +.chatContainer .searchTxt.tb_console .sbtb_middle:before { + bottom: 100%; + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.chatContainer .searchTxt.tb_textboxInitial .sbtb_middle .input { + margin-top: 2px; +} + +.searchTxt.tb_textboxInitial .sbtb_middle .input { + font-weight: 300; +} + + +/* Chatbox end */ + +.searchTxt.tb_textboxInitial.dark .sbtb_middle .input { + color: @color !important; +} + +.dropdown-dark-glossy .label { + line-height: 25px; + vertical-align: middle; +} + +#divSearchCount { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: 700; + line-height: 1; + color: #fff !important; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; + height: initial; + margin-top: 3px; +} + + +/* Favorites heading */ + +.heading.tree-row span.caption, +.frame>.title { + text-transform: uppercase; +} + +.heading.tree-row span.caption, +.frame>.title { + font-size: 11px; +} + +.bar-preferences .navigation .level1.active>a, +.bar-preferences .navigation .current a { + border-left: 2px solid #1ca8dd !important; + margin-left: 2px; +} + +.bar-preferences .navigation .level2>span { + font-size: 11px; +} + +.bar-preferences .navigation .level1>a, +.bar-preferences .navigation .level2>a { + margin-left: 4px; +} + +.bar-preferences .navigation a:hover { + color: #fff; +} + +.bar-preferences .navigation a { + padding-left: 20px; +} + +.bar-preferences .navigation .level1>a { + font-size: 13px; + text-transform: none; + font-weight: 300; +} + +.bar-preferences .navigation .level3 a:hover { + border-radius: 0; +} + +.bar-preferences .navigation { + padding-left: 1px; +} + +.bar-preferences .navigation .level3.current>a { + margin-left: -5px; + padding-left: 15px; +} + +.bar-preferences .navigation .level3.current>a { + margin-left: -5px; + padding-left: 15px; +} + +.bar-preferences .navigation blockquote { + padding: 0 0 0 0; +} + +.bar-preferences .navigation .level1>blockquote { + padding-left: 30px; + margin: 0 10px 0 0; +} + +.bar-preferences .container .header { + border-radius: 3px; +} + + +/* Correct toggle arrow position */ + +.frame .buttons div.min { + margin: 3px 4px 0 2px; +} + +#divSearchCount[style="color: red;"] { + background-color: #EE686A; +} + +#divSearchCount[style="color: blue;"] { + background-color: #1c8ed7; +} + +.find-and-replace .ace-tm .ace_cursor, +.ace-tm .ace_cursor { + color: @textbox-color !important; +} + +.input.ace_editor.ace-tm.ace_one-line { + top: 1px; + left: 5px; +} + + +/* collab notifications bubble */ + +.panelsbutton.collab .newnotifs, +.ace_tree, +.filetree.ace_tree { + transform: none; + font-family: @general-font-family; + font-weight: 300; +} + +.notificationstree .tree-row.odd { + background: rgba(0, 0, 0, 0.075)!important; + border-top: rgba(255, 255, 255, 0.05) 1px solid; + border-bottom: rgba(255, 255, 255, 0.05) 1px solid; +} + + +/* select color */ + +.ace_searchbox .ace-tm .ace_marker-layer .ace_selection { + background: lighten(@textbox-background, 12%) !important; +} + +.has_apf .searchTxt.tb_console.ace_searchboxDisabled .sbtb_middle, +.blackbuttonDisabled { + opacity:.4; + box-shadow: none; +} + +.ace-tm .ace_marker-layer .ace_selection { + background: #4F5B66; +} + +.filetree .ace-tm .ace_marker-layer .ace_selection { + background: #b5d5ff; +} + + +/* Spinner */ + +.spinner when(@preferences-flat) { + border-radius: 3px !important; + background: transparent !important; + border-color: lighten(@background, 10%); +} + +.spinner .buttons .plus:hover when(@preferences-flat) { + background: rgba(52, 60, 75, 0.1) !important; +} + +.spinner .buttons .minus:hover when(@preferences-flat) { + background: rgba(52, 60, 75, 0.1) !important; +} + +.spinner .buttons .minus when(@preferences-flat) { + border-right: 1px solid rgba(52, 60, 75, 0.1) !important; + border-radius: 3px 0 0 3px !important; +} + +.spinner .buttons .plus when(@preferences-flat) { + border-left: 1px solid rgba(52, 60, 75, 0.1) !important; + border-radius: 0 3px 3px 0 !important; +} + +.c9menu { + font-weight: normal; +} + +.c9menu .spinner { + background: #faf9f9 !important; + border-color: #e7e9ed; +} + +.c9menu .spinner .divfix input { + color: @background; +} + + +/* Colorbox */ + +.tbcolor when(@preferences-flat) { + border-radius: 2px !important; + background: rgba(255, 255, 255, 0.075) !important; + border-color: rgba(255, 255, 255, 0.075); +} + + +/* cboffline */ + +.cboffline when(@preferences-flat) { + background: rgb(244, 68, 85); + border: none; + border-radius: 24px; + height: 25px !important; + width: 45px !important; + transition: background-color .40s ease-in-out +} + +.cboffline.cbofflineChecked:before { + content: "\f03a"; + font-family: 'c9'; + font-size: 12px; + line-height: 26px; + left: 8px; + position: absolute; + color: #fff; +} + +.cboffline:before { + content: "\f081"; + font-family: 'c9'; + font-size: 12px; + line-height: 27px; + left: 27px; + position: absolute; + color: #fff; +} + +.cboffline:after when(@preferences-flat) { + width: 19px; + height: 19px; + border-radius: 19px; + border: none !important; + margin: 3px 3px 0 3px; +} + +.cbofflineChecked when(@preferences-flat) { + background: #6CC788; +} + + +/* Tabs */ + +.session_btn .sessiontab_title { + text-overflow: ellipsis; +} + + +/* Context menu for tabs */ + +.tabsContextMenu:after, +.tabmenubtn:after { + content: '\f05e' !important; + font-size: 13px !important; + top: -22px; + left: 7px; +} + +.header-btn { + background: none !important; +} + +.header-btn:before { + content: '\e905'; + color: #fff; + opacity: 0.4; + font-size: 15px; +} + +.header-btn:after { + content: '\f05b'; + color: #fff; + font-size: 8px; + top: -3px; + position: relative; + left: 3px; + opacity: .4; +} + +.tabmenubtn:after { + position: relative; + top: 3px; + left: 3px; + color: lighten(@background,20%); +} + +.c9-simple-btnOver.tabmenubtn:after, +.header-btnOver.header-btn:before { + color: @compliment1; +} + +.prefpanel h1:after { + content: "\e905"; + font-size: 30px; +} + +.prefpanel .intro p { + font-size: 13px; + line-height: 24px; +} + +.prefpanel h1 { + font-size: 25px; +} + +.tabsContextMenu:before { + left: -1px; +} + + +/* File tree */ + +.outline .tree-row.selected > .caption { + color: #fff !important; +} + +.filetree .tree-row.hover { + background-color: transparent !important; +} + +.tree-row.selected.hover > .caption, .tree-row.hover > .caption, +.tree-row.selected.hover > .filetree-icon.folder { + color: #fff; +} + +.filetree.ace_tree_focus .tree-row.selected { + background: #3e81c7; +} + + +/* Git graph */ + +.ace_tree_layer.gitGraph g { + stroke: @compliment1; + stroke-width: 1; +} + + +/* Time-slider */ + +#slide-bar-bar { + height: 1px; + top: 28px; +} + +#ui-slider-progress { + top: 30px; +} + + +/* Saved green circle pulse */ + +.has_apf .session_btn strong:before { + background: transparent; + border: 3px solid #FFF; + content: ""; + height: 24px; + left: -8px; + filter: alpha(opacity=0); + opacity: 0; + position: absolute; + top: -8px; + width: 24px; + border-radius: 50%; + box-sizing: border-box; +} + +.has_apf .console .btnsesssioncontainer .inside { + padding-left : 0px; +} + +.has_apf .plus_tab_button { + top: 5px; +} + +.has_apf .session_btn.saving strong:after, +.has_apf .session_btn.saved strong:after, +.has_apf .session_btn.conflict strong:after, +.has_apf .session_btn.error strong:after { + background-color: #FFCC33; + content: ""; + height: 8px; + left: 0; + position: absolute; + width: 8px; + border-radius: 50%; + box-sizing: border-box; +} + +.has_apf .session_btn.saved strong:after { + background-color: #A9D96C; +} + +.has_apf .session_btn.error strong:after { + background-color: #FF6261; +} + +.has_apf .session_btn.conflict strong:after { + background-color: #EDB28A; +} + +.has_apf .session_btn.saving strong, +.has_apf .session_btn.saved strong, +.has_apf .session_btn.conflict strong, +.has_apf .session_btn.error strong { + background: none; + margin-top: 0px !important; +} + +.has_apf .session_btn.saving strong:before { + animation: sonar 2s ease-out infinite; +} + +.share .members { + background-color: darken(@background, 2%); +} + + +/* Terminal cursor color */ + +.c9terminalFocus .c9terminalcontainer .terminal .reverse-video { + background-color: rgb(248, 28, 229); +} + +.c9terminal .c9terminalcontainer .terminal .reverse-video { + outline: 1px solid rgb(248, 28, 229); +} + +.c9terminalcontainer.cover:after { + background: transparent; +} + +.c9terminalcontainer.cover.bottom { + box-shadow: none; +} + +.c9terminalcontainer .ace_line { + -webkit-font-smoothing: antialiased; +} + +.c9terminal .c9terminalcontainer .terminal { + margin: 15px 15px 15px 9px; +} + +.editor_tab .c9terminal .c9terminalcontainer{ + background: #000; +} + +/* Pop-up windows */ + +.bk-container { + background: @background; +} + +.dgLikeContaier { + box-shadow: none; +} + +.session_page.curpage .codeditorHolder { + top: 14px !important; +} + + +/* Splitter */ + +.colMain .splitter.vertical:hover, .colMain .splitter.vertical.hover { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAIUlEQVQYV2OUWXn3/5NwZUYGAoBxKCgk5AmYPEHfDgKFAF50FAuksiO+AAAAAElFTkSuQmCC); +} + +.splitter.horizontal:hover, .splitter.horizontal.hover { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJUlEQVQYV2OUWXn3PwMaeBKuzIguhiGArgDGH1WIK2TA4kQHDwBNVwQLR8eHUAAAAABJRU5ErkJggg==); +} + + +/* Time slider */ + +#timeslider-top { + border-top: 1px solid rgba(255, 255, 255, 0.1); + width: ~"calc(100% - 1px)"; + height: ~"calc(100% - 2px)"; +} + + +/* Debugger icons */ + +.debugger_buttons > .c9-menu-btnOver, +.debugger_buttons > .c9-menu-btnDown { + background: none !important; + color: #fff !important; +} + +.debugger_buttons .c9-menu-btnDisabled { + opacity: 0.1; +} + +.c9-menu-btnDisabled .icon:before { + animation: none !important +} + +.ace_gutter-cell.step:before, .ace_gutter-cell.stack:before { + background: transparent; + border: 3px solid #fff; + content: ""; + height: 35px; + left: -7px; + filter: alpha(opacity=0); + opacity: 0; + position: absolute; + width: 35px; + border-radius: 50%; + box-sizing: border-box; + animation: sonar 2s ease-out infinite; + margin-top: -7px; + z-index: -1; +} + +div.debugcontainer div[title="Suspend"] .icon, +div.debugcontainer div[title^="Resume ("] .icon, +div.debugcontainer div[title="Step Over (F10)"] .icon, +div.debugcontainer div[title="Step Into (F11)"] .icon, +div.debugcontainer div[title="Deactivate All Breakpoints"] .icon, +div.debugcontainer div[title="Activate All Breakpoints"] .icon, +div.debugcontainer div.pause0 .icon, +div.debugcontainer div.pause1 .icon, +div.debugcontainer div.pause2 .icon, +div.debugcontainer div[title^="Step Out ("] .icon { + font-family: c9; + background-image: none !important; + font-size: 20px; + font-weight: normal; + -webkit-font-smoothing: antialiased; + line-height: 28px; +} + +div.debugcontainer div.pause0 .icon:before, +div.debugcontainer div.pause1 .icon:before, +div.debugcontainer div.pause2 .icon:before, +{ + content: '\e925'; +} + +div.debugcontainer div.pause1 .icon:before { + color: #F06767; +} + +div.debugcontainer div.pause2 .icon:before { + color: #F6C076; +} + +div.debugcontainer div[title="Activate All Breakpoints"] .icon:before { + content: '\e923'; +} + +div.debugcontainer div[title="Deactivate All Breakpoints"] .icon:before { + content: '\e922'; +} + +div.debugcontainer div[title="Suspend"] .icon:before { + content: '\e924'; +} + +div.debugcontainer div[title^="Resume ("] .icon:before { + color: #1CA8DD; + content: '\e921'; + animation: fadeinout 1.5s linear infinite +} + +div.debugcontainer div[title="Step Over (F10)"] .icon:before { + content: '\e91d'; +} + +div.debugcontainer div[title="Step Into (F11)"] .icon:before { + content: '\e920'; +} + +div.debugcontainer div[title^="Step Out ("] .icon:before { + content: '\e91f'; +} diff --git a/plugins/c9.ide.theme.jett/less/variables.less b/plugins/c9.ide.theme.jett/less/variables.less new file mode 100644 index 00000000..0bbf5b92 --- /dev/null +++ b/plugins/c9.ide.theme.jett/less/variables.less @@ -0,0 +1,1721 @@ +@darken-font: 0%; +@darken-chrome: 0%; +@darken-borders-dark: 0%; +@darken-borders-light: 1; + +@theme-image-path: "/static/plugins/c9.ide.theme.flat/images"; +@theme-icon-path: "/static/plugins/c9.ide.theme.flat/icons"; + +// Generic Images +@c9-no-repeat: "c9-no-repeat_flat_light.png"; +@c9-no-repeat-2x: "c9-no-repeat_flat_light@2x.png"; +@c9-no-repeat-width: 480px; +@c9-no-repeat-height: 580px; +@c9-repeat-x: "c9-repeat-x_flat_light.png"; +@c9-repeat-x-2x: "c9-repeat-x_flat_light@2x.png"; +@c9-repeat-x-width: 32px; +@c9-repeat-x-height: 500px; + +// Generic Colors +@background: hsl(228, 7%, 12%); +@base: spin(saturate(lighten(hsla(219, 18%, 25%, 1),30%),-5%),-9); + +// hsl(219, 13%, 78%); +@compliment1: spin(saturate(lighten(@base,33%),2%),11); +// hsl(223, 4%, 34%); +@compliment2: spin(saturate(lighten(@background,9%),-14%),4); + +@border-highlight: transparent; +@border-highlight-medium: transparent; +@border-highlight-strong: transparent; +@border-highlight-dark: @background; +@border-highlight-dark-medium: @background; + +@color: lighten(@background, 62%); +@chrome-background: @background; + +@selected-color: #313236; +@selected-background: lighten(@background, 8%); + +@selected-hover-color: @color; +@selected-hover-background: darken(@background, 2%); + +@selected-focus-color: darken(#fff, @darken-chrome); +@selected-focus-background: darken(#63acff, @darken-chrome); //darken(#73AEE4, @darken-chrome); //darken(#748512, @darken-chrome); //darken(#008be8, @darken-chrome); //B8BE1B + +@highlight-color: darken(#2882BE, @darken-chrome); +@highlight-selected-color: darken(#f1f1f1, @darken-chrome); + +@empty-message-color: darken(#333, @darken-font); +@inactive-font-color: @compliment1; + +@general-font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; +@general-font-size: 12px; +@general-smoothing: false; + +// Ace +@ace-cloud9-day-gutter: darken(#f1f1f1, @darken-chrome); +@ace-cloud9-day-gutter-color: darken(#7c7c7c, @darken-chrome); +@ace-cloud9-day-background: darken(#fbfbfb, @darken-chrome); +@ace-cloud9-night-gutter: darken(#303130, @darken-chrome); +@ace-cloud9-night-background: darken(#181818, @darken-chrome); +@ace-cloud9-night-active-line: darken(#292929, @darken-chrome); +@ace-gutter-font-smoothing: false; +@ace-gutter-shadow: none; + +@ace-status-color: darken(#5A5A5A, @darken-chrome); +@ace-status-font-weight: bold; +@ace-status-font-size: 12px; +@ace-status-padding: 2px 0 0 1px; +@ace-status-icon-margin: -3px 0 0 -4px; +@ace-status-icon-image: "@{icon-path}/pref-ico_flat_light.png"; +@ace-status-icon-image-width: 44px; +@ace-status-icon-image-height: 69px; + +@ace-status-label-hover-decoration: none; +@ace-status-label-hover-color: #313236; +@ace-status-label-active-color: darken(#63acff, @darken-chrome); + +@ace-info: "@{theme-image-path}/ace_info_flat_light.png"; +@ace-error: "@{image-path}/ace_error_flat_light.png"; +@ace-warning: "@{image-path}/ace_warning_flat_light.png"; +@ace-breakpoint: "@{theme-icon-path}/debugger/brkp_obj_flat_light.png"; +@ace-breakpoint-disabled: "@{theme-icon-path}/debugger/brkp_obj_disabled_flat_light.png"; +@ace-breakpoint-condition: "@{theme-icon-path}/debugger/brkp_obj_condition_flat_light.png"; +@ace-breakpoint-invalid: "@{theme-icon-path}/debugger/brkp_obj_warn_flat_light.png"; +@ace-breakpoint-disabled-condition: "@{theme-icon-path}/debugger/brkp_obj_condition_disabled_flat_light.png"; +@ace-breakpoint-step: "@{theme-icon-path}/debugger/brkp_obj_current_line_flat_light.png"; +@ace-breakpoint-condition-step: "@{theme-icon-path}/debugger/brkp_obj_current_line_condition_flat_light.png"; +@ace-step: "@{theme-icon-path}/debugger/current_line_flat_light.png"; +@ace-stack: "@{theme-icon-path}/debugger/stack_co_flat_light.png"; + +@ace-dark-error: "@{image-path}/ace_error_flat_light.png"; +@ace-dark-warning: "@{image-path}/ace_warning_flat_light.png"; +@ace-dark-breakpoint: "@{theme-icon-path}/debugger/brkp_obj_dark_flat_light.png"; +@ace-dark-breakpoint-disabled: "@{theme-icon-path}/debugger/brkp_obj_disabled_dark_flat_light.png"; +@ace-dark-breakpoint-condition: "@{theme-icon-path}/debugger/brkp_obj_condition_flat_light.png"; +@ace-dark-breakpoint-invalid: "@{theme-icon-path}/debugger/brkp_obj_warn_dark_flat_light.png"; +@ace-dark-breakpoint-disabled-condition: "@{theme-icon-path}/debugger/brkp_obj_condition_disabled_flat_light.png"; +@ace-dark-breakpoint-step: "@{theme-icon-path}/debugger/brkp_obj_current_line_dark_flat_light.png"; +@ace-dark-breakpoint-disabled-step: "@{theme-icon-path}/debugger/brkp_obj_disabled_current_line_dark_flat_light.png"; +@ace-dark-breakpoint-condition-step: "@{theme-icon-path}/debugger/brkp_obj_current_line_condition_flat_light.png"; +@ace-dark-step: "@{theme-icon-path}/debugger/current_line_dark_flat_light.png"; +@ace-dark-stack: "@{theme-icon-path}/debugger/stack_co_flat_light.png"; + +// Panel Colors +@panel-background: darken(@background, 1%); +@panel-bar-border: @border-highlight-dark; +@panel-bar-background: transparent; +@panel-button-color: darken(#333333, @darken-font); +@panel-button-text-shadow: 0 0 1px white; +@panel-button-hover: darken(#E6E6E6, @darken-chrome); +@panel-button-active-background: @panel-background; +@panel-button-active-color: darken(#333, @darken-font); +@panel-button-flat: true; + +@panel-border-color: @background; +@panel-shadow-color: transparent; + +@panel-padding: 10px; + +// Collab +@collab-bubble-background: #99C77C; +@collab-bubble-color: darken(#fff, @darken-chrome); +@collab-bubble-font-weight: normal; +@collab-bubble-box-shadow: none; + +@collab-notification-width: 25px; +@collab-notification-height: @collab-notification-width; +@collab-notification-border: 3px solid lighten(@background, 4%); +@collab-notification-border-radius: @collab-notification-width; +@collab-notification-box-shadow: 0; +@collab-notification-item-box-shadow: none; +@collab-notification-item-border-bottom: none; +@collab-notification-item-padding: 0 10px 0 50px; +@collab-notification-item-color: @base; +@collab-notification-item-font-size: 11px; +@collab-notification-button-padding: 5px 12px 6px; +@collab-notification-button-line-height: 15px; +@collab-notification-button-top: -1px; + +@collab-tooltip-color: @background; +@collab-tooltip-background: #FFF; +@collab-tooltip-border-radius: 0; +@collab-tooltip-border: 0; +@collab-tooltip-border-box-shadow: none; +@collab-tooltip-border-padding: 0 2px 2px; +@collab-tooltip-border-margin: 18px 0 0 0; +@collab-tooltip-height: auto; +@collab-tooltip-line-height: inherit; +@collab-tooltip-font-size: 10px; +@collab-tooltip-font-weight: normal; +@collab-tooltip-arrow: false; + +@collab-access-control-background: rgba(255,255,255,0.1); +@collab-access-control-box-shadow: none; +@collab-tree-access-control-background: @collab-access-control-background; +@collab-tree-access-control-box-shadow: none; +@collab-access-control-active-color: darken(#F1F1F1, @darken-font); +@collab-tree-focus-access-control-active-gradient: @collab-access-control-inactive-gradient; +@collab-access-control-inactive-color: fade(@compliment1, 70%); +@collab-access-control-inactive-box-shadow: none; +@collab-access-control-inactive-box-shadow-right: none; +@collab-access-control-inactive-gradient: none; +@collab-tree-focus-access-control-color: darken(#F1F1F1, @darken-font); +@collab-access-control-flat: true; +@collab-tree-access-control-disabled-background: darken(#63acff, @darken-chrome); +@collab-access-control-disabled-color: darken(#F1F1F1, @darken-chrome); + +@collab-tree-font-family: @general-font-family; +@collab-tree-font-size: 11px; +@collab-tree-color-border-radius: 0; +@collab-tree-state-image: "collab-led-states_flat_light.png"; +@collab-tree-state-image-width: 12px; +@collab-tree-state-image-height: 36px; +@collab-tree-item-caption-top: 3px; +@collab-tree-kickout-image: "@{theme-image-path}/trash-icon_flat_light.png"; +@collab-tree-kickout-image-width: 12px; +@collab-tree-kickout-image-height: 16px; + +@collab-chat-background: darken(@background, 1%); +@collab-chat-font-size: 12px; +@collab-chat-item-padding: 0px 10px 5px 12px; +@collab-chat-item-border-bottom: 0; +@collab-chat-item-border-top: 0; +@collab-chat-author-color: @compliment1; +@collab-chat-color-size: 0px; +@collab-chat-message-color: #fff; +@collab-chat-time-color: darken(@base,15%); +@collab-chat-time-font-weight: 300; +@collab-chat-time-text-shadow: none; +@collab-chat-time-right: 10px; +@collab-chat-time-top: 10px; +@collab-chat-input-color: @color; +@collab-chat-input-background: @collab-chat-background; +@collab-chat-input-border-color: @collab-chat-background; +@collab-chat-input-box-shadow: none; +@collab-chat-input-font-smoothing: false; +@collab-chat-input-selection-color: inherit; +@collab-chat-input-cursor-color: @color; + +// Bubble +@bubble-border: 1px solid #DEDEDE; +@bubble-border-radius: 8px; +@bubble-gradient: linear-gradient(to top, #FFF 0%, #FFF 100%); +@bubble-padding: 10px 15px; +@bubble-color: #333; +@bubble-margin-top: 0; +@bubble-box-shadow: 0px 0px 10px rgba(0,0,0,0.09); +@bubble-font-weight: normal; +@bubble-with-noise: false; +@bubble-close-image: "/static/plugins/c9.ide.layout.classic/images/close_tab_btn_flat_light.png"; +@bubble-close-image-width: 42px; +@bubble-close-image-height: 28px; +@bubble-close-hover: -14px 0; +@bubble-close-active: -28px 0; + +// Time Slider +@time-slider-background: rgba(255,255,255,0.025); +@time-slider-box-shadow: none; +@time-slider-border-bottom: 1px solid rgba(255,255,255,0.1); +@time-slider-font-family: @general-font-family; +@time-slider-font-size: 12px; +@time-slider-color: @color; +@time-slider-timer-color: #596672; +@time-slider-saved-color: #596672; +@time-slider-info-top: 14px; +@time-slider-info-left: 70px; +@time-slider-button-cursor: pointer; + +@time-slider-play-left: 20px; +@time-slider-play-top: 16px; +@time-slider-play-width: 33px; +@time-slider-play-height: 33px; +@time-slider-play-border-div: false; +@time-slider-play-border-radius: 40px; +@time-slider-play-border: 1px solid; +@time-slider-play-gradient: linear-gradient(to bottom, @background, @background); +@time-slider-play-box-shadow: none; +@time-slider-play-icon-image: "@{image-path}/play_flat_light.png"; +@time-slider-play-icon-pause-image: "@{image-path}/pause_flat_light.png"; +@time-slider-play-icon-image-width: 5px; +@time-slider-play-icon-image-height: 8px; +@time-slider-play-icon-background-position: 50% 50%; +@time-slider-play-icon-box-shadow: none; + +@time-slider-play-hover-background: @background; +@time-slider-play-active-box-shadow: 0px 0px 10px #B2CCD6; +@time-slider-play-active-icon-box-shadow: none; +@time-slider-play-active-icon-background: @background; + +@time-slider-bar-margin-left: 70px; +@time-slider-bar-margin-right: 145px; +@time-slider-bar-background: darken(#F0F0F0, @darken-chrome); +@time-slider-bar-border-radius: 4px; +@time-slider-bar-box-shadow: none; +@time-slider-bar-progress-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); +@time-slider-bar-progress-border-top: 0; +@time-slider-bar-progress-box-shadow: none; +@time-slider-bar-progress-height: 1px; +@time-slider-bar-star-needle: false; +@time-slider-bar-star-width: 6px; +@time-slider-bar-star-height: 6px; +@time-slider-bar-star-top: 16px; +@time-slider-bar-star-background: darken(#eeb792, @darken-chrome); +@time-slider-bar-star-last-background: darken(#6CC788, @darken-chrome); +@time-slider-bar-star-box-shadow: none; + +@time-slider-handle-basic: true; +@time-slider-handle-background: white; +@time-slider-handle-width: 12px; +@time-slider-handle-height: 12px; +@time-slider-handle-border-radius: 14px; +@time-slider-handle-box-shadow: none; +@time-slider-handle-border: 1px solid darken(#DEDEDE, @darken-chrome); + +@time-slider-stepper-basic: true; +@time-slider-stepper-border: 0; +@time-slider-stepper-top: 39px; +@time-slider-stepper-width: 16px; +@time-slider-stepper-height: 16px; +@time-slider-stepper-image: "@{image-path}/stepper_buttons_flat_light.png"; +@time-slider-stepper-image-width: 21px; +@time-slider-stepper-image-height: 8px; + +@time-slider-stepper-left-box-shadow: none; +@time-slider-stepper-left-border-radius: 3px; +@time-slider-stepper-left-border-right: 0; +@time-slider-stepper-left-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@time-slider-stepper-left-background-position: 0px 0px; +@time-slider-stepper-left-right: 110px; +@time-slider-stepper-left-icon-margin: 2px 0 0 1px; +@time-slider-stepper-left-hover-icon-margin: 2px 0 0 1px; + +@time-slider-stepper-left-disabled-box-shadow: none; +@time-slider-stepper-left-disabled-gradient: linear-gradient(to right, transparent 0%, transparent 100%); +@time-slider-stepper-left-hover-gradient: linear-gradient(to bottom, darken(@background, 2%) 0%, darken(@background, 2%) 100%); +@time-slider-stepper-left-active-box-shadow: none; +@time-slider-stepper-left-active-gradient: @time-slider-stepper-left-hover-gradient; + +@time-slider-stepper-right-box-shadow: none; +@time-slider-stepper-right-border-radius: 3px; +@time-slider-stepper-right-border-left: 0; +@time-slider-stepper-right-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@time-slider-stepper-right-background-position: -12px 0px; +@time-slider-stepper-right-right: 95px; +@time-slider-stepper-right-icon-margin: 2px 0 0 1px; +@time-slider-stepper-right-hover-icon-margin: 2px 0 0 1px; + +@time-slider-stepper-right-disabled-box-shadow: none; +@time-slider-stepper-right-disabled-gradient: linear-gradient(to right, transparent 0%, transparent 100%); +@time-slider-stepper-right-hover-gradient: linear-gradient(to bottom, darken(@background, 2%) 0%, darken(@background, 2%) 100%); +@time-slider-stepper-right-active-box-shadow: none; +@time-slider-stepper-right-active-gradient: @time-slider-stepper-left-hover-gradient; + +@time-slider-revert-font-family: @general-font-family; +@time-slider-revert-font-size: 10px; +@time-slider-revert-font-weight: 300; +@time-slider-revert-extra-border: 0; +@time-slider-revert-border: 1px solid lighten(@background, 4%); +@time-slider-revert-box-shadow: none; +@time-slider-revert-border-radius: 3px; +@time-slider-revert-gradient: linear-gradient(to bottom, @background 0%, @background 100%); +@time-slider-revert-color: @color; +@time-slider-revert-text-shadow: none; +@time-slider-revert-top: 38px; +@time-slider-revert-right: 23px; +@time-slider-revert-padding: 3px 1px 0 0; + +@time-slider-revert-disabled-box-shadow: none; +@time-slider-revert-disabled-gradient: linear-gradient(to left, @background 0%, @background 100%); +@time-slider-revert-disabled-color: darken(@color,40%); +@time-slider-revert-hover-gradient: linear-gradient(to bottom, @background 0%, @background 100%); +@time-slider-revert-active-box-shadow: none; +@time-slider-revert-active-gradient: linear-gradient(to bottom, @background 0%, @background 100%); +@time-slider-revert-active-padding: @time-slider-revert-padding; + +@time-slider-close-image: "@{image-path}/close_tab_btn_flat_light.png"; +@time-slider-close-image-width: 42px; +@time-slider-close-image-height: 28px; +@time-slider-close-idle-position: 0 0; +@time-slider-close-hover-position: -14px 0; +@time-slider-close-active-position: -28px 0; + +// Pane +@pane-background : none; +@pane-button-container-height: 37px; +@pane-button-container-inner-height: 27px; +@pane-button-container-padding: 5px 6px 0 23px; + +@pane-button-height: 37px; +@pane-button-font-family: @general-font-family; +@pane-button-font-size: 13px; +@pane-button-background: transparent; +@pane-button-color: lighten(@background, 4%); +@pane-button-active-color: @pane-button-background; +@pane-button-textshadow: none; +@pane-button-hover-background: inherit; +@pane-button-hover-color: darken(rgb(173, 173, 173), @darken-font); +@pane-button-states-image: "tabsave-flat.png"; +@pane-button-states-image-size: 9px; +@pane-button-states-right: -5px; +@pane-button-states-top: 14px; +@pane-button-use-bold-focus: true; +@pane-button-running-image: "@{image-path}/running_flat_light.png"; +@pane-button-running-image-width: 225px; +@pane-button-running-image-height: 15px; +@pane-button-running-width: 15px; +@pane-button-running-height: 15px; +@pane-button-running-right: -10px; +@pane-button-running-top: 6px; +@pane-button-running-animation: rotation 2s infinite steps(16); +@pane-button-save-image: "@{image-path}/tab-save-spinner-active_flat_light.png"; +@pane-button-save-image-width: 336px; +@pane-button-save-image-height: 14px; +@pane-button-save-width: 14px; +@pane-button-save-height: 14px; +@pane-button-save-right: -9px; +@pane-button-save-top: 10px; +@pane-button-save-animation: loading-24-spinner 1.2s steps(24) infinite; +@pane-button-close-image: "@{image-path}/close_tab_btn_flat_light.png"; +@pane-button-close-image-width: 42px; +@pane-button-close-image-height: 28px; + +@pane-buttons-border-bottom-color: darken(@border-highlight-dark, @darken-chrome); +@pane-buttons-border-bottom-highlight: transparent; + +@pane-button-close-background: 0; +@pane-button-close-right: -8px; +@pane-button-close-top: 12px; + +@pane-button-max-width: 150px; +@pane-button-left-width: 36px; +@pane-button-right-width: 38px; +@pane-button-margin-right: -25px; +@pane-button-left: 0 -125px; //-126px; +@pane-button-middle: 0 -1451px; +@pane-button-right: -42px -125px; //-126px; +@pane-button-left-active: 0 -125px; //-126px; +@pane-button-right-active: -42px -125px; //-126px; +@pane-button-mask-left: 0 -95px; //-95px; +@pane-button-mask-right: -42px -95px; //-95px; + +@pane-button-dark-mask-left: 0 -95px; //-95px; +@pane-button-dark-mask-right: -42px -95px; //-95px; + +@pane-button-dark-middle-active: @pane-button-middle; +@pane-button-dark-left-active: @pane-button-left-active; +@pane-button-dark-right-active: @pane-button-right-active; + +@pane-button-shadow-opacity : 0.7; +@pane-button-shadow-middle: 0 -1354px; +@pane-button-shadow-left: 0 -123px; //-124px; +@pane-button-shadow-right: -42px -123px; //-124px; + +@pane-button-active-shadow-opacity : 1; +@pane-button-active-shadow-middle: 0 50px; +@pane-button-active-shadow-left: 0 -122px; //-123px; +@pane-button-active-shadow-right: -42px -122px; //-123px; + +@pane-button-close-hack: -1px; + +@pane-button-title-height: 30px; +@pane-button-title-padding: 1px 0 0 0; +@pane-button-title-margin-right: 13px; +@pane-button-title-margin-left: 0px; + +@pane-button-destroyed-width: 25px; + +@pane-plus-margin: 4px 0 0 30px; +@pane-plus-width: 25px; +@pane-plus-height: 18px; +@pane-plus-icon: @c9-no-repeat; +@pane-plus-icon-image-width: @c9-no-repeat-width; +@pane-plus-icon-image-height: @c9-no-repeat-height; +@pane-plus-icon-width: 15px; +@pane-plus-icon-height: 15px; +@pane-plus-icon-idle-position: -337px -3px; +@pane-plus-icon-hover-position: -337px -23px; +@pane-plus-icon-active-position: -337px -23px; +@pane-plus-icon-margin: 1px 0 0 3px; +@pane-plus-box-border: 1px solid transparent; +@pane-plus-box-shadow: none; +@pane-plus-hover-border-color: transparent; +@pane-plus-hover-box-shadow: none; +@pane-plus-hover-margin: @pane-plus-icon-margin; +@pane-plus-hover-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@pane-plus-active-border-color: transparent; +@pane-plus-active-box-shadow: none; +@pane-plus-active-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); + +@pane-menu-margin: 5px 0 0 -5px; +@pane-menu-left: 9px; +@pane-menu-top: 6px; +@pane-menu-icon: @c9-no-repeat; +@pane-menu-icon-image-width: @c9-no-repeat-width; +@pane-menu-icon-image-height: @c9-no-repeat-height; +@pane-menu-icon-width: 14px; +@pane-menu-icon-height: 11px; +@pane-menu-icon-position: -377px -5px; +@pane-menu-icon-hover-position: -377px -26px; +@pane-menu-icon-active-position: -377px -45px; +@pane-menu-border-color: transparent; +@pane-menu-box-shadow: none; +@pane-menu-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@pane-menu-hover-border-color: transparent; +@pane-menu-hover-box-shadow: none; +@pane-menu-hover-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@pane-menu-active-border-color: @menu-border-color; +@pane-menu-active-box-shadow: inset 0 1px darken(rgb(255, 255, 255), @darken-chrome); +@pane-menu-active-gradient: linear-gradient(to bottom, white 0%, white 100%); +@pane-menu-upward-active-box-shadow: 0 1px darken(rgba(255, 255, 255, 0.6), @darken-chrome), inset 0 -1px darken(rgb(255, 255, 255), @darken-chrome); +@pane-menu-upward-active-gradient: linear-gradient(to bottom, white 0%, white 100%); + +@pane-menu-splits-image: "@{image-path}/splits_flat_light.png"; +@pane-menu-splits-image-width: 138px; +@pane-menu-splits-image-height: 53px; + +@pane-menu-button-margin: 2px 0 0 3px; +@pane-menu-button-width: 30px; +@pane-menu-button-height: 28px; +@pane-menu-button-top: -28px; +@pane-menu-button-up-bottom: -27px; +@pane-menu-button-up-height: 27px; +@pane-menu-button-background-position: -374px -39px; + +// C9btn +@c9btn-icon: "winc9_light.png"; + +// Top Toolbar +@menu-bar-logo: false; +@menu-bar-height: 40px; +@menu-bar-inner-border-top: transparent; +@menu-bar-border-top: 0px solid transparent; +@menu-bar-border-bottom: @border-highlight-dark; + +@menu-bar-child-padding-top: 0; +@menu-bar-child-padding-left: 50px; + +@menu-bar-divider-highlight-dark: transparent; +@menu-bar-divider-highlight: transparent; + +@menu-bar-padding-right: 11px; +@menu-bar-background: @background; +@menu-bar-minimized-width: 31px; +@menu-bar-minimized-background: darken(@background, 4%); +@menu-bar-minimized-hover-background: darken(@background, 7%); +@menu-bar-minimized-hover-start: darken(rgba(255,255,255,.08), @darken-chrome); +@menu-bar-minimized-hover-stop: darken(rgba(255,255,255,.05), @darken-chrome); + +.menu-button-minimized-before{ + top: 7px; + left: 10px; +} +.menu-button-minimized-after{ + top: -8px; + left: 10px; +} + +@menu-button-minimized-shadow: darken(#949494, @darken-chrome); +@menu-button-minimized-foreground: darken(#ACACAC, @darken-chrome); +@menu-button-minimized-highlight: darken(#ACACAC, @darken-chrome); +@menu-button-minimized-hover-shadow: darken(#777, @darken-chrome); +@menu-button-minimized-hover-foreground: darken(#999, @darken-chrome); +@menu-button-minimized-hover-highlight: darken(#999, @darken-chrome); + +@menu-button-padding: 0px 9px 0 9px; +@menu-button-color: darken(#333, @darken-font); +@menu-button-font-family: @general-font-family; +@menu-button-font-size: 12px; +@menu-button-text-shadow: 0px 0px 0px transparent; +@menu-button-hover-color: #313236; +@menu-button-hover-background: darken(#E6E6E6, @darken-chrome); +@menu-button-hover-box-shadow: none; +@menu-button-active-background: darken(#FFFFFF, @darken-chrome); +@menu-button-active-font-weight: 300; +@menu-button-active-box-shadow: 0px 0px 10px 0px darken(rgba(0, 0, 0, 0.09), @darken-chrome); +@menu-button-active-border: 1px solid darken(#DEDEDE, @darken-chrome); +@menu-button-active-border-width: 0 1px; +@menu-button-active-padding: 0px 8px 0 8px; +@menu-button-disabled-color: darken(#BDBDBD, @darken-chrome); + +@menu-name-button-padding: 13px 9px 0 9px; +@menu-name-button-icon-padding-left: 40px; +@menu-name-button-icon-width: 25px; +@menu-name-button-icon-height: 25px; +@menu-name-button-icon-border-radius: 25px; +@menu-name-button-icon-left: 5px; +@menu-name-button-icon-top: 5px; +@menu-name-button-diff: 1px; + +@runbtn-stopped-image: "@{icon-path}/run_flat_light.png"; +@runbtn-stopped-image-width: 19px; +@runbtn-stopped-image-height: 57px; +@runbtn-running-image: "@{icon-path}/stop_flat_light.png"; +@runbtn-running-image-width: 21px; +@runbtn-running-image-height: 57px; + +//Menu +@menu-arrow: "submenu_arrow.gif"; +@menu-radio: "radio.gif"; +@menu-check: "check.gif"; +@menu-font-family: @general-font-family; +@menu-font-size: 12px; +@menu-line-height: 14px; +@menu-ver-padding: 7px; +@menu-border-radius: 0 4px 4px 4px; +@menu-color: #313236; +@menu-text-shadow: none; +@menu-background: @menu-button-active-background; +@menu-border-color: darken(#dfdfdf, @darken-chrome); +@menu-box-shadow: 0px 0px 10px 0px darken(rgba(0, 0, 0, 0.09), @darken-chrome); +@menu-item-padding: 4px 22px 4px 26px; +@menu-item-check-left: 6px; +@menu-item-arrow-right: 11px; +@menu-item-arrow-background: url("@{image-path}/@{menu-arrow}") no-repeat right 0; +@menu-item-arrow-hover-background: url("@{image-path}/@{menu-arrow}") no-repeat right -15px; +@menu-item-radio-background: url("@{image-path}/@{menu-radio}") no-repeat 0 0; +@menu-item-radio-hover-background: url("@{image-path}/@{menu-radio}") no-repeat 0 -16px; +@menu-item-check-background: url("@{image-path}/@{menu-check}") no-repeat 0 0; +@menu-item-check-hover-background: url("@{image-path}/@{menu-check}") no-repeat 0 -16px; +@menu-item-hover-background: @selected-focus-background; +@menu-item-hover-color: @selected-focus-color; +@menu-item-disabled-color: darken(#9C9C9C, @darken-chrome); +@menu-divider-top-color: darken(#f1f1f1, @darken-chrome); +@menu-divider-bottom-color: transparent; +@menu-divider-margin: 6px 9px; + +// Dialog +@dialog-border-radius: 4px; +@dialog-shadow: none; +@dialog-background-color: none; + +@dialog-header-color: @compliment1; +@dialog-header-height: 52px; +@dialog-header-gradient: linear-gradient(to bottom, lighten(@background,3%) 0%, lighten(@background,3%) 100%); +@dialog-header-bottom-border: 1px solid darken(@background, 1%); +@dialog-header-box-shadow: none; +@dialog-header-padding: 20px 20px; +@dialog-header-font-family: @general-font-family; +@dialog-header-font-size: 16px; +@dialog-header-font-weight: normal; + +@dialog-content-color: lighten(@base,15%); +@dialog-content-background: darken(#FEFEFE, @darken-chrome); +@dialog-content-dark-background-color: @dialog-content-background; +@dialog-content-dark-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@dialog-content-dark-border-top: 0; + +@dialog-footer-height: 40px; +@dialog-footer-background: darken(#FEFEFE, @darken-chrome); +@dialog-footer-shadow: none; + +@dialog-button-background-position-hover: -14px 0; +@dialog-button-background-position-active: -28px 0; +@dialog-button-width: 14px; +@dialog-button-height: 14px; +@dialog-button-right: 19px; +@dialog-button-top: 19px; +@dialog-close-url: "close_tab_btn_flat_light.png"; +@dialog-close-width: 42px; +@dialog-close-height: 28px; + +@dialog-buttons-padding: 0 20px 20px; +@dialog-buttons-height: 30px; + +// File Save Dialog +@filesave-inner-padding-left: 20px; +@filesave-inner-padding-top: 10px; +@filesave-inner-padding-right: 20px; +@filesave-inner-padding-bottom: 20px; +@filesave-tree-border: 1px solid lighten(@background, 6%); + +// Error Dialog +@error-background: #F05D53; +@error-color: white; +@error-font-smoothing: false; +@error-padding: 10px 40px 10px 10px; +@error-box-shadow: none; +@error-close-image: "close_tab_btn_flat_light.png"; +@error-close-idle-position: 0 -14px; +@error-close-hover-position: -14px -14px; +@error-close-active-position: -28px -14px; + +// Disconnect Dialog +@disconnect-background: #F8C341; +@disconnect-color: @error-color; +@disconnect-padding: @error-padding; +@disconnect-box-shadow: @error-box-shadow; + +// Offline Dialog +@offline-gradient: linear-gradient(to bottom, #3d9ac4 0%, #3d9ac4 100%); +@offline-border-bottom: 0; +@offline-height: 50px; +@offline-text-shadow: none; +@offline-padding: 16px 44px; +@offline-font-family: @general-font-family; +@offline-font-size: 16px; +@offline-font-weight: bold; +@offline-font-color: darken(#fff, @darken-chrome); +@offline-icon: none; + +@update-gradient: linear-gradient(to bottom, #3dc469 0%, #3dc469 100%); +@readonly-gradient: linear-gradient(to bottom, #3dc469 0%, #3dc469 100%); +@theme-switch-gradient: linear-gradient(to bottom, #3dc469 0%, #3dc469 100%); + +// Frame +@frame-border-bottom: @background; +@frame-min-button: none; +@frame-close-button: "close_tab_btn_flat_light.png"; + +@frame-title-height: 27px; +@frame-title-padding: 5px 3px; +@frame-title-font-size: 12px; +@frame-title-color: @base; +@frame-title-background: @background; +@frame-title-border-bottom: darken(@background, 1%); +@frame-title-border-top: @frame-title-background; +@frame-title-gradient-start: @frame-title-background; +@frame-title-gradient-stop: @frame-title-background; +@frame-title-gradient-hover-start: @frame-title-background; +@frame-title-gradient-hover-stop: @frame-title-background; +@frame-title-gradient-active-start: @frame-title-background; +@frame-title-gradient-active-stop: @frame-title-background; + +// Datagrid +@datagrid-arrow: @tree-arrow; +@datagrid-arrow-focus-selected: @tree-arrow-focus-selected; +@datagrid-spinner: @tree-spinner; +@datagrid-selected-spinner: @tree-focus-spinner; +@datagrid-selected-focus-spinner: @tree-selected-focus-spinner; + +@datagrid-font-family: @general-font-family; +@datagrid-font-size: 11px; +@datagrid-color: #333; +@datagrid-background: #fff; +@datagrid-heading-color: #9c9c9c; +@datagrid-heading-background: #fff; +@datagrid-heading-padding: 6px 4px 5px 7px; +@datagrid-heading-border-color: rgb(241, 241, 241); +@datagrid-heading-hover-color: lighten(@datagrid-heading-color, 10%); +@datagrid-heading-hover-background: @datagrid-heading-background; + +@datagrid-selected-color: rgba(0,0,0,0.5); +@datagrid-selected-background: rgba(0, 0, 0,0.075); +@datagrid-selected-focus-color: @selected-focus-color; +@datagrid-selected-focus-background: @selected-focus-background; + +@datagrid-watch-new: #B2CCD6; +@datagrid-watch-new-focus: lighten(@datagrid-watch-new, 2%); +@datagrid-watch-new-font-smoothing: false; +@datagrid-watch-error: #F05D53; + +@datagrid-row-padding: 5px 0 5px 7px; +@datagrid-row-height: 24px; +@datagrid-row-toggler: -1px 4px -3px -2px; +@datagrid-row-toggler-loading: -4px; + +@datagrid-editor-box-shadow: none; + +// Breakpoints +@breakpoint-list-font-family: @general-font-family; +@breakpoint-list-font-size: 13px; +@breakpoint-list-padding: 8px 10px 10px 30px; +@breakpoint-list-checkbox-left: 7px; +@breakpoint-list-checkbox-top: 10px; +@breakpoint-list-checkbox-width: 17px; +@breakpoint-list-checkbox-height: 17px; +@breakpoint-list-checkbox-image: "checkbox_flat_light.png"; +@breakpoint-list-checkbox-image-width: 22px; +@breakpoint-list-checkbox-image-height: 162px; +@breakpoint-list-color: @color; +@breakpoint-list-code-color: darken(#1E97BD, @darken-chrome); +@breakpoint-list-code-hover-color: @breakpoint-list-code-color; +@breakpoint-list-item-height: 51px; +@breakpoint-list-item-border-bottom: transparent; +@breakpoint-list-item-border-top: transparent; +@breakpoint-list-item-padding: 1px 10px 0 7px; +@breakpoint-list-item-hover-color: lighten(@color, 2%); +@breakpoint-list-item-hover-background: lighten(@background, 1%); +@breakpoint-list-item-hover-border-top: transparent; + +// Breakpoint Condition Dialog +@breakpoint-condition-arrow: false; +@breakpoint-condition-color: #FFF; +@breakpoint-condition-width: 280px; +@breakpoint-condition-margin-top: -5px; +@breakpoint-condition-border: 1px solid #73935D; +@breakpoint-condition-border-radius: 3px; +@breakpoint-condition-gradient: linear-gradient(to bottom, #6CC788 0%, #6CC788 100%); +@breakpoint-condition-font-family: @general-font-family; +@breakpoint-condition-font-size: @general-font-size; +@breakpoint-condition-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.3); +@breakpoint-condition-input-box-shadow: none; + +// Live Inspect +@liveinspect-shadow: 0 2px 8px 0px darken(rgba(0, 0, 0, 0.25), @darken-chrome); +@liveinspect-background: darken(#FFFAC5, @darken-chrome); +@liveinspect-border-color: darken(rgba(0, 0, 0, 0.28), @darken-chrome); +@liveinspect-null: darken(rgb(200,200,200), @darken-chrome); + +@liveinspect-dark-shadow: 0 5px 13px 0px darken(rgba(0, 0, 0, 0.7), @darken-chrome); +@liveinspect-dark-background: darken(rgb(42, 43, 35), @darken-chrome); +@liveinspect-dark-border-color: darken(rgba(235, 255, 0, 0.1), @darken-chrome); +@liveinspect-dark-null: darken(rgb(200,200,200), @darken-chrome); + +// Immediate +@immediate-row-border-color: darken(#ECECEC, @darken-chrome); +@immediate-return: #313236; +@immediate-warn: darken(#C09305, @darken-chrome); +@immediate-error: #F05D53; +@immediate-property: darken(#C06EC4, @darken-chrome); +@immediate-null: darken(#868686, @darken-chrome); +@immediate-string: darken(rgb(194, 28, 28), @darken-chrome); +@immediate-number: darken(rgb(0, 163, 255), @darken-chrome); +@immediate-regexp: darken(rgb(194, 28, 28), @darken-chrome); +@immediate-stack: #F05D53; +@immediate-stack-link: darken(#585858, @darken-chrome); +@immediate-prompt: darken(#528DBB, @darken-chrome); +@immediate-tree-arrow: none; +@immediate-font-smoothing: false; + +@immediate-dark-row-border-color: darken(rgb(29, 28, 28), @darken-chrome); +@immediate-dark-return: darken(#f1f1f1, @darken-chrome); +@immediate-dark-warn: yellow; +@immediate-dark-error: #F05D53; +@immediate-dark-property: darken(#BEDB18, @darken-chrome); +@immediate-dark-null: gray; +@immediate-dark-string: darken(rgb(255, 112, 0), @darken-chrome); +@immediate-dark-number: darken(rgb(0, 163, 255), @darken-chrome); +@immediate-dark-regexp: darken(rgb(255, 112, 0), @darken-chrome); +@immediate-dark-stack: #F05D53; +@immediate-dark-stack-link: gray; +@immediate-dark-prompt: darken(rgb(113, 155, 40), @darken-chrome); +@immediate-dark-tree-arrow: none; +@immediate-dark-font-smoothing: false; + +// Gutter Tooltip +@gutter-tooltip-shadow: @language-tooltip-box-shadow; +@gutter-tooltip-background: @language-tooltip-background; +@gutter-tooltip-border: @language-tooltip-border-color; +@gutter-tooltip-color: #313236; +@gutter-tooltip-font-smoothing: false; + +@gutter-tooltip-dark-shadow: 1px 1px 6px darken(rgba(0, 0, 0, 0.8), @darken-chrome); +@gutter-tooltip-dark-background: darken(#FFF399, @darken-chrome); +@gutter-tooltip-dark-border: black; +@gutter-tooltip-dark-color: #313236; +@gutter-tooltip-dark-font-smoothing: true; + +// Splitter +@splitter-vertical-line-color: none; +@splitter-vertical-dark-line-color: @splitter-vertical-line-color; +@splitter-horizontal-line-color: none; +@splitter-top-divider-color: transparent; +@splitter-left-divider-color: darken(#DEDEDE, @darken-chrome); +@splitter-highlight: transparent; + +// Spinner +@spinner-color: @color; +@spinner-plus: "spinner_plus_dark.png"; +@spinner-min: "spinner_min_dark.png"; +@spinner-background: transparent; +@spinner-border-color: lighten(@background, 10%); +@spinner-focus-border-color: lighten(@spinner-border-color, 10%); +@spinner-focus-box-shadow: none; +@spinner-button-hover-background: darken(@spinner-background, 2%); + +// Textarea +@textarea-line-height: 18px; +@textarea-padding: 10px; +@textarea-border-radius: 4px; +@textarea-gradient: linear-gradient(center, white 50%, white 100%); +@textarea-box-shadow: none; +@textarea-font-family: @general-font-family; +@textarea-font-size: 12px; +@textarea-color: #333; +@textarea-border: 1px solid #DEDEDE; +@textarea-disabled-border: 1px solid #DEDEDE; +@textarea-disabled-color: #CCC; + +// Button - Default +@button-border-radius: 3px; +@button-padding: 0px 20px 6px; +@button-text-shadow: none; +@button-font-family: @general-font-family; +@button-font-weight: normal; +@button-font-size: 14px; +@button-shadow: none; +@button-focussed-border: 1px solid rgba(0, 0, 0, 0.26); +@button-font-smoothing: false; +@button-cursor: pointer; + +// Grey +@button-grey-color: darken(#ffffff, @darken-chrome); +@button-grey-text-shadow: none; + +@button-grey-idle-gradient: linear-gradient(to top, #2D9FD8 0%, #2D9FD8 100%); +@button-grey-over-gradient: @button-grey-idle-gradient; +@button-grey-focus-gradient: @button-grey-idle-gradient; +@button-grey-down-gradient: @button-grey-idle-gradient; +@button-grey-disabled-gradient: @button-grey-idle-gradient; + +@button-grey-idle-border-top: 0; +@button-grey-over-border-top: 0; +@button-grey-focus-border-top: 0; +@button-grey-down-border-top: 0; +@button-grey-disabled-border-top: 0; + +@button-grey-disabled-text-shadow: none; +@button-grey-disabled-color: @button-grey-color; + +// Green +@button-green-color: @button-grey-color; +@button-green-text-shadow: none; + +@button-green-idle-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); +@button-green-over-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); +@button-green-focus-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); +@button-green-down-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); +@button-green-disabled-gradient: linear-gradient(to top, #6CC788 0%, #6CC788 100%); + +@button-green-idle-border-top: 0; +@button-green-over-border-top: 0; +@button-green-focus-border-top: 0; +@button-green-down-border-top: 0; +@button-green-disabled-border-top: 0; + +@button-green-disabled-text-shadow: none; +@button-green-disabled-color: #747474; + +@button-green2-idle-gradient: linear-gradient(to top, #088e04 0%, #30a12d 100%); +@button-green2-text-shadow: rgba(0,0,0,0.25) 0px 1px 0px; +@button-green2-down-gradient: linear-gradient(to top, #30a12d 0%, #088e04 100%); +@button-green2-disabled-gradient: linear-gradient(to top, #088e04 0%, #30a12d 100%); + +@button-green2-disabled-text-shadow: darken(#3da110, @darken-chrome) 0px 1px 0px; +@button-green2-disabled-color: darken(#037a01, @darken-chrome); + +// Red +@button-red-color: @button-grey-color; +@button-red-text-shadow: none; + +@button-red-idle-gradient: linear-gradient(to top, #f06767 0%, #f06767 100%); +@button-red-over-gradient: linear-gradient(to top, #f06767 0%, #f06767 100%); +@button-red-focus-gradient: linear-gradient(to top, #f06767 0%, #f06767 100%); +@button-red-down-gradient: linear-gradient(to top, #f06767 0%, #f06767 100%); +@button-red-disabled-gradient: linear-gradient(to top, #f06767 0%, #f06767 100%); + +@button-red-idle-border-top: 0; +@button-red-over-border-top: 0; +@button-red-focus-border-top: 0; +@button-red-down-border-top: 0; +@button-red-disabled-border-top: 0; + +@button-red-disabled-text-shadow: none; +@button-red-disabled-color: maroon; + +// Button - Glossy +@button-glossy-color: @menu-button-color; +@button-glossy-disabled-color: @menu-button-disabled-color; +@button-glossy-disabled-text-shadow: none; + +@button-glossy-hover-border-color: @button-glossy-hover-background-1; +@button-glossy-hover-shadow-color: transparent; +@button-glossy-hover-text-shadow: none; +@button-glossy-hover-background-1: lighten(@background, 4%); +@button-glossy-hover-background-2: @button-glossy-hover-background-1; +@button-glossy-hover-background-3: @button-glossy-hover-background-1; +@button-glossy-hover-background-4: @button-glossy-hover-background-1; + +@button-glossy-active-border-color: @button-glossy-hover-border-color; +@button-glossy-active-shadow-color: transparent; +@button-glossy-active-text-shadow: none; +@button-glossy-active-background-1: @button-glossy-hover-background-1; +@button-glossy-active-background-2: @button-glossy-hover-background-1; +@button-glossy-active-background-3: @button-glossy-hover-background-1; +@button-glossy-active-background-4: @button-glossy-hover-background-1; + +// Button - Black +@button-black-cursor: pointer; +@button-black-color: @textbox-color; +@button-black-font-smoothing: true; +@button-black-text-shadow: none; +@button-black-font-weight: normal; +@button-black-padding: 2px 11px; +@button-black-border-color: lighten(@background, 10%); +@button-black-highlight: transparent; +@button-black-hover-shadow: rgba(255,255,255,.03); +@button-black-focus-highlight: none; +@button-black-active-inner-border: transparent; +@button-black-disabled-color: @button-black-color; +@button-black-checked-shadow: none; + +@button-black-background-1: transparent; +@button-black-background-2: @button-black-background-1; +@button-black-background-3: @button-black-background-1; +@button-black-background-4: @button-black-background-1; + +@chkRegEx-icon: 50% -540px; +@chkRegEx-hover-icon: 50% -565px; +@chkMatchCase-icon: 50% -590px; +@chkMatchCase-hover-icon: 50% -615px; +@chkWholeWords-icon: 50% -640px; +@chkWholeWords-hover-icon: 50% -665px; +@chkPreserveCase-icon: 50% -690px; +@chkPreserveCase-hover-icon: 50% -715px; +@chkSearchBackwards-icon: 50% -790px; +@chkSearchBackwards-hover-icon: 50% -815px; +@chkWrapAround-icon: 50% -890px; +@chkWrapAround-hover-icon: 50% -915px; +@chkSearchSelection-icon: 50% -840px; +@chkSearchSelection-hover-icon: 50% -865px; +@chkHighlightMatches-icon: 50% -740px; +@chkHighlightMatches-hover-icon: 50% -765px; +@chkConsole-icon: 50% -1235px; +@chkConsole-hover-icon: 50% -1268px; + +// Button - Console +@button-console-hover-border: darken(rgba(0,0,0,0.1), @darken-chrome); +@button-console-hover-background: darken(rgba(255,255,255,0.1), @darken-chrome); +@button-console-active-border: darken(rgba(0,0,0,0.3), @darken-chrome); +@button-console-active-box-shadow: 0 1px 0 darken(rgba(255, 255, 255, 0.62), @darken-chrome), 2px 2px 5px darken(rgba(0, 0, 0, 0.2), @darken-chrome) inset; +@button-console-active-background: darken(rgba(255, 255, 255, 0.4), @darken-chrome); + +@button-console-close: "console_close_btn.png"; +@button-console-close-retina: "console_close_btn@2x.png"; +@button-console-clear: "clear_dark_flat_light.png"; +@button-console-maximize: "maximize.png"; +@button-console-popout: "popout.png"; + +// Button - Toggle +@button-toggle-border: lighten(@background, 10%); +@button-toggle-background: lighten(@background, 4%); +@button-toggle-outset-1: darken(#D3D3D3, @darken-chrome); +@button-toggle-outset-2: darken(#BDBDBD, @darken-chrome); +@button-toggle-outset-3: darken(#B4B4B4, @darken-chrome); +@button-toggle-divider: darken(#8F8F8F, @darken-chrome); +@button-toggle-hover-outset-1: darken(#E3E3E3, @darken-chrome); +@button-toggle-hover-outset-2: darken(#CDCDCD, @darken-chrome); +@button-toggle-hover-outset-3: darken(#C4C4C4, @darken-chrome); + +// Checkbox +@checkbox-font-family: @general-font-family; +@checkbox-font-size: @general-font-size; +@checkbox-label-padding: 4px 3px 2px 8px; + +// Checkbox - Black +@checkbox-black-color: @color; +@checkbox-black-image: "checkbox_flat_light.png"; +@checkbox-black-image-width: 22px; +@checkbox-black-image-height: 162px; +@checkbox-black-width: 17px; +@checkbox-black-height: 17px; + +// Tree +@tree-arrow: none; +@tree-arrow-focus-selected: none; +@tree-symlink: "symlink.png"; +@tree-symlink-y: 5px; +@tree-symlink-x: -3px; +@tree-upload: "tree_upload_icon.png"; +@tree-spinner: "@{image-path}/file-tree-load-spinner_flat_light.gif"; +@tree-spinner-width: 14px; +@tree-spinner-height: 14px; +@tree-focus-spinner: "@{image-path}/file-tree-load-spinner-dark-unfocus_flat_light.gif"; +@tree-selected-focus-spinner: "@{image-path}/file-tree-load-spinner-selected_flat_light.gif"; +@tree-folder-icon: ""; +@tree-folder-icon-width: 18px; +@tree-folder-icon-height: 14px; + +@tree-row-padding: 0px 1px 1px 1px; +@tree-row-height: 25px !important; +@tree-first-row-margin-right: 40px; + +@tree-heading-color: #313236; +@tree-heading-text-shadow: none; + +@tree-editor-color: darken(#101010, @darken-chrome); +@tree-editor-background: darken(rgb(245, 247, 234), @darken-chrome); +@tree-editor-border-color: darken(#FFF, @darken-chrome); +@tree-editor-height: 17px; +@tree-editor-margin-top: 1px; +@tree-font-smoothing: false; + +@tree-settings-background: -6px -276px; +@tree-settings-top: 14px; +@tree-settings-right: 14px; +@tree-settings-hover-background: -36px -276px; + +@tree-selected-background-alternative: @selected-focus-background; +@tree-selected-color-alternative: @selected-focus-color; +@tree-folder-icon-alternative: @tree-folder-icon; + +@tree-extrainfo-color: #CCC; +@tree-focus-selected-extrainfo-color: #CCC; + +// Open Files +@openfiles-icon-margin: -2px 2px 0 3px; +@openfiles-caption-padding: -3px 2px 0 3px; +@openfiles-close-button: "close_tab_btn_flat_light.png"; +@openfiles-close-idle-position: 0 0; +@openfiles-close-hover-position: -14px 0; +@openfiles-close-margin-top: 0; +@openfiles-row-height: 20px; + +// Textbox +@textbox-close-button: "btnclose_flat_light.png"; + +@textbox-color: @color; //darken(#333333, @darken-chrome); +@textbox-background: darken(@background, 2%); +@textbox-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); +@textbox-border-color: lighten(@background, 8%); +@textbox-initial-color: @color; +@textbox-initial-text-shadow: none; +@textbox-disabled-color: @textbox-initial-color; +@textbox-disabled-background: @textbox-background; + +// Textbox - Simple +@tbsimple-border: 1px solid #DEDEDE; +@tbsimple-border-radius: 3px; +@tbsimple-gradient: linear-gradient(to top, #FFF 50%, #FFF 100%); +@tbsimple-color: @color; +@tbsimple-font-family: @general-font-family; +@tbsimple-font-size: 12px; +@tbsimple-box-shadow: none; +@tbsimple-disabled-gradient: linear-gradient(to top, #F0F0F0 0%, #F0F0F0 40%); + +// Preview +@preview-bar-box-shadow: none; +@preview-bar-background-color: lighten(@background, 4%); +@preview-bar-border-top: 0; +@preview-bar-height: 37px; + +@preview-chooser-arrow: "arrow_down_black.png"; +@preview-chooser-box-shadow: none; +@preview-chooser-color: #bfc6d0; +@preview-chooser-background: lighten(@background, 7%); +@preview-chooser-over-background: darken(@preview-chooser-background, 1%); +@preview-chooser-active-background: #fff; +@preview-chooser-font-family: @general-font-family; +@preview-chooser-font-size: 12px; +@preview-chooser-font-weight: normal; + +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-close-width: 23px; +@preview-icon-close-height: 280px; +@preview-icon-close-position: 0 -65px; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-refresh-width: 23px; +@preview-icon-refresh-height: 280px; +@preview-icon-refresh-position: 0 -88px; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-popout-width: 23px; +@preview-icon-popout-height: 280px; +@preview-icon-popout-position: 0 -113px; +@preview-icon-settings: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-settings-width: 23px; +@preview-icon-settings-height: 280px; +@preview-icon-settings-position: -1px -33px; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-goforward-width: 23px; +@preview-icon-goforward-height: 280px; +@preview-icon-goforward-position: 0 -184px; +@preview-icon-goforward-disabled-position: 0 -209px; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png"; +@preview-icon-goback-width: 23px; +@preview-icon-goback-height: 280px; +@preview-icon-goback-position: 0 -136px; +@preview-icon-goback-disabled-position: 0 -161px; + +// Preferences +@preference-menu-button-padding: 18px; +@preference-menu-button-margin-left: 0; +@preference-menu-button-icon-top: 5px; +@preference-menu-button-icon-height: 25px; + +@preferences-nav-border: 1px solid darken(lighten(@background, 4%), 0.2); +@preferences-nav-background: @preferences-header-background; +@preferences-nav-shadow-color: transparent; +@preferences-nav-main-color: lighten(@background, 50%); +@preferences-nav-main-padding: 5px 15px 5px 20px; +@preferences-nav-main-toggle-top: 11px; +@preferences-nav-main-font-smoothing: false; +@preferences-nav-main-border-color: darken(#9E9E9E, @darken-chrome); +@preferences-nav-main-hover-color: #fff; +@preferences-nav-main-hover-background: transparent; +@preferences-nav-active-area-background: @preferences-nav-background; +@preferences-nav-main-active-color: #1ca8dd; +@preferences-nav-main-active-background: transparent; +@preferences-nav-main-active-text-shadow: none; +@preferences-nav-sub-color: softlight(@background, #d2d2d2); +@preferences-sub-border-bottom: 0; +@preferences-nav-font-weight: normal; +@preferences-nav-link-color: @preferences-nav-main-color; +@preferences-nav-link-hover-background: transparent; +@preferences-nav-link-active-color: #1ca8dd; + +@preferences-text-shadow: none; +@preferences-background: lighten(@background, 4%); +@preferences-border-top-color: @preferences-background; +@preferences-border-top-color-light: transparent; +@preferences-border-bottom-color: transparent; +@preferences-header-color: @color; +@preferences-header-padding: 20px; +@preferences-header-font-size: 13px; +@preferences-header-background: darken(@preferences-background, 2%); +@preferences-header-border-top-color: @preferences-background; +@preferences-header-border-bottom-color: @preferences-header-border-top-color; +@preferences-form-border-bottom-color: @preferences-header-border-bottom-color; +@preferences-form-label-color: softlight(@selected-background, #ebebeb); +@preferences-form-label-font-smoothing: false; + +@preferences-header-margin: -10px 10px 10px 0px; +@preferences-section-padding: 10px; + +@preferences-datagrid-font-smoothing: false; +@preferences-datagrid-row-height: 24px; +@preferences-datagrid-cell-padding: 3px 0 2px 8px; +@preferences-datagrid-header-background: @preferences-datagrid-background; +@preferences-datagrid-header-font-weight: normal; +@preferences-datagrid-header-color: lighten(@preferences-nav-main-color,25%); +@preferences-datagrid-header-padding: 6px 4px 6px 8px; +@preferences-datagrid-header-border-bottom: 0; +@preferences-datagrid-header-hover-background: @preferences-datagrid-header-background; +@preferences-datagrid-header-hover-color: @preferences-datagrid-header-color; +@preferences-datagrid-background: darken(@preferences-background, 2%); +@preferences-datagrid-border: rgba(255,255,255,0.075); +@preferences-datagrid-border-radius: 3px; +@preferences-datagrid-font-family: @general-font-family; +@preferences-datagrid-font-size: 12px; +@preferences-datagrid-color: @preferences-nav-main-color; +@preferences-datagrid-box-shadow: none; +@preferences-datagrid-focus-border: darken(#DEDEDE, @darken-chrome); +@preferences-datagrid-group-background: transparent; +@preferences-datagrid-group-box-shadow: none; +@preferences-datagrid-group-first-child-box-shadow: none; +@preferences-datagrid-group-toggler-top: -1px; +@preferences-datagrid-group-font-weight: normal; +@preferences-datagrid-highlight-column-color: transparent; + +@preferences-filter-box-background: lightgrey; +@preferences-intro-padding: 12px; +@preferences-intro-title-text-shadow: none; +@preferences-intro-title-padding: 8px 0 6px 47px; +@preferences-intro-color: @color; +@preferences-intro-icon-left: 8px; +@preferences-intro-icon-top: 7px; +@preferences-intro-icon-width: 26px; +@preferences-intro-icon-height: 26px; +@preferences-intro-text-margin: 0 0 8px 47px; +@preferences-intro-link-color: #1CA8DD; +@preferences-intro-hint-color: softlight(@selected-background, #ebebeb); +@preferences-intro-hint-text-shadow: none; +@preferences-intro-border-bottom-color: @preferences-form-border-bottom-color; +@preferences-radiobutton-active: darken(#AFAFAF, @darken-chrome); +@preferences-button-height: 22px; +@preferences-dropdown-margin-top: -5px; +@preferences-spinner-margin-top: -5px; +@preferences-ta-margin-top: -11px; +@preferences-checkbox-margin-top: -5px; +@preferences-color-margin-top: -5px; +@preferences-button-margin-top: -4px; +@preferences-textbox-margin-top: -3px; +@preferences-textbox-border-radius: 4px; +@preferences-textbox-padding: 6px 10px; +@preferences-textbox-font-family: @general-font-family; +@preferences-textbox-font-size: @general-font-size; +@preferences-flat: true; + +// Dropdown - Black +@dropdown-black-image: "arrow_down_grey.png"; +@dropdown-black-image-width: 8px; +@dropdown-black-image-height: 5px; +@dropdown-black-background-position: 50% 50%; +@dropdown-black-height: 28px; +@dropdown-black-padding: 7px 8px 5px 9px; +@dropdown-black-font-family: @general-font-family; +@dropdown-black-font-size: 13px; +@dropdown-black-button-width: 24px; +@dropdown-black-color: @color; +@dropdown-black-selected-color: @selected-focus-background; +@dropdown-black-border-color: lighten(@background, 10%); +@dropdown-black-background: @spinner-background; +@dropdown-black-divider-left: @spinner-button-hover-background; +@dropdown-black-divider-right: transparent; +@dropdown-black-box-shadow: none; +@dropdown-black-container-shadow: none; +@dropdown-black-gradient-start: @spinner-background; +@dropdown-black-gradient-stop: @spinner-background; +@dropdown-black-hover-gradient-start: darken(@spinner-background, 2%); +@dropdown-black-hover-gradient-stop: darken(@spinner-background, 2%); +@dropdown-black-active-gradient-start: @spinner-background; +@dropdown-black-active-gradient-stop: @spinner-background; + +@dropdown-glossy-list-font-family: @general-font-family; +@dropdown-glossy-list-font-size: 12px; +@dropdown-glossy-list-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.07); +@dropdown-glossy-list-border-radius: 4px; +@dropdown-glossy-list-item-border-radius: 2px; +@dropdown-glossy-list-padding: 5px; + +// Find +@find-bar-background: @background; +@find-search-count-color: #fff; +@find-next-image: "arrow_left_search.png"; +@find-previous-image: "arrow_right_search.png"; +@find-range-marker-color: rgba(255, 255, 255, 0.6); +@find-divider: false; +@find-textbox-font-family: @general-font-family; +@find-textbox-font-size: 12px; +@find-button-font-family: @general-font-family; +@find-button-font-size: @find-textbox-font-size; +@find-button-line-height: 27px; +@find-button-padding: 0 10px; +@find-button-margin-top: 0px; +@find-button-height: 28px; +@find-dropdown-icon-image: "@{image-path}/arrow_down_white.png"; +@find-dropdown-button-border-left: 0; + +@tooltip-label-gradient: linear-gradient(to top, @background 0%, @background 100%); +@tooltip-label-background-color: @background; +@tooltip-label-border: 1px solid @background; +@tooltip-label-box-shadow: none; +@tooltip-label-color: softlight(@selected-background, #ebebeb); +@tooltip-label-padding: 2px 7px 0 7px; +@tooltip-label-font-size: 11px; +@tooltip-label-font-family: @general-font-family; +@tooltip-label-text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); + +@checkbox-holder-gradient: linear-gradient(to bottom, transparent 0%, transparent 100%); +@checkbox-holder-box-shadow: none; +@checkbox-holder-border-color: transparent; +@checkbox-holder-border-radius: 0; +@checkbox-holder-divider-border-left: 1px solid transparent; +@checkbox-holder-divider-box-shadow: none; +@checkbox-holder-box-border-radius: 3px; +@checkbox-background: darken(@textbox-background, 4%); +@checkbox-holder-box-hover-box-shadow: 0px 1px @checkbox-background inset, 1px 0px @checkbox-background inset, -1px 0px @checkbox-background inset, 0px -1px @checkbox-background inset, 0 0 0 1000px @checkbox-background inset; + +// Label +@label-font-family: @general-font-family; +@label-font-size: @general-font-size; +@label-color: #fff; + +// Goto Line - Dark +@gotoline-background-dark: darken(#353637, @darken-chrome); +@gotoline-box-shadow-dark: 0 0 10px rgba(0, 0, 0, 0.5); +@gotoline-border-dark: 1px solid rgb(36, 36, 36); + +@gotoline-list-background-dark: linear-gradient(to top, darken(rgb(71, 71, 71), @darken-chrome) 0%, darken(rgb(71, 71, 71), @darken-chrome) 100%); +@gotoline-list-color-dark: darken(#e7e7e7, @darken-chrome); +@gotoline-list-border-color-dark: darken(#353637, @darken-chrome); +@gotoline-list-border-width-dark: 1px 0 1px 0; +@gotoline-list-border-radius-dark: 2px; +@gotoline-list-selected-background-dark: darken(#5f5f5f, @darken-chrome); + +@gotoline-input-border-color-dark: darken(#fafafa, @darken-chrome); +@gotoline-input-border-width-dark: 1px 0 0 0; +@gotoline-input-border-radius-dark: 2px; +@gotoline-input-box-shadow-dark: none; + +// Goto Line - Light +@gotoline-background: darken(#FFF, @darken-chrome); +@gotoline-box-shadow: 0 0 10px darken(rgba(0, 0, 0, 0.09), @darken-chrome); +@gotoline-border: 1px solid #DEDEDE; +@gotoline-border-radius: 0px 3px 3px 0; + +@gotoline-list-background: linear-gradient(to top, darken(#FCFCFC, @darken-chrome) 0%, darken(#FCFCFC, @darken-chrome) 100%); +@gotoline-list-color: #313236; +@gotoline-list-border-color: darken(#F6F6F6, @darken-chrome); +@gotoline-list-border-width: 1px; +@gotoline-list-border-radius: 3px; +@gotoline-list-selected-background: @selected-focus-background; + +@gotoline-input-border-color: darken(#FFF, @darken-chrome); +@gotoline-input-border-width: 1px; +@gotoline-input-border-radius: 2px; +@gotoline-input-box-shadow: none; + +// Complete - light +@language-tooltip-color: #313236; +@language-tooltip-background: darken(#F9F2AD, @darken-chrome); +@language-tooltip-border-color: darken(#E7DE81, @darken-chrome); +@language-tooltip-box-shadow: 0 0 3px darken(rgba(119, 119, 119, 0.23), @darken-chrome); +@language-tooltip-text-shadow: 0; + +@complete-color: #313236; +@complete-background: darken(#FFF, @darken-chrome); +@complete-border-color: darken(#DEDEDE, @darken-chrome); +@complete-inner-border-color: transparent; +@complete-box-shadow: 0 0 7px darken(rgba(119, 119, 119, 0.2), @darken-chrome); + +@complete-match: @highlight-color; +@complete-selected-match: darken(#CFE8FF, @darken-chrome); //@highlight-selected-color; +@complete-selected-match-text-overflow: 0px 1px darken(rgba(0,0,0,0.3), @darken-chrome); +@complete-selected-color: @selected-focus-color; +@complete-selected-background: @selected-focus-background; +@complete-hover-color: @selected-hover-color; +@complete-hover-background: @selected-hover-background; + +@complete-docs-color: @language-tooltip-color; +@complete-docs-background: @language-tooltip-background; +@complete-docs-border-color: @language-tooltip-border-color; + +@complete-activeparamindent: darken(rgba(0, 0, 0, 0), @darken-chrome); +@complete-activeparam: darken(#474747, @darken-chrome); +@complete-paramhelp: darken(#474747, @darken-chrome); + +// Complete - dark +@language-tooltip-dark-color: darken(#D1D1D1, @darken-chrome); +@language-tooltip-dark-background: darken(#636363, @darken-chrome); +@language-tooltip-dark-border-color: darken(rgb(111, 111, 111), @darken-chrome); +@language-tooltip-dark-box-shadow: 0 1px 1px darken(rgba(0,0,0,.4), @darken-chrome); +@language-tooltip-dark-text-shadow: 0 1px 0 darken(rgba(0,0,0,0.21), @darken-chrome); + +@complete-dark-color: darken(#f1f1f1, @darken-chrome); +@complete-dark-background: darken(#303130, @darken-chrome); +@complete-dark-border-color: black; +@complete-dark-inner-border-color: darken(rgba(255,255,255,0.06), @darken-chrome); +@complete-dark-box-shadow: 2px 2px 7px darken(rgba(0, 0, 0, 0.8), @darken-chrome); + +@complete-dark-match: darken(#9FB814, @darken-chrome); +@complete-dark-selected-match: darken(rgb(184, 206, 115), @darken-chrome); +@complete-dark-selected-match-text-overflow: 0px 1px darken(rgba(0,0,0,0.3), @darken-chrome); +@complete-dark-selected-color: darken(#f1f1f1, @darken-chrome); +@complete-dark-selected-background: darken(#748512, @darken-chrome); +@complete-dark-hover-color: darken(#f1f1f1, @darken-chrome); +@complete-dark-hover-background: darken(#252525, @darken-chrome); + +@complete-dark-docs-color: darken(#FFFFFF, @darken-chrome); +@complete-dark-docs-background: darken(#636363, @darken-chrome); + +@complete-dark-activeparamindent: darken(rgba(0, 0, 0, 0), @darken-chrome); +@complete-dark-activeparam: darken(#FFFFFF, @darken-chrome); +@complete-dark-paramhelp: darken(#FFFFFF, @darken-chrome); + +// Complete Icons +@complete-icon-event: "@{image-path}/event_flat_light.png"; +@complete-icon-method: "@{image-path}/method_flat_light.png"; +@complete-icon-method2: "@{image-path}/method2_flat_light.png"; +@complete-icon-package: "@{image-path}/package_flat_light.png"; +@complete-icon-property: "@{image-path}/property_flat_light.png"; +@complete-icon-property2: "@{image-path}/property2_flat_light.png"; + +// Welcome +@welcome-color: #31a6d7; +@welcome-background: darken(#F8FDFF, @darken-chrome); +@welcome-top-border: darken(rgba(0,0,0, 0.06), @darken-chrome); +@welcome-color: darken(#333333, @darken-chrome); +@welcome-font-smoothing: false; +@welcome-highlight-color: @highlight-color; +@welcome-panel-border-color: darken(rgba(0, 0, 0, 0.04), @darken-chrome); +@welcome-panel-background: darken(rgba(0, 0, 0, 0.03), @darken-chrome); +@welcome-logo-image: "@{theme-image-path}/cloud9_logo.png"; +@welcome-logo-image-width: 155px; +@welcome-logo-image-height: 100px; +@welcome-alter-widgets: false; +@welcome-heading-color: gray; +@welcome-heading-border-bottom: 1px solid #DEDEDE; + +// Output +@output-toolbar-height: 40px; +@output-toolbar-padding: 9px 8px 8px 8px; +@output-toolbar-background: transparent; +@output-toolbar-box-shadow: none; +@output-toolbar-border-color: darken(rgba(138, 153, 169, 0.32), @darken-chrome); + +@output-divider-color: transparent; +@output-divider-width: 10px; +@output-label-padding: 3px 0 0 4px; +@output-label-color: @compliment1; +@output-font-smoothing: true; + +@output-textbox-color: @textbox-color; +@output-textbox-background-color: @textbox-background; +@output-textbox-border-radius: 3px; +@output-textbox-initial-color: darken(transparent, @darken-chrome); //#89929E +@output-textbox-hover-background: @output-textbox-background-color; +@output-textbox-active-background: @output-textbox-background-color; +@output-textbox-active-color: @textbox-color; +@output-textbox-margin-top: -2px; +@output-textbox-padding: 2px 6px 2px 7px; + +@output-button-hover-border-color: @button-glossy-hover-border-color; +@output-button-hover-shadow-color: @button-glossy-hover-shadow-color; +@output-button-hover-background-1: @button-glossy-hover-background-1; +@output-button-hover-background-2: @button-glossy-hover-background-2; +@output-button-hover-background-3: @button-glossy-hover-background-3; +@output-button-hover-background-4: @button-glossy-hover-background-4; + +@output-button-active-border-color: @button-glossy-active-border-color; +@output-button-active-shadow-color: @button-glossy-active-shadow-color; +@output-button-active-background-1: @button-glossy-active-background-1; +@output-button-active-background-2: @button-glossy-active-background-2; +@output-button-active-background-3: @button-glossy-active-background-3; +@output-button-active-background-4: @button-glossy-active-background-4; + +@output-restart-image: "@{icon-path}/restart-icon_flat_light.png"; +@output-restart-image-width: 18px; +@output-restart-image-height: 18px; +@output-bug-image: "@{icon-path}/bug_flat_light.png"; +@output-bug-image-width: 20px; +@output-bug-image-height: 58px; + +// Commands +@commands-keys-color: #fff; +@commands-keys-text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); +@commands-keys-font-weight: normal; + +// Share +@share-width: 570px; +@share-height: 613px; +@share-padding: 20px; +@share-container-border: 1px solid lighten(@background, 6%); +@share-container-box-shadow: none; +@share-container-border-radius: 3px; +@share-links-padding: 10px 15px 0 15px; +@share-links-margin: 10px 0 10px 0; +@share-invite-padding: 10px; +@share-invite-margin: 10px 0 10px 0; +@share-label-font-family: @general-font-family; +@share-label-font-size: @general-font-size; +@share-label-font-weight: bold; +@share-label-color: @base; +@share-label-subhead-color: lighten(@share-label-color, 10%); +@share-label-subhead-width: 119px; +@share-label-subhead-font-weight: normal; +@share-label-subhead-margin-top: 7px; +@share-link-background: @textbox-background; +@share-link-padding: 6px 10px; +@share-link-border: 1px solid @share-textbox-border-color; +@share-link-border-radius: 3px; +@share-link-box-shadow: none; +@share-link-color: @textbox-initial-color; +@share-link-width: 271px; +@share-link-margin: 0 0 10px 0; +@share-checkbox-margin: 2px 0 0 10px; +@share-members-border: 1px solid lighten(@background, 6%); +@share-members-box-shadow: none; +@share-members-border-radius: 3px; +@share-members-margin: 10px 0 10px 0; +@share-members-hover-background: transparent; +@share-textbox-background-color: @textbox-background; +@share-textbox-box-shadow: @textbox-box-shadow; +@share-textbox-padding: 5px 10px; +@share-textbox-border-color: @textbox-border-color; +@share-textbox-width: 378px; +@share-textbox-margin: 5px 0 0 0; +@share-access-right: 140px; +@share-access-top: 66px; +@share-invite-button-width: 120px; +@share-invite-button-height: 30px; +@share-invite-button-right: 10px; +@share-invite-button-bottom: 39px; +@share-done-button-right: 20px; +@share-done-button-width: auto; +@share-done-button-bottom: 20px; + +// ImgEditor +@imgeditor-toolbar-padding-top: 3px; +@imgeditor-toolbar-background: lighten(@background, 4%); +@imgeditor-toolbar-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2); +@imgeditor-toolbar-border-color: @imgeditor-toolbar-background; +@imgeditor-toolbar-label-color: @base; +@imgeditor-background: darken(#E8E8E8, @darken-chrome); +@imgeditor-dropdown-height: 21px; +@imgeditor-dropdown-label-padding: 4px 0px 5px 7px; +@imgeditor-dropdown-button-width: 20px; +@imgeditor-toolbar-divider-margin: 0 5px 0 8px; +@imgeditor-toolbar-label-padding: 1px 2px 0 2px; +@imgeditor-resize-width: 242px; +@imgeditor-resize-height: 238px; +@imgeditor-resize-padding: 20px 20px 0 20px; +@imgeditor-resize-row-height: 30px; +@imgeditor-resize-column-width: 70px; +@imgeditor-resize-divider-margin: 20px 0 20px 0; +@imgeditor-resize-row-margin-bottom: 10px; +@imgeditor-resize-dividers: true; + +// Toolbar +@toolbar-height: 30px; + +@toolbar-button-padding-top: 0; +@toolbar-button-width: 31px; +@toolbar-button-height: 39px; +@toolbar-button-icon-width: 18px; +@toolbar-button-icon-height: 18px; +@toolbar-button-icon-left: 5px; +@toolbar-button-icon-top: 6px; +@toolbar-button-active-box-shadow: none; + +// Debug Pane +@debug-pane-scroller-top: 39px; +@debug-pane-scroller-bottom: 32px; +@debug-pane-toolbar-bottom-border-top: 0; +@debug-pane-toolbar-bottom-border-bottom: 0; +@debug-pane-toolbar-bottom-button-height: 30px; +@debug-pane-toolbar-bottom-divider-height: 30px; + +@debugger-icon-play: "@{icon-path}/play_flat_light.png"; +@debugger-icon-play-width: 21px; +@debugger-icon-play-height: 57px; +@debugger-icon-pause: "@{icon-path}/pause_flat_light.png"; +@debugger-icon-pause-width: 21px; +@debugger-icon-pause-height: 57px; +@debugger-icon-step: "@{icon-path}/step_flat_light.png"; +@debugger-icon-step-width: 21px; +@debugger-icon-step-height: 57px; +@debugger-icon-stepinto: "@{icon-path}/stepinto_flat_light.png"; +@debugger-icon-stepinto-width: 21px; +@debugger-icon-stepinto-height: 57px; +@debugger-icon-stepback: "@{icon-path}/stepback_flat_light.png"; +@debugger-icon-stepback-width: 21px; +@debugger-icon-stepback-height: 57px; +@debugger-icon-exception_break: "@{icon-path}/exception_break_flat_light.png"; +@debugger-icon-exception_break-width: 21px; +@debugger-icon-exception_break-height: 57px; +@debugger-icon-scripts: "@{icon-path}/scripts_flat_light.png"; +@debugger-icon-scripts-width: 21px; +@debugger-icon-scripts-height: 57px; +@debugger-icon-toggle_breakpoints1: "@{icon-path}/toggle_breakpoints1_flat_light.png"; +@debugger-icon-toggle_breakpoints1-width: 21px; +@debugger-icon-toggle_breakpoints1-height: 76px; +@debugger-icon-toggle_breakpoints2: "@{icon-path}/toggle_breakpoints2_flat_light.png"; +@debugger-icon-toggle_breakpoints2-width: 21px; +@debugger-icon-toggle_breakpoints2-height: 76px; +@debugger-icon-remove_breakpoints: "@{icon-path}/remove_breakpoints_flat_light.png"; +@debugger-icon-remove_breakpoints-width: 21px; +@debugger-icon-remove_breakpoints-height: 76px; +@debugger-icon-generic-variable: "@{icon-path}/debugger/genericvariable_obj_flat_light.png"; +@debugger-icon-generic-variable-width: 16px; +@debugger-icon-generic-variable-height: 16px; + +// Upload +@upload-win-flat: true; +@upload-win-width: 480px; +@upload-win-target-margin: 26px 0 20px 0; +@upload-win-target-font-size: @general-font-size; +@upload-win-target-color: #313236; +@upload-win-buttons-height: 30px; +@upload-win-buttons-margin: 0 0 20px 0; + +@upload-frame-box-shadow: none; +@upload-frame-border-top: 1px solid #DEDEDE; +@upload-frame-item-color: #333; + +// Mount +@mount-container-padding: 5px 0 0 0; +@mount-loading-background: rgba(0, 0, 0, 0.17); +@mount-loading-color: #333; + +// Installer +@installer-font-smoothing: false; +@installer-background: transparent; +@installer-border-top: 0; +@installer-box-shadow: none; +@installer-color: #333; +@installer-text-shadow: none; +@installer-font-family: @general-font-family; + +@installer-log-color: #333; +@installer-log-gradient: linear-gradient(to bottom, #DFEFF9 0%, #DFEFF9 100%); +@installer-log-border: 0; +@installer-log-border-color: white; +@installer-log-border-radius: 3px; +@installer-log-box-shadow: none; +@installer-log-checkbox-color: #333; +@installer-log-progress-color: #333; + +// Notification +@notify-close-image: "@{image-path}/close_tab_btn_flat_light.png"; +@notify-close-image-width: 42px; +@notify-close-image-height: 28px; +@notify-close-image-idle: 0 -14px; +@notify-close-image-hover: -14px -14px; +@notify-close-image-active: -28px -14px; + +// Terminal Message +@terminal-message-gradient: linear-gradient(to bottom, #FFF 0%, #FFF 100%); +@terminal-message-border: 1px solid #DEDEDE; +@terminal-message-border-radius: 3px; +@terminal-message-color: #333; +@terminal-message-font-family: @general-font-family; +@terminal-message-font-size: 12px; +@terminal-message-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.09); +@terminal-message-padding: 10px; +@terminal-message-link-color: #568C11; +@terminal-message-button-gradient: linear-gradient(to bottom, #767676 0%, #767676 100%); +@terminal-message-button-text-shadow: none; +@terminal-message-button-border-top: 0; +@terminal-message-button-hover-gradient: @button-grey-over-gradient; +@terminal-message-button-active-gradient: @button-grey-down-gradient; +@terminal-message-close-image: "@{image-path}/close_tab_btn_flat_light.png"; +@terminal-message-close-image-width: 42px; +@terminal-message-close-image-height: 28px; +@terminal-message-close-idle: 0 0; +@terminal-message-close-hover: -14px 0; +@terminal-message-close-active: -28px 0; + +// Stats +@upgrade-color: #333; +@upgrade-progress-highlight-color: rgb(171, 211, 74); +@upgrade-progress-background-color: rgb(226, 226, 226); + +@stats-button-width: 100px; +@stats-button-margin-left: 0; +@stats-button-padding: 2px 5px 2px 7px; +@stats-button-border-left: 1px solid #e0e0e0; +@stats-button-border-right: 1px solid #e0e0e0; +@stats-button-box-shadow: none; +@stats-button-color: #666666; +@stats-button-hover-background: #E9E9E9; +@stats-button-active-background: white; +@stats-button-active-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.09); + +@stats-button-item-padding: 4px 0 0 0; +@stats-button-item-font-size: 7px; +@stats-button-progress-highlight-color: #D3D3D3; +@stats-button-progress-highlight-hover-color: #6CC788; +@stats-button-progress-highlight-limit-color: #f06767; +@stats-button-progress-background-color: #E8E8E8; +@stats-button-progress-background-hover-color: rgb(223, 223, 223); +@stats-button-progress-height: 9px; +@stats-button-progress-margin-top: -2px; + +@stats-menu-padding: 20px; +@stats-menu-width: 302px; +@stats-menu-graph-label-text-transform: uppercase; +@stats-menu-graph-border: 1px solid #DEDEDE; +@stats-menu-graph-box-shadow: none; +@stats-menu-graph-background: #FCFCFC; +@stats-menu-graph-color: #8ED6FF; +@stats-menu-info-background: #F9F9F9; +@stats-menu-info-border: 0; +@stats-menu-info-box-shadow: none; + +@coverage-button-font-size: 25px; + +@detail-label-color: @color; +@detail-label-background: @background; +@detail-label-margin: 1px 0 0 67px; +@detail-label-border-bottom: none; +@detail-label-box-shadow: none; + +@detail-label-hash-border: 1px solid #DDDE33; +@detail-label-hash-color: #333; +@detail-label-hash-background: #f9f796; + +@log-hash-color: #333; +@log-hash-background: rgb(249, 247, 150); +@log-hash-border: 1px solid #DDDE33; + +@diff-toolbar-buttons-background: transparent; +@diff-toolbar-buttons-border: 1px solid lighten(@background, 10%); + +@form-bar-padding: 10px 50px 10px 10px; +@form-bar-background: darken(@background,0%); +@form-bar-border-bottom: none; +@form-bar-box-shadow: 0 1px @border-highlight; + +@panel-settings-changes-top: 46px; \ No newline at end of file diff --git a/plugins/c9.ide.theme.jett/package.json b/plugins/c9.ide.theme.jett/package.json new file mode 100644 index 00000000..eb4ed5a7 --- /dev/null +++ b/plugins/c9.ide.theme.jett/package.json @@ -0,0 +1,21 @@ +{ + "name": "", + "description": "", + "version": "0.0.1", + "author": "", + "contributors": [ + { + "name": "", + "email": "" + } + ], + "repository": { + "type": "git", + "url": "" + }, + "plugins": { + "build-theme": {} + }, + "categories": ["miscellaneous"], + "licenses": [] +} diff --git a/plugins/c9.ide.theme.jett/plugin.js b/plugins/c9.ide.theme.jett/plugin.js new file mode 100644 index 00000000..60490df8 --- /dev/null +++ b/plugins/c9.ide.theme.jett/plugin.js @@ -0,0 +1,276 @@ +define(function(require, exports, module) { + + main.consumes = [ + "Plugin", "layout", "app", + "util", "tabManager", "ace", + ]; + main.provides = ["theme.jett"]; + return main; + + /** + * Client-side plugin for jett theme + * @method main + * @param {} options + * @param {} imports + * @param {} register + * @return + */ + function main(options, imports, register) { + var Plugin = imports.Plugin; + var layout = imports.layout; + var tabs = imports.tabManager; + var ace = imports.ace; + var services = imports.app.services; + + var escapeHTML = require("ace/lib/lang").escapeHTML; + + /***** Initialization *****/ + + var plugin = new Plugin("Ajax.org", main.consumes); + var emit = plugin.getEmitter(); + + var themeEnabled = false; + + /** + * Called when plugin is loaded + * @method load + * @return + */ + function load() { + ace.addTheme({ + caption: "Jett", + id: "plugins/c9.ide.theme.jett/ace.themes/jett" + }, plugin); + layout.addTheme({ + group: "flat", + color: "rgb(41, 58, 86)", + name: "jett-dark", + defaults: { + output: { + backgroundColor: "#2b303b", + foregroundColor: "#767B85", + selectionColor: "#343d46", + }, + + } + }); + + layout.on("themeChange", function(e) { + if (e.theme == "jett-dark") + enableJett(true); + else if (themeEnabled) + enableJett(false); + }); + + layout.on("themeDefaults", function(e) { + }); + } + + /** + * Toggle the jett theme on/off + * @str an identifiable attribute + * @method enableJett + * @param {} enabled If true then jett theme is on + * @return + */ + function enableJett(enabled) { + // Update settings + themeEnabled = enabled; + + // If the jett theme is enabled set some defaults and theme specific prefs + if (enabled) { + // Anytime the user switches tabs or themes make sure we have the correct tab colors + ace.on("themeChange", styleTabs, plugin); + tabs.on("focusSync", styleTabs, plugin); + // Set file icon when the tabs are drawn + tabs.on("tabCreate", onTabCreate, plugin); + enableFileIcons(); + } + else { + ace.off("themeChange", styleTabs, plugin); + tabs.off("focusSync", styleTabs, plugin); + tabs.off("tabCreate", onTabCreate, plugin); + } + styleTabs(); + // Refresh file icons + var tree = services.tree && services.tree.tree; + tree && tree.resize(true); + } + + function onTabCreate(e) { + if (themeEnabled && e.tab.title && e.tab.path) { + setTabIcon(e.tab); + } + } + + function enableFileIcons() { + if (enableFileIcons.called) + return; + enableFileIcons.called = true; + + /** + * Add file icons to the file search results + */ + var navigate = services.navigate; + navigate && navigate.once("draw", function() { + var dp = navigate.tree.provider; + + override(dp, 'renderRow', function(original) { + return function(row, html, config) { + + // If jett is not enabled then return + if (!themeEnabled) { + return original.apply(this, arguments); + } + + var path = dp.visibleItems[row]; + var isSelected = dp.isSelected(row); + var filename = path.substr(path.lastIndexOf("/") + 1); + var icon = getIconClass(filename); + + html.push("
" + + dp.replaceStrong(filename) + "" + dp.replaceStrong(path) + "
"); + }; + }); + }); + + /* + * Customize file icons on the file tree + */ + var tree = services.tree; + tree.once("draw", function(e) { + override(tree.tree.model, 'getIconHTML', function(original) { + return function(node) { + // If jett is not enabled then return + if (!themeEnabled) { + return original.apply(this, arguments); + } + + var icon = node.isFolder ? "folder" : getIconClass(node.label); + + if (node.status === "loading") icon = "loading"; + return ""; + }; + }); + }); + } + + /** + * Helper function to help us extend current cloud9 events + * @method override + * @param {} object + * @param {} methodName + * @param {} callback + * @return + */ + function override(object, methodName, callback) { + object[methodName] = callback(object[methodName]); + } + + /** + * Reusable function to get the CSS class of a file type + * @method getIconClass + * @param {} filename + * @return icon + */ + function getIconClass(filename) { + if (!filename) return ''; + + // Remove the path if it's a directory string + filename = filename.split("/").pop(); + // Get the file.extention + var icon = filename.split(".").pop().toLowerCase(); + + filename = filename.toLowerCase(); + if (filename == "package.json") icon = "npm"; + if (filename == "composer.json") icon = "composer"; + if (filename == "bower.json") icon = "bower"; + if (filename == "gulpfile.js") icon = "gulp"; + if (filename == "gruntfile.js") icon = "grunt"; + + return icon; + } + + + /***** Methods *****/ + + /** + * Active tabs with ACE editor get the same color as the current ACE theme + * @method styleTab + * @param {} e + * @return + */ + function styleTabs(e) { + var panes = tabs.getPanes(); + + panes.forEach(function(pane) { + // Add a file icon to the tab if jett is enabled + pane.getTabs().forEach(function(tab) { + setTabIcon(tab); + if (themeEnabled && tab.isActive()) { + if (ace.theme && ace.theme.bg && ace.theme.fg) { + // Color tabs based on their tab.aml.type + var colorHash = { + "editor::ace": ace.theme.bg, + "editor::terminal": "#000", + "editor::output": "#000", + "editor::preferences": "#25272C", + "editor::immediate": "#1C1D21" + }; + + tab.aml.$button.style.backgroundColor = (colorHash[tab.aml.type] || "iherit"); + tab.aml.$button.style.color = ace.theme.fg; + } + } + else { + tab.aml.$button.style.backgroundColor = ''; + tab.aml.$button.style.color = ''; + } + + }); + }); + } + + /** + * Tabs get file icons! + * @method setTabIcon + * @param {} tab + * @return + */ + function setTabIcon(tab) { + if (!tab.path) return; + + var iconHTML = (themeEnabled ? '' : "") + + escapeHTML(tab.title); + tab.aml.$button.querySelector(".sessiontab_title").innerHTML = iconHTML; + + } + + /***** Lifecycle *****/ + + plugin.on("load", function() { + load(); + }); + plugin.on("unload", function() { + enableJett(false); + themeEnabled = false; + }); + + /***** Register and define API *****/ + + /** + * + **/ + plugin.freezePublicAPI({ + + }); + + register(null, { + "theme.jett": plugin + }); + + } +}); diff --git a/plugins/c9.ide.theme.jett/screenshot.png b/plugins/c9.ide.theme.jett/screenshot.png new file mode 100644 index 00000000..976f30f9 Binary files /dev/null and b/plugins/c9.ide.theme.jett/screenshot.png differ diff --git a/plugins/c9.ide.ui/lib/splitbox.js b/plugins/c9.ide.ui/lib/splitbox.js index 7812e2c4..76c70360 100644 --- a/plugins/c9.ide.ui/lib/splitbox.js +++ b/plugins/c9.ide.ui/lib/splitbox.js @@ -1482,6 +1482,7 @@ apf.splitter.templates = { } apf.plane.setCursor(_self.type == "vertical" ? "ew-resize" : "ns-resize"); + _self.$ext.classList.add("hover"); _self.$setStyleClass(this, _self.$baseCSSname + "Moving"); @@ -1490,6 +1491,7 @@ apf.splitter.templates = { if (!e) e = event; _self.$setStyleClass(_self.$ext, "", [_self.$baseCSSname + "Moving"]); + _self.$ext.classList.remove("hover"); update(e, true); diff --git a/plugins/c9.static/build.js b/plugins/c9.static/build.js index a6d26cf8..ba19ebb5 100644 --- a/plugins/c9.static/build.js +++ b/plugins/c9.static/build.js @@ -132,9 +132,15 @@ function main(options, imports, register) { compileLess: true, lessLibs: [ "plugins/c9.ide.layout.classic/less/lesshat.less", - "plugins/c9.ide.layout.classic/themes/default-" + color + ".less", - "plugins/c9.ide.layout.classic/themes/" + color + ".less" - ], + ].concat( + color == "jett-dark" ? [ + "plugins/c9.ide.theme.jett/less/overrides.less", + "plugins/c9.ide.theme.jett/less/variables.less" + ] : [ + "plugins/c9.ide.layout.classic/themes/default-" + color + ".less", + "plugins/c9.ide.layout.classic/themes/" + color + ".less" + ] + ), staticPrefix: "plugins/c9.ide.layout.classic", lessLibCacheKey: color, basepath: pathConfig.root, diff --git a/plugins/node_modules/architect-build/build.js b/plugins/node_modules/architect-build/build.js index 1eda37c4..38d6151c 100644 --- a/plugins/node_modules/architect-build/build.js +++ b/plugins/node_modules/architect-build/build.js @@ -247,7 +247,7 @@ function checkImages(css, opts, cache) { var file; var count = 0; var missingCount = 0; - css = css.replace(/(url\(['"]?)(?:\/static\/)?([^"')]+)|@file (\S+)/g, function(_, prefix, imagePath, fileId) { + css = css.replace(/(url\(['"]?)(?!https?:)(?:\/static\/)?([^"')]+)|@file (\S+)/g, function(_, prefix, imagePath, fileId) { if (fileId) { file = fileId; return _;