passendes Ergebnis
"Was nicht passt, wird passend gemacht".
passendes Ergebnis
"Was nicht passt, wird passend gemacht".
Sieht hier mit meinem Code und dem in der userChromeShadow.css so aus:
Ja, ich weiß, dass dieser Ansatz auch funktioniert
:
Die vorgeschlagene alternative Lösung ist aber in meinen Augen die sauberere Lösung, weil nichts mehr berücksichtigt werden muss ("important!"). Aber soll Dharkness selber entscheiden, was er nutzen möchte... ![]()
Gerne. Freut mich, wenn es funktioniert, ich hatte es nämlich zu so später Stunde
nicht wirklich sehr ausführlich getestet... ![]()
Probier bitte auch diese Alternative aus, weil sich damit die Scrollbuttons von Tableiste und Menü wirklich getrennt ansprechen lassen, ohne 'workaround':
Die Idee dazu stammt von "Nutzende!", welche hier aber keinen User-Account mehr hat...
Edit: sehe gerade
@Gabbo hatte schon einen Link dazu gepostet. Na ja, doppelt ist ja auch nicht schlimm... ![]()
neue Version:
Wichtig: Die Verzeichnispfade müssen NICHT MEHR mit \\ bzw. +"\\" im Script abgeschlossen werden, bleiben also so, wie sie vorher waren...
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx104+
// ==/UserScript==
(function() {
const Cu = Components.utils;
if (!window.FileUtils) Cu.import('resource://gre/modules/FileUtils.jsm');
if (!window.Services) Cu.import('resource://gre/modules/Services.jsm');
setTimeout(function() {
saveTo()
}, 200);
function saveTo() {
// Config
var dirArray = [
["" + FileUtils.getDir('UChrm', []).path, "chrome"],
['F:', 'F:'],
['F:\\Sonst\\Gorsky', 'Gorsky'],
['G:', 'G:'],
];
let button = document.getElementById("unknownContentType").getButton("cancel");
let saveTo = button.parentNode.insertBefore(document.createXULElement("button"), button);
var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup"));
saveTo.classList.toggle("dialog-button");
saveTo.label = "Speichern in..";
saveTo.type = "menu";
var css =`
hbox.dialog-button-box button.dialog-button menupopup {
color: white !important;
background: black !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover{
background: red !important;
color: white !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
padding-left: 6px !important;
margin-left: 1px !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text{
padding-right: 5px !important;
padding-left: 4px !important;
}
`;
var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
var uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css))
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
dirArray.forEach(function(dir) {
var [name, dir] = [dir[1], dir[0] ];
var mi = document.createXULElement("menuitem");
var item = saveToMenu.appendChild(mi);
item.setAttribute("label", (name || (dir.match(/[^\\/]+$/) || [dir])[0]));
item.setAttribute("image", "moz-icon:file:///" + dir + "\\");
item.setAttribute("class", "menuitem-iconic");
item.addEventListener("command", function() {
let pathFile = dir + '\\' + ( document.getElementById('locationtext') ? document.getElementById('locationtext').value : document.getElementById('location').value);
var file = new FileUtils.File( pathFile );
dialog.mLauncher.saveDestinationAvailable(file);
dialog.onCancel = function() {};
close();
});
});
}
}());
Alles anzeigen
Bitte mal testen (mit unterschiedlichen Dateitypen und unterschiedlichen Zielordnern!):
Wichtig: Die Verzeichnispfade müssen grundsätzlich mit \\ bzw. +"\\" im Script abgeschlossen werden,also:
["" + FileUtils.getDir('UChrm', []).path + "\\", 'chrome'],
['F:\\', 'F:'],
['F:\\Sonst\\Gorsky\\', 'Gorsky'],
['G:\\', 'G:'],
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx104+
// ==/UserScript==
(function() {
const Cu = Components.utils;
if (!window.FileUtils) Cu.import('resource://gre/modules/FileUtils.jsm');
if (!window.Services) Cu.import('resource://gre/modules/Services.jsm');
setTimeout(function() {
saveTo()
}, 200);
function saveTo() {
// Config
var dirArray = [
["" + FileUtils.getDir('UChrm', []).path + "\\", "chrome"],
['F:\\', 'F:'],
['F:\\Sonst\\Gorsky\\', 'Gorsky'],
['G:\\', 'G:'],
];
let button = document.getElementById("unknownContentType").getButton("cancel");
let saveTo = button.parentNode.insertBefore(document.createXULElement("button"), button);
var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup"));
saveTo.classList.toggle("dialog-button");
saveTo.label = "Speichern in..";
saveTo.type = "menu";
var css =`
hbox.dialog-button-box button.dialog-button menupopup {
color: white !important;
background: black !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover{
background: red !important;
color: white !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
padding-left: 6px !important;
margin-left: 1px !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text{
padding-right: 5px !important;
padding-left: 4px !important;
}
`;
var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
var uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css))
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
dirArray.forEach(function(dir) {
var [name, dir] = [dir[1], dir[0]];
var mi = document.createXULElement("menuitem");
var item = saveToMenu.appendChild(mi);
item.setAttribute("label", (name || (dir.match(/[^\\/]+$/) || [dir])[0]));
item.setAttribute("image", "moz-icon:file:///" + dir + "\\");
item.setAttribute("class", "menuitem-iconic");
item.addEventListener("command", function() {
var file = new FileUtils.File(dir.replace(/\\/g, '\\') + (document.getElementById('locationtext') ? document.getElementById('locationtext').value : document.getElementById('location').value));
dialog.mLauncher.saveDestinationAvailable(file);
dialog.onCancel = function() {};
close();
});
});
}
}());
Alles anzeigen
Einfache Antwort: Weil das so richtig ist.
Danke für die Bestätigung. Genauso hatte ich es ja schon im ersten Beitrag beschrieben und erklärt!
Nur wenn ich dann z.B. mal an einem fremden PC bin, und dann ein Update machen muss, dann wird das ja auf dem PC gespeichert
Machst du dir Sorgen wegen Datenschutz? ![]()
Was ich gesehen habe, so bleiben dort (zumindest am Ende des Update-Prozesses) mehr oder weniger nur Log-Dateien übrig und in denen stand jetzt nichts drin, was irgendwelche (persönlichen) Informationen preisgibt. Einzig eine 'update.mar'- Datei mit binärem Inhalt (7.65MB) konnte ich nicht lesen und daher auch nicht einordnen...
Ich nutze ausschließlich portable Firefüchse und das ist hier ganz genauso. Wenn ich mich recht erinnere ist 'C:\ProgramData' ein spezielles Verzeichnis, in dem Programme (ob installiert oder nicht) notwendige Daten ablegen, die von allen Usern des OS genutzt werden können, also quasi ein Pendant zu deinem User-Verzeichnis, nur eben ohne Zugriffs-Einschränkungen.
Wieso Mozilla das Verzeichnis speziell auch für Updates nutzt, weiß vielleicht Sören Hentzschel?
Daher die Frage, ob man in irgendeiner Form die Tabs von ihrem Hintergrund bzw. Umgebung komplett entkopplen kann , oder umgekehrt .
Oder - es würde ja schon reichen wenn die Tab ganz links keine Verlauf hätte - hmmm ...
Die Tabs sind ja "entkoppelt" vom TabsToolbar-Hintergrund. Da aber die unselektierten Tabs von Haus aus einen transparenten Hintergrund haben, muss man - so wie es 2002Andreas vorgeschlagen hat - diesen Tab-Hintergrund natürlich erst neu einfärben, da sonst logischerweise der TabsToolbar-Hintergrund sichtbar wird..
Da das gewünschte Ergebnis vielleicht wirklich schwer zu kommunizieren ist, würde ich vorschlagen, dass du mit einem Bildbearbeitungsprogramm (du hattest selber Photoshop erwähnt) ein einigermaßen genaues Bild anfertigst, welches das Endergebnis darstellt. Ich bin sicher, dass du dann in kürzester Zeit eine Lösung dafür bekommen würdest...
Hallo Endor,
mein herzliches Beileid für diesen Verlust. Ich wünsche dir Trost und Kraft, egal woher diese auch kommen mag. Ja, bei solchen Dingen relativiert sich plötzlich alles...
Fehler kann ich bestätigen. Eigentlich sollte ja das Öffnen des Verzeichnisses unabhängig von der Art des Downloads sein, zumal er die Datei ja richtig abspeichert und vor allem auch vom Download-Panel öffnen kann. Also ist FireFox auch im Download-Panel das Verzeichnis bekannt. Warum es es nicht tut? Keine Ahnung! ![]()
...müsste man vielleicht mal mit dem Debugger ran.
![]()
Ich sollte wirklich etwas genauer werden und besser prüfen.
“We don't make mistakes, just happy little accidents.”
Hey, Danke.
Das kleine Stück Code ...
...
... reichte mir schon.
Zwar werden die Favicons etwas gestaucht, aber damit kann ich leben.
Gerne, aber bist du wirklich sicher, das du den Rest vom Code nicht brauchst? Bei mir werden ohne die zusätzlichen Anpassungen z.B. die Icons in der UrlBar extrem verkleinert und die Schrift wird abgeschnitten, sobald das Eingabefeld den Focus bekommt und sich das "Auswahlmenü" darunter öffnet. Natürlich kann man das auch wieder durch andere Anpassungen mittels CSS-Code geradebiegen, aber genau dafür waren eigentlich die zusätzlichen Zeilen gedacht.
Nebenbei wird ja auch noch mit dem Code das Vergrößern des Eingabefeldes bei Focus-Erhalt verhindert. Ok, ist halt die Frage, ob das einen stört oder nicht (mich hat es gestört
).
Bleibt also nur die Frage, wie bekomme ich dieses Eingabefeld etwas schmaler, dünner?
Die Anpassungen sind leider etwas umfangreicher, weil Mozilla die UrlBar mit dem 'breakout-extend' sehr viel komplizierter gemacht hat:
Bitte mal testen:
:root {
--url-height: 22px;
}
#urlbar-input-container
{
background-color: rgba(224, 224, 224, 0.1) !important;
border-radius: 5px !important;
height: calc(var(--url-height) - 2px) !important;
}
#urlbar
{
margin-top: 0px !important;
height: var(--url-height) !important;
}
#urlbar[breakout][breakout-extend] > #urlbar-input-container
{
padding-block: 1px !important;
padding-inline: 1px !important;
margin-top: 6px !important; /* u.U. Position je nach Höhe anpassen*/
}
#urlbar:not([breakout-extend]) > #urlbar-background
{
display: none !important;
}
#urlbar[breakout][breakout-extend]
{
top: 0px!important;
left: 0px !important;
width: 100%!important;
height: unset !important;
}
#urlbar[breakout][breakout-extend] > #urlbar-background
{
margin-top: 36px !important;
}
.urlbarView-body-inner
{
border-top: unset !important;
margin-top: 12px !important;
}
Alles anzeigen
Kennt jd. einen Shortcut zum toggeln der Pipette?
Von Haus aus geht das nicht. Eine Tastenkombination müsste man wohl mit einem angepassten JavaScript generieren, welches dann die Pipetten-Funktion aufruft. ![]()
Hallo,
wenn du mit ausgewählter Farbpipette den Bildschirminhalt verschiebst, z.B. indem du auf den (vertikalen) Scrollbalken gehst oder das Mausrad betätigst, dann werden weiterhin nur die Pixel berücksichtigt, welche sich beim Start der Farbpipette im Content-Bereich des Fensters befunden haben. Das ist auf jeder Seite so und scheint das normale Verhalten zu sein. Also, wenn du ein "Bild untersuchst", dann darfst du den Bildschirminhalt nicht mehr verschieben, bzw. musst die Farbpipette neu starten...
Ich gebe zu, irgendwann den Faden bei deinen Erklärungen verloren zu haben und daher das Problem vielleicht nicht zu 100% erfasst habe, aber trotzdem ein Versuch:
Die prefs-xx.js sind temporäre Backupdateien, die Firefox vor und während Änderungen an der prefs.js anlegt und dann auch wieder löscht. Wenn das ständig passiert, dann werden wohl ständig Änderungen an der pref.js vorgenommen. Dies kann auftreten, wenn irgendein Prozess ständig etwas in die prefs.js schreibt oder die Änderungen an der prefs.js nicht erfolgreich waren (Schreibschutz?).
Wenn du eine externe Sicherheitssoftware nutzt, dann deaktiviere die bitte auf dem Problemrechner und schau ob es dann funktioniert.
Außerdem wäre es interessant zu wissen, was in der prefs-1.js steht. Also, wenn möglich, die Datei vor dem Löschen kopieren und sichern.
Egal, wichtig war ja nur den Grund dafür zu finden.
Richtig
. Ich finde es nur merkwürdig, dass anscheinend nur bei dieser Windows-Skalierungseinstellung das Phänomen auftritt. Wenn ich z.B. alle Elemente über 'layout.css.devPixelsPerPx' ändere, passiert das nicht. Auch bei Größenänderungen via CSS ist alles ok
.
Edit: Noch was: nur bei 125% tritt dieses Verhalten auf. Bei allen anderen Skalierungswerten wird nichts ins Überhangmenü verschoben.