Il comportamento automatico di f.lux può essere ignorato?


3

Ho scoperto flusso quando qualcuno lo ha menzionato su un'altra domanda qui su SU che mi è capitato di imbattermi. Lo uso da allora perché è un software semplice, originale e utile.

Tuttavia, a volte trovo che voglio disabilitarlo durante la notte, per modificare le foto o eseguire altre attività sensibili al colore. Allo stesso modo, succede anche che a volte voglio abilitarlo durante il giorno, quando chiudo la finestra della mia stanza lasciandola completamente al buio e preparandola per il mio siesta (Da dove vengo, prendiamo i pisolini quasi tutti i giorni).

Tenendo conto di questo, sono giunto alla conclusione che una versione non automatica di f.lux sarebbe l'ideale per le mie esigenze. So che c'è un'opzione per sospenderlo durante la notte, quando si attiva automaticamente, ma vorrei che non si attivasse a meno che non lo dica.

Quindi, vi lascio lo screenshot, dove (se vedete le stesse cose che vedo) noterete che non c'è un'opzione da attivare / disattivare a volontà. Qualcuno sa come si fa questo?

Forse c'è una GUI diversa per f.lux su Ubuntu?

package 'fluxgui' version 1.1.8 running on Ubuntu oneiric (11.10)


Su Mac OS X, il menu f.lux ha un'opzione "Disattiva per un'ora", che fa proprio questo. Forse questa opzione è disponibile o c'è un modo per aggiungerla (noto che la GUI è scritta in Python e separata)?
Kevin Reid

redshift + RedshiftGUI può sostituire f.lux bene se hai bisogno di una regolazione manuale. Fa il trucco per me.
Mahn

Risposte:


5

Ho anche avuto questo problema. redshift è uno strumento open source con funzionalità da f.lux e la possibilità di impostare manualmente la temperatura del colore.

f.lux cambierà solo la temperatura del colore se pensa che sia notte dove sei, così ho anche scritto uno script python per ingannare f.lux in esecuzione durante il giorno. Calcola il punto opposto sul globo e fa fluire quei co-ord.

Per usarlo, è necessario salvare questo codice in un file, ad es. flux.py nella tua home directory. Quindi, apri un terminale ed esegui il file con python ~/flux.py.

#!/usr/bin/env python
# encoding: utf-8

""" Run flux (http://stereopsis.com/flux/)
    with the addition of default values and
    support for forcing flux to run in the daytime.
"""

import argparse
import subprocess
import sys


def get_args():
    """ Get arguments from the command line. """

    parser = argparse.ArgumentParser(
            description="Run flux (http://stereopsis.com/flux/)\n" +
                        "with the addition of default values and\n" +
                        "support for forcing flux to run in the daytime.",
            formatter_class=argparse.RawTextHelpFormatter)

    parser.add_argument("-lo", "--longitude",
            type=float,
            default=0.0,
            help="Longitude\n" +
                "Default : 0.0")

    parser.add_argument("-la", "--latitude",
            type=float,
            default=0.0,
            help="Latitude\n" +
                "Default : 0.0")

    parser.add_argument("-t", "--temp",
            type=int,
            default=3400,
            help="Color temperature\n" +
                "Default : 3400")

    parser.add_argument("-b", "--background",
            action="store_true",
            help="Let the xflux process go to the background.\n" +
                "Default : False")

    parser.add_argument("-f", "--force",
            action="store_true",
            help="Force flux to change color temperature.\n"
                "Default : False\n"
                "Note    : Must be disabled at night.")

    args = parser.parse_args()
    return args


def opposite_long(degree):
    """ Find the opposite of a longitude. """

    if degree > 0:
        opposite = abs(degree) - 180
    else:
        opposite = degree + 180

    return opposite


def opposite_lat(degree):
    """ Find the opposite of a latitude. """

    if degree > 0:
        opposite = 0 - abs(degree)
    else:
        opposite = 0 + degree

    return opposite


def main(args):
    """ Run the xflux command with selected args,
        optionally calculate the antipode of current coords
        to trick xflux into running during the day.
    """

    if args.force == True:
        pos_long, pos_lat = (opposite_long(args.longitude),
                            opposite_lat(args.latitude))
    else:
        pos_long, pos_lat = args.longitude, args.latitude

    if args.background == True:
        background = ''
    else:
        background = ' -nofork'

    xflux_cmd = 'xflux -l {pos_lat} -g {pos_long} -k {temp}{background}'

    subprocess.call(xflux_cmd.format(
        pos_lat=pos_lat, pos_long=pos_long,
        temp=args.temp, background=background),
        shell=True)


if __name__ == '__main__':
    try:
        main(get_args())
    except KeyboardInterrupt:
        sys.exit()
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.