[Xfce4-commits] [apps/xfce4-screensaver] 338/425: Tidy up xfce-desktop-utils.{c, h}
noreply at xfce.org
noreply at xfce.org
Mon Oct 15 01:53:05 CEST 2018
This is an automated email from the git hooks/post-receive script.
b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfce4-screensaver.
commit 5b4efdd19fb242946a78ba49f5224f0c65527a80
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Mon Oct 1 22:05:38 2018 -0400
Tidy up xfce-desktop-utils.{c,h}
---
src/xfce-desktop-utils.c | 370 -----------------------------------------------
src/xfce-desktop-utils.h | 13 --
2 files changed, 383 deletions(-)
diff --git a/src/xfce-desktop-utils.c b/src/xfce-desktop-utils.c
index b5269c3..483f34f 100644
--- a/src/xfce-desktop-utils.c
+++ b/src/xfce-desktop-utils.c
@@ -36,145 +36,6 @@
#include "private.h"
-static void
-gtk_style_shade (GdkRGBA *a,
- GdkRGBA *b,
- gdouble k);
-
-static void
-rgb_to_hls (gdouble *r,
- gdouble *g,
- gdouble *b);
-
-static void
-hls_to_rgb (gdouble *h,
- gdouble *l,
- gdouble *s);
-
-/**
- * xfce_desktop_prepend_terminal_to_vector:
- * @argc: a pointer to the vector size
- * @argv: a pointer to the vector
- *
- * Prepends a terminal (either the one configured as default in the user's
- * MATE setup, or one of the common xterm emulators) to the passed in vector,
- * modifying it in the process. The vector should be allocated with #g_malloc,
- * as this will #g_free the original vector. Also all elements must have been
- * allocated separately. That is the standard glib/MATE way of doing vectors
- * however. If the integer that @argc points to is negative, the size will
- * first be computed. Also note that passing in pointers to a vector that is
- * empty, will just create a new vector for you.
- **/
-void
-xfce_desktop_prepend_terminal_to_vector (int *argc, char ***argv)
-{
- char **real_argv;
- int real_argc;
- int i, j;
- char **term_argv = NULL;
- int term_argc = 0;
- GSettings *settings;
-
- gchar *terminal = NULL;
-
- char **the_argv;
-
- g_return_if_fail (argc != NULL);
- g_return_if_fail (argv != NULL);
-
- _mate_desktop_init_i18n ();
-
- /* sanity */
- if(*argv == NULL)
- *argc = 0;
-
- the_argv = *argv;
-
- /* compute size if not given */
- if (*argc < 0) {
- for (i = 0; the_argv[i] != NULL; i++)
- ;
- *argc = i;
- }
-
- settings = g_settings_new ("org.mate.applications-terminal");
- terminal = g_settings_get_string (settings, "exec");
-
- if (terminal) {
- gchar *command_line;
- gchar *exec_flag;
- exec_flag = g_settings_get_string (settings, "exec-arg");
-
- if (exec_flag == NULL)
- command_line = g_strdup (terminal);
- else
- command_line = g_strdup_printf ("%s %s", terminal,
- exec_flag);
-
- g_shell_parse_argv (command_line,
- &term_argc,
- &term_argv,
- NULL /* error */);
-
- g_free (command_line);
- g_free (exec_flag);
- g_free (terminal);
- }
- g_object_unref (settings);
-
- if (term_argv == NULL) {
- char *check;
-
- term_argc = 2;
- term_argv = g_new0 (char *, 3);
-
- check = g_find_program_in_path ("mate-terminal");
- if (check != NULL) {
- term_argv[0] = check;
- /* Note that mate-terminal takes -x and
- * as -e in mate-terminal is broken we use that. */
- term_argv[1] = g_strdup ("-x");
- } else {
- if (check == NULL)
- check = g_find_program_in_path ("nxterm");
- if (check == NULL)
- check = g_find_program_in_path ("color-xterm");
- if (check == NULL)
- check = g_find_program_in_path ("rxvt");
- if (check == NULL)
- check = g_find_program_in_path ("xterm");
- if (check == NULL)
- check = g_find_program_in_path ("dtterm");
- if (check == NULL) {
- g_warning (_("Cannot find a terminal, using "
- "xterm, even if it may not work"));
- check = g_strdup ("xterm");
- }
- term_argv[0] = check;
- term_argv[1] = g_strdup ("-e");
- }
- }
-
- real_argc = term_argc + *argc;
- real_argv = g_new (char *, real_argc + 1);
-
- for (i = 0; i < term_argc; i++)
- real_argv[i] = term_argv[i];
-
- for (j = 0; j < *argc; j++, i++)
- real_argv[i] = (char *)the_argv[j];
-
- real_argv[i] = NULL;
-
- g_free (*argv);
- *argv = real_argv;
- *argc = real_argc;
-
- /* we use g_free here as we sucked all the inner strings
- * out from it into real_argv */
- g_free (term_argv);
-}
-
/**
* xfce_gdk_spawn_command_line_on_screen:
* @screen: a GdkScreen
@@ -227,234 +88,3 @@ _mate_desktop_init_i18n (void) {
initialized = TRUE;
}
}
-
-/**
- * gtk_style_shade:
- * @a: the starting colour
- * @b: [out] the resulting colour
- * @k: amount to scale lightness and saturation by
- *
- * Takes a colour "a", scales the lightness and saturation by a certain amount,
- * and sets "b" to the resulting colour.
- * gtkstyle.c cut-and-pastage.
- */
-static void
-gtk_style_shade (GdkRGBA *a,
- GdkRGBA *b,
- gdouble k)
-{
- gdouble red;
- gdouble green;
- gdouble blue;
-
- red = a->red;
- green = a->green;
- blue = a->blue;
-
- rgb_to_hls (&red, &green, &blue);
-
- green *= k;
- if (green > 1.0)
- green = 1.0;
- else if (green < 0.0)
- green = 0.0;
-
- blue *= k;
- if (blue > 1.0)
- blue = 1.0;
- else if (blue < 0.0)
- blue = 0.0;
-
- hls_to_rgb (&red, &green, &blue);
-
- b->red = red;
- b->green = green;
- b->blue = blue;
-}
-
-/**
- * rgb_to_hls:
- * @r: on input, red; on output, hue
- * @g: on input, green; on output, lightness
- * @b: on input, blue; on output, saturation
- *
- * Converts a red/green/blue triplet to a hue/lightness/saturation triplet.
- */
-static void
-rgb_to_hls (gdouble *r,
- gdouble *g,
- gdouble *b)
-{
- gdouble min;
- gdouble max;
- gdouble red;
- gdouble green;
- gdouble blue;
- gdouble h, l, s;
- gdouble delta;
-
- red = *r;
- green = *g;
- blue = *b;
-
- if (red > green)
- {
- if (red > blue)
- max = red;
- else
- max = blue;
-
- if (green < blue)
- min = green;
- else
- min = blue;
- }
- else
- {
- if (green > blue)
- max = green;
- else
- max = blue;
-
- if (red < blue)
- min = red;
- else
- min = blue;
- }
-
- l = (max + min) / 2;
- s = 0;
- h = 0;
-
- if (max != min)
- {
- if (l <= 0.5)
- s = (max - min) / (max + min);
- else
- s = (max - min) / (2 - max - min);
-
- delta = max -min;
- if (red == max)
- h = (green - blue) / delta;
- else if (green == max)
- h = 2 + (blue - red) / delta;
- else if (blue == max)
- h = 4 + (red - green) / delta;
-
- h *= 60;
- if (h < 0.0)
- h += 360;
- }
-
- *r = h;
- *g = l;
- *b = s;
-}
-
-/**
- * hls_to_rgb:
- * @h: on input, hue; on output, red
- * @l: on input, lightness; on output, green
- * @s on input, saturation; on output, blue
- *
- * Converts a hue/lightness/saturation triplet to a red/green/blue triplet.
- */
-static void
-hls_to_rgb (gdouble *h,
- gdouble *l,
- gdouble *s)
-{
- gdouble hue;
- gdouble lightness;
- gdouble saturation;
- gdouble m1, m2;
- gdouble r, g, b;
-
- lightness = *l;
- saturation = *s;
-
- if (lightness <= 0.5)
- m2 = lightness * (1 + saturation);
- else
- m2 = lightness + saturation - lightness * saturation;
- m1 = 2 * lightness - m2;
-
- if (saturation == 0)
- {
- *h = lightness;
- *l = lightness;
- *s = lightness;
- }
- else
- {
- hue = *h + 120;
- while (hue > 360)
- hue -= 360;
- while (hue < 0)
- hue += 360;
-
- if (hue < 60)
- r = m1 + (m2 - m1) * hue / 60;
- else if (hue < 180)
- r = m2;
- else if (hue < 240)
- r = m1 + (m2 - m1) * (240 - hue) / 60;
- else
- r = m1;
-
- hue = *h;
- while (hue > 360)
- hue -= 360;
- while (hue < 0)
- hue += 360;
-
- if (hue < 60)
- g = m1 + (m2 - m1) * hue / 60;
- else if (hue < 180)
- g = m2;
- else if (hue < 240)
- g = m1 + (m2 - m1) * (240 - hue) / 60;
- else
- g = m1;
-
- hue = *h - 120;
- while (hue > 360)
- hue -= 360;
- while (hue < 0)
- hue += 360;
-
- if (hue < 60)
- b = m1 + (m2 - m1) * hue / 60;
- else if (hue < 180)
- b = m2;
- else if (hue < 240)
- b = m1 + (m2 - m1) * (240 - hue) / 60;
- else
- b = m1;
-
- *h = r;
- *l = g;
- *s = b;
- }
-}
-
-/* Based on set_color() in gtkstyle.c */
-#define LIGHTNESS_MULT 1.3
-#define DARKNESS_MULT 0.7
-void
-xfce_desktop_gtk_style_get_light_color (GtkStyleContext *style,
- GtkStateFlags state,
- GdkRGBA *color)
-{
- gtk_style_context_get_background_color (style, state, color);
- gtk_style_shade (color, color, LIGHTNESS_MULT);
-}
-
-void
-xfce_desktop_gtk_style_get_dark_color (GtkStyleContext *style,
- GtkStateFlags state,
- GdkRGBA *color)
-{
- gtk_style_context_get_background_color (style, state, color);
- gtk_style_shade (color, color, DARKNESS_MULT);
-}
diff --git a/src/xfce-desktop-utils.h b/src/xfce-desktop-utils.h
index 7ac7394..f4ccd17 100644
--- a/src/xfce-desktop-utils.h
+++ b/src/xfce-desktop-utils.h
@@ -33,22 +33,9 @@
G_BEGIN_DECLS
-/* prepend the terminal command to a vector */
-void xfce_desktop_prepend_terminal_to_vector (int *argc, char ***argv);
-
/* replace gdk_spawn_command_line_on_screen, not available in GTK3 */
gboolean xfce_gdk_spawn_command_line_on_screen (GdkScreen *screen, const gchar *command, GError **error);
-void
-xfce_desktop_gtk_style_get_light_color (GtkStyleContext *style,
- GtkStateFlags state,
- GdkRGBA *color);
-
-void
-xfce_desktop_gtk_style_get_dark_color (GtkStyleContext *style,
- GtkStateFlags state,
- GdkRGBA *color);
-
G_END_DECLS
#endif /* XFCE_DESKTOP_UTILS_H */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list