In den .svg's ändere ich:
fill:context-fill;fill-opacity:context-fill-opacity;
Und im .css 'färbe' ich sie mit:
fill: orange !important;
fill-opacity: 1 !important;
ein.
In den .svg's ändere ich:
fill:context-fill;fill-opacity:context-fill-opacity;
Und im .css 'färbe' ich sie mit:
fill: orange !important;
fill-opacity: 1 !important;
ein.
Nachdem die obigen Lösungen bei mir ein paar Probleme machten, habe ich mal ein Script gebastelt, um die Tooltips per Button ein- und auszublenden.
Könnt Ihr ja mal probieren; es spart den Umweg über about:config, und scheint hier zu funktionieren.
Das Icon wird in einem Ordner namens icons erwartet, im chrome Ordner, ein Icon zum Testen hängt bei.
// tooltip-toggle_1c.uc.js
(function ptbut() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'tooltip_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "LettersT-2.png";
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'tooltip_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Tooltip Toggle',
tooltiptext: "toggle tooltips",
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
document.getElementById('tooltip_button').addEventListener( "click", onClick );
let prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
function onClick(aEvent, keyEvent=false) {
if(!keyEvent && aEvent.button != 0) {
return;
}
prefs.setBoolPref("browser.chrome.toolbar_tips", !prefs.getBoolPref("browser.chrome.toolbar_tips"));
}
})();
Alles anzeigen
Könnt Ihr ja mal probieren;
Die Taste funktioniert. Da es sich um eine button mit zwei Positionen handelt, wäre es gut, wenn die Position der Taste angegeben würde, z. B. T und ein diagonal gekreuztes T
Die Taste funktioniert. Da es sich um eine button mit zwei Positionen handelt, wäre es gut, wenn die Position der Taste angegeben würde, z. B. T und ein diagonal gekreuztes
T
Danke für's Testen.
Und das ist eine gute Idee, aber ich weiss nicht wie ich die beiden Zustände true/false als Attribute oder Class einfügen kann.
Falls man eines der beiden hätte, könnte man mit CSS die Icons, den Text etc. für den Status manipulieren.
Vielleicht kannst du aus folgendem Skript die nötigen Infos ziehen. Damit wird eine vertikale Toolbar aus/eingeschaltet und jeweils ein anderes Icon erscheint...
(function() {
/*******************************************************************************/
if (location != 'chrome://browser/content/browser.xhtml') {
return;
}
/*******************************************************************************/
// Background Color
var vb_bg_color = 'rgb(40,40,42)';
// Border Color
var vb_border_color = 'rgb(0,128,0)';
// Number of columns
var vb_cols = 1;
// Visibility on Start
var vb_visibilityOnStart = 1;
// Button Icon, if Toolbar is visible
vb_isVisibleImage = 'url("file:///F:/FIREFOX-ICONS/Icons/pin-grün.png")';
// Button Icon, if Toolbar is hidden
vb_isHiddenImage = 'url("file:///F:/FIREFOX-ICONS/Icons/pin-rot.png")';
/*******************************************************************************/
var vb_h = window.outerHeight;
var vb_minH = vb_h/20;
var vb_maxH = vb_h/2;
var vb_width = 32;
var vb_totalwidth = vb_cols * vb_width;
var vb_style = '\
box-sizing: content-box !important; \
background-color: ' + vb_bg_color + ' !important; \
min-width: ' + vb_totalwidth + 'px !important; \
max-width: ' + vb_totalwidth + 'px !important; \
min-height: ' + vb_minH + 'px !important; \
max-height: ' + vb_maxH + 'px !important; \
position: absolute !important; \
right: 60px !important; \
padding: 5px 0 !important; \
border: 2px ridge ' + vb_border_color + '; \
border-radius: 10px !important; \
z-index: 1 !important; \
';
var vb_element = document.getElementById('navigator-toolbox');
var vb_toolbar = document.createElement('toolbar');
vb_toolbar.id = 'fp-toolbar';
vb_toolbar.setAttribute('customizable', true);
vb_toolbar.setAttribute('mode', 'icons');
vb_toolbar.setAttribute('style', vb_style);
vb_element.appendChild( vb_toolbar );
vb_toolbar.setAttribute('collapsed', false);
CustomizableUI.registerArea( 'fp-toolbar' , { legacy: true } );
CustomizableUI.registerToolbarNode(vb_toolbar);
setTimeout(function(){
var tmp_positionInfo = vb_toolbar.getBoundingClientRect();
var tmp_height = tmp_positionInfo.height;
var vb_ptop = ( vb_h - tmp_height ) / 2;
vb_toolbar.style.top = vb_ptop + 'px';
if( vb_visibilityOnStart == 0 ) {
vb_toolbar.setAttribute('collapsed', true);
}
}, 500);
/*******************************************************************************/
try {
Components.utils.import("resource:///modules/CustomizableUI.jsm");
CustomizableUI.createWidget({
id: "fp-toggle-toolbar",
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: "Vertical Toolbar",
tooltiptext: "Vertical Toolbar",
onClick: function() {
var node = document.getElementById('fp-toolbar');
var isCollapsed = node.getAttribute('collapsed');
if( isCollapsed == 'false' ) {
node.setAttribute( 'collapsed' , 'true' );
node.style.visibility = 'collapse';
document.getElementById(this.id).style.listStyleImage = vb_isHiddenImage;
} else {
node.setAttribute( 'collapsed' , 'false' );
node.style.visibility = 'visible';
document.getElementById(this.id).style.listStyleImage = vb_isVisibleImage;
}
},
onCreated: function(aNode) {
if( vb_visibilityOnStart == 1 ) {
aNode.style.listStyleImage = vb_isVisibleImage;
} else {
aNode.style.listStyleImage = vb_isHiddenImage;
}
return aNode;
}
});
} catch (e) {
Components.utils.reportError(e);
};
/*******************************************************************************/
})();
Alles anzeigen
Vielleicht kannst du aus folgendem Skript die nötigen Infos ziehen. Damit wird eine vertikale Toolbar aus/eingeschaltet und jeweils ein anderes Icon erscheint.
Danke, aber ich weiss nicht wie ich in dem speziellen Fall den Status false oder true angeben kann/sollte, dazu sind meine Javascript Kenntnisse zu rudimentär.
Ich habe schon Stunden gebraucht, um nur das Umschalten zwischen false und true hinzubekommen.
Dem Button kann ich recht einfach umschaltbare Attribute und Klassen bei Mausklick zuweisen, aber halt nicht bezogen auf einen spezifischen Status.
Wenn ich zB das obige Script so ändere, mit dem tooltip_button.classList.toggle Eintrag in Zeile 44:
// tooltip-toggle_1b.uc.js
(function ptbut() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'tooltip_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "LettersT-2.png";
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'tooltip_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'tooltip toggle',
tooltiptext: "tooltip toggle",
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
document.getElementById('tooltip_button').addEventListener( "click", onClick );
let prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
function onClick(aEvent, keyEvent=false) {
if(!keyEvent && aEvent.button != 0) {
return;
}
prefs.setBoolPref("browser.chrome.toolbar_tips", !prefs.getBoolPref("browser.chrome.toolbar_tips"));
tooltip_button.classList.toggle("tooltips_off");
}
})();
Alles anzeigen
Dann schaltet der Button um mit etwa so einem CSS:
Aber abhängig davon was der Ausgangswert war, ist der Button Hintergrung dann entweder Rot bei false, oder bei true.
Die Lösung mag in dem dem von Dir zitierten Code stecken, aber für ein JS Amateur wie mich wäre es zuviel Aufwand das herrauszufinden.
Für einen Experten aber sicher ein Klacks.
Da es sich um eine button mit zwei Positionen handelt
Ich kann nur ein völlig anderes Skript geben.
Wenn du/jemand testen möchte:
(function() {
if(location.href != 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'Tooltip-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'Tooltip-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Tooltip aktivieren/deaktivieren',
tooltiptext: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ?
'Tooltip frei' : 'Tooltip gesperrt',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var a in attributes) {
button.setAttribute(a, attributes[a]);
};
function onCommand() {
var isEnabled = !Services.prefs.getBoolPref('browser.chrome.toolbar_tips');
Services.prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled);
var windows = Services.wm.getEnumerator('navigator:browser');
while (windows.hasMoreElements()) {
let button = windows.getNext().document.getElementById('Tooltip-button');
if (isEnabled)
button.setAttribute('tooltiptext', 'Tooltip frei')
else
button.setAttribute('tooltiptext', 'Tooltip gesperrt');
};
};
return button;
}
});
} catch(e) { };
var css =
'#Tooltip-button[tooltiptext="Tooltip gesperrt"] {list-style-image: url("file:///C:/Users/weiss/AppData/Roaming/Mozilla/Firefox/Profiles/i3gghgwc.default/chrome/Icons/T rot.svg")}' +
'#Tooltip-button[tooltiptext="Tooltip frei"] {list-style-image: url("file:///C:/Users/weiss/AppData/Roaming/Mozilla/Firefox/Profiles/i3gghgwc.default/chrome/Icons/T grün.svg")}';
var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
document.insertBefore(stylesheet, document.documentElement);
})();
Alles anzeigen
Da es sich um eine button mit zwei Positionen handelt
Ich kann nur ein völlig anderes Skript geben.
Wenn du/jemand testen möchte:
Klappt soweit prima, Dankeschön!
Für die Icons hab ich zum Testen auf die Schnelle noch etwas in einer CSS Datei dazu gepackt, um mich nicht mit den Dateipfaden rumärgern zu müssen; die Icons hier wieder in chrome/icons.
Klappt soweit prima, Dankeschön!
Gern geschehen.
um mich nicht mit den Dateipfaden rumärgern zu müssen
Ich kann nur ein völlig anderes Skript geben.
Wenn du/jemand testen möchte:
Vielen Dank, super!
Wie kann ich einen relativen Pfad zu einem Symbol anstelle eines direkten Pfades angeben?
Vielen Dank, super!
Gerne doch
Wie kann ich
Damit habe ich auch immer Probleme
Evtl. kann dir Horstmann ja sein angepasstes Skript bezüglich der Pfade geben.
Evtl. kann dir Horstmann ja sein angepasstes Skript bezüglich der Pfade geben.
Kanner, wenn's denn auch klappt.
Ich habe am Script von 2002Andreas etwas herumgepfuscht, scheint soweit zu funktionieren.
Das Icon (eines hängt wieder unten an) wird wieder in Profilname/chrome/icons erwartet, der Pfad ist im Script eingebunden, wie von Mira_Belle mal ausgetüftelt.
Die CSS zur Anpassung der Zustände Ein/Aus ist ausgelagert in eine externe CSS Datei, mach ich selber meist so, und war jetzt zu faul wieder nachzuschauen wie man das noch ins Script packt.
In der CSS kann man beliebig Anpassungen vornehmen, hier ist jetzt nur das Icon bzw. Label im Aus Zustand bleicher gemacht.
Script:
// https://www.camp-firefox.de/forum/thema/136599-tooltips-nur-f%C3%BCr-die-bedienoberfl%C3%A4che-ausschalten/?postID=1249369#post1249369
// tooltip-toggle_5.uc.js raus#1
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'tooltip_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "LettersT-2.png";
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'tooltip_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Tooltip Toggle',
tooltiptext: "toggle tooltips",
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
background: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ?
'red' : 'cyan',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onCommand() {
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
var isEnabled = !prefs.getBoolPref('browser.chrome.toolbar_tips');
prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled);
if (isEnabled)
tooltip_button.setAttribute('background', 'red')
else
tooltip_button.setAttribute('background', 'cyan');
};
})();
Alles anzeigen
CSS:
/* tooltips OFF adjustments */
/* button in toolbar */
toolbar:not([customizing]) #tooltip_button[background ="cyan"]:not(:hover, :active) .toolbarbutton-icon {
opacity: 0.5 !important;
}
/* button in overflow menu */
:root:not([customizing]) #tooltip_button[background ="cyan"] label {
opacity: 0.5 !important;
}
/* tooltips on adjustments, optional */
/*
#tooltip_button[background ="red"]:not(:hover, :active) .toolbarbutton-icon {
outline: 2px solid green !important;
outline-offset: -1px !important;
}
*/
Alles anzeigen
// https://www.camp-firefox.de/forum/thema/136599-tooltips-nur-f%C3%BCr-die-bedienoberfl%C3%A4che-ausschalten/?postID=1249369#post1249369
// tooltip-toggle_5.uc.js raus#1
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'tooltip_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "LettersT-2.png"
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'tooltip_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Tooltip Toggle',
tooltiptext: "toggle tooltips",
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
background: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ?
'red' : 'cyan',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onCommand() {
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
var isEnabled = !prefs.getBoolPref('browser.chrome.toolbar_tips');
prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled);
if (isEnabled)
tooltip_button.setAttribute('background', 'red')
else
tooltip_button.setAttribute('background', 'cyan');
};
(function () {
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
/* tooltips OFF adjustments */
/* button in toolbar */
toolbar:not([customizing]) #tooltip_button[background ="cyan"]:not(:hover, :active) .toolbarbutton-icon {
opacity: 0.5 !important;
}
/* button in overflow menu */
:root:not([customizing]) #tooltip_button[background ="cyan"] label {
opacity: 0.5 !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
})
})();
Alles anzeigen
Oder so mit 2 Icons:
(function() {
// start customisation area----------------------------------
const buttonIcon1 = '16_tooltip-empty_contprop.svg'; // Name & Dateiendung des anzuzeigenden Symbols
const buttonIcon2 = '16_tooltip-text_contprop.svg'; // Name & Dateiendung des anzuzeigenden Symbols
const buttonPath = '/chrome/icons/'; // Pfad zum Ordner der die Icons beinhaltet
// end customisation area-----------------------------------
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
if(location.href != 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'Tooltip-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'Tooltip-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Tooltip aktivieren/deaktivieren',
tooltiptext: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ?
'Tooltip frei' : 'Tooltip gesperrt',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var a in attributes) {
button.setAttribute(a, attributes[a]);
};
function onCommand() {
var isEnabled = !Services.prefs.getBoolPref('browser.chrome.toolbar_tips');
Services.prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled);
var windows = Services.wm.getEnumerator('navigator:browser');
while (windows.hasMoreElements()) {
let button = windows.getNext().document.getElementById('Tooltip-button');
if (isEnabled)
button.setAttribute('tooltiptext', 'Tooltip frei')
else
button.setAttribute('tooltiptext', 'Tooltip gesperrt');
};
};
return button;
}
});
} catch(e) { };
//-----------------------------------------
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
#Tooltip-button[tooltiptext="Tooltip gesperrt"] {
list-style-image: url(${curProfDir}${buttonPath}${buttonIcon1});
fill: red !important;
}
#Tooltip-button[tooltiptext="Tooltip frei"] {
list-style-image: url(${curProfDir}${buttonPath}${buttonIcon2});
fill: green !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
//-----------------------------------------------------------------
})();
Alles anzeigen
Ich nutze für mich (LINUX, keine Garantie für andere BS) allerdings dies (mit den gleichen Icons wie oben):
// B_Tooltip_toggle.uc.js
// dark theme
/*1. Verhalten des Tooltips beim start (ausgeschaltet/opacity:0)->*/
(function ttstart() {
// start config area--------------------------------------------
let IconPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Ordner der das .svg-Symbol (mit: fill="context-fill" fill-opacity="context-fill-opacity") beinhaltet.
// end config area----------------------------------------------
g1_tooltip_b = "0";
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
tooltip[label*=" "],
tooltip,
#tabbrowser-tab-tooltip {
appearance: none !important;
background-color: #3f3f3f !important;
color: #F9F9F9 !important;
font-size: 13px !important;
line-height: unset !important;
border: 1px solid #b03b0099 !important;
border-radius: 4px !important;
box-shadow: none !important;
width: auto !important;
height: auto !important;
justify-content: center !important;
align-items: center !important;
align-content: center !important;
vertical-align: middle !important;
overflow: hidden !important;
padding: 3px 7px 5px 7px !important;
display: none !important;
}
.places-tooltip-title {
border-bottom: 1px solid #b03b0099 !important;
padding-bottom: 3px !important;
margin-left: -7px !important;
margin-right: -7px !important;
padding-left: 7px !important;
padding-right: 7px !important;
color: #F9F9F9 !important;
}
.places-tooltip-uri {
font-size: 13px !important;
padding-top: 4px !important;
padding-bottom: 0px !important;
color: #b0b0b0 !important;
}
.places-tooltip {
display: flex !important;
}
#remoteBrowserTooltip{
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■Tabvorschau■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*muss in user.js aktiviert werden*/
.tab-preview-container {
border: 1px solid #b03b0099 !important;
border-radius: 4px !important;
background-color: #3f3f3f !important;
margin: 0 !important;
margin-top: 10px !important;
padding: 0 !important;
line-height: unset !important;
display: none !important;
}
.tab-preview-text-container {
border-radius: 0 !important;
border: 0 !important;
background: none !important;
margin: 0 !important;
padding: 0 !important;
}
.tab-preview-title,
.tab-preview-uri {
font-size: 13px !important;
font-weight: normal !important;
margin: 0 !important;
}
.tab-preview-title {
color: #F9F9F9 !important;
border-bottom: 0px solid #b03b0099 !important;
padding: 3px 7px 3px 7px !important;
max-height: 200px !important;
word-break: break-word !important;
}
.tab-preview-uri {
color: #b0b0b0 !important;
border-top: 1px solid #b03b0099 !important;
padding: 3px 7px 4px 7px !important;
max-height: 200px !important;
}
.tab-preview-thumbnail-container img,
.tab-preview-thumbnail-container canvas {
border-top: 1px solid #b03b0099 !important;
}
.tab-preview-thumbnail-container {
border-top: 0px solid #b03b0099 !important;
&:empty {
display: none !important;
}
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#toggle-tt-button .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #f60 !important;
transition: fill 0.4s ease-in-out 0.0s !important;
padding-top: 6.5px !important;
padding-bottom: 5.5px !important;
}
#toggle-tt-button:hover .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #dddddd !important;
transition: fill 0.4s ease-in-out 0.0s !important;
padding-top: 6.5px !important;
padding-bottom: 5.5px !important;
}
#toggle-tt-button:active .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: gold !important;
transition: fill 0.0s ease-in-out 0.0s !important;
padding-top: 6.5px !important;
padding-bottom: 5.5px !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
})();
/*2. Einschalten des Tooltips per Button (opacity:1)->*/
function tton() {
// start config area--------------------------------------------
let IconPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Ordner der das .svg-Symbol (mit: fill="context-fill" fill-opacity="context-fill-opacity") beinhaltet.
// end config area----------------------------------------------
g1_tooltip_b = "1";
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
tooltip[label*=" "],
tooltip,
#tabbrowser-tab-tooltip {
display: flex !important;
}
.places-tooltip {
display: flex !important;
}
#remoteBrowserTooltip{
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■Tabvorschau■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.tab-preview-container {
display: block !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#toggle-tt-button .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: gold !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:hover .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: #dddddd !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:active .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #f60 !important;
transition: fill 0.0s ease-in-out 0.0s !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
/*2a. Einschalten aller Tooltips per Button (opacity:1)->*/
function ttallon() {
// start config area--------------------------------------------
let IconPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Ordner der das .svg-Symbol (mit: fill="context-fill" fill-opacity="context-fill-opacity") beinhaltet.
// end config area----------------------------------------------
g1_tooltip_b = "2";
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
tooltip[label*=" "],
tooltip,
#tabbrowser-tab-tooltip {
display: flex !important;
}
.places-tooltip {
display: flex !important;
}
#remoteBrowserTooltip{
display: flex !important;
padding: 4px 7px 4px 7px !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■Tabvorschau■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.tab-preview-container {
display: block !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#toggle-tt-button .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: #72a572 !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:hover .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: #dddddd !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:active .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #cd0e14 !important;
transition: fill 0.0s ease-in-out 0.0s !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
/*3. Ausschalten des Tooltips per Button (opacity:0)->*/
function ttoff() {
// start config area--------------------------------------------
let IconPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Ordner der das .svg-Symbol (mit: fill="context-fill" fill-opacity="context-fill-opacity") beinhaltet.
// end config area----------------------------------------------
g1_tooltip_b = "0";
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
tooltip[label*=" "],
tooltip,
#tabbrowser-tab-tooltip {
display: none !important;
}
.places-tooltip {
display: flex !important;
}
#remoteBrowserTooltip{
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■Tabvorschau■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.tab-preview-container {
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#toggle-tt-button .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #f60 !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:hover .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #dddddd !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:active .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: gold !important;
transition: fill 0.0s ease-in-out 0.0s !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
/*3a. Ausschalten aller Tooltips per Button (opacity:0)->*/
function ttalloff() {
// start config area--------------------------------------------
let IconPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Ordner der das .svg-Symbol (mit: fill="context-fill" fill-opacity="context-fill-opacity") beinhaltet.
// end config area----------------------------------------------
g1_tooltip_b = "3";
let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
tooltip[label*=" "],
tooltip,
#tabbrowser-tab-tooltip {
display: none !important;
}
.places-tooltip {
display: none !important;
}
#remoteBrowserTooltip{
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■Tabvorschau■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.tab-preview-container {
display: none !important;
}
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#toggle-tt-button .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #cd0e14 !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:hover .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-empty_contprop.svg") !important;
fill: #dddddd !important;
transition: fill 0.4s ease-in-out 0.0s !important;
}
#toggle-tt-button:active .toolbarbutton-icon {
list-style-image: url("${IconPath}/16_tooltip-text_contprop.svg") !important;
fill: #72a572 !important;
transition: fill 0.0s ease-in-out 0.0s !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
}
/*4. Button Tooltip on/off (opacity: 1/0)->*/
(function() {
/*Icon + Iconpfad wird durch 1.-3. geregelt (sollte der Pfad oder die Icons dort entfernt werden, muss das hier wieder aktiviert werden); Nachteil: nur ein Icon, keine transition; kein fill*/
/*
// start config area
let ButtonIcon = "16_tooltip-text_contprop.svg" // Name & Dateiendung des anzuzeigenden Symbols.
let ButtonIconPath = "/chrome/css/image/" // Pfad zum Ordner der das Symbol beinhaltet.
// end config area
*/
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'toggle-tt-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'toggle-tt-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Toggle Tooltip',
accesskey: '',
tooltiptext: 'Tooltip on/off\n\nStart: Nur Tt-Bookmarks sichtbar\n\nToggle Linksklick\nLinksklick \'on\': Alle bis auf Tt-Content sichtbar\nLinksklick \'off\': zurück auf \'Start\'\n\nToggle Mittelklick\nMittelklick \'on\': ALLE Tt\'s sichtbar \nMittelklick \'off\': ALLE Tt\'s ausgeblendet'
/* style: "list-style-image: url('" + PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)) + ButtonIconPath + ButtonIcon + "');",*/
/*Icon+Pfad wird durch 1.-3. geregelt (sollte der Pfad oder die Icons dort entfernt werden, muss das hier wieder aktiviert werden)*/
};
for(var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
document.getElementById('toggle-tt-button').addEventListener( "click", onClick );
function onClick(aEvent) {
if (event.button == 0) {
if(g1_tooltip_b == '') {
g1_tooltip_b = '1';
tton();
}
else if(g1_tooltip_b == '0') {
g1_tooltip_b = '1';
tton();
}
else if(g1_tooltip_b == '1') {
g1_tooltip_b = '0';
ttoff();
}/**/
else if(g1_tooltip_b == '3') {
g1_tooltip_b = '0';
ttoff();
}
else if(g1_tooltip_b == '2') {
g1_tooltip_b = '1';
ttoon();
}
}
else
if (event.button == 1) {
if(g1_tooltip_b == '') {
g1_tooltip_b = '2';
tton();
}
else if(g1_tooltip_b == '2') {
g1_tooltip_b = '3';
ttalloff();
}
else if(g1_tooltip_b == '3') {
g1_tooltip_b = '2';
ttallon();
}/**/
else if(g1_tooltip_b == '1') {
g1_tooltip_b = '2';
ttallon();
}
else if(g1_tooltip_b == '0') {
g1_tooltip_b = '3';
ttalloff();
}
}
else
if (event.button == 2) {
event.button.stopPropagation();
//alert("Rechtsklick wird nicht unterstützt");
}
else {
alert("ERROR: B_Tooltip_toggle.uc.js");
};
}
})();
Alles anzeigen
Ja ich weiß, ist wie mit Kanonen auf Spatzen schießen, deshalb am Besten gleich wieder vergessen!
JavaScript Alles anzeigen// https://www.camp-firefox.de/forum/thema/136599-tooltips-nur-f%C3%BCr-die-bedienoberfl%C3%A4che-ausschalten/?postID=1249369#post1249369 // tooltip-toggle_5.uc.js raus#1 (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'tooltip_button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); var buttonicon = "LettersT-2.png" var toolbaritem = aDocument.createXULElement('toolbarbutton'); var props = { id: 'tooltip_button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: true, label: 'Tooltip Toggle', tooltiptext: "toggle tooltips", style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");', background: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ? 'red' : 'cyan', oncommand: '(' + onCommand.toString() + ')()' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; function onCommand() { var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); var isEnabled = !prefs.getBoolPref('browser.chrome.toolbar_tips'); prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled); if (isEnabled) tooltip_button.setAttribute('background', 'red') else tooltip_button.setAttribute('background', 'cyan'); }; (function () { let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService); let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(` /* tooltips OFF adjustments */ /* button in toolbar */ toolbar:not([customizing]) #tooltip_button[background ="cyan"]:not(:hover, :active) .toolbarbutton-icon { opacity: 0.5 !important; } /* button in overflow menu */ :root:not([customizing]) #tooltip_button[background ="cyan"] label { opacity: 0.5 !important; } `), null, null); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); }) })();
Oups, funktioniert nur leider nicht, jedenfalls der CSS Teil.
Zeile 52 + 68 löschen?
Oups, funktioniert nur leider nicht, jedenfalls der CSS Teil.
Nu aber, sorry.
// https://www.camp-firefox.de/forum/thema/136599-tooltips-nur-f%C3%BCr-die-bedienoberfl%C3%A4che-ausschalten/?postID=1249369#post1249369
// tooltip-toggle_5.uc.js raus#1
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'tooltip_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onCommand: onCommand,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "LettersT-2.png"
var toolbaritem = aDocument.createXULElement('toolbarbutton');
var props = {
id: 'tooltip_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Tooltip Toggle',
tooltiptext: "toggle tooltips",
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
background: Services.prefs.getBoolPref('browser.chrome.toolbar_tips') ?
'red' : 'cyan',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onCommand() {
var prefs = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var isEnabled = !prefs.getBoolPref('browser.chrome.toolbar_tips');
prefs.setBoolPref('browser.chrome.toolbar_tips', isEnabled);
var button = document.getElementById('tooltip_button');
if (isEnabled) {
button.style.background = 'red';
} else {
button.style.background = 'cyan';
}
let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
/* button in toolbar */
toolbar:not([customizing]) #tooltip_button[background ="cyan"]:not(:hover, :active) .toolbarbutton-icon {
opacity: 0.5 !important;
}
/* button in overflow menu */
:root:not([customizing]) #tooltip_button[background ="cyan"] label {
opacity: 0.5 !important;
}
`), null, null);
sss.loadAndRegisterSheet(uri, prefs.AUTHOR_SHEET);
};
})();
Alles anzeigen
Schreibt ihr die Scripte selbst oder woher habt ihr die?