Lines Matching refs:brightness

193 gpm_brightness_output_get_internal (GpmBrightness *brightness, RROutput output, guint *cur)  in gpm_brightness_output_get_internal()  argument
202 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_get_internal()
204 if (brightness->priv->backlight == None) in gpm_brightness_output_get_internal()
207 if (XRRGetOutputProperty (brightness->priv->dpy, output, brightness->priv->backlight, in gpm_brightness_output_get_internal()
226 gpm_brightness_output_set_internal (GpmBrightness *brightness, RROutput output, guint value) in gpm_brightness_output_set_internal() argument
232 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_set_internal()
237 …XRRChangeOutputProperty (brightness->priv->dpy, output, brightness->priv->backlight, XA_INTEGER, 3… in gpm_brightness_output_set_internal()
239 XFlush (brightness->priv->dpy); in gpm_brightness_output_set_internal()
247 brightness->priv->hw_changed = TRUE; in gpm_brightness_output_set_internal()
255 gpm_brightness_setup_display (GpmBrightness *brightness) in gpm_brightness_setup_display() argument
259 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_setup_display()
262 brightness->priv->dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default()); in gpm_brightness_setup_display()
263 if (!brightness->priv->dpy) { in gpm_brightness_setup_display()
268 if (!XRRQueryVersion (brightness->priv->dpy, &major, &minor)) { in gpm_brightness_setup_display()
277 brightness->priv->backlight = XInternAtom (brightness->priv->dpy, "Backlight", True); in gpm_brightness_setup_display()
278 if (brightness->priv->backlight == None) { in gpm_brightness_setup_display()
280 brightness->priv->backlight = XInternAtom (brightness->priv->dpy, "BACKLIGHT", True); in gpm_brightness_setup_display()
281 if (brightness->priv->backlight == None) { in gpm_brightness_setup_display()
293 gpm_brightness_output_get_limits (GpmBrightness *brightness, RROutput output, in gpm_brightness_output_get_limits() argument
299 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_get_limits()
301 info = XRRQueryOutputProperty (brightness->priv->dpy, output, brightness->priv->backlight); in gpm_brightness_output_get_limits()
322 gpm_brightness_output_get_percentage (GpmBrightness *brightness, RROutput output) in gpm_brightness_output_get_percentage() argument
329 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_get_percentage()
331 ret = gpm_brightness_output_get_internal (brightness, output, &cur); in gpm_brightness_output_get_percentage()
334 ret = gpm_brightness_output_get_limits (brightness, output, &min, &max); in gpm_brightness_output_get_percentage()
340 brightness->priv->shared_value = percentage; in gpm_brightness_output_get_percentage()
348 gpm_brightness_output_down (GpmBrightness *brightness, RROutput output) in gpm_brightness_output_down() argument
355 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_down()
357 ret = gpm_brightness_output_get_internal (brightness, output, &cur); in gpm_brightness_output_down()
360 ret = gpm_brightness_output_get_limits (brightness, output, &min, &max); in gpm_brightness_output_down()
375 ret = gpm_brightness_output_set_internal (brightness, output, cur); in gpm_brightness_output_down()
383 gpm_brightness_output_up (GpmBrightness *brightness, RROutput output) in gpm_brightness_output_up() argument
389 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_up()
391 ret = gpm_brightness_output_get_internal (brightness, output, &cur); in gpm_brightness_output_up()
394 ret = gpm_brightness_output_get_limits (brightness, output, &min, &max); in gpm_brightness_output_up()
407 ret = gpm_brightness_output_set_internal (brightness, output, cur); in gpm_brightness_output_up()
415 gpm_brightness_output_set (GpmBrightness *brightness, RROutput output) in gpm_brightness_output_set() argument
424 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_output_set()
426 ret = gpm_brightness_output_get_internal (brightness, output, &cur); in gpm_brightness_output_set()
429 ret = gpm_brightness_output_get_limits (brightness, output, &min, &max); in gpm_brightness_output_set()
433 shared_value_abs = egg_discrete_from_percent (brightness->priv->shared_value, (max-min)+1); in gpm_brightness_output_set()
434 g_debug ("percent=%i, absolute=%i", brightness->priv->shared_value, shared_value_abs); in gpm_brightness_output_set()
455 ret = gpm_brightness_output_set_internal (brightness, output, i); in gpm_brightness_output_set()
469 ret = gpm_brightness_output_set_internal (brightness, output, i); in gpm_brightness_output_set()
483 gpm_brightness_foreach_resource (GpmBrightness *brightness, GpmXRandROp op, XRRScreenResources *res… in gpm_brightness_foreach_resource() argument
490 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_foreach_resource()
497 ret = gpm_brightness_output_get_percentage (brightness, output); in gpm_brightness_foreach_resource()
499 ret = gpm_brightness_output_up (brightness, output); in gpm_brightness_foreach_resource()
501 ret = gpm_brightness_output_down (brightness, output); in gpm_brightness_foreach_resource()
503 ret = gpm_brightness_output_set (brightness, output); in gpm_brightness_foreach_resource()
519 gpm_brightness_foreach_screen (GpmBrightness *brightness, GpmXRandROp op) in gpm_brightness_foreach_screen() argument
527 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_foreach_screen()
530 if (!brightness->priv->has_extension) in gpm_brightness_foreach_screen()
534 length = brightness->priv->resources->len; in gpm_brightness_foreach_screen()
536 resource = (XRRScreenResources *) g_ptr_array_index (brightness->priv->resources, i); in gpm_brightness_foreach_screen()
538 ret = gpm_brightness_foreach_resource (brightness, op, resource); in gpm_brightness_foreach_screen()
542 XSync (brightness->priv->dpy, False); in gpm_brightness_foreach_screen()
552 gpm_brightness_trust_cache (GpmBrightness *brightness) in gpm_brightness_trust_cache() argument
554 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_trust_cache()
556 if (brightness->priv->cache_trusted && brightness->priv->has_changed_events) { in gpm_brightness_trust_cache()
557 g_debug ("using cache for value %u (okay)", brightness->priv->cache_percentage); in gpm_brightness_trust_cache()
564 if (GPM_SOLE_SETTER_USE_CACHE && brightness->priv->cache_trusted) { in gpm_brightness_trust_cache()
565 g_debug ("using cache for value %u (probably okay)", brightness->priv->cache_percentage); in gpm_brightness_trust_cache()
579 gpm_brightness_set (GpmBrightness *brightness, guint percentage, gboolean *hw_changed) in gpm_brightness_set() argument
584 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_set()
587 trust_cache = gpm_brightness_trust_cache (brightness); in gpm_brightness_set()
588 if (trust_cache && percentage == brightness->priv->cache_percentage) { in gpm_brightness_set()
594 brightness->priv->shared_value = percentage; in gpm_brightness_set()
597 brightness->priv->hw_changed = FALSE; in gpm_brightness_set()
598 ret = gpm_brightness_foreach_screen (brightness, ACTION_BACKLIGHT_SET); in gpm_brightness_set()
602 if (brightness->priv->extension_levels < 0) in gpm_brightness_set()
603 brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness"); in gpm_brightness_set()
604brightness->priv->extension_current = egg_discrete_from_percent (percentage, brightness->priv->ext… in gpm_brightness_set()
605 ret = gpm_brightness_helper_set_value ("set-brightness", brightness->priv->extension_current); in gpm_brightness_set()
610 *hw_changed = brightness->priv->hw_changed; in gpm_brightness_set()
614 brightness->priv->cache_trusted = FALSE; in gpm_brightness_set()
628 gpm_brightness_get (GpmBrightness *brightness, guint *percentage) in gpm_brightness_get() argument
634 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_get()
638 trust_cache = gpm_brightness_trust_cache (brightness); in gpm_brightness_get()
640 *percentage = brightness->priv->cache_percentage; in gpm_brightness_get()
645 ret = gpm_brightness_foreach_screen (brightness, ACTION_BACKLIGHT_GET); in gpm_brightness_get()
646 percentage_local = brightness->priv->shared_value; in gpm_brightness_get()
650 if (brightness->priv->extension_levels < 0) in gpm_brightness_get()
651 brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness"); in gpm_brightness_get()
652 brightness->priv->extension_current = gpm_brightness_helper_get_value ("get-brightness"); in gpm_brightness_get()
653 …percentage_local = egg_discrete_to_percent (brightness->priv->extension_current, brightness->priv-… in gpm_brightness_get()
665 brightness->priv->cache_percentage = percentage_local; in gpm_brightness_get()
666 brightness->priv->cache_trusted = TRUE; in gpm_brightness_get()
669 brightness->priv->cache_trusted = FALSE; in gpm_brightness_get()
683 gpm_brightness_up (GpmBrightness *brightness, gboolean *hw_changed) in gpm_brightness_up() argument
688 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_up()
691 brightness->priv->hw_changed = FALSE; in gpm_brightness_up()
692 ret = gpm_brightness_foreach_screen (brightness, ACTION_BACKLIGHT_INC); in gpm_brightness_up()
696 *hw_changed = brightness->priv->hw_changed; in gpm_brightness_up()
700 brightness->priv->cache_trusted = FALSE; in gpm_brightness_up()
704 if (brightness->priv->extension_levels < 0) in gpm_brightness_up()
705 brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness"); in gpm_brightness_up()
706 brightness->priv->extension_current = gpm_brightness_helper_get_value ("get-brightness"); in gpm_brightness_up()
709 if (brightness->priv->extension_current < brightness->priv->extension_levels) { in gpm_brightness_up()
710 step = gpm_brightness_get_step (brightness->priv->extension_levels); in gpm_brightness_up()
711 brightness->priv->extension_current += step; in gpm_brightness_up()
712 if (brightness->priv->extension_current > brightness->priv->extension_levels) in gpm_brightness_up()
713 brightness->priv->extension_current = brightness->priv->extension_levels; in gpm_brightness_up()
714 ret = gpm_brightness_helper_set_value ("set-brightness", brightness->priv->extension_current); in gpm_brightness_up()
718 brightness->priv->cache_trusted = FALSE; in gpm_brightness_up()
734 gpm_brightness_down (GpmBrightness *brightness, gboolean *hw_changed) in gpm_brightness_down() argument
739 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_down()
742 brightness->priv->hw_changed = FALSE; in gpm_brightness_down()
743 ret = gpm_brightness_foreach_screen (brightness, ACTION_BACKLIGHT_DEC); in gpm_brightness_down()
747 *hw_changed = brightness->priv->hw_changed; in gpm_brightness_down()
751 brightness->priv->cache_trusted = FALSE; in gpm_brightness_down()
755 if (brightness->priv->extension_levels < 0) in gpm_brightness_down()
756 brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness"); in gpm_brightness_down()
757 brightness->priv->extension_current = gpm_brightness_helper_get_value ("get-brightness"); in gpm_brightness_down()
760 if (brightness->priv->extension_current > 0) { in gpm_brightness_down()
761 step = gpm_brightness_get_step (brightness->priv->extension_levels); in gpm_brightness_down()
762 brightness->priv->extension_current -= step; in gpm_brightness_down()
763 if (brightness->priv->extension_current < 0) in gpm_brightness_down()
764 brightness->priv->extension_current = 0; in gpm_brightness_down()
765 ret = gpm_brightness_helper_set_value ("set-brightness", brightness->priv->extension_current); in gpm_brightness_down()
769 brightness->priv->cache_trusted = FALSE; in gpm_brightness_down()
781 gpm_brightness_may_have_changed (GpmBrightness *brightness) in gpm_brightness_may_have_changed() argument
785 ret = gpm_brightness_get (brightness, &percentage); in gpm_brightness_may_have_changed()
791 g_signal_emit (brightness, signals [BRIGHTNESS_CHANGED], 0, percentage); in gpm_brightness_may_have_changed()
800 GpmBrightness *brightness = GPM_BRIGHTNESS (data); in gpm_brightness_filter_xevents() local
803 gpm_brightness_may_have_changed (brightness); in gpm_brightness_filter_xevents()
808 static void gpm_brightness_update_cache (GpmBrightness *brightness);
814 gpm_brightness_monitors_changed (GdkScreen *screen, GpmBrightness *brightness) in gpm_brightness_monitors_changed() argument
816 g_return_if_fail (GPM_IS_BRIGHTNESS (brightness)); in gpm_brightness_monitors_changed()
817 gpm_brightness_update_cache (brightness); in gpm_brightness_monitors_changed()
824 gpm_brightness_update_cache (GpmBrightness *brightness) in gpm_brightness_update_cache() argument
832 g_return_if_fail (GPM_IS_BRIGHTNESS (brightness)); in gpm_brightness_update_cache()
835 length = brightness->priv->resources->len; in gpm_brightness_update_cache()
837 g_ptr_array_set_size (brightness->priv->resources, 0); in gpm_brightness_update_cache()
847 G_CALLBACK (gpm_brightness_monitors_changed), brightness); in gpm_brightness_update_cache()
850 root = RootWindow (brightness->priv->dpy, 0); in gpm_brightness_update_cache()
853 resource = XRRGetScreenResourcesCurrent (brightness->priv->dpy, root); in gpm_brightness_update_cache()
860 g_ptr_array_add (brightness->priv->resources, resource); in gpm_brightness_update_cache()
868 gpm_brightness_has_hw (GpmBrightness *brightness) in gpm_brightness_has_hw() argument
870 g_return_val_if_fail (GPM_IS_BRIGHTNESS (brightness), FALSE); in gpm_brightness_has_hw()
873 if (brightness->priv->has_extension) in gpm_brightness_has_hw()
877 if (brightness->priv->extension_levels < 0) in gpm_brightness_has_hw()
878 brightness->priv->extension_levels = gpm_brightness_helper_get_value ("get-max-brightness"); in gpm_brightness_has_hw()
879 if (brightness->priv->extension_levels > 0) in gpm_brightness_has_hw()
890 GpmBrightness *brightness; in gpm_brightness_finalize() local
893 brightness = GPM_BRIGHTNESS (object); in gpm_brightness_finalize()
894 g_ptr_array_unref (brightness->priv->resources); in gpm_brightness_finalize()
895 gdk_window_remove_filter (brightness->priv->root_window, in gpm_brightness_finalize()
896 gpm_brightness_filter_xevents, brightness); in gpm_brightness_finalize()
922 gpm_brightness_init (GpmBrightness *brightness) in gpm_brightness_init() argument
929 brightness->priv = gpm_brightness_get_instance_private (brightness); in gpm_brightness_init()
931 brightness->priv->cache_trusted = FALSE; in gpm_brightness_init()
932 brightness->priv->has_changed_events = FALSE; in gpm_brightness_init()
933 brightness->priv->cache_percentage = 0; in gpm_brightness_init()
934 brightness->priv->hw_changed = FALSE; in gpm_brightness_init()
935 brightness->priv->extension_levels = -1; in gpm_brightness_init()
936brightness->priv->resources = g_ptr_array_new_with_free_func ((GDestroyNotify) XRRFreeScreenResour… in gpm_brightness_init()
939 brightness->priv->has_extension = gpm_brightness_setup_display (brightness); in gpm_brightness_init()
940 if (brightness->priv->has_extension == FALSE) in gpm_brightness_init()
944 brightness->priv->root_window = gdk_screen_get_root_window (screen); in gpm_brightness_init()
952 gdk_window_add_filter (brightness->priv->root_window, in gpm_brightness_init()
953 gpm_brightness_filter_xevents, brightness); in gpm_brightness_init()
958 GDK_WINDOW_XID (brightness->priv->root_window), in gpm_brightness_init()
966 gpm_brightness_update_cache (brightness); in gpm_brightness_init()