mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-01-07 04:04:13 +01:00
Add go=r to toggle the scrollbar
This commit is contained in:
@@ -122,6 +122,8 @@ CompletionContext.prototype = {
|
|||||||
{
|
{
|
||||||
let self = this;
|
let self = this;
|
||||||
let minStart = Math.min.apply(Math, [context.offset for ([k, context] in Iterator(this.contexts)) if (context.items.length && context.hasItems)]);
|
let minStart = Math.min.apply(Math, [context.offset for ([k, context] in Iterator(this.contexts)) if (context.items.length && context.hasItems)]);
|
||||||
|
if (minStart == Infinity)
|
||||||
|
minStart = 0;
|
||||||
let items = this.contextList.map(function (context) {
|
let items = this.contextList.map(function (context) {
|
||||||
if (!context.hasItems)
|
if (!context.hasItems)
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -92,48 +92,63 @@ const liberator = (function () //{{{
|
|||||||
"Allow reading of an RC file in the current directory",
|
"Allow reading of an RC file in the current directory",
|
||||||
"boolean", false);
|
"boolean", false);
|
||||||
|
|
||||||
const tabopts = [
|
|
||||||
["n", "Tab number", null, highlight.selector("TabNumber")],
|
const groups = {
|
||||||
["N", "Tab number over icon", null, highlight.selector("TabIconNumber")]
|
config: {
|
||||||
];
|
opts: config.guioptions,
|
||||||
|
setter: function (opts)
|
||||||
|
{
|
||||||
|
for (let [opt, [,ids]] in Iterator(this.opts))
|
||||||
|
{
|
||||||
|
ids.map(function (id) document.getElementById(id))
|
||||||
|
.forEach(function (elem)
|
||||||
|
{
|
||||||
|
if (elem)
|
||||||
|
elem.collapsed = (opts.indexOf(opt) == -1)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scroll: {
|
||||||
|
opts: { r: ["Right Scrollbar"] },
|
||||||
|
setter: function (opts)
|
||||||
|
{
|
||||||
|
if (opts.indexOf("r") == -1)
|
||||||
|
styles.addSheet("scrollbar", "*", "html|html > xul|scrollbar { visibility: collapse !important; }", true, true);
|
||||||
|
else
|
||||||
|
styles.removeSheet("scrollbar", null, null, null, true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tab: {
|
||||||
|
opts: {
|
||||||
|
n: ["Tab number", highlight.selector("TabNumber")],
|
||||||
|
N: ["Tab number over icon", highlight.selector("TabIconNumber")]
|
||||||
|
},
|
||||||
|
setter: function (opts)
|
||||||
|
{
|
||||||
|
let classes = [v[1] for ([k, v] in Iterator(this.opts)) if (opts.indexOf(k) >= 0)];
|
||||||
|
let css = classes.length ? classes.join(",") + "{ display: none; }" : "";
|
||||||
|
styles.addSheet("taboptions", "chrome://*", css, true, true);
|
||||||
|
statusline.updateTabCount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
options.add(["guioptions", "go"],
|
options.add(["guioptions", "go"],
|
||||||
"Show or hide certain GUI elements like the menu or toolbar",
|
"Show or hide certain GUI elements like the menu or toolbar",
|
||||||
"charlist", config.defaults.guioptions || "",
|
"charlist", config.defaults.guioptions || "",
|
||||||
{
|
{
|
||||||
setter: function (value)
|
setter: function (value)
|
||||||
{
|
{
|
||||||
for (let [opt, ids] in Iterator(config.guioptions))
|
for (let [,group] in Iterator(groups))
|
||||||
{
|
group.setter(value);
|
||||||
ids.forEach(function (id)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
document.getElementById(id).collapsed = (value.indexOf(opt) < 0);
|
|
||||||
}
|
|
||||||
catch (e) {}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
let classes = tabopts.filter(function (o) value.indexOf(o[0]) == -1)
|
|
||||||
.map(function (a) a[3])
|
|
||||||
if (!classes.length)
|
|
||||||
{
|
|
||||||
styles.removeSheet("taboptions", null, null, null, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
storage.styles.addSheet("taboptions", "chrome://*", classes.join(",") + "{ display: none; }", true, true);
|
|
||||||
statusline.updateTabCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
},
|
},
|
||||||
completer: function (filter)
|
completer: function (filter)
|
||||||
{
|
{
|
||||||
return [
|
let opts = [v.opts for ([k, v] in Iterator(groups))];
|
||||||
["m", "Menubar"],
|
opts = opts.map(function (opt) [[k, v[0]] for ([k, v] in Iterator(opt))]);
|
||||||
["T", "Toolbar"],
|
return util.Array.flatten(opts);
|
||||||
["b", "Bookmark bar"]
|
|
||||||
].concat(!liberator.has("tabs") ? [] : tabopts);
|
|
||||||
},
|
},
|
||||||
validator: Option.validateCompleter
|
validator: Option.validateCompleter
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -238,6 +238,7 @@ function Styles(name, store, serial)
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.registerSheet(cssUri(wrapCSS(sheet)), !force);
|
this.registerSheet(cssUri(wrapCSS(sheet)), !force);
|
||||||
|
this.registerAgentSheet(cssUri(wrapCSS(sheet)))
|
||||||
}
|
}
|
||||||
catch (e)
|
catch (e)
|
||||||
{
|
{
|
||||||
@@ -299,6 +300,7 @@ function Styles(name, store, serial)
|
|||||||
if (!sheet.ref.length)
|
if (!sheet.ref.length)
|
||||||
{
|
{
|
||||||
this.unregisterSheet(cssUri(wrapCSS(sheet)));
|
this.unregisterSheet(cssUri(wrapCSS(sheet)));
|
||||||
|
this.unregisterAgentSheet(cssUri(wrapCSS(sheet)));
|
||||||
if (sheets.indexOf(sheet) > -1)
|
if (sheets.indexOf(sheet) > -1)
|
||||||
sheets.splice(sheets.indexOf(sheet), 1);
|
sheets.splice(sheets.indexOf(sheet), 1);
|
||||||
}
|
}
|
||||||
@@ -331,6 +333,21 @@ function Styles(name, store, serial)
|
|||||||
sss.unregisterSheet(uri, sss.USER_SHEET);
|
sss.unregisterSheet(uri, sss.USER_SHEET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME
|
||||||
|
this.registerAgentSheet = function (uri)
|
||||||
|
{
|
||||||
|
this.unregisterAgentSheet(uri);
|
||||||
|
uri = ios.newURI(uri, null, null);
|
||||||
|
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.unregisterAgentSheet = function (uri)
|
||||||
|
{
|
||||||
|
uri = ios.newURI(uri, null, null);
|
||||||
|
if (sss.sheetRegistered(uri, sss.AGENT_SHEET))
|
||||||
|
sss.unregisterSheet(uri, sss.AGENT_SHEET);
|
||||||
|
}
|
||||||
|
|
||||||
function wrapCSS(sheet)
|
function wrapCSS(sheet)
|
||||||
{
|
{
|
||||||
let filter = sheet.sites;
|
let filter = sheet.sites;
|
||||||
|
|||||||
@@ -232,9 +232,9 @@ function CommandLine() //{{{
|
|||||||
this.wildtypes = this.wildmode.values;
|
this.wildtypes = this.wildmode.values;
|
||||||
this.wildIndex = -1;
|
this.wildIndex = -1;
|
||||||
|
|
||||||
this.prefix = this.context.value.substr(0, this.start);
|
this.prefix = this.context.value.substring(0, this.start);
|
||||||
this.value = this.context.value.substr(this.start, this.context.caret);
|
this.value = this.context.value.substring(this.start, this.caret);
|
||||||
this.suffix = this.context.value.substr(this.context.caret);
|
this.suffix = this.context.value.substring(this.caret);
|
||||||
|
|
||||||
if (show)
|
if (show)
|
||||||
{
|
{
|
||||||
@@ -1372,7 +1372,7 @@ function CommandLine() //{{{
|
|||||||
if (completions)
|
if (completions)
|
||||||
{
|
{
|
||||||
completions.context.reset();
|
completions.context.reset();
|
||||||
completions.reset();
|
//completions.reset();
|
||||||
}
|
}
|
||||||
historyIndex = UNINITIALIZED;
|
historyIndex = UNINITIALIZED;
|
||||||
removeSuffix = "";
|
removeSuffix = "";
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
* IMPORTANT: renamed Startup and Quit autocmd events to VimperatorEnter and
|
* IMPORTANT: renamed Startup and Quit autocmd events to VimperatorEnter and
|
||||||
VimperatorLeave respectively
|
VimperatorLeave respectively
|
||||||
|
|
||||||
|
* add 'guioptions'=r to toggle the scrollbar.
|
||||||
* remove spaces and newlines when open urls starting with http:// or similar
|
* remove spaces and newlines when open urls starting with http:// or similar
|
||||||
before :o http://linux .com would search for http://linux and for .com, now
|
before :o http://linux .com would search for http://linux and for .com, now
|
||||||
it just opens linux.com. Also handy when pasting broken urls with p or P.
|
it just opens linux.com. Also handy when pasting broken urls with p or P.
|
||||||
|
|||||||
@@ -33,8 +33,13 @@ const config = { //{{{
|
|||||||
|
|
||||||
/*** optional options, there are checked for existance and a fallback provided ***/
|
/*** optional options, there are checked for existance and a fallback provided ***/
|
||||||
features: ["bookmarks", "hints", "history", "marks", "quickmarks", "session", "tabs", "windows"],
|
features: ["bookmarks", "hints", "history", "marks", "quickmarks", "session", "tabs", "windows"],
|
||||||
defaults: { guioptions: "" },
|
defaults: { guioptions: "r" },
|
||||||
guioptions: { m: ["toolbar-menubar"], T: ["nav-bar"], b: ["PersonalToolbar"] },
|
|
||||||
|
guioptions: {
|
||||||
|
m: ["MenuBar", ["toolbar-menubar"]],
|
||||||
|
T: ["Toolbar", ["nav-bar"]],
|
||||||
|
b: ["Bookmark bar", ["PersonalToolbar"]]
|
||||||
|
},
|
||||||
|
|
||||||
get visualbellWindow() getBrowser().mPanelContainer,
|
get visualbellWindow() getBrowser().mPanelContainer,
|
||||||
styleableChrome: "chrome://browser/content/browser.xul",
|
styleableChrome: "chrome://browser/content/browser.xul",
|
||||||
|
|||||||
Reference in New Issue
Block a user