diff options
Diffstat (limited to 'test.py')
-rwxr-xr-x | test.py | 105 |
1 files changed, 105 insertions, 0 deletions
@@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# See LICENSE file for copyright and license details. +import libgamma +from time import sleep + + +method = libgamma.list_methods(0)[0] +assert libgamma.is_method_available(method) == True + +print('\033[1mMethod capabilities\033[m') +print(libgamma.method_capabilities(method).__dict__) +print() + +print('\033[1mMethod default site variable and default site\033[m') +print(repr(libgamma.method_default_site_variable(method))) +print(repr(libgamma.method_default_site(method))) +print() + +print('\033[1mUnhexing b"0123456789ABCDEF" and b"0123456789abcdef"\033[m') +print(repr(libgamma.unhex_edid('0123456789ABCDEF'))) +print(repr(libgamma.unhex_edid('0123456789abcdef'))) +print('\033[1mUnhexing and rehexing "0123456789abcdef"\033[m') +print(repr(libgamma.behex_edid(libgamma.unhex_edid('0123456789abcdef')))) +print(repr(libgamma.behex_edid_lowercase(libgamma.unhex_edid('0123456789abcdef')))) +print(repr(libgamma.behex_edid_uppercase(libgamma.unhex_edid('0123456789abcdef')))) +print() + +print('\033[1mPrinting required group ID, setting to 10, and reprinting\033[m') +print(libgamma.group.gid) +libgamma.group.gid = 10 +print(libgamma.group.gid) +print() + +print('\033[1mPrinting required group name, setting to "group", and reprinting\033[m') +print(repr(libgamma.group.name)) +libgamma.group.name = 'group' +print(repr(libgamma.group.name)) +print() + +print('\033[1mPrint description for errors: 0, ERRNO_SET and NO_SUCH_ADJUSTMENT_METHOD\033[m') +libgamma.perror('test', 0) +libgamma.perror('test', libgamma.LIBGAMMA_ERRNO_SET) +libgamma.perror('test', libgamma.LIBGAMMA_NO_SUCH_ADJUSTMENT_METHOD) +print() + +print('\033[1mGetting name and value of error NO_SUCH_SITE\033[m') +print(repr(libgamma.name_of_error(libgamma.LIBGAMMA_NO_SUCH_SITE))) +print(repr(libgamma.value_of_error('LIBGAMMA_NO_SUCH_SITE'))) +print(libgamma.LIBGAMMA_NO_SUCH_SITE) +print() + +print('\033[1mCreating errors: 1, 0, -1 and -2\033[m') +print(libgamma.create_error(1)) +print(libgamma.create_error(0)) +print(libgamma.create_error(-1)) +print(libgamma.create_error(-2)) +print() + +print('\033[1mGetting partition count, crtc count for partition 0, and info for crtc 0.0\033[m') +site = libgamma.Site(method) +print(site.partitions_available) +partition = libgamma.Partition(site, 0) +print(partition.crtcs_available) +crtc = libgamma.CRTC(partition, 0) +info = crtc.information(~0)[0] +print(info.__dict__) +print() + +ramp_sizes = (info.red_gamma_size, info.green_gamma_size, info.blue_gamma_size) +ramps = libgamma.GammaRamps(*ramp_sizes, depth = info.gamma_depth) +crtc.get_gamma(ramps) +print('\033[1mCurrent red gamma ramp\033[m') +print(list(ramps.red)) +print() +print('\033[1mCurrent green gamma ramp\033[m') +print(list(ramps.green)) +print() +print('\033[1mCurrent blue gamma ramp\033[m') +print(list(ramps.blue)) +print() + +saved_red = list(ramps.red) +saved_green = list(ramps.green) +saved_blue = list(ramps.blue) + +ramps.red[:] = list(map(lambda x : x // 2, saved_red)) +ramps.green[:] = list(map(lambda x : x // 2, saved_green)) +ramps.blue[:] = list(map(lambda x : x // 2, saved_blue)) + +crtc.set_gamma(ramps) + +sleep(1) + +ramps.red[:] = saved_red +ramps.green[:] = saved_green +ramps.blue[:] = saved_blue + +crtc.set_gamma(ramps) + +# If not done expressively, if in the root scope, +# we sometimes get ignored errors on exit +del site +del partition +del crtc +del ramps |