3 votos

Puede Safari de descarga de la ventana emergente de la ventana se hizo más amplio?

¿Cómo puede el max. ancho (ancho fijo≈425) de Safari download-ventana emergente-ventana se hizo más amplio?

Es allí una manera de conseguir en el Safari del "descargar pop encima de la ventana" de cualquier manera para su máximo tamaño es de más de 425 px y nombres de archivo más largos no son abreviado?
Tal vez a través de AppleScriptObjC?

[[ Respuestas: Hasta el momento (w/o uso de as-objC) solo tres "soluciones" han llegado a su alrededor...

  • Original de la Solución #1 ... una mezcla de (hacer) shellScript (cat/sed), COMO, Html y Automator
  • Solución # 1 ... sólo utiliza Automator módulos, sino que también contiene la anterior secuencia de comandos de shell
  • Solución # 2 ... con directo acceso en Safari en el archivo plist, un diálogo y un "botón" en Safari

WA #2 es mi favorito, el de los otros "windows" son más flexibles. Tanto el uso de Automator accesos directos. ]]

3voto

zonble Puntos 2925

Original De La Solución #1:

El primero tiene la ventaja de utilizar sólo una acción de Automator y permite bastante preciso de la configuración de la resultante de Safari de propiedad de la ventana. Sus resultados finales son un "servicio" en Safari menús, además de un método abreviado de teclado.
Estos son los componentes:

  • Safari "de Descarga.plist" (en: Biblioteca/Safari)
  • Un script de shell que ejecuta cat & sed, el filtrado de la plist-del archivo de entrada en "Downloads1.html"
  • Un archivo Html "Downloads2.html" la celebración de las etiquetas Html de su elección (w/s acabado de las etiquetas: </...)
  • Un AppleScript que contiene un script de shell de comandos", "decir" Safari para abrir un
  • ... Archivo Html "Downloads.html", generado por el script de shell, con el fin último de la ...
  • Automator para colocar un flujo de trabajo en Safari "Servicios" del menú.

Este código se ejecuta como un Automator Servicio (sin "ejecutar" comandos es claro AppleScript):

on run {input, parameters} 
 -- [Only if needed, place: "LANG=C; LC_CTYPE=C; LC_ALL=C;" in front of "cd"]

    do shell script "cd ˜/Users/[myName]/Library/Safari/;
             rm Downloads.html;
             cat Downloads.plist | sed -n ' { s/.*Downloads/<p>D`load => /; ¬
                     s/.*Trash/<p>Trashed => / ; s/.*Movies/<p>Movies => /; ¬
                     s/mp4.*/mp4<p>/ p; }' > Downloads1.html';
             cat Downloads2.html Downloads1.html > Downloads.html;"

    tell application "Safari"
        make new document at end of documents with properties ¬
            {URL:"file:///Users/[myName]/Library/Safari/Downloads.html"} 
        set bounds of window 1 to {700, 62, 1280, 450} 
    end tell 
    return input 
end run

(La secuencia de comandos de shell y "hacer el nuevo documento..." están destinados a ser los trazadores de líneas uno cada uno).

Integrado son dos "filtros" a la sed de la parte (.*Películas & .*La basura), así que mi ventana del navegador se parece a esto (usted puede editar estos filtros o/y agregar Extensiones a sus necesidades):

+----------------------- Toolbar -------------------------+
|                                                         |
|  D'load => /Some_sinster_TV_series_S02E01_15.11.21_00-  |
|  40_BBC3_93_TVOON_DE.mpg.HQ.avi.otrkey                  |
|                                                         |
|  Movies => DS9.4.07_Little_green_men.mp4                |
|                                                         |
|  Trashed => /DS9.3.09_Defiant.mp4                       |
|                                                         |
|  Trashed => /DS9.3.07_Civil_Defense.mp4                 |
|                                                         |
+---------------------------------------------------------+

(Las barras invertidas chupar... difícil de filtrar, sin embargo.)

  • El comentario de la segunda línea puede ser necesario, o puede que no...
  • Reemplace [nombre] con su propio nombre de usuario.
  • Para utilizar este código como "servicio" en Safari, tienes que pegar en el interior de una "Ejecutar AppleScript" campo de automator. Guardar como "flujo de trabajo".
  • A continuación, puede crear un acceso directo (por ejemplo: opt-cmd-d) que se ejecute de forma instantánea (Sistema-Preferencias / Teclado / Atajos / Servicios).
  • Mi solución no es muy sofisticado, pero he aprendido (vislumbrado) mucho acerca de sed, awk, gato y AppleScript/Automator.

0voto

zonble Puntos 2925

Solución #1

Como hasta ahora no hay respuesta se explica cómo mediante programación influencia de Safari en el pop encima de la ventana:

Utilizando sólo Automator

Aquí es una manera de conseguir un "descargas Recientes" de la lista que se muestra, que utiliza sólo Automator.

  • Usted no necesita utilizar AppleScript aquí a todos. En su lugar se tarda 4 de Automator los módulos a ejecutar.
  • Aparecerá un bien enmarcado (Automator estilo de la ventana del navegador.
    (Usted necesita para colocar un "Downloads2.html" archivo, que contiene sus etiquetas html w/o final de las etiquetas, dentro de /Users/[nombre]/Library/Safari).
  1. Después de abrir el Archivo > Nuevo > Servicio en Automator, haga doble clic en:
    Automator ... Do shell script

    A continuación, pegue el código siguiente en la ventana en el lado derecho:

    # only if needed, place as 1st line: LANG=C; LC_CTYPE=C; LC_ALL=C;
    
    cd /Users/[myName]/Library/Safari;
    cat -su Downloads.plist | sed -n  '{ s/.*Downloads/<p>D`load => / ; ¬
          s/otrkey.*/otrkey/ p; s/.*Trash/<p>Trashed => / ; ¬
          s/.*Movies/<p>Movies =>  /;  s/mp4.*/mp4<p>/ p; }' > Downloads1.html;
    rm Downloads.html;
    cat Downloads2.html Downloads1.html > Downloads.html;
    
  2. Haga doble clic en Pausa de Automator la lista de acciones.

    Elegí 0.1 / Segundos , pero tenía que comprobar el Ignorar la entrada de esta acción botón (Opciones). He encontrado que en mi pc de Safari mostrará una ventana vacía si no conceder la acción siguiente una pausa...

  3. Agregar Obtener Especifica las direcciones Url de Safari de la lista de acciones. Retire cualquier Url y elegir el [AGREGAR] botón. A continuación, escriba a:

    file:///Users/[myName]/Library/Safari/Downloads.html
    
  4. Finalmente, el último paso es hacer doble clic en sitio Web Pop-Up de Safari. Mi parámetros:

    • Sitio–tamaño: Personalizado
    • Valores: 600 x 300
    • Posición: Centrado

    (Safari atención se centrará en la ventana del frente, por lo que no se puede pulsar la tecla "ESC" para cerrar la ventana emergente.)

  5. Puede agregar: Preferencias del Sistema → Teclado → accesos directos → Servicios; (por ejemplo: opt-cmd-d).

(Échale un vistazo a la ventana resultante en "Original de la Solución #1" más arriba, como en los dos ejemplos se utilizan los mismos archivos Html para su ve!)

0voto

zonble Puntos 2925

Solución #2

Mi solución preferida utiliza applescript para acceder a las Descargas.plist" directamente (sin shell scripting), y coloca un enlace en la barra de favoritos de Safari para su comodidad.
Primero guarda estas secuencias de comandos en "~/Library/Scripts/Carpeta de secuencias de comandos de acción/" carpeta, al lado de adjuntarlos (menú contextual: configurar la carpeta de acciones) a un nuevo "Carpeta1" en algún lugar profundo en su Mac.
Para activarlos, se va a dirigir a (sin sentido) dummy "Carpeta2" dentro de "Carpeta1" a través de este marcador:

file:///Path/to/first/Folder1/Folder2   [place link in your favorites bar!]

Ahora, lo que está sucediendo:
- El que se hace click en el enlace de barra de herramientas se abrirá "Carpeta1" porque los llamados "Carpeta2" en el interior.
- Así pues, AMBOS conectados scripts de lanzamiento de #-1 cerrar el marcador "Carpeta2" de la ventana...
- ... el próximo pedido de "Eventos del Sistema" para obtener todos los de Safari "DownloadEntryPath" los artículos.
- Estas rutas están cortadas a nombre de plus de los padres de la carpeta y se recoge en un "diálogo de alerta".
- (En espera de "ventana de diálogo":) #-2 script de inmediato en el pop-up se mueve a la parte superior derecha.

on opening folder this_folder
    tell application "Finder" to close front window
    tell application "System Events"
        set the plist_path to "~/Library/Safari/Downloads.plist"
        set the plist_file to property list file plist_path
        set downloadItems to property list items of property list item ¬
            "DownloadHistory" of plist_file
        set DL_display to ""
        set AppleScript's text item delimiters to {"/"}

        repeat with i from 1 to number of items in downloadItems
            set DL_item to (get text items -2 thru -1 of ((value of ¬
                property list item "DownloadEntryPath" of property ¬
                list item i of property list item 1 of plist_file) as string))
            set DL_display to DL_display & return & "[" & ¬
                text item 1 of DL_item & ":]" & return & text item 2 of ¬
                DL_item & return
        end repeat

        tell application "Finder" to display dialog DL_display as string ¬
            buttons {"Close"} default button 1 -- NEW: tell appl. "Finder" to
    end tell
end opening folder

Si conecta esta 2ª "carpeta de secuencia de comandos de acción", que va a mover el "diálogo" a la derecha/parte superior de tu pantalla:

on opening folder this_folder
    tell application "Finder"
        set screenRgt to bounds of the window of desktop
        set rightEdge to (item 3 of screenRgt) - 425
    end tell
    tell application "System Events" to tell process "Finder"
        repeat while not (exists window "Recent downloads")
        end repeat
        delay 0.1   -- wait (and make sure...) for "dialog window" !
        set position of window "Recent downloads" to {rightEdge, 61}
    end tell
end opening folder

El único inconveniente de esta solución de la OMI es, que por un momento cada abrió la carpeta y la alerta de "flash" sobre la pantalla...

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X