Activar el modo oscuro en un momento determinado

4

Después de actualizar a macOS Mojave, me preguntaba si hay una configuración que activaría automáticamente el Modo oscuro a una determinada hora del día.

Solo encontré la configuración para activarlo y desactivarlo manualmente.

    
pregunta jrn 27.09.2018 - 01:42

5 respuestas

7

En caso de que alguien esté interesado en una respuesta que no requiera que instales nada, pero que solo debes tocar un poco el código ... Aquí tienes ...

Cómo alternar modo oscuro con Applescript :

tell application "System Events"
    tell appearance preferences
        set dark mode to not dark mode
    end tell
end tell

Cómo activar el modo oscuro con Applescript :

tell application "System Events"
    tell appearance preferences
        set dark mode to true
    end tell
end tell

Cómo desactivar el modo oscuro con Applescript :

tell application "System Events"
    tell appearance preferences
        set dark mode to false
    end tell
end tell

Existen aplicaciones bastante robustas que pueden ejecutar scripts o acciones en un momento específico, pero estas aplicaciones son en su mayoría bastante extensas y caras. Quería mencionar uno porque le permite hacer más que solo alternar el modo oscuro: Keyboard Maestro - Es algo así como Automator, pero mejor. No dejes que la apariencia anticuada te engañe.

Usaré launchd , porque no requiere que instales nada. Requiere que toques un poco de código, pero nada importante.

Cómo activar Applescript en un momento específico con el archivo de lista de propiedades de Launchd (plist):

  1. Necesitas crear un nuevo archivo .plist en ~/Library/LaunchAgents (~ representa tu carpeta de usuario)

    • Si desea que esté disponible para todos los usuarios, colóquelo en /Library/LaunchAgents (Macintosh HD).
    • Este .plist es solo un archivo de texto que puede editar en cualquier editor de texto y guardar como texto con las extensiones .plist .
    • Es probable que tenga archivos existentes en esas carpetas que puede duplicar para crear los suyos. Si abre un archivo .plist existente con TextEdit.app , no lo guardará accidentalmente como un archivo .rtf o algo así.
  2. Copiar & pega esto en el archivo .plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.time.trigger.darkmode</string>
    <key>Program</key>
    <string>/usr/bin/osascript</string>
    <key>ProgramArguments</key>
    <array>
      <string>osascript</string>
      <string>/Users/joonaspaakko/Desktop/toggle-darkmode.scpt</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
      <dict>
        <key>Hour</key>
        <integer>21</integer>
        <key>Minute</key>
        <integer>20</integer>
      </dict>
    </array>
  </dict>
</plist>
  • La línea debajo de <string>osascript</string> apunta al archivo Applescript .scpt que debe activarse.
  • La matriz debajo de <key>StartCalendarInterval</key> que dice Hour y Minute es donde establece la hora. El tiempo actual establecido es H 21 M 20 = 9:20 pm

Estos pasos son quizás un poco hacia atrás ya que ya tengo la ubicación del script establecida en .plist pero creamos el archivo .scpt a continuación.

  1. Ejecutar la aplicación Editor de secuencias de comandos /Applications/Utilities/Script Editor.app .
    • Pegue el Applescript que desee utilizar (en la parte superior de la respuesta en caso de que lo haya olvidado)
    • Puedes probar la ejecución de Applescripts en esta aplicación presionando el botón de reproducción.
    • Guardar como archivo Script
    • Asegúrate de actualizar la línea debajo de osascript en .plist para que apunte a este archivo .scpt .
  2. Cuando se crean ambos archivos, un paso importante es cerrar la sesión (o reiniciar) porque estos agentes de inicio comienzan a ejecutarse en segundo plano al iniciarse.
    • Si desea evitar que se ejecute, puede mover el .plist de la carpeta o simplemente eliminarlo.
respondido por el Joonas 27.09.2018 - 10:47
2

No hay un sistema operativo nativo en este momento, pero puedes usar algún software como

» NightOwl

oescribasupropioscriptenelAppleScriptEditorparahacerlohaciendoclic

tellapplication"System Events"

  tell appearance preferences

    set dark mode to not dark mode

  end tell

end tell
    
respondido por el Lupo 27.09.2018 - 10:02
2

f.lux puede cambiar entre los modos de luz / oscuridad de Mojave al amanecer / atardecer ("Efectos de color"):

  

OS X Dark tema al atardecer: utiliza el tema normal durante el día y   cambia al tema oscuro (muelle y barra de menú) cada noche al atardecer.   Deshabilitar f.lux también deshabilitará el tema oscuro.

    
respondido por el JBallin 30.09.2018 - 07:00
0

Otra opción de terceros es LightsOff .

También permite controlar qué aplicaciones cambian de tema y también puede cambiarlas para otras aplicaciones de terceros con temas claros / oscuros, aunque no todos.

    
respondido por el buzjwa 29.10.2018 - 21:41
0

Otra opción es una lista de lanzamiento que creé para mí y que compartí en Github.

Mi perfil está configurado para las 9 pm y las 7:15 am, puedes cambiarlo fácilmente. He incluido un solo comando de terminal para instalarlo. No instala ningún software, utiliza solo herramientas macOS estándar. De hecho, he hecho lo mismo que lo que Joonas sugirió que hicieras en su respuesta, y lo compartí para que no tengas que escribirlo.

enlace

    
respondido por el Superman.Lopez 01.11.2018 - 04:49

Lea otras preguntas en las etiquetas