Schau mal seine Vita an.
Etwas anderes kann der nicht!
Beiträge von Mitleser
-
-
milupo Das wird nicht reichen, da diese Änderung auch an vielen anderen Stellen im Script relevant ist.
BeitragRE: Startseite
Es ist jetzt genau das eingetreten wovor Sören gewarnt hat:
Nicht nur das Script funktioniert nicht mehr, sondern auch z.B. das Tabkontextmenü > Alle Lesezeichen in Tabs öffnen ist durch die Nutzung des oben erwähnten Scripts funktonslos!!
Sollte jemand das Script - trotz ausdrücklicher Warnungen - in FF127 noch nutzen wollen, hier ist das update auf FF127:
(Quelltext, 50 Zeilen)
Mitleser13. Juni 2024 um 18:12 -
Evtl. bringt dich das weiter, achte bitte auch auf die Warnungen zur Nutzung dieses Scripts:
BeitragStartseite
Hallo zusammen,
bereits seit vielen Jahren habe ich die Startseite von Firefox folgendermaßen festgelegt.
camp-firefox.de/attachment/46612/
Dies entspricht auch nahezu perfekt meinen Vorstellungen, abgesehen von dem "Neuen Tab", der beim Start von Firefox angezeigt wird.
camp-firefox.de/attachment/46611/
Nach dem Start von Firefox rufe ich in der Regel zunächst meine favorisierten Lesezeichen mittels (Alle in Tabs öffnen) auf, dabei "stört" mich ein wenig der erwähnte "Neue Tab", den ich…Webmark3. Mai 2024 um 18:32 -
Mit vokoscreenNG geht es direkt, ich habe das gerade ausprobiert. Die Datei wird aber auch sehr groß.
Funzt nicht: keine Möglichkeit das Video in einem Gif-container zu speichern. An den Codecs liegt es nicht, Breche das jetzt hier mal ab. Gerne über PN weiter.
-
saobento Kurze Rückmeldung:
werde ich morgen mal testen!
Speichert leider nicht in den hier erforderlichen gif-Container.
Animated GIF output? · Issue #196 · MaartenBaert/ssrHey there, I notice you can select gif as a container format, but it doesn't seem to work, failing when you hit start recording. Any hints?github.com -
-
Leider nur mit wine on Linux:
LICEcap
simple animated screen captures
Linux: apparently works with WINE -
Geht das nicht mit FN-Taste + F4?
Frage: ScreenVideos sind ja beeindruckend. Ich suche eine Software für Linux.
-
Es ist jetzt genau das eingetreten wovor Sören gewarnt hat:
Nicht nur das Script funktioniert nicht mehr, sondern auch z.B. das Tabkontextmenü > Alle Lesezeichen in Tabs öffnen ist durch die Nutzung des oben erwähnten Scripts funktonslos!!
Sollte jemand das Script - trotz ausdrücklicher Warnungen - in FF127 noch nutzen wollen, hier ist das update auf FF127:JavaScript
Alles anzeigen// JavaScript Document /* Wenn man mehrere Lesezeichen zugleich in Tabs öffnet, wird dabei der fokussierte Tab nicht überschrieben. Das Skript bewirkt, dass dieser Tab, wenn er leer ist, für das erste der Lesezeichen benutzt wird. Ein Tab gilt in diesem Zusammenhang im Wesentlichen dann als leer, wenn er die Seite about:blank, about:newtab oder about:home enthält. Genauer steht es hier im Quelltext: isEmpty und isBlankPageURL Das Skript verändert die Funktion PlacesUIUtils.openTabset, die für das gleichzeitige Öffnen mehrerer Tabs zuständig ist. */ (function() { if (window.__SSi != 'window0') return; PlacesUIUtils.openTabset = function openTabset(aItemsToOpen, aEvent, aWindow) { if (!aItemsToOpen.length) return; let window.BrowserUtils = aWindow && aWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser" ? aWindow : window.BrowserUtilsTracker.getTopWindow(); var urls = []; let skipMarking = window.BrowserUtils && PrivateBrowsingUtils.isWindowPrivate(window.BrowserUtils); for (let item of aItemsToOpen) { urls.push(item.uri); if (skipMarking) continue; if (item.isBookmark) this.markPageAsFollowedBookmark(item.uri); else this.markPageAsTyped(item.uri); } var where = window.BrowserUtils ? window.BrowserUtils.whereToOpenLink(aEvent, false, true) : "window"; if (where == "window") { let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); let stringsToLoad = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); urls.forEach(url => stringsToLoad.appendElement(PlacesUtils.toISupportsString(url))); args.appendElement(stringsToLoad); window.BrowserUtils = Services.ww.openWindow( aWindow, AppConstants.BROWSER_CHROME_URL, null, "chrome,dialog=no,all", args ); return; } var loadInBackground = (where == "tabshifted"); window.BrowserUtils.gBrowser.loadTabs(urls, { inBackground: loadInBackground, replace: window.BrowserUtils.gBrowser.selectedTab.isEmpty, triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), }); }; })();
-
Ja. Perfekt.
Leider nein! Starte mal den Player. Jetzt aber (kürzen musst du selber):
CSS/*player inaktiv*/ .mediaplayer.mediaplayer--reduced-m.mediaplayer--audio.mediaplayer--lazy-loading.mediaplayer--loaded div.player.ardplayer.ardplayer-show-controls.ardplayer-state-audio.ardplayer-state-audio-inline.ardplayer-state-inactive.ardplayer-m.ardplayer-bs-break { background-color: red !important; } /*player spielt ab*/ .mediaplayer.mediaplayer--reduced-m.mediaplayer--audio.mediaplayer--lazy-loading.mediaplayer--loaded div.player.ardplayer.ardplayer-show-controls.ardplayer-state-audio.ardplayer-state-audio-inline.ardplayer-m.ardplayer-bs-break { background-color: green !important; }
-
Ok, dann auf die harte Tour:
CSS.mediaplayer.mediaplayer--reduced-m.mediaplayer--audio.mediaplayer--lazy-loading.mediaplayer--loaded div.player.ardplayer.ardplayer-show-controls.ardplayer-state-audio.ardplayer-state-audio-inline.ardplayer-state-inactive.ardplayer-m.ardplayer-bs-break { background-color: red !important; }
Jetzt?
-
Wirkt sich leider nur auch auf (div.ardplayer-posterbackdrop) aus
Aber nicht auf dem von dir erwähnten Beispiellink (https://www.tagesschau.de/ausland/amerik…huldig-100.html) oder doch? Oder wo sonst (Bitte Link/Screen). Und was heißt 'teilweise'?
-
-
Der entsprechende Codeausschnitt hätte auch gereicht, wer soll das denn alles durchlesen/arbeiten?
EDIT: Das habe ich wahrscheinlich falsch verstanden: Der Code um den es geht ist scheinbar nicht in dieser css vorhanden.
-
Ich könnte noch Icons oben drauf legen:
icons.zip
Oder auch noch das (ich benutze den Button auch):Spoiler anzeigen
JavaScript
Alles anzeigen(function() { // ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const buttonIcon1 = 'pulse-square_thin.svg'; // Name & Dateiendung des anzuzeigenden Symbols // Download const buttonIcon2 = 'downloads_thin.svg'; // Name & Dateiendung des anzuzeigenden Symbols const buttonPath = '/chrome/icons/'; // Pfad zum Ordner der die Icons beinhaltet const label = 'Mediasource userpref Downl./Livest.'; //const label1 = 'Mediasource userpref Livestream.'; //const label2 = 'Mediasource userpref Download'; //const tooltiptext1 = ?; //const tooltiptext2 = ?; // ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)); if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'mediasource-enabled-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: 'mediasource-enabled-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: label, tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ? 'LiveStream' : 'Download', oncommand: '(' + onCommand.toString() + ')()' }; for (var a in attributes) { button.setAttribute(a, attributes[a]); }; function onCommand() { var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled'); Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled); event.target.ownerGlobal.BrowserCommands.reload(); var windows = Services.wm.getEnumerator('navigator:browser'); while (windows.hasMoreElements()) { let button = windows.getNext().document.getElementById('mediasource-enabled-button'); if (isEnabled) button.setAttribute('tooltiptext', 'LiveStream') else button.setAttribute('tooltiptext', 'Download'); }; }; 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(` #mediasource-enabled-button[tooltiptext="LiveStream"] { list-style-image: url(${curProfDir}${buttonPath}${buttonIcon1}); fill: lightblue !important; } #mediasource-enabled-button[tooltiptext="Download"] { list-style-image: url(${curProfDir}${buttonPath}${buttonIcon2}); fill: gold !important; } `), null, null); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); //----------------------------------------------------------------- })();
-
Es lässt mir einfach kein Ruhe. Der Fehler liegt hier (in Zeile 7), die null in Anführungstrichen ist falsch: so sollte es gehen ohne den Weg über 'else' :
Zum Thema Label: Danke für deine Änderungen. Sicherlich hast du nicht bedacht, dass die Länge eines Eintrags an dieser Stelle bewirkt, dass das Menü unnötig breit wird, Die kurze Vers. fand ich genau so aussagekräftig...Egal...
Denn genau genommen, sehe ich keine Verwendung genau für dieses Skript mit dieser Funktion.
dies ist einfach nur ein Test
Wie verwende ich das Script zukünftig? Das werde ich bestimmt hier posten oder in die Tonne treten und dann die Tonne abfackeln...
JavaScript
Alles anzeigen// Funktion zum Aktualisieren des Labels und Icons function updateMenuItem() { const starred = orig.getAttribute('starred'); if (starred == '') { menuitem1.setAttribute('label', 'funzt'); } else if (starred == null) { menuitem1.setAttribute('label', label1); } else if (starred == "true") { menuitem1.setAttribute('label', label2); } else { menuitem1.setAttribute('label', 'funzt nicht'); }
-
Schon wieder überschnitten.
Jetzt?
Leider nein.
Muss jetzt schlafen, gN8...morgen ist ein neuer Tag....
-
Danke!
Das Icon funzt, das Label noch nicht..
[function updateMenuItem()]
Aber dies funzt (Zeile11):
Statt:
JavaScript
Alles anzeigen// Funktion zum Aktualisieren des Labels und Icons function updateMenuItem() { const starred = orig.getAttribute('starred'); if (starred == '') { menuitem1.setAttribute('label', 'funzt'); } else if (starred == "null") { menuitem1.setAttribute('label', label1); } else if (starred == "true") { menuitem1.setAttribute('label', label2); } else { menuitem1.setAttribute('label', 'funzt nicht'); }
Dies:
JavaScript
Alles anzeigen// Funktion zum Aktualisieren des Labels und Icons function updateMenuItem() { const starred = orig.getAttribute('starred'); if (starred == '') { menuitem1.setAttribute('label', 'funzt'); } else if (starred == "null") { menuitem1.setAttribute('label', label1); } else if (starred == "true") { menuitem1.setAttribute('label', label2); } else { menuitem1.setAttribute('label', label1); }
-
Mira_Belle Bestimmt ist morgen dein Tag!
An deinem heutigen schlechten Tag kann ich nichts ändern, aber wenn dir ab morgen langweilig ist, baue doch einfach den 'MutationObserver' in das oben erwähnte Script ein. Du kannst das! Mit der Beschäftigung mit dem o.a. Script würdest du auch meiner Erklärung näherkommen.....Dein 'Nachtrag' und mein Beitrag #3.837scheinen sich überschnitten zu haben.
-
Mira_Belle Kann es sein dass du mich veräppelst?
Meine 'Aufgabenstellung'(wird demnächst mit 'MutationObserver' gelöst werden): Einen 'EventListener'der in der Lage ist, ein Attribut einer ID auf Veränderung zu prüfen, um eine Funktion anzustoßen
[konkret: #context-bookmarkpage[starred="true"] wird zum Beispiel genutzt um das list-style-image zu ändern (gefüllter/umrandeter Stern)]. Dazu nutze ich das oben erwähnte - leicht nachvollziehbare - Beipiel.