diff --git a/index.css b/index.css index 7e6ba8f3..4c325c70 100644 --- a/index.css +++ b/index.css @@ -215,7 +215,8 @@ div.project div.list { margin-left:var(--button-margin); clear:both; } div.project div.list { border-left:var(--disable-fg-color) dashed 1px; } div.project div.list fieldset { position:static; } div.project div.item { position:relative; } -div.project div.item.select { border-right:var(--box-notice3); } +div.project div.item.select { border-right:var(--box-notice); } +div.project>div.item.select { position:sticky; top:32px; bottom:0; } div.project div.item:not(.hide) { white-space:pre; line-height:24px; cursor:pointer; padding:0 var(--input-padding); display:flex; align-items:center; } div.project div.item:not(.hide)>i:first-child { margin-right:var(--input-margin); } div.project div.item:not(:hover) input:not([type=button]) { border-right:0; } @@ -501,7 +502,7 @@ div.item.button.danger input:hover[type=button] { background-color:var(--danger- div.item.button.notice input:hover[type=button] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } div.item.button.danger input { border:var(--box-danger); } div.item.button.notice input { border:var(--box-notice); } -div.action div.tabs.select { background-color:var(--output-bg-color); border-top:var(--box-notice3); } +div.action div.tabs.select { background-color:var(--output-bg-color); border-top:var(--box-notice); } fieldset.vimer>div.action div.tabs.select { border-top:var(--box-border3); } fieldset.vimer.normal>div.action div.tabs.select { border-top:var(--box-notice3); } fieldset.vimer.insert>div.action div.tabs.select { border-top:var(--box-danger3); } @@ -620,7 +621,7 @@ body div.path { font-family:var(--code-font-family); } body div.carte { font-family:var(--code-font-family); } body { font-size:var(--body-font-size); } legend { font-size:var(--legend-font-size); line-height:30px; height:var(--action-height); } -legend>img { margin-right:var(--input-margin); height:var(--action-height); } +legend>img { margin-right:var(--input-margin); height:28px; display:block; float:left; } legend>span.icon:first-child { margin-right:var(--input-margin); } legend>i:first-child { margin-right:var(--input-margin); } select, input { font-size:var(--body-font-size); height:var(--action-height); } input::placeholder, textarea::placeholder { font-style:italic; color:var(--disable-fg-color); } @@ -719,8 +720,11 @@ div.tabs>i:first-child { margin-right:var(--input-margin); } div.tabs>span.icon { font-size:var(--icon-font-size); font-style:normal; padding-left:var(--input-padding); visibility:hidden; } div.tabs.select>span.icon { visibility:visible; } div.tabs:hover>span.icon { visibility:visible; } -fieldset.plugin>legend { font-style:italic; } -fieldset.plugin>form.option>div.button.icons { display:none; } +fieldset.plugin>legend { font-style:italic; margin-right:var(--input-margin); } +fieldset.plugin>form.option>div.button.refresh.icons { display:none; } +fieldset.plugin>form.option>div.button.list.icons { display:none; } +fieldset.plugin>form.option>div.button.back.icons { display:none; } +fieldset.plugin>form.option>div.button.icons>input { display:none; } fieldset.plugin>div.action>div.button.icons>input { display:none; } fieldset.Action.tabview>div.output>fieldset.plugin>div.action>div.item.full { display:none; } fieldset.Action:not(.tabview):not(.horizon):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon.delete { display:none; } @@ -861,6 +865,9 @@ fieldset.desktop>div.status { display:none; } fieldset.qrcode>div.output div.code { padding:0; } fieldset.xterm>div.output>div.project { font-family:var(--code-font-family); } fieldset.xterm>div.output>div.project div.item.offline { color:var(--disable-fg-color); } +fieldset.xterm.float>div.status { display:none; } +fieldset.xterm.float>form.option>div.item.text { display:none; } +fieldset.full { position:fixed; bottom:unset; } fieldset.vimer>div.output>div.project div.item.modify { background-color:#00800036; } fieldset.vimer>div.output>div.project>div.zone.space div.item.stop { color:var(--disable-fg-color); } fieldset.vimer>div.output>div.project>div.zone.space fieldset>div.output>div.item { height:42px; } @@ -921,10 +928,10 @@ fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project fieldset.draw>div.output>svg { margin-bottom:-5px; } fieldset.draw>div.output>svg { min-height:100%; } // fieldset.draw>div.output { display:flex; flex-direction:row; } -body.dark fieldset.plug.float { background-color:#000c; } -body.dark fieldset.plug.float>div.output { background-color:transparent; } -body.light fieldset.plug.float { background-color:#fffc; } -body.light fieldset.plug.float>div.output { background-color:transparent; } +body.dark fieldset.float { background-color:#000c; } +body.dark fieldset.float>div.output { background-color:transparent; } +body.light fieldset.float { background-color:#fffc; } +body.light fieldset.float>div.output { background-color:transparent; } fieldset.draw.spides>div.output>svg text { cursor:pointer; } fieldset.draw.spides>div.output>svg path { stroke-width:1; } fieldset.draw.trends>div.output { overflow:hidden; } diff --git a/plugin/local/code/xterm.js b/plugin/local/code/xterm.js index 1e56acfb..d614b5a6 100644 --- a/plugin/local/code/xterm.js +++ b/plugin/local/code/xterm.js @@ -7,7 +7,7 @@ Volcanos(chat.ONIMPORT, { } cb && cb(msg) }) }, _project: function(can, msg, hash) { msg.Table(function(value) { - value.nick = `${value.hash}(${value.name||value.type||"ish"}) ${value.status}`, value._select = value.hash == hash[0] + value.nick = `${value.hash}(${value.name||value.type||"ish"})`, value._select = value.hash == hash[0] can.onimport.item(can, value, function(event, item, show, target) { can.onimport.tabsCache(can, value, target, function() { can.onappend._status(can) value._term = can.onimport._connect(can, value, can.ui.content) @@ -29,8 +29,8 @@ Volcanos(chat.ONIMPORT, { }, _theme: function(can, item) { return can.base.Obj(item.theme)||( can.getHeaderTheme() == html.LIGHT? {background: "#0000", foreground: cli.BLACK, cursor: cli.BLUE}: - can.getHeaderTheme() == html.DARK? {background: "#0000", foreground:cli.SILVER, cursor: cli.SILVER}: - can.getHeaderTheme() == chat.BLACK? {background: "#0000", foreground:cli.WHITE, cursor: cli.WHITE}: + can.getHeaderTheme() == html.DARK? {background: "#0000", foreground: cli.SILVER, cursor: cli.SILVER}: + can.getHeaderTheme() == chat.BLACK? {background: "#0000", foreground: cli.CYAN, cursor: cli.WHITE}: {background: "#0000", foreground: cli.BLACK, cursor: cli.BLUE} ) }, _resize: function(can, term, size) { @@ -45,10 +45,12 @@ Volcanos(chat.ONIMPORT, { grow: function(can, msg, hash, text) { var arg = msg.detail.slice(1); arg = [hash||arg[0], text||arg[1]], term = can.db[arg[0]] if (arg[1] == "~~~end~~~") { arg[0] == "current"? can.sup.onmotion._close({}, can.sup): can.sup.onimport._back(can.sup) } else { term.write(arg[1]) } }, - layout: function(can) { can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function() { - can.core.Item(can.db, function(hash, term) { term._fit && term._fit.fit() }) - can.db.value && can.db.value._term && can.onexport.term(can, can.db.value._term) - }) }, + layout: function(can) { + can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function() { + can.core.Item(can.db, function(hash, term) { term._fit && term._fit.fit() }) + can.db.value && can.db.value._term && can.onexport.term(can, can.db.value._term) + }), can.core.Item(can.db, function(hash, term) { term._fit && term._fit.fit() }) + }, }) Volcanos(chat.ONACTION, { create: function(event, can) { can.user.input(event, can, [mdb.TYPE, mdb.NAME, mdb.TEXT], function(data) { diff --git a/plugin/local/mall/goods.css b/plugin/local/mall/goods.css index 9a09b133..26ec549c 100644 --- a/plugin/local/mall/goods.css +++ b/plugin/local/mall/goods.css @@ -1,6 +1,9 @@ fieldset.goods>div.output>div.project { flex:0 0 90px; } fieldset.goods>div.output>div.project>div.item { border-right:var(--box-border3); text-align:center; padding:20px 10px; } -fieldset.goods>div.output>div.project>div.item.select { border-right:var(--box-notice3); } +fieldset.goods>div.output>div.project>div.item.select { + border-right:var(--box-notice3); + position:unset; +} fieldset.goods>div.output>div.layout>div.layout>div.content>div.item:not(.hide) { box-shadow:var(--th-box-shadow); border:var(--plugin-border); border-radius:var(--plugin-radius); background-color:var(--plugin-bg-color); margin:10px; float:left; } diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index 04487a48..7c7c1662 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -1,4 +1,5 @@ -Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.Conf(html.PADDING, 10) +Volcanos(chat.ONIMPORT, { + _init: function(can, msg, target) { can.Conf(html.PADDING, html.PLUGIN_PADDING) can.page.Modify(can, target, msg.Results()), can.onimport._content(can, target) can.onmotion.delay(can, function() { can.onappend.scroll(can) }) can.onexport.title(can, can.Option(nfs.PATH)) @@ -80,20 +81,16 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.Conf(html.PADDI can.page.style(can, sub._target, html.WIDTH, width) }, can._output, target) }, - layout: function(can) { can.onmotion.delay(can, function() { padding = can.Conf(html.PADDING) - if (can.isCmdMode()) { can.ConfHeight(can.page.height()-html.ACTION_HEIGHT-1), can.ConfWidth(can.page.width()) } - if (can.sup._navmenu) { - can.ConfWidth(can.ConfWidth()-can.sup._navmenu.offsetWidth) + layout: function(can) { padding = can.Conf(html.PADDING) + if (can.sup._navmenu) { can.ConfWidth(can.ConfWidth()-can.sup._navmenu.offsetWidth) can.page.style(can, can.sup._navmenu, html.HEIGHT, can.ConfHeight()) can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth(), "clear", "none", "float", "left") } else { - can.isCmdMode() && can.page.styleHeight(can, can._output, "") + // can.isCmdMode() && can.page.style(can, can._output, html.HEIGHT, "", html.MAX_HEIGHT, "") } - can.core.List(can._plugins, function(sub) { sub.onimport.size(sub, can.base.Min(can.ConfHeight()/2, 300, 600), sub.Conf("_width")||(can.ConfWidth()-2*padding), true) }) - can.page.Select(can, can._output, html.IMG, function(target) { - can.page.style(can, target, html.MAX_HEIGHT, can.base.Max(can.ConfHeight(), 420)) - }) - }, 0) }, + can.core.List(can._plugins, function(sub) { sub.onimport.size(sub, can.base.Min(can.ConfHeight()/2, 300, 600), (can.ConfWidth()-2*padding), true) }) + can.page.Select(can, can._output, html.IMG, function(target) { can.page.style(can, target, html.MAX_HEIGHT, can.base.Max(can.ConfHeight(), 420)) }) + }, }, [""]) Volcanos(chat.ONACTION, { play: function(event, can) { var list = [], current = [] diff --git a/plugin/state.js b/plugin/state.js index 97f1b658..190ec160 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -177,10 +177,10 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面": function(event, can) { var sub = can.sub; sub.onlayout._init(sub, sub.ConfHeight(), sub.ConfWidth()), can.user.toastSuccess(can) }, "切换浮动": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FLOAT, function() { - // can.onmotion.hidden(can, can._action), can.onmotion.hidden(can, can._status) can.onmotion.float(can) }) }, - "切换全屏": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FULL, function() { can.page.style(can, can._target, html.LEFT, "", html.TOP, can.onexport.marginTop(), html.BOTTOM, "") + "切换全屏": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FULL, function() { + can.page.style(can, can._target, html.LEFT, "", html.TOP, can.onexport.marginTop(), html.BOTTOM, "") can.ConfHeight(can.page.height()-can.onexport.marginTop()-can.onexport.marginBottom(can)), can.ConfWidth(can.page.width()) }) }, "远程控制": function(event, can) { can.onaction.keyboard(event, can) },