milupo: siehe seine letzte Zeile, Shift + F4 ist das Tastatur-Kommando genau dafür.
Ich hab's nicht so sehr mit Tastenkombinationen, Kopieren, Ausschneiden und Einfügen, dann hört es fast schon auf.
milupo: siehe seine letzte Zeile, Shift + F4 ist das Tastatur-Kommando genau dafür.
Ich hab's nicht so sehr mit Tastenkombinationen, Kopieren, Ausschneiden und Einfügen, dann hört es fast schon auf.
Nun ja, wir können da leider nichts tun. Es war eine Entscheidung der Firefox-Entwickler das so zu gestalten, wie es jetzt ist. Und Firefox-Entwickler lesen leider hier nicht mit. Du kannst höchstens ein Bug-Ticket auf Bugzilla anlegen. Bugzilla ist leider in Englisch.
Und Extras --> Web-Entwickler --> JavaScript-Umgebung? Wäre das etwas für dich?
Ach so, im Add-on-Manager. Meines Wissen lief das immer schon nur unten über die Schaltfläche. Ich persönlich verwende den Tab überhaupt nicht, sondern gehe gleich zu AMO.
Bitte wo suchst du denn? Auf addons.mozilla.org? Da ist oben rechts wie immer das Feld Suche nach Add-ons. Gib ein Wort ein und du erhältst eine Liste der Vorschläge.
Das Script macht genau das was ich haben wollte und erspart mir eine weitere Erweiterung.
Na wunderbar. ![]()
Das war mal ein Test-PilotExperiment und hieß da noch Page Shot. Es hat diese Testphase erfolgreich durchlaufen und ist nun ein System-Addon.
Wenn es dich stört, kannst du in about:config die Einstellung extensions.screenshots.system-disabled auf true setzen,
Vielleicht hilf es ja was, wenn ihr das nicht schon selbst studiert habt, dass ich euch die Inhalte der drei Dateien angebe, vielleicht sagt euch der Python-Code etwas, wenn er auch anders als der von JavaScript ist:
open_with_windows.py:
from __future__ import print_function
import os
import sys
import json
import struct
import subprocess
try:
sys.stdin.buffer
# Python 3.x version
# Read a message from stdin and decode it.
def getMessage():
rawLength = sys.stdin.buffer.read(4)
if len(rawLength) == 0:
sys.exit(0)
messageLength = struct.unpack('@I', rawLength)[0]
message = sys.stdin.buffer.read(messageLength).decode('utf-8')
return json.loads(message)
# Send an encoded message to stdout
def sendMessage(messageContent):
encodedContent = json.dumps(messageContent).encode('utf-8')
encodedLength = struct.pack('@I', len(encodedContent))
sys.stdout.buffer.write(encodedLength)
sys.stdout.buffer.write(encodedContent)
sys.stdout.buffer.flush()
except AttributeError:
# Python 2.x version (if sys.stdin.buffer is not defined)
# Read a message from stdin and decode it.
def getMessage():
rawLength = sys.stdin.read(4)
if len(rawLength) == 0:
sys.exit(0)
messageLength = struct.unpack('@I', rawLength)[0]
message = sys.stdin.read(messageLength)
return json.loads(message)
# Send an encoded message to stdout
def sendMessage(messageContent):
encodedContent = json.dumps(messageContent)
encodedLength = struct.pack('@I', len(encodedContent))
sys.stdout.write(encodedLength)
sys.stdout.write(encodedContent)
sys.stdout.flush()
def install():
import sys
try:
import winreg as _winreg
except:
import _winreg
this_file = os.path.realpath(__file__)
install_path = os.path.dirname(this_file)
manifest = {
'name': 'open_with',
'description': 'Example host for native messaging',
'path': this_file,
'type': 'stdio',
}
manifest['path'] = filename = os.path.join(install_path, 'open_with.bat')
with open(filename, 'w') as file:
file.write('@echo off\ncall "%s" "%s"\n' % (sys.executable, this_file))
registry_locations = {
# 'chrome': os.path.join('Software', 'Google', 'Chrome', 'NativeMessagingHosts'),
'firefox': os.path.join('Software', 'Mozilla', 'NativeMessagingHosts'),
}
for browser, registry_location in registry_locations.items():
browser_manifest = manifest.copy()
if browser == 'firefox':
browser_manifest['allowed_extensions'] = ['openwith@darktrojan.net']
else:
browser_manifest['allowed_origins'] = ['chrome-extension://eboojgmpoadapdemnbhjnnlnnnoijefc/']
filename = os.path.join(install_path, 'open_with_%s.json' % browser)
with open(filename, 'w') as file:
file.write(
json.dumps(browser_manifest, indent=2, separators=(',', ': '), sort_keys=True).replace(' ', '\t') + '\n'
)
try:
_winreg.OpenKey(_winreg.HKEY_CURRENT_USER, os.path.dirname(registry_location))
key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER, registry_location)
_winreg.SetValue(key, 'open_with', _winreg.REG_SZ, filename)
except WindowsError:
pass
def find_browsers():
try:
import winreg as _winreg
except:
import _winreg
windir = os.getenv('windir')
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, os.path.join('Software', 'Clients', 'StartMenuInternet'))
count = _winreg.QueryInfoKey(key)[0]
browsers = []
while count > 0:
subkey = _winreg.EnumKey(key, count - 1)
browsers.append({
'name': _winreg.QueryValue(key, subkey),
'command': _winreg.QueryValue(key, os.path.join(subkey, 'shell', 'open', 'command'))
})
count -= 1
if os.path.exists(os.path.join(windir, 'SystemApps', 'Microsoft.MicrosoftEdge_8wekyb3d8bbwe', 'MicrosoftEdge.exe')):
browsers.append({
'name': 'Microsoft Edge',
'command': os.path.join(windir, 'explorer.exe') + ' microsoft-edge:%s'
})
return browsers
def listen():
while True:
receivedMessage = getMessage()
if receivedMessage == 'ping':
sendMessage({
'version': '7.0b7',
'file': os.path.realpath(__file__)
})
elif receivedMessage == 'find':
sendMessage(find_browsers())
else:
for k, v in os.environ.items():
if k.startswith('MOZ_'):
try:
os.unsetenv(k)
except:
os.environ[k] = ''
CREATE_BREAKAWAY_FROM_JOB = 0x01000000
subprocess.Popen(receivedMessage, creationflags=CREATE_BREAKAWAY_FROM_JOB)
if __name__ == '__main__':
if len(sys.argv) == 2:
if sys.argv[1] == 'install':
install()
sys.exit(0)
elif sys.argv[1] == 'find_browsers':
print(find_browsers())
sys.exit(0)
listen()
Alles anzeigen
open_with_firefox.json:
{
"allowed_extensions": [
"openwith@darktrojan.net"
],
"description": "Example host for native messaging",
"name": "open_with",
"path": "C:\\Users\\Lenovo M58\\Downloads\\open_with.bat",
"type": "stdio"
}
open-with.bat:
@echo off
call "C:\Users\Lenovo M58\AppData\Local\Programs\Python\Python36\python.exe" "C:\Users\Lenovo M58\Downloads\open_with_windows.py"
In der open-with.bat steht der Pfad, den ich in der Kommandozeile eingegeben habe. Ich musste jeweils den vollständigen Pfad angeben.
hallo Dominikk,
herzlich willkommen im Forum.
Ich weiß nicht, ob es daran liegt - aber Mozilla passt native CSS-Eigenschaften immer mal wieder dem Standard an, sodass das Präfix moz- wegfällt. In der Datei iframestyles.css hast du zum Beispiel moz-border-radius angegeben, border-radius sollte mittlerweise reichen, das weiter unten steht. Auch in der anderen CSS-Datei solltest du mal nachschauen und testen.
dann erscheint eine Fehlermeldung.
Mir scheint, da fehlt bei dir ein Leerzeichen vor dem Parameter "%s". Allerdings ist im Python-Skript auch kein Leerzeichen. Vielleicht solltest du auch die Rückstriche durch einen weiteren Rückstrich maskieren, denn Open With hat zwei Dateien angelegt, eine open_with.bat, die lediglich den Aufruf des Installationsskriptes mit dem entsprechenden Pfad aus der Kommandozeile enthält und eine Datei open_with_firefox.json, die diese Bat-Datei aufruft. Und bei dem Pfad zu dieser Bat-Datei sind die Rückstriche verdoppelt.
Habe mir mal gerade das XPI angeschaut. Es ist nun klar, warum keine Einstellungen angezeigt werden. Die Datei options.html ist zwar fertig geschrieben, die Tags haben aber noch keinen Inhalt, sodass natürlich nichts zu sehen ist. Es könnte sein, dass der Installationshinweis die Einstellungen so lange vertritt.
Nun ja, es hat sich nichts geändert.
Ich habe das embeddable-zip-file der Version 3.6.2 installiert:
https://www.python.org/ftp/python/3.6…embed-amd64.zip
Ich probiere es gerade nochmal mit der exe:
So sieht es mit 7.0.7 aus. Allerdings sehe ich immer noch diesen Hinweistext, keine Einstellungen:
[attachment=0]open_with_browsers.png[/attachment]
Und wo ist diese Webextension? Ist das die Version 7.0.7 aus der Entwicklerecke? Die ließ sich in der Tat installieren, hatte sie gerade entdeckt. Ich habe allerdings eine andere Fehlermeldung. Bei mir fehlt die Datei python34.dll. Ich habe hier eine ältere Python-Version und den Pfad zu Python in der Kommandozeile angegeben. Tatsächlich gibt es da nur die Datei python3.dll.
Ach so, nein.
Ach, jetzt hast du mich irritiert. Open With lässt sich in Firefox 57 ja nicht mehr installieren.
Es ist zwar nun Geschichte, aber so sieht es bei mir mit Open With aus. Ich hatte allerdings Python schon irgendwann mal installiert.
[attachment=0]open_with_browsers.png[/attachment]
Du hast schon recht, aber man sollte hier auch den Hintergrund der Einstellung etwas kennen. Ein nicht sehr fortgeschrittener Benutzer ist möglicherweise mit about:config überfordert, zumal die Einstellung zu den Website-Sprachen ja in den Firefox-Einstellungen sichtbar ist. Aber auch damit muss man etwas anfangen können - du hast ja gesehen, das myfire sich in den Thread von kleinerherby einhakte, weil er dachte, es handele sich um die gleiche Thematik. Aber natürlich gibt es eine Unzahl an Einstellungen, die nur über about:config oder/und eine Erweiterung zu erreichen sind. Da geht kein Weg an about:config vorbei. Aber auch hier ist es gut, wenn man etwas Hintergrundwissen zu den Einstellungen hat, damit man weiß, was man tut. Es führen eben viele Wege zum gewünschten Firefox. ![]()
Werde wieder als deutschsprachiger Surfer von Websites erkannt, nicht mehr als englischer.
...
Kann mir das nicht erklären - hatte auch gestern bei der Umsetzung Eurer Tipps den FF öfters geschlossen und wieder geöffnet.
Hier spielt zum einen die Reihenfolge ein Rolle, das heißt, Deutsch sollte immer an erster Stelle stehen. Mit den Schaltflächen rechts kannst du es nach oben bewegen, falls es weiter unten steht. Es steht laut deinem Screenshot jetzt ganz oben, also funktioniert es auch. Zum anderen jedoch muss die Website auch eine deutsche Version anbieten, wenn sie das nicht tut, wird auf deine zweite Sprache weitergeleitet, das ist meist Englisch.