aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-10-12quartz: Fix incorrect use of display identifierJon Lund Steffensen1-3/+4
The quartz (macOS) adjustment method incorrectly used the display index instead of the associated CGDirectDisplayID. Incidentally this happened to work too but was incorrect.
2017-10-12Fix bug where error code was not handledJon Lund Steffensen1-1/+1
2017-10-12Fix missing checks and verbose outputJon Lund Steffensen1-12/+17
Rearrange checks and verbose output in main() to bring back checks that were accidentally left out when time-based adjustments were enabled. This includes the output indicating the daytime/night temperatures and the check that the temperatures are valid.
2017-10-11Time-based configurationJon Lund Steffensen1-78/+274
Allow setting the time of the dawn and dusk transition periods directly in the configuration file. If these are specified, the location provider is not needed and is therefore not initialized. Based on patch by Martin Nicolay <edelschimmel1@gmx.de>.
2017-09-27Fix #523: Retry SetDeviceGammaRamp before giving updev73556081-5/+15
We have to retry SetDeviceGammaRamp a few times before giving up because some buggy drivers fail on the first invocation just to succeed on the second.
2017-08-31w32gdi: Enable preserve by defaultJon Lund Steffensen1-1/+1
2017-08-31vidmode: Enable preserve by defaultJon Lund Steffensen1-1/+1
2017-08-31randr: Enable preserve by defaultJon Lund Steffensen1-1/+1
2017-08-31quartz: Enable preserve by defaultJon Lund Steffensen1-1/+1
2017-08-30redshift: Improve fade implementationJon Lund Steffensen1-117/+164
Simplify implementation of fades in continual mode. A fade is now applied anytime the change in color temperature, brightness or gamma is greater than a preset threshold. This means that a fade is applied if the location provider suddenly updates to a new location or if the currently time suddenly jumps e.g. after waking up the computer from sleep. An easing function is applied to the fade to make it more pleasant.
2017-08-30Change term transition to fadeJon Lund Steffensen1-20/+19
Use the term "fade" instead of "transition" for the short (~5s) fade between color temperatures. The term "transition" is now only used for the transition phase between daytime and night. The setting "transition" in the configuration file is now deprecated and "fade" should be used instead.
2017-08-19geoclue2: Show explanation of access denied errorJon Lund Steffensen1-0/+22
2017-08-19geoclue2: Use existing connection objectJon Lund Steffensen1-6/+6
Use existing connection object when creating proxies.
2017-08-17geoclue2: Update continuouslyJon Lund Steffensen3-99/+208
2017-08-17corelocation: Update continuouslyJon Lund Steffensen3-61/+172
2017-08-17pipeutils: Add utils for pipe signalsJon Lund Steffensen3-0/+127
Add pipeutils.c with utility functions for working with pipes as signals across threads. Using pipes for signals makes it easy for the main thread to wait on (multiple) file descriptors with or without a timeout.
2017-08-17Change location providers to allow updatesJon Lund Steffensen8-180/+380
Change location provider implementations so it is possible for location providers to dynamically update the location. This commit adds the interfaces and infrastructure in redshift.c but none of the location provides are changed to become dynamic.
2017-08-16Remove deprecated geoclue 1 location providerJon Lund Steffensen4-301/+7
2017-08-07Fix #492: Correctly import xdg modulesJon Lund Steffensen1-9/+11
Although not named like modules, the BaseDirectory and DesktopEntry are really submodules of xdg that need to be imported for them to be available.
2017-07-30statusicon: Use GtkWindow to avoid warningsJon Lund Steffensen1-12/+20
Avoids warnings generated when a GtkDialog is used without a parent window. Also adds fixes for #220 using a solution provided by agnivade.
2017-07-30statusicon: Only add autostart control when supportedJon Lund Steffensen1-10/+11
2017-07-30controller: Emit signal when stoppedJon Lund Steffensen2-2/+9
2017-07-30utils: Make xdg module optionalJon Lund Steffensen1-7/+25
2017-07-30Move RedshiftController to controller.pyJon Lund Steffensen3-251/+296
2017-07-30Add Windows resourcesJon Lund Steffensen4-2/+34
2017-07-29Limit lines to 80 charsFaheel Ahmad1-4/+4
2017-07-27Fix #474: Format help text paragraph to 80 chars maxFaheel Ahmad1-4/+3
2017-01-08XRandR: Allow multiple but not all CRTCs to be redshiftedLennart Sauerbeck2-9/+59
Previously only one CRTC could be set in the configuration file for redshifting when XRandR mechanism was being used. That is fine for a setup with two displays but breaks when three or more displays are in use and one of those shouldn't be redshifted (e.g. two computer displays and one TV connected to the computer). The config value 'crtc' for method xrandr can now be entered as comma separated list of multiple CRTCs. All CRTCs in the list will be redshifted while all those not in the list will not be touched.
2017-01-08redshift.c: Use 6500K and 4500K by defaultJon Lund Steffensen1-2/+2
2016-10-19Fix Windows build after e0a617fcada616a8112f7d9df51ac10bd58130afArne Janbu2-2/+7
2016-10-15add display of color temperature and period in the tooltip status iconAndreev Alexander1-0/+8
2016-10-15drm: Avoid using alloca()Jon Lund Steffensen1-2/+3
2016-01-02 redshift-gtk: Make sure that child process is closed after signalsJon Lund Steffensen1-27/+30
Instead of calling sys.exit() the signal handlers now try to terminate the child process. After the child exits, the process will be reaped by the GLib callback which will call Gtk.main_quit() which will then quit redshift-gtk. This ensures that the redshift process does not outlive the redshift-gtk process.
2015-12-28Move signal processing functions and sigaction calls to signals from redshift.cMattias Andrée4-72/+152
Signed-off-by: Mattias Andrée <maandree@operamail.com>
2015-11-15Fallback if AppIndicator3 req. version unavailableJavier Cantero1-1/+1
Catch in the except block the case when the required version of Appindicator3 is not available to also fallback in GtkStatusIcon widget.
2015-11-14Also specify required AppIndicator3 versionJavier Cantero1-0/+1
Avoid another GObject Introspection warning in redshift-gtk by providing the required version of AppIndicator3 before import it.
2015-11-03Specify required Gtk versionChristian Stadelmann1-0/+3
This fixes a warning when starting redshift-gtk with gtk 3.18.
2015-08-04Remove trailing whitespacesMichael Vetter5-8/+8
2015-05-07remove unnecessary null-checks, it is safe to pass NULL to free (per documentation)Mattias Andrée3-6/+5
Signed-off-by: Mattias Andrée <maandree@operamail.com>
2015-05-02Fix CLAMP macro overwritten by glib headersJordan Klassen1-7/+3
Fixes #188 When I moved the macro definition below all of the includes, I got the following compiler warning: /usr/include/glib-2.0/glib/gmacros.h:246:0: note: this is the location of the previous definition #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) So, that's the macro definition that was being used whenever "CLAMP" was used. It's pretty obvious what went wrong.
2015-02-22Fix #174: Use nanosleep() instead of usleep()Jon Lund Steffensen1-1/+5
usleep() cannot sleep for more than 1000000 microseconds on certain platforms. nanosleep() does not have this limitation.
2015-01-15Fix #162: Ensure that interpolation alpha is in [0;1]Jon Lund Steffensen1-3/+5
2015-01-10fixes jonls/redshift#157 introduced by jonls/redshift@f9c2a1568c308ec69970662a8f5ceb8726e8d8ccChristian Burger1-2/+2
2015-01-04redshift: Add print_location() functionJon Lund Steffensen1-17/+22
2015-01-04w32gdi: Add preserve option to windows GDI methodJon Lund Steffensen2-7/+30
2015-01-04vidmode: Add preserve option to VidMode methodJon Lund Steffensen2-7/+22
2015-01-04quartz: Add preserve option to Quartz methodJon Lund Steffensen2-41/+133
This change adds the preserve option to the quartz method which makes it base the temperature adjustments on the existing gamma ramps when set. This requires that the existing gamma ramps are saved at start-up which this commit also adds. One drawback is that the list of displays is enumerated at start-up now which means that Redshift will likely not affect displays that are connected after start-up. This could be fixed in the future by listening to reconfiguration events.
2015-01-04randr: Add preserve option to RandR methodJon Lund Steffensen2-8/+22
2015-01-04colorramp: Use supplied gamma ramps as initial valueJon Lund Steffensen6-6/+51
This changes colorramp_fill() to base the ramp calculations on the existing values in the supplied tables, instead of basing it on a pure `i/size` value computed on the fly. All gamma adjustment methods are changed to explicitly initialize the ramps to the `i/size` value before calls to colorramp_fill().
2015-01-04redshift: Add gamma_is_valid function to check gammaJon Lund Steffensen1-12/+15
This checks whether the gamma values are within the bounds of MIN_GAMMA and MAX_GAMMA.