Add gettext support in redshift.

This commit is contained in:
Jon Lund Steffensen
2010-02-02 00:51:50 +01:00
parent f582b006b4
commit 59db9546e5
10 changed files with 358 additions and 97 deletions
+200
View File
@@ -0,0 +1,200 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-02-02 00:50+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/redshift.c:172
#, c-format
msgid "Period: Night\n"
msgstr ""
#: src/redshift.c:179
#, c-format
msgid "Period: Transition (%.2f%% day)\n"
msgstr ""
#: src/redshift.c:183
#, c-format
msgid "Period: Daytime\n"
msgstr ""
#. TRANSLATORS: --help output 1
#. LAT is latitude, LON is longitude,
#. DAY is temperature at daytime,
#. NIGHT is temperature at night
#. no-wrap
#: src/redshift.c:198
#, c-format
msgid "Usage: %s -l LAT:LON -t DAY:NIGHT [OPTIONS...]\n"
msgstr ""
#. TRANSLATORS: --help output 2
#. no-wrap
#: src/redshift.c:204
msgid "Set color temperature of display according to time of day.\n"
msgstr ""
#. TRANSLATORS: --help output 3
#. no-wrap
#: src/redshift.c:210
msgid ""
" -h\t\tDisplay this help message\n"
" -v\t\tVerbose output\n"
msgstr ""
#. TRANSLATORS: --help output 4
#. no-wrap
#: src/redshift.c:216
msgid ""
" -g R:G:B\tAdditional gamma correction to apply\n"
" -l LAT:LON\tYour current location\n"
" -m METHOD\tMethod to use to set color temperature (randr or vidmode)\n"
" -o\t\tOne shot mode (do not continously adjust color temperature)\n"
" -r\t\tDisable initial temperature transition\n"
" -s SCREEN\tX screen to apply adjustments to\n"
" -t DAY:NIGHT\tColor temperature to set at daytime/night\n"
msgstr ""
#: src/redshift.c:278
msgid "Malformed gamma argument.\n"
msgstr ""
#: src/redshift.c:280 src/redshift.c:299 src/redshift.c:350 src/redshift.c:363
#: src/redshift.c:373
msgid "Try `--help' for more information.\n"
msgstr ""
#: src/redshift.c:297
msgid "Malformed location argument.\n"
msgstr ""
#: src/redshift.c:313
msgid "RANDR method was not enabled at compile time.\n"
msgstr ""
#: src/redshift.c:323
msgid "VidMode method was not enabled at compile time.\n"
msgstr ""
#. TRANSLATORS: This refers to the method
#. used to adjust colors e.g VidMode
#: src/redshift.c:331
#, c-format
msgid "Unknown method `%s'.\n"
msgstr ""
#: src/redshift.c:348
msgid "Malformed temperature argument.\n"
msgstr ""
#: src/redshift.c:362
#, c-format
msgid "Unknown parameter `%c'.\n"
msgstr ""
#: src/redshift.c:372
msgid "Latitude and longitude must be set.\n"
msgstr ""
#. TRANSLATORS: Append degree symbols if possible.
#: src/redshift.c:380
#, c-format
msgid "Location: %f, %f\n"
msgstr ""
#: src/redshift.c:387
#, c-format
msgid "Latitude must be between %.1f and %.1f.\n"
msgstr ""
#: src/redshift.c:396
#, c-format
msgid "Longitude must be between %.1f and %.1f.\n"
msgstr ""
#: src/redshift.c:404 src/redshift.c:412
#, c-format
msgid "Temperature must be between %uK and %uK.\n"
msgstr ""
#: src/redshift.c:422
#, c-format
msgid "Gamma value must be between %.1f and %.1f.\n"
msgstr ""
#: src/redshift.c:428
#, c-format
msgid "Gamma: %.3f, %.3f, %.3f\n"
msgstr ""
#: src/redshift.c:440
msgid "Initialization of RANDR failed.\n"
msgstr ""
#: src/redshift.c:442
msgid "Trying other method...\n"
msgstr ""
#: src/redshift.c:457
msgid "Initialization of VidMode failed.\n"
msgstr ""
#. TRANSLATORS: Append degree symbol if possible.
#: src/redshift.c:480
#, c-format
msgid "Solar elevation: %f\n"
msgstr ""
#: src/redshift.c:487 src/redshift.c:649
#, c-format
msgid "Color temperature: %uK\n"
msgstr ""
#: src/redshift.c:493 src/redshift.c:658
msgid "Temperature adjustment failed.\n"
msgstr ""
#: src/vidmode.c:42 src/vidmode.c:54 src/vidmode.c:64 src/vidmode.c:94
#: src/vidmode.c:125 src/vidmode.c:154
#, c-format
msgid "X request failed: %s\n"
msgstr ""
#: src/vidmode.c:71 src/randr.c:157
#, c-format
msgid "Gamma ramp size too small: %i\n"
msgstr ""
#: src/randr.c:57 src/randr.c:104 src/randr.c:144 src/randr.c:172
#: src/randr.c:231 src/randr.c:283
#, c-format
msgid "`%s' returned error %d\n"
msgstr ""
#: src/randr.c:65
#, c-format
msgid "Unsupported RANDR version (%u.%u)\n"
msgstr ""
#: src/randr.c:88
#, c-format
msgid "Screen %i could not be found.\n"
msgstr ""
#: src/randr.c:233
#, c-format
msgid "Unable to restore CRTC %i\n"
msgstr ""
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#include <stdio.h>
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#ifndef _REDSHIFT_COLORRAMP_H
+22 -17
View File
@@ -14,13 +14,16 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libintl.h>
#define _(s) gettext(s)
#include <xcb/xcb.h>
#include <xcb/randr.h>
@@ -51,15 +54,15 @@ randr_init(randr_state_t *state, int screen_num)
xcb_randr_query_version_reply(state->conn, ver_cookie, &error);
if (error) {
fprintf(stderr, "RANDR Query Version, error: %d\n",
error->error_code);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Query Version", error->error_code);
xcb_disconnect(state->conn);
return -1;
}
if (ver_reply->major_version < RANDR_VERSION_MAJOR ||
ver_reply->minor_version < RANDR_VERSION_MINOR) {
fprintf(stderr, "Unsupported RANDR version (%u.%u)\n",
fprintf(stderr, _("Unsupported RANDR version (%u.%u)\n"),
ver_reply->major_version, ver_reply->minor_version);
free(ver_reply);
xcb_disconnect(state->conn);
@@ -82,7 +85,7 @@ randr_init(randr_state_t *state, int screen_num)
}
if (state->screen == NULL) {
fprintf(stderr, "Screen %i could not be found.\n",
fprintf(stderr, _("Screen %i could not be found.\n"),
screen_num);
xcb_disconnect(state->conn);
return -1;
@@ -98,8 +101,9 @@ randr_init(randr_state_t *state, int screen_num)
&error);
if (error) {
fprintf(stderr, "RANDR Get Screen Resources Current,"
" error: %d\n", error->error_code);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Get Screen Resources Current",
error->error_code);
xcb_disconnect(state->conn);
return -1;
}
@@ -137,8 +141,9 @@ randr_init(randr_state_t *state, int screen_num)
&error);
if (error) {
fprintf(stderr, "RANDR Get CRTC Gamma Size,"
" error: %d\n", error->error_code);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Get CRTC Gamma Size",
error->error_code);
xcb_disconnect(state->conn);
return -1;
}
@@ -149,7 +154,7 @@ randr_init(randr_state_t *state, int screen_num)
free(gamma_size_reply);
if (ramp_size == 0) {
fprintf(stderr, "Gamma ramp size too small: %i\n",
fprintf(stderr, _("Gamma ramp size too small: %i\n"),
ramp_size);
xcb_disconnect(state->conn);
return -1;
@@ -164,8 +169,8 @@ randr_init(randr_state_t *state, int screen_num)
&error);
if (error) {
fprintf(stderr, "RANDR Get CRTC Gamma, error: %d\n",
error->error_code);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Get CRTC Gamma", error->error_code);
xcb_disconnect(state->conn);
return -1;
}
@@ -223,9 +228,9 @@ randr_restore(randr_state_t *state)
error = xcb_request_check(state->conn, gamma_set_cookie);
if (error) {
fprintf(stderr, "RANDR Set CRTC Gamma, error: %d\n"
"Unable to restore CRTC %i\n",
error->error_code, i);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Set CRTC Gamma", error->error_code);
fprintf(stderr, _("Unable to restore CRTC %i\n"), i);
}
}
}
@@ -275,8 +280,8 @@ randr_set_temperature(randr_state_t *state, int temp, float gamma[3])
error = xcb_request_check(state->conn, gamma_set_cookie);
if (error) {
fprintf(stderr, "RANDR Set CRTC Gamma, error: %d\n",
error->error_code);
fprintf(stderr, _("`%s' returned error %d\n"),
"RANDR Set CRTC Gamma", error->error_code);
free(gamma_ramps);
return -1;
}
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#ifndef _REDSHIFT_RANDR_H
+113 -66
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#ifdef HAVE_CONFIG_H
@@ -30,6 +30,9 @@
#include <locale.h>
#include <sys/signal.h>
#include <libintl.h>
#define _(s) gettext(s)
#include "solar.h"
@@ -84,30 +87,6 @@ typedef union {
#define TRANSITION_HIGH 3.0
/* Help and usage messages */
#define USAGE \
"Usage: %s -l LAT:LON -t DAY:NIGHT [OPTIONS...]\n"
#define HELP \
USAGE \
" " PACKAGE_STRING "\n" \
" Set color temperature of display according to time of day.\n" \
" -g R:G:B\tAdditional gamma correction to apply\n" \
" -h\t\tDisplay this help message\n" \
" -l LAT:LON\tYour current location\n" \
" -m METHOD\tMethod to use to set color temperature" \
" (randr or vidmode)\n" \
" -o\t\tOne shot mode (do not continously adjust" \
" color temperature)\n" \
" -r\t\tDisable initial temperature transition\n" \
" -s SCREEN\tX screen to apply adjustments to\n" \
" -t DAY:NIGHT\tColor temperature to set at daytime/night\n" \
" -v\t\tVerbose output\n" \
"Please report bugs to <" PACKAGE_BUGREPORT ">\n"
/* DEGREE SIGN is Unicode U+00b0 */
#define DEG_CHAR 0xb0
static volatile sig_atomic_t exiting = 0;
static volatile sig_atomic_t disable = 0;
@@ -190,35 +169,81 @@ calculate_temp(double elevation, int temp_day, int temp_night,
int temp = 0;
if (elevation < TRANSITION_LOW) {
temp = temp_night;
if (verbose) printf("Period: Night\n");
if (verbose) printf(_("Period: Night\n"));
} else if (elevation < TRANSITION_HIGH) {
/* Transition period: interpolate */
float a = (TRANSITION_LOW - elevation) /
(TRANSITION_LOW - TRANSITION_HIGH);
temp = (1.0-a)*temp_night + a*temp_day;
if (verbose) {
printf("Period: Transition (%.2f%% day)\n", a*100);
printf(_("Period: Transition (%.2f%% day)\n"), a*100);
}
} else {
temp = temp_day;
if (verbose) printf("Period: Daytime\n");
if (verbose) printf(_("Period: Daytime\n"));
}
return temp;
}
static void
print_help(const char *program_name)
{
/* TRANSLATORS: --help output 1
LAT is latitude, LON is longitude,
DAY is temperature at daytime,
NIGHT is temperature at night
no-wrap */
printf(_("Usage: %s -l LAT:LON -t DAY:NIGHT [OPTIONS...]\n"),
program_name);
fputs("\n", stdout);
/* TRANSLATORS: --help output 2
no-wrap */
fputs(_("Set color temperature of display"
" according to time of day.\n"), stdout);
fputs("\n", stdout);
/* TRANSLATORS: --help output 3
no-wrap */
fputs(_(" -h\t\tDisplay this help message\n"
" -v\t\tVerbose output\n"), stdout);
fputs("\n", stdout);
/* TRANSLATORS: --help output 4
no-wrap */
fputs(_(" -g R:G:B\tAdditional gamma correction to apply\n"
" -l LAT:LON\tYour current location\n"
" -m METHOD\tMethod to use to set color temperature"
" (randr or vidmode)\n"
" -o\t\tOne shot mode (do not continously adjust"
" color temperature)\n"
" -r\t\tDisable initial temperature transition\n"
" -s SCREEN\tX screen to apply adjustments to\n"
" -t DAY:NIGHT\tColor temperature to set at daytime/night\n"),
stdout);
fputs("\n", stdout);
/* TRANSLATORS: --help output 5 */
printf("Please report bugs to <%s>\n", PACKAGE_BUGREPORT);
}
int
main(int argc, char *argv[])
{
int r;
/* Init locale for degree symbol. */
char *loc = setlocale(LC_CTYPE, "");
if (loc == NULL) {
fprintf(stderr, "Unable to set locale.\n");
exit(EXIT_FAILURE);
}
/* Init locale */
setlocale(LC_CTYPE, "");
setlocale(LC_MESSAGES, "");
#ifdef ENABLE_NLS
/* Internationalisation */
bindtextdomain("redshift", "/usr/share/locale");
textdomain("redshift");
#endif
/* Initialize to defaults */
float lat = NAN;
@@ -250,7 +275,10 @@ main(int argc, char *argv[])
char *g_s = s;
s = strchr(s, ':');
if (s == NULL) {
fprintf(stderr, USAGE, argv[0]);
fputs(_("Malformed gamma argument.\n"),
stderr);
fputs(_("Try `--help' for more"
" information.\n"), stderr);
exit(EXIT_FAILURE);
}
@@ -260,13 +288,16 @@ main(int argc, char *argv[])
}
break;
case 'h':
printf(HELP, argv[0]);
print_help(argv[0]);
exit(EXIT_SUCCESS);
break;
case 'l':
s = strchr(optarg, ':');
if (s == NULL) {
fprintf(stderr, USAGE, argv[0]);
fputs(_("Malformed location argument.\n"),
stderr);
fputs(_("Try `--help' for more"
" information.\n"), stderr);
exit(EXIT_FAILURE);
}
*(s++) = '\0';
@@ -279,8 +310,9 @@ main(int argc, char *argv[])
#ifdef ENABLE_RANDR
use_randr = 1;
#else
fprintf(stderr, "RANDR method was not"
" enabled at compile time.\n");
fputs(_("RANDR method was not"
" enabled at compile time.\n"),
stderr);
exit(EXIT_FAILURE);
#endif
} else if (strcmp(optarg, "vidmode") == 0 ||
@@ -288,12 +320,15 @@ main(int argc, char *argv[])
#ifdef ENABLE_VIDMODE
use_randr = 0;
#else
fprintf(stderr, "VidMode method was not"
" enabled at compile time.\n");
fputs(_("VidMode method was not"
" enabled at compile time.\n"),
stderr);
exit(EXIT_FAILURE);
#endif
} else {
fprintf(stderr, "Unknown method `%s'.\n",
/* TRANSLATORS: This refers to the method
used to adjust colors e.g VidMode */
fprintf(stderr, _("Unknown method `%s'.\n"),
optarg);
exit(EXIT_FAILURE);
}
@@ -310,7 +345,10 @@ main(int argc, char *argv[])
case 't':
s = strchr(optarg, ':');
if (s == NULL) {
fprintf(stderr, USAGE, argv[0]);
fputs(_("Malformed temperature argument.\n"),
stderr);
fputs(_("Try `--help' for more"
" information.\n"), stderr);
exit(EXIT_FAILURE);
}
*(s++) = '\0';
@@ -321,7 +359,9 @@ main(int argc, char *argv[])
verbose = 1;
break;
default:
fprintf(stderr, USAGE, argv[0]);
fprintf(stderr, _("Unknown parameter `%c'.\n"), opt);
fputs(_("Try `--help' for more"
" information.\n"), stderr);
exit(EXIT_FAILURE);
break;
}
@@ -329,42 +369,47 @@ main(int argc, char *argv[])
/* Latitude and longitude must be set */
if (isnan(lat) || isnan(lon)) {
fprintf(stderr, USAGE, argv[0]);
fprintf(stderr, "Latitude and longitude must be set.\n");
fputs(_("Latitude and longitude must be set.\n"), stderr);
fputs(_("Try `--help' for more"
" information.\n"), stderr);
exit(EXIT_FAILURE);
}
if (verbose) {
printf("Location: %f%lc, %f%lc\n",
lat, DEG_CHAR, lon, DEG_CHAR);
/* TRANSLATORS: Append degree symbols if possible. */
printf(_("Location: %f, %f\n"), lat, lon);
}
/* Latitude */
if (lat < MIN_LAT || lat > MAX_LAT) {
/* TRANSLATORS: Append degree symbols if possible. */
fprintf(stderr,
"Latitude must be between %.1f%lc and %.1f%lc.\n",
MIN_LAT, DEG_CHAR, MAX_LAT, DEG_CHAR);
_("Latitude must be between %.1f and %.1f.\n"),
MIN_LAT, MAX_LAT);
exit(EXIT_FAILURE);
}
/* Longitude */
if (lon < MIN_LON || lon > MAX_LON) {
/* TRANSLATORS: Append degree symbols if possible. */
fprintf(stderr,
"Longitude must be between %.1f%lc and %.1f%lc.\n",
MIN_LON, DEG_CHAR, MAX_LON, DEG_CHAR);
_("Longitude must be between %.1f and %.1f.\n"),
MIN_LON, MAX_LON);
exit(EXIT_FAILURE);
}
/* Color temperature at daytime */
if (temp_day < MIN_TEMP || temp_day >= MAX_TEMP) {
fprintf(stderr, "Temperature must be between %uK and %uK.\n",
fprintf(stderr,
_("Temperature must be between %uK and %uK.\n"),
MIN_TEMP, MAX_TEMP);
exit(EXIT_FAILURE);
}
/* Color temperature at night */
if (temp_night < MIN_TEMP || temp_night >= MAX_TEMP) {
fprintf(stderr, "Temperature must be between %uK and %uK.\n",
fprintf(stderr,
_("Temperature must be between %uK and %uK.\n"),
MIN_TEMP, MAX_TEMP);
exit(EXIT_FAILURE);
}
@@ -373,13 +418,14 @@ main(int argc, char *argv[])
if (gamma[0] < MIN_GAMMA || gamma[0] > MAX_GAMMA ||
gamma[1] < MIN_GAMMA || gamma[1] > MAX_GAMMA ||
gamma[2] < MIN_GAMMA || gamma[2] > MAX_GAMMA) {
fprintf(stderr, "Gamma value must be between %.1f and %.1f.\n",
fprintf(stderr,
_("Gamma value must be between %.1f and %.1f.\n"),
MIN_GAMMA, MAX_GAMMA);
exit(EXIT_FAILURE);
}
if (verbose) {
printf("Gamma: %.3f, %.3f, %.3f\n",
printf(_("Gamma: %.3f, %.3f, %.3f\n"),
gamma[0], gamma[1], gamma[2]);
}
@@ -391,9 +437,9 @@ main(int argc, char *argv[])
/* Initialize RANDR state */
r = randr_init(&state.randr, screen_num);
if (r < 0) {
fprintf(stderr, "Initialization of RANDR failed.\n");
fputs(_("Initialization of RANDR failed.\n"), stderr);
if (use_randr < 0) {
fprintf(stderr, "Trying other method...\n");
fputs(_("Trying other method...\n"), stderr);
} else {
exit(EXIT_FAILURE);
}
@@ -408,7 +454,8 @@ main(int argc, char *argv[])
/* Initialize VidMode state */
r = vidmode_init(&state.vidmode, screen_num);
if (r < 0) {
fprintf(stderr, "Initialization of VidMode failed.\n");
fputs(_("Initialization of VidMode failed.\n"),
stderr);
exit(EXIT_FAILURE);
} else {
use_randr = 0;
@@ -429,21 +476,21 @@ main(int argc, char *argv[])
double elevation = solar_elevation(now, lat, lon);
if (verbose) {
printf("Solar elevation: %f%lc\n", elevation,
DEG_CHAR);
/* TRANSLATORS: Append degree symbol if possible. */
printf(_("Solar elevation: %f\n"), elevation);
}
/* Use elevation of sun to set color temperature */
int temp = calculate_temp(elevation, temp_day, temp_night,
verbose);
if (verbose) printf("Color temperature: %uK\n", temp);
if (verbose) printf(_("Color temperature: %uK\n"), temp);
/* Adjust temperature */
r = gamma_state_set_temperature(&state, use_randr,
temp, gamma);
if (r < 0) {
fprintf(stderr, "Temperature adjustment failed.\n");
fputs(_("Temperature adjustment failed.\n"), stderr);
gamma_state_free(&state, use_randr);
exit(EXIT_FAILURE);
}
@@ -599,7 +646,7 @@ main(int argc, char *argv[])
if (done && !short_trans) break;
if (verbose) {
printf("Temperature: %iK\n", temp);
printf(_("Color temperature: %uK\n"), temp);
}
/* Adjust temperature */
@@ -608,8 +655,8 @@ main(int argc, char *argv[])
use_randr,
temp, gamma);
if (r < 0) {
fprintf(stderr, "Temperature"
" adjustment failed.\n");
fputs(_("Temperature adjustment"
" failed.\n"), stderr);
gamma_state_free(&state, use_randr);
exit(EXIT_FAILURE);
}
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
/* Ported from javascript code by U.S. Department of Commerce,
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#ifndef _SOLAR_H
+17 -8
View File
@@ -14,13 +14,16 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <libintl.h>
#define _(s) gettext(s)
#include <X11/Xlib.h>
#include <X11/extensions/xf86vmode.h>
@@ -36,7 +39,8 @@ vidmode_init(vidmode_state_t *state, int screen_num)
/* Open display */
state->display = XOpenDisplay(NULL);
if (state->display == NULL) {
fprintf(stderr, "XOpenDisplay failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XOpenDisplay");
return -1;
}
@@ -47,7 +51,8 @@ vidmode_init(vidmode_state_t *state, int screen_num)
int major, minor;
r = XF86VidModeQueryVersion(state->display, &major, &minor);
if (!r) {
fprintf(stderr, "XF86VidModeQueryVersion failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XF86VidModeQueryVersion");
XCloseDisplay(state->display);
return -1;
}
@@ -56,13 +61,14 @@ vidmode_init(vidmode_state_t *state, int screen_num)
r = XF86VidModeGetGammaRampSize(state->display, state->screen_num,
&state->ramp_size);
if (!r) {
fprintf(stderr, "XF86VidModeGetGammaRampSize failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XF86VidModeGetGammaRampSize");
XCloseDisplay(state->display);
return -1;
}
if (state->ramp_size == 0) {
fprintf(stderr, "Gamma ramp size too small: %i\n",
fprintf(stderr, _("Gamma ramp size too small: %i\n"),
state->ramp_size);
XCloseDisplay(state->display);
return -1;
@@ -85,7 +91,8 @@ vidmode_init(vidmode_state_t *state, int screen_num)
state->ramp_size, gamma_r, gamma_g,
gamma_b);
if (!r) {
fprintf(stderr, "XF86VidModeGetGammaRamp failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XF86VidModeGetGammaRamp");
XCloseDisplay(state->display);
return -1;
}
@@ -115,7 +122,8 @@ vidmode_restore(vidmode_state_t *state)
state->ramp_size, gamma_r, gamma_g,
gamma_b);
if (!r) {
fprintf(stderr, "XF86VidModeSetGammaRamp failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XF86VidModeSetGammaRamp");
}
}
@@ -143,7 +151,8 @@ vidmode_set_temperature(vidmode_state_t *state, int temp, float gamma[3])
state->ramp_size, gamma_r, gamma_g,
gamma_b);
if (!r) {
fprintf(stderr, "XF86VidModeSetGammaRamp failed.\n");
fprintf(stderr, _("X request failed: %s\n"),
"XF86VidModeSetGammaRamp");
free(gamma_ramps);
return -1;
}
+1 -1
View File
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with Redshift. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2009 Jon Lund Steffensen <jonlst@gmail.com>
Copyright (c) 2010 Jon Lund Steffensen <jonlst@gmail.com>
*/
#ifndef _REDSHIFT_VIDMODE_H