diff --git a/node_modules/architect-build/build.js b/node_modules/architect-build/build.js index baa2d583..37e3007a 100644 --- a/node_modules/architect-build/build.js +++ b/node_modules/architect-build/build.js @@ -4,7 +4,10 @@ var mkdirp = require("mkdirp"); var moduleDeps = require("./module-deps"); var path = require("path"); -function build(config, opts, callback){ +function build(config, opts, callback) { + if (opts.compileLess && opts.sources) + return compileLess(opts, opts.sources, callback); + if (!opts.configFile) { opts.configFile = "\nrequire.plugins = " + JSON.stringify(config, null, 4) @@ -155,50 +158,147 @@ function createOutputFolder(opts, cb) { } function compileLess(opts, sources, callback) { + var libs = opts.lessLibs; var less = stripLess(sources); var cssCode = []; var code = []; var cache = opts.cache; if (cache && !cache.less) cache.less = Object.create(null); - - var libs = opts.lessLibs; - less.forEach(function(file) { - var plugin = file.pkg.parent.plugin || {}; - if (file.pkg.id.match(/(keyframes|font-awesome)\.css$/)) { - cssCode.push(file.code - .replace(/@\{image-path\}/g, plugin.staticPrefix + "/images") - .replace(/@\{icon-path\}/g, plugin.staticPrefix + "/icons") - .replace(/@\{base-path\}/g, plugin.staticPrefix) - ); - return; - } + if (cache && !cache.images) + cache.images = Object.create(null); - var staticPrefix = plugin.staticPrefix || libs.staticPrefix; - // Complete paths, but not subdirectories like foo/images/bar.png - var lessCode = file.code.replace(/(["(])(images|icons)\//g, "$1" + staticPrefix + "/$2/"); - code.push("ß{" + lessPathLib(staticPrefix) + lessCode + "}"); - }); - - var ctx = { - paths: ["/"], - filename: opts.basepath + '/unknown.less', - compress: !!opts.compress - }; - code = lessPathLib("/static/" + libs.staticPrefix) + libs.join("\n") + code.join("\n"); - - var lessParser = require("less"); - return lessParser.parse(code, ctx, function(err, tree, imports, options) { - if (err) return callback(err); - - toCss(tree, imports, options, function(err, css) { - if (err) return callback(err); - - callback(null, { code: css.replace(/ß /g, "").replace(/^ +/gm, "\t") }); + function readLibs(cb) { + async.forEach(Object.keys(libs), function(key, next) { + var lib = libs[key]; + if (typeof lib !== "string") + return next(); + var path = moduleDeps.resolveModulePath(lib, opts.pathConfig.pathMap); + fs.readFile(path, "utf8", function(e, code) { + libs[key] = { code: code || "", id: lib }; + next(); + }); + }, function() { + cb(); }); + } + + function expandVariables(code, variables, plugin) { + variables["base-path"] = (plugin && plugin.staticPrefix || opts.staticPrefix); + variables["icon-path"] = variables["base-path"] + "/icons"; + variables["image-path"] = variables["base-path"] + "/images"; + variables["plugin-path"] = plugin + ? "/static/" + path.dirname(plugin.packagePath) + : "plugin-path"; + + return code.replace(/@({([\w-]+)}|[\w-]+)/g, function(_, m, m1) { + var name = m1 || m; + return variables[name] || _; + }); + } + + function preprocess() { + less.forEach(function(file) { + var plugin = file.pkg.parent.plugin; + + var id = file.pkg.id.replace(/^[^!]+!/, ""); + code.push( + "/* @file " + id + " */\nß{" + + expandVariables(file.code, Object.create(null), plugin) + + "}" + ); + }); + code = code.join("\n") + + expandVariables(libs.map(function(l) { + return l.code ? "/* @file " + l.id + " */\n" + l.code : ""; + }).join("\n"), Object.create(null)); + } + + function compile() { + var ctx = { + paths: ["/"], + filename: opts.basepath + '/unknown.less', + compress: !!opts.compress + }; + var lessParser = require("less"); + return lessParser.parse(code, ctx, function(err, tree, imports, options) { + if (err) return callback(err); + + toCss(tree, imports, options, function(err, css) { + if (err) return callback(err); + css = css.replace(/ß /g, "").replace(/^ +/gm, "\t"); + css = checkImages(css, opts, cache); + css = addCssPrefixes(css); + callback(null, { code: css }); + }); + }); + } + + + readLibs(function() { + preprocess(); + compile(); }); } +function checkImages(css, opts, cache) { + var images = cache && cache.images || Object.create(null); + var t = Date.now(); + var file; + var count = 0; + var missingCount = 0; + css = css.replace(/(url\(['"]?)(?:\/static\/)?([^"')]+)|@file (\S+)/g, function(_, prefix, imagePath, fileId) { + if (fileId) { + file = fileId; + return _; + } + if (/^data:|^#/.test(imagePath)) + return _; + count++; + + if (/^(images|icons)/.test(imagePath)) + imagePath = opts.staticPrefix + "/" + imagePath; + + var dir = path.dirname(imagePath); + var name = path.basename(imagePath); + try { + if (!images[dir]) { + var absPath = moduleDeps.resolveModulePath(dir, opts.pathConfig.pathMap); + images[dir] = fs.readdirSync(absPath); + } + } catch (e) { + images[dir] = []; + } + var nameNx = name.replace("@1x", ""); + var name1x = nameNx.replace(/\.\w+$/, "@1x$&"); + var name2x = nameNx.replace(/\.\w+$/, "@2x$&"); + + var hasNx = images[dir].indexOf(nameNx) != -1; + var has1x = images[dir].indexOf(name1x) != -1; + var has2x = images[dir].indexOf(name2x) != -1; + + if (hasNx) { + name = nameNx; + } else if (has1x) { + name = name1x; + if (!has2x) + reportError(imagePath + " 2x"); + } + else { + reportError(imagePath); + } + + // todo check image sizes + return prefix + "/static/" + dir + "/" + name; + }); + + function reportError(imagePath) { + missingCount++; + console.log("" + missingCount + " missing image: " + imagePath, "from /" + file); + } + console.log("checked " + count + " images in " + (t - Date.now()) + "ms"); + return css; +} function addCssPrefixes(css) { return css.replace(/\b(user-select|font-smoothing)\b([^;\n]+);?/g, function(_, prop, value, index, string) { @@ -226,24 +326,14 @@ function toCss(tree, imports, options, callback) { catch (err) { return callback(err); } - css = addCssPrefixes(css); callback(null, css); } -function lessPathLib(staticPrefix) { - if (!staticPrefix) return ""; - - staticPrefix = staticPrefix.replace(/^(\/static\/)?(plugins\/)?/, "/static/plugins/"); - - return "@base-path : \"" + staticPrefix + "\";\n" - + "@image-path : \"" + staticPrefix + "/images\";\n" - + "@icon-path : \"" + staticPrefix + "/icons\";\n"; -} - function stripLess(sources) { var less = []; function addLessFile(pkg, code, file) { + pkg.cssSource = code; less.push({ pkg: pkg, code: code, @@ -252,7 +342,10 @@ function stripLess(sources) { } sources.forEach(function(pkg) { - if (pkg.id && (pkg.id.indexOf("text!") > -1) && pkg.id.match(/text\!.*\.(less|css)$/)) { + if (pkg.cssSource != null) { + addLessFile(pkg, pkg.cssSource); + } + else if (pkg.id && (pkg.id.indexOf("text!") > -1) && pkg.id.match(/text\!.*\.(less|css)$/)) { var source = pkg.source; pkg.source = ""; diff --git a/plugins/c9.ide.ace.gotoline/skin.xml b/plugins/c9.ide.ace.gotoline/skin.xml index 50c6a237..7214d244 100644 --- a/plugins/c9.ide.ace.gotoline/skin.xml +++ b/plugins/c9.ide.ace.gotoline/skin.xml @@ -86,30 +86,10 @@ border: @gotoline-border-dark; border-left: 0; } - .brGtlContent { - } - .barGotoline .brGtlTop { - background: url(images/barGotoLineCorners.png) no-repeat 0 0; - height: 3px; - width: 4px; - position: absolute; - top: -3px; - left:0; - } - .barGotoline .brGtlBottom { - background: url(images/barGotoLineCorners.png) no-repeat 0 -3px; - height: 3px; - width: 4px; - position: absolute; - bottom: -3px; - left:0; - } ]]>
-
-
diff --git a/plugins/c9.ide.ace.statusbar/statusbar.xml b/plugins/c9.ide.ace.statusbar/statusbar.xml index ce4b2829..6be7b3d1 100644 --- a/plugins/c9.ide.ace.statusbar/statusbar.xml +++ b/plugins/c9.ide.ace.statusbar/statusbar.xml @@ -34,7 +34,7 @@ skin = "btn-statusbar-icon" skinset = "c9statusbar" height = "23" - icon = "pref-ico.png" + icon = "true" submenudir = "up" /> \ No newline at end of file diff --git a/plugins/c9.ide.behaviors/images/splits.png b/plugins/c9.ide.behaviors/images/splits@1x.png similarity index 100% rename from plugins/c9.ide.behaviors/images/splits.png rename to plugins/c9.ide.behaviors/images/splits@1x.png diff --git a/plugins/c9.ide.behaviors/images/splits_flat_dark.png b/plugins/c9.ide.behaviors/images/splits_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.behaviors/images/splits_flat_dark.png rename to plugins/c9.ide.behaviors/images/splits_flat_dark@1x.png diff --git a/plugins/c9.ide.behaviors/images/splits_flat_light.png b/plugins/c9.ide.behaviors/images/splits_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.behaviors/images/splits_flat_light.png rename to plugins/c9.ide.behaviors/images/splits_flat_light@1x.png diff --git a/plugins/c9.ide.collab/members/images/collab-led-states.png b/plugins/c9.ide.collab/members/images/collab-led-states@1x.png similarity index 100% rename from plugins/c9.ide.collab/members/images/collab-led-states.png rename to plugins/c9.ide.collab/members/images/collab-led-states@1x.png diff --git a/plugins/c9.ide.collab/members/images/collab-led-states_flat_light.png b/plugins/c9.ide.collab/members/images/collab-led-states_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.collab/members/images/collab-led-states_flat_light.png rename to plugins/c9.ide.collab/members/images/collab-led-states_flat_light@1x.png diff --git a/plugins/c9.ide.collab/members/images/trash-icon.png b/plugins/c9.ide.collab/members/images/trash-icon@1x.png similarity index 100% rename from plugins/c9.ide.collab/members/images/trash-icon.png rename to plugins/c9.ide.collab/members/images/trash-icon@1x.png diff --git a/plugins/c9.ide.collab/notifications/images/bk-close-btn.png b/plugins/c9.ide.collab/notifications/images/bk-close-btn@1x.png similarity index 100% rename from plugins/c9.ide.collab/notifications/images/bk-close-btn.png rename to plugins/c9.ide.collab/notifications/images/bk-close-btn@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/close_tab_btn.png b/plugins/c9.ide.collab/timeslider/images/close_tab_btn@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/close_tab_btn.png rename to plugins/c9.ide.collab/timeslider/images/close_tab_btn@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/pause.png b/plugins/c9.ide.collab/timeslider/images/pause@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/pause.png rename to plugins/c9.ide.collab/timeslider/images/pause@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/pause_flat_light.png b/plugins/c9.ide.collab/timeslider/images/pause_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/pause_flat_light.png rename to plugins/c9.ide.collab/timeslider/images/pause_flat_light@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/play.png b/plugins/c9.ide.collab/timeslider/images/play@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/play.png rename to plugins/c9.ide.collab/timeslider/images/play@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/play_flat_light.png b/plugins/c9.ide.collab/timeslider/images/play_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/play_flat_light.png rename to plugins/c9.ide.collab/timeslider/images/play_flat_light@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/scrubber_flat_light.png b/plugins/c9.ide.collab/timeslider/images/scrubber_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/scrubber_flat_light.png rename to plugins/c9.ide.collab/timeslider/images/scrubber_flat_light@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/stepper_buttons.png b/plugins/c9.ide.collab/timeslider/images/stepper_buttons@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/stepper_buttons.png rename to plugins/c9.ide.collab/timeslider/images/stepper_buttons@1x.png diff --git a/plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light.png b/plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light.png rename to plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light@1x.png diff --git a/plugins/c9.ide.console/style.css b/plugins/c9.ide.console/style.css index 67c27050..ddec3371 100644 --- a/plugins/c9.ide.console/style.css +++ b/plugins/c9.ide.console/style.css @@ -8,12 +8,5 @@ } .console .console_close_btn { - background-image: url("@{icon-path}/@{button-console-close}"); -} - -@media print, (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) { - .console .console_close_btn { - background-image: url("@{icon-path}/@{button-console-close-retina}"); - background-size: 22px 66px; - } + .image-2x("@{icon-path}/@{button-console-close}", 22px, 66px); } \ No newline at end of file diff --git a/plugins/c9.ide.find.replace/findreplace.css b/plugins/c9.ide.find.replace/findreplace.css index eabb424a..4b4645a4 100644 --- a/plugins/c9.ide.find.replace/findreplace.css +++ b/plugins/c9.ide.find.replace/findreplace.css @@ -18,10 +18,10 @@ } .btnquicksearchnav.btnquicksearchnavLeft .lbl span { - background-image: url("@{icon-path}/@{find-next-image}"); + .image-2x("@{icon-path}/@{find-next-image}", 20px, 100px); } .btnquicksearchnav.btnquicksearchnavRight .lbl span { - background-image: url("@{icon-path}/@{find-previous-image}"); + .image-2x("@{icon-path}/@{find-previous-image}", 20px, 100px); } .findInRangeMarker { diff --git a/plugins/c9.ide.find.replace/icons/arrow_left_search.png b/plugins/c9.ide.find.replace/icons/arrow_left_search@1x.png similarity index 100% rename from plugins/c9.ide.find.replace/icons/arrow_left_search.png rename to plugins/c9.ide.find.replace/icons/arrow_left_search@1x.png diff --git a/plugins/c9.ide.find.replace/icons/arrow_left_search_flat_light.png b/plugins/c9.ide.find.replace/icons/arrow_left_search_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.find.replace/icons/arrow_left_search_flat_light.png rename to plugins/c9.ide.find.replace/icons/arrow_left_search_flat_light@1x.png diff --git a/plugins/c9.ide.find.replace/icons/arrow_right_search.png b/plugins/c9.ide.find.replace/icons/arrow_right_search@1x.png similarity index 100% rename from plugins/c9.ide.find.replace/icons/arrow_right_search.png rename to plugins/c9.ide.find.replace/icons/arrow_right_search@1x.png diff --git a/plugins/c9.ide.find.replace/icons/arrow_right_search_flat_light.png b/plugins/c9.ide.find.replace/icons/arrow_right_search_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.find.replace/icons/arrow_right_search_flat_light.png rename to plugins/c9.ide.find.replace/icons/arrow_right_search_flat_light@1x.png diff --git a/plugins/c9.ide.help/skin.xml b/plugins/c9.ide.help/skin.xml index 08977e4a..97b0a444 100644 --- a/plugins/c9.ide.help/skin.xml +++ b/plugins/c9.ide.help/skin.xml @@ -15,7 +15,7 @@ .aboutDialogBox .aboutImage { position:relative; color: white; - background: url(images/about_cloud.png) no-repeat 0 0; + background: url(@plugin-path/images/about_cloud.png) no-repeat 0 0; width: 515px; height: 339px; } @@ -29,7 +29,7 @@ .win-help-about .buttons .close { height: 20px; width: 19px; - background: url(images/close.png) no-repeat 4px 3px; + background: url(@plugin-path/images/close.png) no-repeat 4px 3px; } .win-help-about .buttons .close.hover { diff --git a/plugins/c9.ide.imgeditor/style.css b/plugins/c9.ide.imgeditor/style.css index a41bc9af..13ff6dda 100644 --- a/plugins/c9.ide.imgeditor/style.css +++ b/plugins/c9.ide.imgeditor/style.css @@ -42,7 +42,7 @@ } .imgeditor canvas{ - background: url("@{image-path}/background.png"); + background: url("@{plugin-path}/images/background.png"); cursor: crosshair; box-shadow: 0 0 8px rgba(0,0,0,0.5); display: inline-block; diff --git a/plugins/c9.ide.language/images/event.png b/plugins/c9.ide.language/images/event@1x.png similarity index 100% rename from plugins/c9.ide.language/images/event.png rename to plugins/c9.ide.language/images/event@1x.png diff --git a/plugins/c9.ide.language/images/event_flat_light.png b/plugins/c9.ide.language/images/event_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/event_flat_light.png rename to plugins/c9.ide.language/images/event_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/method2.png b/plugins/c9.ide.language/images/method2@1x.png similarity index 100% rename from plugins/c9.ide.language/images/method2.png rename to plugins/c9.ide.language/images/method2@1x.png diff --git a/plugins/c9.ide.language/images/method2_flat_light.png b/plugins/c9.ide.language/images/method2_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/method2_flat_light.png rename to plugins/c9.ide.language/images/method2_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/method.png b/plugins/c9.ide.language/images/method@1x.png similarity index 100% rename from plugins/c9.ide.language/images/method.png rename to plugins/c9.ide.language/images/method@1x.png diff --git a/plugins/c9.ide.language/images/method_flat_light.png b/plugins/c9.ide.language/images/method_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/method_flat_light.png rename to plugins/c9.ide.language/images/method_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/package.png b/plugins/c9.ide.language/images/package@1x.png similarity index 100% rename from plugins/c9.ide.language/images/package.png rename to plugins/c9.ide.language/images/package@1x.png diff --git a/plugins/c9.ide.language/images/package_flat_light.png b/plugins/c9.ide.language/images/package_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/package_flat_light.png rename to plugins/c9.ide.language/images/package_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/property2.png b/plugins/c9.ide.language/images/property2@1x.png similarity index 100% rename from plugins/c9.ide.language/images/property2.png rename to plugins/c9.ide.language/images/property2@1x.png diff --git a/plugins/c9.ide.language/images/property2_flat_light.png b/plugins/c9.ide.language/images/property2_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/property2_flat_light.png rename to plugins/c9.ide.language/images/property2_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/property.png b/plugins/c9.ide.language/images/property@1x.png similarity index 100% rename from plugins/c9.ide.language/images/property.png rename to plugins/c9.ide.language/images/property@1x.png diff --git a/plugins/c9.ide.language/images/property_flat_light.png b/plugins/c9.ide.language/images/property_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/property_flat_light.png rename to plugins/c9.ide.language/images/property_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/tree_close_arrow_small.png b/plugins/c9.ide.language/images/tree_close_arrow_small@1x.png similarity index 100% rename from plugins/c9.ide.language/images/tree_close_arrow_small.png rename to plugins/c9.ide.language/images/tree_close_arrow_small@1x.png diff --git a/plugins/c9.ide.language/images/unknown2_flat_light.png b/plugins/c9.ide.language/images/unknown2_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/unknown2_flat_light.png rename to plugins/c9.ide.language/images/unknown2_flat_light@1x.png diff --git a/plugins/c9.ide.language/images/unknown_flat_light.png b/plugins/c9.ide.language/images/unknown_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.language/images/unknown_flat_light.png rename to plugins/c9.ide.language/images/unknown_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/bug.png b/plugins/c9.ide.layout.classic/icons/bug@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/bug.png rename to plugins/c9.ide.layout.classic/icons/bug@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/bug_flat_dark.png b/plugins/c9.ide.layout.classic/icons/bug_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/bug_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/bug_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/bug_flat_light.png b/plugins/c9.ide.layout.classic/icons/bug_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/bug_flat_light.png rename to plugins/c9.ide.layout.classic/icons/bug_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/console_close_btn.png b/plugins/c9.ide.layout.classic/icons/console_close_btn@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/console_close_btn.png rename to plugins/c9.ide.layout.classic/icons/console_close_btn@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/console_close_btn_dark.png b/plugins/c9.ide.layout.classic/icons/console_close_btn_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/console_close_btn_dark.png rename to plugins/c9.ide.layout.classic/icons/console_close_btn_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj.gif b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj.gif rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition_disabled.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition_disabled@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition_disabled.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_condition_disabled@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_condition.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_condition@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_condition.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_condition@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_current_line_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_current_line_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_current_line_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_current_line_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_current_line_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_disabled_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/brkp_obj_warn_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/brkpd_obj_disabled.gif b/plugins/c9.ide.layout.classic/icons/debugger/brkpd_obj_disabled@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/brkpd_obj_disabled.gif rename to plugins/c9.ide.layout.classic/icons/debugger/brkpd_obj_disabled@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/debugger/current_line_dark.png b/plugins/c9.ide.layout.classic/icons/debugger/current_line_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/current_line_dark.png rename to plugins/c9.ide.layout.classic/icons/debugger/current_line_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj.gif b/plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj.gif rename to plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj_flat_light.png b/plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj_flat_light.png rename to plugins/c9.ide.layout.classic/icons/debugger/genericvariable_obj_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/debugger/stack_co.png b/plugins/c9.ide.layout.classic/icons/debugger/stack_co@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/debugger/stack_co.png rename to plugins/c9.ide.layout.classic/icons/debugger/stack_co@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/exception_break.png b/plugins/c9.ide.layout.classic/icons/exception_break@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/exception_break.png rename to plugins/c9.ide.layout.classic/icons/exception_break@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/exception_break_flat_dark.png b/plugins/c9.ide.layout.classic/icons/exception_break_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/exception_break_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/exception_break_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/exception_break_flat_light.png b/plugins/c9.ide.layout.classic/icons/exception_break_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/exception_break_flat_light.png rename to plugins/c9.ide.layout.classic/icons/exception_break_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-dark-unfocus_flat_light.gif b/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-dark-unfocus_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-dark-unfocus_flat_light.gif rename to plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-dark-unfocus_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-selected_flat_light.gif b/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-selected_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-selected_flat_light.gif rename to plugins/c9.ide.layout.classic/icons/file-tree-load-spinner-selected_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner_flat_light.gif b/plugins/c9.ide.layout.classic/icons/file-tree-load-spinner_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/icons/file-tree-load-spinner_flat_light.gif rename to plugins/c9.ide.layout.classic/icons/file-tree-load-spinner_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/icons/folder.png b/plugins/c9.ide.layout.classic/icons/folder@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/folder.png rename to plugins/c9.ide.layout.classic/icons/folder@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/folder_alternative.png b/plugins/c9.ide.layout.classic/icons/folder_alternative@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/folder_alternative.png rename to plugins/c9.ide.layout.classic/icons/folder_alternative@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/folder_flat_dark.png b/plugins/c9.ide.layout.classic/icons/folder_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/folder_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/folder_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/folder_flat_light.png b/plugins/c9.ide.layout.classic/icons/folder_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/folder_flat_light.png rename to plugins/c9.ide.layout.classic/icons/folder_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/folder_light.png b/plugins/c9.ide.layout.classic/icons/folder_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/folder_light.png rename to plugins/c9.ide.layout.classic/icons/folder_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pause.png b/plugins/c9.ide.layout.classic/icons/pause@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pause.png rename to plugins/c9.ide.layout.classic/icons/pause@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pause_flat_dark.png b/plugins/c9.ide.layout.classic/icons/pause_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pause_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/pause_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pause_flat_light.png b/plugins/c9.ide.layout.classic/icons/pause_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pause_flat_light.png rename to plugins/c9.ide.layout.classic/icons/pause_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/play.png b/plugins/c9.ide.layout.classic/icons/play@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/play.png rename to plugins/c9.ide.layout.classic/icons/play@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/play_flat_dark.png b/plugins/c9.ide.layout.classic/icons/play_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/play_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/play_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/play_flat_light.png b/plugins/c9.ide.layout.classic/icons/play_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/play_flat_light.png rename to plugins/c9.ide.layout.classic/icons/play_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pref-ico.png b/plugins/c9.ide.layout.classic/icons/pref-ico@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pref-ico.png rename to plugins/c9.ide.layout.classic/icons/pref-ico@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pref-ico_flat_dark.png b/plugins/c9.ide.layout.classic/icons/pref-ico_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pref-ico_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/pref-ico_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/pref-ico_flat_light.png b/plugins/c9.ide.layout.classic/icons/pref-ico_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/pref-ico_flat_light.png rename to plugins/c9.ide.layout.classic/icons/pref-ico_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/remove_breakpoints.png b/plugins/c9.ide.layout.classic/icons/remove_breakpoints@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/remove_breakpoints.png rename to plugins/c9.ide.layout.classic/icons/remove_breakpoints@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_dark.png b/plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_light.png b/plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_light.png rename to plugins/c9.ide.layout.classic/icons/remove_breakpoints_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/restart-icon.png b/plugins/c9.ide.layout.classic/icons/restart-icon@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/restart-icon.png rename to plugins/c9.ide.layout.classic/icons/restart-icon@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/restart-icon_flat_light.png b/plugins/c9.ide.layout.classic/icons/restart-icon_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/restart-icon_flat_light.png rename to plugins/c9.ide.layout.classic/icons/restart-icon_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/run.png b/plugins/c9.ide.layout.classic/icons/run@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/run.png rename to plugins/c9.ide.layout.classic/icons/run@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/run_flat_dark.png b/plugins/c9.ide.layout.classic/icons/run_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/run_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/run_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/run_flat_light.png b/plugins/c9.ide.layout.classic/icons/run_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/run_flat_light.png rename to plugins/c9.ide.layout.classic/icons/run_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/scripts.png b/plugins/c9.ide.layout.classic/icons/scripts@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/scripts.png rename to plugins/c9.ide.layout.classic/icons/scripts@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/scripts_flat_light.png b/plugins/c9.ide.layout.classic/icons/scripts_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/scripts_flat_light.png rename to plugins/c9.ide.layout.classic/icons/scripts_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/search-ico_flat_light.png b/plugins/c9.ide.layout.classic/icons/search-ico_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/search-ico_flat_light.png rename to plugins/c9.ide.layout.classic/icons/search-ico_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/step.png b/plugins/c9.ide.layout.classic/icons/step@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/step.png rename to plugins/c9.ide.layout.classic/icons/step@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/step_flat_dark.png b/plugins/c9.ide.layout.classic/icons/step_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/step_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/step_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/step_flat_light.png b/plugins/c9.ide.layout.classic/icons/step_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/step_flat_light.png rename to plugins/c9.ide.layout.classic/icons/step_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepback.png b/plugins/c9.ide.layout.classic/icons/stepback@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepback.png rename to plugins/c9.ide.layout.classic/icons/stepback@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepback_flat_dark.png b/plugins/c9.ide.layout.classic/icons/stepback_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepback_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/stepback_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepback_flat_light.png b/plugins/c9.ide.layout.classic/icons/stepback_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepback_flat_light.png rename to plugins/c9.ide.layout.classic/icons/stepback_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepinto.png b/plugins/c9.ide.layout.classic/icons/stepinto@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepinto.png rename to plugins/c9.ide.layout.classic/icons/stepinto@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepinto_flat_dark.png b/plugins/c9.ide.layout.classic/icons/stepinto_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepinto_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/stepinto_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stepinto_flat_light.png b/plugins/c9.ide.layout.classic/icons/stepinto_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stepinto_flat_light.png rename to plugins/c9.ide.layout.classic/icons/stepinto_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stop.png b/plugins/c9.ide.layout.classic/icons/stop@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stop.png rename to plugins/c9.ide.layout.classic/icons/stop@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/stop_flat_light.png b/plugins/c9.ide.layout.classic/icons/stop_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/stop_flat_light.png rename to plugins/c9.ide.layout.classic/icons/stop_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_dark.png b/plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_light.png b/plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_light.png rename to plugins/c9.ide.layout.classic/icons/toggle_breakpoints1_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2.png b/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/toggle_breakpoints2.png rename to plugins/c9.ide.layout.classic/icons/toggle_breakpoints2@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_dark.png b/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_dark.png rename to plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_light.png b/plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_light.png rename to plugins/c9.ide.layout.classic/icons/toggle_breakpoints2_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_error_dark.png b/plugins/c9.ide.layout.classic/images/ace_error_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_error_dark.png rename to plugins/c9.ide.layout.classic/images/ace_error_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_error_flat_light.png b/plugins/c9.ide.layout.classic/images/ace_error_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_error_flat_light.png rename to plugins/c9.ide.layout.classic/images/ace_error_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_error_light.png b/plugins/c9.ide.layout.classic/images/ace_error_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_error_light.png rename to plugins/c9.ide.layout.classic/images/ace_error_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_warning_dark.png b/plugins/c9.ide.layout.classic/images/ace_warning_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_warning_dark.png rename to plugins/c9.ide.layout.classic/images/ace_warning_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_warning_flat_light.png b/plugins/c9.ide.layout.classic/images/ace_warning_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_warning_flat_light.png rename to plugins/c9.ide.layout.classic/images/ace_warning_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/ace_warning_light_flat_light.png b/plugins/c9.ide.layout.classic/images/ace_warning_light_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/ace_warning_light_flat_light.png rename to plugins/c9.ide.layout.classic/images/ace_warning_light_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/arrow_down_grey.png b/plugins/c9.ide.layout.classic/images/arrow_down_grey@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/arrow_down_grey.png rename to plugins/c9.ide.layout.classic/images/arrow_down_grey@1x.png diff --git a/plugins/c9.ide.layout.classic/images/bk-close-btn.png b/plugins/c9.ide.layout.classic/images/bk-close-btn@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/bk-close-btn.png rename to plugins/c9.ide.layout.classic/images/bk-close-btn@1x.png diff --git a/plugins/c9.ide.layout.classic/images/btnclose.gif b/plugins/c9.ide.layout.classic/images/btnclose@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/btnclose.gif rename to plugins/c9.ide.layout.classic/images/btnclose@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/btnclose_flat_light.png b/plugins/c9.ide.layout.classic/images/btnclose_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/btnclose_flat_light.png rename to plugins/c9.ide.layout.classic/images/btnclose_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-logo-blue.png b/plugins/c9.ide.layout.classic/images/c9-logo-blue@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-logo-blue.png rename to plugins/c9.ide.layout.classic/images/c9-logo-blue@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-logo-white.png b/plugins/c9.ide.layout.classic/images/c9-logo-white@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-logo-white.png rename to plugins/c9.ide.layout.classic/images/c9-logo-white@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-no-repeat.png b/plugins/c9.ide.layout.classic/images/c9-no-repeat@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-no-repeat.png rename to plugins/c9.ide.layout.classic/images/c9-no-repeat@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_dark.png b/plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_dark.png rename to plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_light.png b/plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_light.png rename to plugins/c9.ide.layout.classic/images/c9-no-repeat_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-repeat-x.png b/plugins/c9.ide.layout.classic/images/c9-repeat-x@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-repeat-x.png rename to plugins/c9.ide.layout.classic/images/c9-repeat-x@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_dark.png b/plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_dark.png rename to plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_light.png b/plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_light.png rename to plugins/c9.ide.layout.classic/images/c9-repeat-x_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/checkbox_black.png b/plugins/c9.ide.layout.classic/images/checkbox_black@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/checkbox_black.png rename to plugins/c9.ide.layout.classic/images/checkbox_black@1x.png diff --git a/plugins/c9.ide.layout.classic/images/checkbox_black_flat_light.png b/plugins/c9.ide.layout.classic/images/checkbox_black_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/checkbox_black_flat_light.png rename to plugins/c9.ide.layout.classic/images/checkbox_black_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/checkbox_flat_light.png b/plugins/c9.ide.layout.classic/images/checkbox_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/checkbox_flat_light.png rename to plugins/c9.ide.layout.classic/images/checkbox_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/clear_dark_flat_light.png b/plugins/c9.ide.layout.classic/images/clear_dark_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/clear_dark_flat_light.png rename to plugins/c9.ide.layout.classic/images/clear_dark_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/clear_light_flat_light.png b/plugins/c9.ide.layout.classic/images/clear_light_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/clear_light_flat_light.png rename to plugins/c9.ide.layout.classic/images/clear_light_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/close_tab_btn.png b/plugins/c9.ide.layout.classic/images/close_tab_btn@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/close_tab_btn.png rename to plugins/c9.ide.layout.classic/images/close_tab_btn@1x.png diff --git a/plugins/c9.ide.layout.classic/images/close_tab_btn_flat_light.png b/plugins/c9.ide.layout.classic/images/close_tab_btn_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/close_tab_btn_flat_light.png rename to plugins/c9.ide.layout.classic/images/close_tab_btn_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/dropdown-dark-glossy/button.png b/plugins/c9.ide.layout.classic/images/dropdown-dark-glossy/button@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/dropdown-dark-glossy/button.png rename to plugins/c9.ide.layout.classic/images/dropdown-dark-glossy/button@1x.png diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-selected.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-selected@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-selected.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-selected@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus_flat_light.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus_flat_light.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark-unfocus_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-dark@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected_flat_light.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected_flat_light.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner-selected_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/file-tree-load-spinner_flat_light.gif b/plugins/c9.ide.layout.classic/images/file-tree-load-spinner_flat_light@1x.gif similarity index 100% rename from plugins/c9.ide.layout.classic/images/file-tree-load-spinner_flat_light.gif rename to plugins/c9.ide.layout.classic/images/file-tree-load-spinner_flat_light@1x.gif diff --git a/plugins/c9.ide.layout.classic/images/gecko_mask_flat_light.png b/plugins/c9.ide.layout.classic/images/gecko_mask_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/gecko_mask_flat_light.png rename to plugins/c9.ide.layout.classic/images/gecko_mask_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/loading-logo.png b/plugins/c9.ide.layout.classic/images/loading-logo@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/loading-logo.png rename to plugins/c9.ide.layout.classic/images/loading-logo@1x.png diff --git a/plugins/c9.ide.layout.classic/images/maximize.png b/plugins/c9.ide.layout.classic/images/maximize@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/maximize.png rename to plugins/c9.ide.layout.classic/images/maximize@1x.png diff --git a/plugins/c9.ide.layout.classic/images/maximize_dark.png b/plugins/c9.ide.layout.classic/images/maximize_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/maximize_dark.png rename to plugins/c9.ide.layout.classic/images/maximize_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/running_flat_light.png b/plugins/c9.ide.layout.classic/images/running_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/running_flat_light.png rename to plugins/c9.ide.layout.classic/images/running_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab-save-spinner-active.png b/plugins/c9.ide.layout.classic/images/tab-save-spinner-active@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab-save-spinner-active.png rename to plugins/c9.ide.layout.classic/images/tab-save-spinner-active@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab-save-spinner-active_flat_light.png b/plugins/c9.ide.layout.classic/images/tab-save-spinner-active_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab-save-spinner-active_flat_light.png rename to plugins/c9.ide.layout.classic/images/tab-save-spinner-active_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_menu.png b/plugins/c9.ide.layout.classic/images/tab_menu@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_menu.png rename to plugins/c9.ide.layout.classic/images/tab_menu@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_menu_dark.png b/plugins/c9.ide.layout.classic/images/tab_menu_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_menu_dark.png rename to plugins/c9.ide.layout.classic/images/tab_menu_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_menu_flat_light.png b/plugins/c9.ide.layout.classic/images/tab_menu_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_menu_flat_light.png rename to plugins/c9.ide.layout.classic/images/tab_menu_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_plus.png b/plugins/c9.ide.layout.classic/images/tab_plus@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_plus.png rename to plugins/c9.ide.layout.classic/images/tab_plus@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_plus_dark.png b/plugins/c9.ide.layout.classic/images/tab_plus_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_plus_dark.png rename to plugins/c9.ide.layout.classic/images/tab_plus_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tab_plus_flat_light.png b/plugins/c9.ide.layout.classic/images/tab_plus_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tab_plus_flat_light.png rename to plugins/c9.ide.layout.classic/images/tab_plus_flat_light@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tabsave-flat.png b/plugins/c9.ide.layout.classic/images/tabsave-flat@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tabsave-flat.png rename to plugins/c9.ide.layout.classic/images/tabsave-flat@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tabsave.png b/plugins/c9.ide.layout.classic/images/tabsave@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tabsave.png rename to plugins/c9.ide.layout.classic/images/tabsave@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tree_close_arrow_small.png b/plugins/c9.ide.layout.classic/images/tree_close_arrow_small@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tree_close_arrow_small.png rename to plugins/c9.ide.layout.classic/images/tree_close_arrow_small@1x.png diff --git a/plugins/c9.ide.layout.classic/images/tree_close_arrow_small_dark.png b/plugins/c9.ide.layout.classic/images/tree_close_arrow_small_dark@1x.png similarity index 100% rename from plugins/c9.ide.layout.classic/images/tree_close_arrow_small_dark.png rename to plugins/c9.ide.layout.classic/images/tree_close_arrow_small_dark@1x.png diff --git a/plugins/c9.ide.layout.classic/layout.js b/plugins/c9.ide.layout.classic/layout.js index c2f32a63..e68821b0 100644 --- a/plugins/c9.ide.layout.classic/layout.js +++ b/plugins/c9.ide.layout.classic/layout.js @@ -24,6 +24,8 @@ define(function(require, exports, module) { var plugin = new Plugin("Ajax.org", main.consumes); var emit = plugin.getEmitter(); + var highResolution = c9.location.indexOf("2x=1") > -1; + var dashboardUrl = options.dashboardUrl || "/dashboard.html"; var logobar, removeTheme, theme; @@ -109,7 +111,7 @@ define(function(require, exports, module) { // Offline // preload the offline images programmatically: [ - "noconnection.png", "close_tab_btn.png" + "close_tab_btn@1x.png" ].forEach(function(p) { var img = new Image(); img.src = options.staticPrefix + "/images/" + p; @@ -135,6 +137,15 @@ define(function(require, exports, module) { "flat-dark": 1 }; + function setImageResolution(value) { + if (window.matchMedia) { + var mq = window.matchMedia("(-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) "); + if (mq.matches || highResolution) + return value.replace(/@1x/g, "@2x"); + } + return value; + } + function updateTheme(noquestion, type) { var sTheme = settings.get("user/general/@skin"); if (!allowedThemes[sTheme]) @@ -160,6 +171,8 @@ define(function(require, exports, module) { theme = theme.replace(/(url\(["']?)\/static\/plugins\//g, function(_, x) { return x + url; }); + theme = setImageResolution(theme); + // Load the theme css ui.insertCss(theme, false, { addOther: function(remove) { removeTheme = remove; } diff --git a/plugins/c9.ide.layout.classic/less/button.less b/plugins/c9.ide.layout.classic/less/button.less index 4bab093e..48d5c467 100644 --- a/plugins/c9.ide.layout.classic/less/button.less +++ b/plugins/c9.ide.layout.classic/less/button.less @@ -450,10 +450,9 @@ .submenu .lbl .btnArrow { display : inline-block; - background-image : url("@{image-path}/arrow_small.png"); + background-image : url("@{image-path}/btn-arrow.png"); background-repeat : no-repeat; } - .btn .lbl { margin : 0; diff --git a/plugins/c9.ide.layout.classic/less/datagrid.less b/plugins/c9.ide.layout.classic/less/datagrid.less index 1efbbb10..2b961978 100644 --- a/plugins/c9.ide.layout.classic/less/datagrid.less +++ b/plugins/c9.ide.layout.classic/less/datagrid.less @@ -413,7 +413,7 @@ } .datagrid .loading>.treecell strong{ - background : url("@{image-path}/file-tree-load-spinner.gif") no-repeat 0 0; + .image-2x("@{tree-spinner}", @tree-spinner-width, @tree-spinner-height); width : 16px; height : 16px; top : -2px !important; @@ -422,7 +422,7 @@ margin-right : -3px !important; } .datagrid .loading.selected>.treecell strong{ - background : url("@{image-path}/file-tree-load-spinner-selected.gif") no-repeat 0 0; + .image-2x("@{tree-selected-focus-spinner}", @tree-spinner-width, @tree-spinner-height); } .datagrid .row>span{ vertical-align : top; diff --git a/plugins/c9.ide.layout.classic/less/frame.less b/plugins/c9.ide.layout.classic/less/frame.less index 735fc232..70833dff 100644 --- a/plugins/c9.ide.layout.classic/less/frame.less +++ b/plugins/c9.ide.layout.classic/less/frame.less @@ -59,11 +59,11 @@ position : absolute; right : 5px; top : 4px; - background : url("@{image-path}/@{frame-close-button}") no-repeat 0 -14px; + background : url("@{image-path}/@{frame-close-button}") 0 -14px/42px 28px no-repeat; cursor : pointer; z-index : 10; } - + .frame .buttons div.close:hover { background-position : -14px -14px; } .frame .buttons div.close:active { background-position : -28px -14px; } diff --git a/plugins/c9.ide.layout.classic/less/lesshat.less b/plugins/c9.ide.layout.classic/less/lesshat.less index 302260e5..ade915fe 100755 --- a/plugins/c9.ide.layout.classic/less/lesshat.less +++ b/plugins/c9.ide.layout.classic/less/lesshat.less @@ -20,13 +20,9 @@ .image-2x(@image; @width; @height; @repeat: no-repeat; @important: false) { @filename : ~`/(.*)\.(jpg|jpeg|png|gif)|$/.exec(@{image})[1] || ""`; @extension : ~`/(.*)\.(jpg|jpeg|png|gif)|$/.exec(@{image})[2] || ""`; - background-image: ~`(function(){ return "url(@{filename}.@{extension})" + ("@{important}" == "true" ? ' !important' : '');})()`; background-repeat: @repeat; - - @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) { - background-image: ~`(function(){ return "url(@{filename}@2x.@{extension})" + ("@{important}" == "true" ? ' !important' : '');})()`; - background-size: ~`(function(){ return "@{width} @{height}" + ("@{important}" == "true" ? ' !important' : '');})()`; - } + background-image: ~`(function(){ return "url(@{filename}@1x.@{extension})" + ("@{important}" == "true" ? ' !important' : '');})()`; + background-size: ~`(function(){ return "@{width} @{height}" + ("@{important}" == "true" ? ' !important' : '');})()`; } .display(@state){ .display(@state) when (@state = true) { diff --git a/plugins/c9.ide.layout.classic/less/searchbox.less b/plugins/c9.ide.layout.classic/less/searchbox.less index 461ec5aa..60e51805 100644 --- a/plugins/c9.ide.layout.classic/less/searchbox.less +++ b/plugins/c9.ide.layout.classic/less/searchbox.less @@ -114,7 +114,7 @@ font-smoothing: true; } .searchbox.dark .btnclose{ - background-image: url("@{image-path}/btnclose_flat_light.png"); + .image-2x("@{image-path}/btnclose_flat_light.png", 14px, 28px); } .searchbox.dark .ace-tm .ace_cursor{ color : #919191 !important; diff --git a/plugins/c9.ide.layout.classic/loading-flat.css b/plugins/c9.ide.layout.classic/loading-flat.css index 25c7e30e..2808067b 100644 --- a/plugins/c9.ide.layout.classic/loading-flat.css +++ b/plugins/c9.ide.layout.classic/loading-flat.css @@ -27,7 +27,7 @@ } #c9logo{ - background-image: url(images/c9-logo-blue.png); + background-image: url(images/c9-logo-blue@1x.png); background-repeat: no-repeat; background-position: 50% 30%; position: relative; @@ -38,7 +38,7 @@ height: 279px; } .dark #c9logo{ - background-image: url(images/c9-logo-white.png); + background-image: url(images/c9-logo-white@1x.png); } @media screen and (max-height: 600px) { diff --git a/plugins/c9.ide.layout.classic/loading.css b/plugins/c9.ide.layout.classic/loading.css index e9a7c34d..ca46f202 100644 --- a/plugins/c9.ide.layout.classic/loading.css +++ b/plugins/c9.ide.layout.classic/loading.css @@ -1,5 +1,5 @@ #loadingide { - background-image: url(images/loading-logo.png); + background-image: url(images/loading-logo@1x.png); background-repeat: no-repeat; background-color: #222222; background-position: 50% 40%; diff --git a/plugins/c9.ide.layout.classic/skins.xml b/plugins/c9.ide.layout.classic/skins.xml index 98a24f02..4ec81650 100644 --- a/plugins/c9.ide.layout.classic/skins.xml +++ b/plugins/c9.ide.layout.classic/skins.xml @@ -69,7 +69,6 @@
-
diff --git a/plugins/c9.ide.layout.classic/themes/default-dark-gray.less b/plugins/c9.ide.layout.classic/themes/default-dark-gray.less index 7246ca15..49b067d2 100644 --- a/plugins/c9.ide.layout.classic/themes/default-dark-gray.less +++ b/plugins/c9.ide.layout.classic/themes/default-dark-gray.less @@ -230,8 +230,8 @@ @time-slider-play-border: 3px solid black; @time-slider-play-gradient: linear-gradient(to bottom, rgb(63, 63, 63), rgb(39, 39, 39)); @time-slider-play-box-shadow: 4px 6px 13px 0px rgba(0, 0, 0, 0.65), 0 1px rgba(255, 255, 255, 0.08); -@time-slider-play-icon-image: "@{image-path}/play.png"; -@time-slider-play-icon-pause-image: "@{image-path}/pause.png"; +@time-slider-play-icon-image: "plugins/c9.ide.collab/timeslider/images/play.png"; +@time-slider-play-icon-pause-image: "plugins/c9.ide.collab/timeslider/images/pause.png"; @time-slider-play-icon-image-width: 47px; @time-slider-play-icon-image-height: 47px; @time-slider-play-icon-background-position: -7px -6px; @@ -272,7 +272,7 @@ @time-slider-stepper-top: 20px; @time-slider-stepper-width: 25px; @time-slider-stepper-height: 20px; -@time-slider-stepper-image: "@{image-path}/stepper_buttons.png"; +@time-slider-stepper-image: "plugins/c9.ide.collab/timeslider/images/stepper_buttons.png"; @time-slider-stepper-image-width: 23px; @time-slider-stepper-image-height: 14px; @@ -328,7 +328,7 @@ @time-slider-revert-active-gradient: linear-gradient(to bottom, rgb(43, 43, 43) 0%, rgb(36, 36, 36) 100%); @time-slider-revert-active-padding: 2px 0px 0px 1px; -@time-slider-close-image: "@{image-path}/close_tab_btn.png"; +@time-slider-close-image: "plugins/c9.ide.collab/timeslider/images/close_tab_btn.png"; @time-slider-close-image-width: 42px; @time-slider-close-image-height: 28px; @time-slider-close-idle-position: 0 -14px; @@ -465,7 +465,7 @@ @pane-menu-upward-active-box-shadow: 0 1px lighten(#3d3d3d, @lighten-chrome), inset 0 -1px lighten(#525356, @lighten-chrome); @pane-menu-upward-active-gradient: linear-gradient(to bottom, lighten(#494949, @lighten-chrome) 0%, lighten(#4b4b4c, @lighten-chrome) 100%); -@pane-menu-splits-image: "@{image-path}/splits.png"; +@pane-menu-splits-image: "plugins/c9.ide.behaviors/images/splits.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 54px; @@ -977,7 +977,6 @@ @button-console-active-background: lighten(rgba(0, 0, 0, 0.09), @lighten-chrome); @button-console-close: "console_close_btn_dark.png"; -@button-console-close-retina: "console_close_btn_dark@2x.png"; @button-console-clear: "clear_dark.png"; @button-console-maximize: "maximize_dark.png"; @button-console-popout: "popout_dark.png"; @@ -1095,15 +1094,15 @@ @preview-chooser-font-size: 11px; @preview-chooser-font-weight: bold; -@preview-icon-close: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-close-width: 23px; @preview-icon-close-height: 280px; @preview-icon-close-position: 0 -66px; -@preview-icon-refresh: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-refresh-width: 23px; @preview-icon-refresh-height: 280px; @preview-icon-refresh-position: 0 -89px;; -@preview-icon-popout: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-popout-width: 23px; @preview-icon-popout-height: 280px; @preview-icon-popout-position: 0 -114px; @@ -1111,12 +1110,12 @@ @preview-icon-settings-width: @c9-repeat-x-width; @preview-icon-settings-height: @c9-repeat-x-height; @preview-icon-settings-position: 50% -366px; -@preview-icon-goforward: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goforward-width: 23px; @preview-icon-goforward-height: 280px; @preview-icon-goforward-position: 0 -185px; @preview-icon-goforward-disabled-position: 0 -209px; -@preview-icon-goback: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goback-width: 23px; @preview-icon-goback-height: 280px; @preview-icon-goback-position: 0 -137px; @@ -1388,23 +1387,23 @@ @complete-dark-paramhelp: lighten(#FFFFFF, @lighten-chrome); // Complete Icons -@complete-icon-event: "@{image-path}/event.png"; -@complete-icon-method: "@{image-path}/method.png"; -@complete-icon-method2: "@{image-path}/method2.png"; -@complete-icon-package: "@{image-path}/package.png"; -@complete-icon-property: "@{image-path}/property.png"; -@complete-icon-property2: "@{image-path}/property2.png"; +@complete-icon-event: "plugins/c9.ide.language/images/event.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2.png"; // Welcome @welcome-color: #333; -@welcome-background: lighten(#193342, @lighten-chrome) url("@{image-path}/welcome-cover.png"); +@welcome-background: lighten(#193342, @lighten-chrome) url("plugins/c9.ide.welcome/images/welcome-cover.png"); @welcome-top-border: lighten(rgba(255,255,255,0.03), @lighten-chrome); @welcome-color: lighten(#f1f1f1, @lighten-chrome); @welcome-font-smoothing: true; @welcome-highlight-color: lighten(#9BB11D, @lighten-chrome); @welcome-panel-border-color: lighten(rgba(255, 255, 255, 0.09), @lighten-chrome); @welcome-panel-background: lighten(rgba(255, 255, 255, 0.08), @lighten-chrome); -@welcome-logo-image: "@{image-path}/welcome-logo.png"; +@welcome-logo-image: "plugins/c9.ide.welcome/images/welcome-logo.png"; @welcome-logo-image-width: 155px; @welcome-logo-image-height: 103px; @welcome-alter-widgets: true; diff --git a/plugins/c9.ide.layout.classic/themes/default-dark.less b/plugins/c9.ide.layout.classic/themes/default-dark.less index bdcb5ab8..810924b8 100644 --- a/plugins/c9.ide.layout.classic/themes/default-dark.less +++ b/plugins/c9.ide.layout.classic/themes/default-dark.less @@ -230,8 +230,8 @@ @time-slider-play-border: 3px solid black; @time-slider-play-gradient: linear-gradient(to bottom, rgb(63, 63, 63), rgb(39, 39, 39)); @time-slider-play-box-shadow: 4px 6px 13px 0px rgba(0, 0, 0, 0.65), 0 1px rgba(255, 255, 255, 0.08); -@time-slider-play-icon-image: "@{image-path}/play.png"; -@time-slider-play-icon-pause-image: "@{image-path}/pause.png"; +@time-slider-play-icon-image: "plugins/c9.ide.collab/timeslider/images/play.png"; +@time-slider-play-icon-pause-image: "plugins/c9.ide.collab/timeslider/images/pause.png"; @time-slider-play-icon-image-width: 47px; @time-slider-play-icon-image-height: 47px; @time-slider-play-icon-background-position: -7px -6px; @@ -272,7 +272,7 @@ @time-slider-stepper-top: 20px; @time-slider-stepper-width: 25px; @time-slider-stepper-height: 20px; -@time-slider-stepper-image: "@{image-path}/stepper_buttons.png"; +@time-slider-stepper-image: "plugins/c9.ide.collab/timeslider/images/stepper_buttons.png"; @time-slider-stepper-image-width: 23px; @time-slider-stepper-image-height: 14px; @@ -328,7 +328,7 @@ @time-slider-revert-active-gradient: linear-gradient(to bottom, rgb(43, 43, 43) 0%, rgb(36, 36, 36) 100%); @time-slider-revert-active-padding: 2px 0px 0px 1px; -@time-slider-close-image: "@{image-path}/close_tab_btn.png"; +@time-slider-close-image: "plugins/c9.ide.collab/timeslider/images/close_tab_btn.png"; @time-slider-close-image-width: 42px; @time-slider-close-image-height: 28px; @time-slider-close-idle-position: 0 -14px; @@ -465,7 +465,7 @@ @pane-menu-upward-active-box-shadow: 0 1px lighten(#3d3d3d, @lighten-chrome), inset 0 -1px lighten(#525356, @lighten-chrome); @pane-menu-upward-active-gradient: linear-gradient(to bottom, lighten(#494949, @lighten-chrome) 0%, lighten(#4b4b4c, @lighten-chrome) 100%); -@pane-menu-splits-image: "@{image-path}/splits.png"; +@pane-menu-splits-image: "plugins/c9.ide.behaviors/images/splits.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 54px; @@ -977,7 +977,6 @@ @button-console-active-background: lighten(rgba(0, 0, 0, 0.09), @lighten-chrome); @button-console-close: "console_close_btn_dark.png"; -@button-console-close-retina: "console_close_btn_dark@2x.png"; @button-console-clear: "clear_dark.png"; @button-console-maximize: "maximize_dark.png"; @button-console-popout: "popout_dark.png"; @@ -1095,15 +1094,15 @@ @preview-chooser-font-size: 11px; @preview-chooser-font-weight: bold; -@preview-icon-close: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-close-width: 23px; @preview-icon-close-height: 280px; @preview-icon-close-position: 0 -66px; -@preview-icon-refresh: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-refresh-width: 23px; @preview-icon-refresh-height: 280px; @preview-icon-refresh-position: 0 -89px;; -@preview-icon-popout: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-popout-width: 23px; @preview-icon-popout-height: 280px; @preview-icon-popout-position: 0 -114px; @@ -1111,12 +1110,12 @@ @preview-icon-settings-width: @c9-repeat-x-width; @preview-icon-settings-height: @c9-repeat-x-height; @preview-icon-settings-position: 50% -366px; -@preview-icon-goforward: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goforward-width: 23px; @preview-icon-goforward-height: 280px; @preview-icon-goforward-position: 0 -185px; @preview-icon-goforward-disabled-position: 0 -209px; -@preview-icon-goback: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goback-width: 23px; @preview-icon-goback-height: 280px; @preview-icon-goback-position: 0 -137px; @@ -1388,23 +1387,23 @@ @complete-dark-paramhelp: lighten(#FFFFFF, @lighten-chrome); // Complete Icons -@complete-icon-event: "@{image-path}/event.png"; -@complete-icon-method: "@{image-path}/method.png"; -@complete-icon-method2: "@{image-path}/method2.png"; -@complete-icon-package: "@{image-path}/package.png"; -@complete-icon-property: "@{image-path}/property.png"; -@complete-icon-property2: "@{image-path}/property2.png"; +@complete-icon-event: "plugins/c9.ide.language/images/event.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2.png"; // Welcome @welcome-color: #333; -@welcome-background: lighten(#193342, @lighten-chrome) url("@{image-path}/welcome-cover.png"); +@welcome-background: lighten(#193342, @lighten-chrome) url("plugins/c9.ide.welcome/images/welcome-cover.png"); @welcome-top-border: lighten(rgba(255,255,255,0.03), @lighten-chrome); @welcome-color: lighten(#f1f1f1, @lighten-chrome); @welcome-font-smoothing: true; @welcome-highlight-color: lighten(#9BB11D, @lighten-chrome); @welcome-panel-border-color: lighten(rgba(255, 255, 255, 0.09), @lighten-chrome); @welcome-panel-background: lighten(rgba(255, 255, 255, 0.08), @lighten-chrome); -@welcome-logo-image: "@{image-path}/welcome-logo.png"; +@welcome-logo-image: "plugins/c9.ide.welcome/images/welcome-logo.png"; @welcome-logo-image-width: 155px; @welcome-logo-image-height: 103px; @welcome-alter-widgets: true; diff --git a/plugins/c9.ide.layout.classic/themes/default-flat-dark.less b/plugins/c9.ide.layout.classic/themes/default-flat-dark.less index adbed39c..33afc183 100644 --- a/plugins/c9.ide.layout.classic/themes/default-flat-dark.less +++ b/plugins/c9.ide.layout.classic/themes/default-flat-dark.less @@ -230,8 +230,8 @@ @time-slider-play-border: 0; @time-slider-play-gradient: linear-gradient(to bottom, #757574, #757574); @time-slider-play-box-shadow: none; -@time-slider-play-icon-image: "@{image-path}/play_flat_dark.png"; -@time-slider-play-icon-pause-image: "@{image-path}/pause_flat_dark.png"; +@time-slider-play-icon-image: "plugins/c9.ide.collab/timeslider/images/play_flat_dark.png"; +@time-slider-play-icon-pause-image: "plugins/c9.ide.collab/timeslider/images/pause_flat_dark.png"; @time-slider-play-icon-image-width: 5px; @time-slider-play-icon-image-height: 8px; @time-slider-play-icon-background-position: 50% 50%; @@ -272,7 +272,7 @@ @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: "plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light.png"; @time-slider-stepper-image-width: 21px; @time-slider-stepper-image-height: 8px; @@ -328,7 +328,7 @@ @time-slider-revert-active-gradient: linear-gradient(to bottom, #98c878 0%, #98c878 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: "plugins/c9.ide.collab/timeslider/images/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; @@ -465,7 +465,7 @@ @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, @menu-background 0%, @menu-background 100%); -@pane-menu-splits-image: "@{image-path}/splits_flat_dark.png"; +@pane-menu-splits-image: "plugins/c9.ide.behaviors/images/splits_flat_dark.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 53px; @@ -977,7 +977,6 @@ @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"; @@ -1095,28 +1094,28 @@ @preview-chooser-font-size: 12px; @preview-chooser-font-weight: normal; -@preview-icon-close: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png"; @preview-icon-close-width: 23px; @preview-icon-close-height: 280px; @preview-icon-close-position: 0 -65px; -@preview-icon-refresh: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png"; @preview-icon-refresh-width: 23px; @preview-icon-refresh-height: 280px; @preview-icon-refresh-position: 0 -88px;; -@preview-icon-popout: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png"; @preview-icon-popout-width: 23px; @preview-icon-popout-height: 280px; @preview-icon-popout-position: 0 -113px; -@preview-icon-settings: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-settings: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png"; @preview-icon-settings-width: 23px; @preview-icon-settings-height: 280px; @preview-icon-settings-position: -1px -33px; -@preview-icon-goforward: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.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: "@{image-path}/c9-preview-repeat_flat_dark.png"; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png"; @preview-icon-goback-width: 23px; @preview-icon-goback-height: 280px; @preview-icon-goback-position: 0 -136px; @@ -1388,23 +1387,23 @@ @complete-dark-paramhelp: darken(#494949, @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"; +@complete-icon-event: "plugins/c9.ide.language/images/event_flat_light.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method_flat_light.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2_flat_light.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package_flat_light.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property_flat_light.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2_flat_light.png"; // Welcome @welcome-color: #333; -@welcome-background: darken(#193342, @darken-chrome) url("@{image-path}/welcome-cover.png"); +@welcome-background: darken(#193342, @darken-chrome) url("plugins/c9.ide.welcome/images/welcome-cover.png"); @welcome-top-border: darken(rgba(255,255,255,0.03), @darken-chrome); @welcome-color: darken(#f1f1f1, @darken-chrome); @welcome-font-smoothing: true; @welcome-highlight-color: darken(#9BB11D, @darken-chrome); @welcome-panel-border-color: darken(rgba(255, 255, 255, 0.09), @darken-chrome); @welcome-panel-background: darken(rgba(255, 255, 255, 0.08), @darken-chrome); -@welcome-logo-image: "@{image-path}/welcome-logo.png"; +@welcome-logo-image: "plugins/c9.ide.welcome/images/welcome-logo.png"; @welcome-logo-image-width: 155px; @welcome-logo-image-height: 103px; @welcome-alter-widgets: true; diff --git a/plugins/c9.ide.layout.classic/themes/default-flat-light.less b/plugins/c9.ide.layout.classic/themes/default-flat-light.less index 27427342..75534499 100644 --- a/plugins/c9.ide.layout.classic/themes/default-flat-light.less +++ b/plugins/c9.ide.layout.classic/themes/default-flat-light.less @@ -230,8 +230,8 @@ @time-slider-play-border: 0; @time-slider-play-gradient: linear-gradient(to bottom, #757574, #757574); @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: "plugins/c9.ide.collab/timeslider/images/play_flat_light.png"; +@time-slider-play-icon-pause-image: "plugins/c9.ide.collab/timeslider/images/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%; @@ -272,7 +272,7 @@ @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: "plugins/c9.ide.collab/timeslider/images/stepper_buttons_flat_light.png"; @time-slider-stepper-image-width: 21px; @time-slider-stepper-image-height: 8px; @@ -328,7 +328,7 @@ @time-slider-revert-active-gradient: linear-gradient(to bottom, #98c878 0%, #98c878 100%); @time-slider-revert-active-padding: @time-slider-revert-padding; -@time-slider-close-image: "@{image-path}/close_tab_btn.png"; +@time-slider-close-image: "plugins/c9.ide.collab/timeslider/images/close_tab_btn.png"; @time-slider-close-image-width: 42px; @time-slider-close-image-height: 28px; @time-slider-close-idle-position: 0 0; @@ -465,7 +465,7 @@ @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: "plugins/c9.ide.behaviors/images/splits_flat_light.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 53px; @@ -977,7 +977,6 @@ @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"; @@ -1095,28 +1094,28 @@ @preview-chooser-font-size: 12px; @preview-chooser-font-weight: normal; -@preview-icon-close: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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: "@{image-path}/c9-preview-repeat_flat_light.png"; +@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; @@ -1388,12 +1387,12 @@ @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"; +@complete-icon-event: "plugins/c9.ide.language/images/event_flat_light.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method_flat_light.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2_flat_light.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package_flat_light.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property_flat_light.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2_flat_light.png"; // Welcome @welcome-color: #31a6d7; diff --git a/plugins/c9.ide.layout.classic/themes/default-light-gray.less b/plugins/c9.ide.layout.classic/themes/default-light-gray.less index 78595746..ee67dea6 100644 --- a/plugins/c9.ide.layout.classic/themes/default-light-gray.less +++ b/plugins/c9.ide.layout.classic/themes/default-light-gray.less @@ -272,7 +272,7 @@ @time-slider-stepper-top: 20px; @time-slider-stepper-width: 25px; @time-slider-stepper-height: 20px; -@time-slider-stepper-image: "@{image-path}/stepper_buttons.png"; +@time-slider-stepper-image: "plugins/c9.ide.collab/timeslider/images/stepper_buttons.png"; @time-slider-stepper-image-width: 23px; @time-slider-stepper-image-height: 14px; @@ -465,7 +465,7 @@ @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.png"; +@pane-menu-splits-image: "plugins/c9.ide.behaviors/images/splits.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 54px; @@ -977,7 +977,6 @@ @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.png"; @button-console-maximize: "maximize.png"; @button-console-popout: "popout.png"; @@ -1095,15 +1094,15 @@ @preview-chooser-font-size: 11px; @preview-chooser-font-weight: bold; -@preview-icon-close: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-close-width: 23px; @preview-icon-close-height: 280px; @preview-icon-close-position: 0 -66px; -@preview-icon-refresh: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-refresh-width: 23px; @preview-icon-refresh-height: 280px; @preview-icon-refresh-position: 0 -89px;; -@preview-icon-popout: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-popout-width: 23px; @preview-icon-popout-height: 280px; @preview-icon-popout-position: 0 -114px; @@ -1111,12 +1110,12 @@ @preview-icon-settings-width: @c9-repeat-x-width; @preview-icon-settings-height: @c9-repeat-x-height; @preview-icon-settings-position: 50% -366px; -@preview-icon-goforward: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goforward-width: 23px; @preview-icon-goforward-height: 280px; @preview-icon-goforward-position: 0 -185px; @preview-icon-goforward-disabled-position: 0 -209px; -@preview-icon-goback: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goback-width: 23px; @preview-icon-goback-height: 280px; @preview-icon-goback-position: 0 -137px; @@ -1388,23 +1387,23 @@ @complete-dark-paramhelp: darken(#FFFFFF, @darken-chrome); // Complete Icons -@complete-icon-event: "@{image-path}/event.png"; -@complete-icon-method: "@{image-path}/method.png"; -@complete-icon-method2: "@{image-path}/method2.png"; -@complete-icon-package: "@{image-path}/package.png"; -@complete-icon-property: "@{image-path}/property.png"; -@complete-icon-property2: "@{image-path}/property2.png"; +@complete-icon-event: "plugins/c9.ide.language/images/event.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2.png"; // Welcome @welcome-color: #333; -@welcome-background: darken(#C1D4E0, @darken-chrome) url("@{image-path}/welcome-cover-light.png"); +@welcome-background: darken(#C1D4E0, @darken-chrome) url("plugins/c9.ide.welcome/images/welcome-cover-light.png"); @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: "@{image-path}/welcome-logo.png"; +@welcome-logo-image: "plugins/c9.ide.welcome/images/welcome-logo.png"; @welcome-logo-image-width: 155px; @welcome-logo-image-height: 103px; @welcome-alter-widgets: true; diff --git a/plugins/c9.ide.layout.classic/themes/default-light.less b/plugins/c9.ide.layout.classic/themes/default-light.less index bfdb8bc9..e35b47e0 100644 --- a/plugins/c9.ide.layout.classic/themes/default-light.less +++ b/plugins/c9.ide.layout.classic/themes/default-light.less @@ -272,7 +272,7 @@ @time-slider-stepper-top: 20px; @time-slider-stepper-width: 25px; @time-slider-stepper-height: 20px; -@time-slider-stepper-image: "@{image-path}/stepper_buttons.png"; +@time-slider-stepper-image: "plugins/c9.ide.collab/timeslider/images/stepper_buttons.png"; @time-slider-stepper-image-width: 23px; @time-slider-stepper-image-height: 14px; @@ -465,7 +465,7 @@ @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.png"; +@pane-menu-splits-image: "plugins/c9.ide.behaviors/images/splits.png"; @pane-menu-splits-image-width: 138px; @pane-menu-splits-image-height: 54px; @@ -977,7 +977,6 @@ @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.png"; @button-console-maximize: "maximize.png"; @button-console-popout: "popout.png"; @@ -1095,15 +1094,15 @@ @preview-chooser-font-size: 11px; @preview-chooser-font-weight: bold; -@preview-icon-close: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-close: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-close-width: 23px; @preview-icon-close-height: 280px; @preview-icon-close-position: 0 -66px; -@preview-icon-refresh: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-refresh: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-refresh-width: 23px; @preview-icon-refresh-height: 280px; @preview-icon-refresh-position: 0 -89px;; -@preview-icon-popout: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-popout: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-popout-width: 23px; @preview-icon-popout-height: 280px; @preview-icon-popout-position: 0 -114px; @@ -1111,12 +1110,12 @@ @preview-icon-settings-width: @c9-repeat-x-width; @preview-icon-settings-height: @c9-repeat-x-height; @preview-icon-settings-position: 50% -366px; -@preview-icon-goforward: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goforward: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goforward-width: 23px; @preview-icon-goforward-height: 280px; @preview-icon-goforward-position: 0 -185px; @preview-icon-goforward-disabled-position: 0 -209px; -@preview-icon-goback: "@{image-path}/c9-preview-repeat.png"; +@preview-icon-goback: "plugins/c9.ide.preview/images/c9-preview-repeat.png"; @preview-icon-goback-width: 23px; @preview-icon-goback-height: 280px; @preview-icon-goback-position: 0 -137px; @@ -1388,23 +1387,23 @@ @complete-dark-paramhelp: darken(#FFFFFF, @darken-chrome); // Complete Icons -@complete-icon-event: "@{image-path}/event.png"; -@complete-icon-method: "@{image-path}/method.png"; -@complete-icon-method2: "@{image-path}/method2.png"; -@complete-icon-package: "@{image-path}/package.png"; -@complete-icon-property: "@{image-path}/property.png"; -@complete-icon-property2: "@{image-path}/property2.png"; +@complete-icon-event: "plugins/c9.ide.language/images/event.png"; +@complete-icon-method: "plugins/c9.ide.language/images/method.png"; +@complete-icon-method2: "plugins/c9.ide.language/images/method2.png"; +@complete-icon-package: "plugins/c9.ide.language/images/package.png"; +@complete-icon-property: "plugins/c9.ide.language/images/property.png"; +@complete-icon-property2: "plugins/c9.ide.language/images/property2.png"; // Welcome @welcome-color: #333; -@welcome-background: darken(#C1D4E0, @darken-chrome) url("@{image-path}/welcome-cover-light.png"); +@welcome-background: darken(#C1D4E0, @darken-chrome) url("plugins/c9.ide.welcome/images/welcome-cover-light.png"); @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: "@{image-path}/welcome-logo.png"; +@welcome-logo-image: "plugins/c9.ide.welcome/images/welcome-logo.png"; @welcome-logo-image-width: 155px; @welcome-logo-image-height: 103px; @welcome-alter-widgets: true; diff --git a/plugins/c9.ide.layout.classic/themes/flat-dark.less b/plugins/c9.ide.layout.classic/themes/flat-dark.less index 40d55d3f..af152a01 100644 --- a/plugins/c9.ide.layout.classic/themes/flat-dark.less +++ b/plugins/c9.ide.layout.classic/themes/flat-dark.less @@ -102,7 +102,7 @@ } .loading-spinner { - .image-2x("/static/@{pane-button-save-image}", @pane-button-save-image-width, @pane-button-save-image-height); + .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; } @@ -218,8 +218,4 @@ .has_apf .bar-preferences .blackdg{ border: 0; -} - -@media print, (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx) { - -} +} \ No newline at end of file diff --git a/plugins/c9.ide.layout.classic/themes/flat-light.less b/plugins/c9.ide.layout.classic/themes/flat-light.less index 244ae508..0dd0e871 100644 --- a/plugins/c9.ide.layout.classic/themes/flat-light.less +++ b/plugins/c9.ide.layout.classic/themes/flat-light.less @@ -389,7 +389,7 @@ } .loading-spinner { - .image-2x("/static/@{pane-button-save-image}", @pane-button-save-image-width, @pane-button-save-image-height); + .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; } diff --git a/plugins/c9.ide.preferences/images/tree_close_arrow_small.png b/plugins/c9.ide.preferences/images/tree_close_arrow_small@1x.png similarity index 100% rename from plugins/c9.ide.preferences/images/tree_close_arrow_small.png rename to plugins/c9.ide.preferences/images/tree_close_arrow_small@1x.png diff --git a/plugins/c9.ide.preview/images/c9-preview-repeat.png b/plugins/c9.ide.preview/images/c9-preview-repeat@1x.png similarity index 100% rename from plugins/c9.ide.preview/images/c9-preview-repeat.png rename to plugins/c9.ide.preview/images/c9-preview-repeat@1x.png diff --git a/plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png b/plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark@1x.png similarity index 100% rename from plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark.png rename to plugins/c9.ide.preview/images/c9-preview-repeat_flat_dark@1x.png diff --git a/plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png b/plugins/c9.ide.preview/images/c9-preview-repeat_flat_light@1x.png similarity index 100% rename from plugins/c9.ide.preview/images/c9-preview-repeat_flat_light.png rename to plugins/c9.ide.preview/images/c9-preview-repeat_flat_light@1x.png diff --git a/plugins/c9.ide.preview/preview.js b/plugins/c9.ide.preview/preview.js index 93fda119..9dcfc61e 100644 --- a/plugins/c9.ide.preview/preview.js +++ b/plugins/c9.ide.preview/preview.js @@ -593,7 +593,7 @@ define(function(require, exports, module) { new ui.button({ id: "btnMode", submenu: menu.aml, - icon: "page_white.png", + icon: true, skin: "btn-switcher", caption: "browser" }) diff --git a/plugins/c9.ide.run.debug/breakpoints.js b/plugins/c9.ide.run.debug/breakpoints.js index 0b304d3d..769e6267 100644 --- a/plugins/c9.ide.run.debug/breakpoints.js +++ b/plugins/c9.ide.run.debug/breakpoints.js @@ -441,7 +441,7 @@ define(function(require, exports, module) { btnBreakpoints = hbox1.insertBefore(new ui.button({ id: "btnBreakpoints", tooltip: "Deactivate All Breakpoints", - icon: "toggle_breakpoints2.png", + icon: true, skinset: "default", skin: "c9-menu-btn", class: "nosize toggle_breakpoints2" @@ -449,7 +449,7 @@ define(function(require, exports, module) { btnBpRemove = hbox2.insertBefore(new ui.button({ id: "btnBpRemove", tooltip: "Clear All Breakpoints", - icon: "remove_breakpoints.png", + icon: true, skinset: "default", skin: "c9-menu-btn", class: "nosize remove_breakpoints" diff --git a/plugins/c9.ide.run.debug/callstack.js b/plugins/c9.ide.run.debug/callstack.js index 752e9796..beced677 100644 --- a/plugins/c9.ide.run.debug/callstack.js +++ b/plugins/c9.ide.run.debug/callstack.js @@ -57,7 +57,7 @@ define(function(require, exports, module) { caption: "Function", value: "name", width: "60%", - icon: "debugger/stckframe_obj.gif" + icon: true }, { caption: "File", getText: function(node) { @@ -260,7 +260,7 @@ define(function(require, exports, module) { button = hbox.appendChild(new ui.button({ id: "btnScripts", tooltip: "Available internal and external scripts", - icon: "scripts.png", + icon: true, right: "0", top: "0", class: "scripts", diff --git a/plugins/c9.ide.run.debug/debuggers/debugger.xml b/plugins/c9.ide.run.debug/debuggers/debugger.xml index e757fb11..9d47a94c 100644 --- a/plugins/c9.ide.run.debug/debuggers/debugger.xml +++ b/plugins/c9.ide.run.debug/debuggers/debugger.xml @@ -2,7 +2,7 @@ diff --git a/plugins/c9.ide.run.debug/variables.js b/plugins/c9.ide.run.debug/variables.js index d9fca8fa..78a1acb9 100644 --- a/plugins/c9.ide.run.debug/variables.js +++ b/plugins/c9.ide.run.debug/variables.js @@ -43,7 +43,7 @@ define(function(require, exports, module) { value: "name", defaultValue: "Scope", width: "40%", - icon: "debugger/genericvariable_obj.gif", + icon: true, type: "tree" }, { caption: "Value", diff --git a/plugins/c9.ide.run.debug/watches.js b/plugins/c9.ide.run.debug/watches.js index b63577d3..d2cc9c92 100644 --- a/plugins/c9.ide.run.debug/watches.js +++ b/plugins/c9.ide.run.debug/watches.js @@ -65,7 +65,7 @@ define(function(require, exports, module) { match: "name", value: "name", width: "60%", - icon: "debugger/genericvariable_obj.gif", + icon: true, type: "tree", editor: "textbox" }, { diff --git a/plugins/c9.ide.run/gui.js b/plugins/c9.ide.run/gui.js index 2a326d3d..daa37a6f 100644 --- a/plugins/c9.ide.run/gui.js +++ b/plugins/c9.ide.run/gui.js @@ -628,7 +628,7 @@ define(function(require, module, exports) { caption: "Run", disabled: true, class: "runbtn stopped", - icon: "run.png", + icon: true, }), 100, plugin); btnRun.on("contextmenu", function(e) { diff --git a/plugins/c9.ide.run/output.xml b/plugins/c9.ide.run/output.xml index 31265eac..e25087fc 100644 --- a/plugins/c9.ide.run/output.xml +++ b/plugins/c9.ide.run/output.xml @@ -5,7 +5,7 @@ skin = "c9-toolbarbutton-glossy" caption = "Run" width = "54" - icon = "run.png" + icon = "true" class = "runbtn stopped" visible = "true" style = "min-width:54px;" /> @@ -13,11 +13,11 @@ id = "btnRestart" skin = "c9-toolbarbutton-glossy" width = "22" - icon = "restart-icon.png" + icon = "true" tooltip = "Restart" class = "light restart" style = "min-width:22px" /> - + Command: @@ -26,7 +26,7 @@