You are not logged in.

#1 2021-01-03 02:14:02

Ahad12
Member
Registered: 2013-01-14
Posts: 41

ddcbc-gtk - A GTK Interface for changing monitor brightness

Hi All,

    I've been working on a simple application to change the brightness of my monitor. I tried using ddcui, but I found it too slow since it read all of the availble features each of my monitors had. So I learned GTK and DDCUtil's C API's and created my own interface for changing the brightness for each of my monitors. Feel free to submit an issue/pull request, I will review them as soon as I can! Let me know if y'all want an aur package for this, I might create one later this week smile.

https://github.com/ahshabbir/ddcbc-gtk

Offline

#2 2021-01-11 20:47:38

lowph
Member
From: NL
Registered: 2011-10-14
Posts: 24

Re: ddcbc-gtk - A GTK Interface for changing monitor brightness

Your post send me into a nice rabbit hole with ddcutil. I didn't know I could also control the brightness of my external monitor.

I have ddcutil working but I cannot get your program to compile. If I call build.sh I get no output at all, if I run the gcc command with -v it get:

[phaedrus@argon ddcbc-gtk]$ gcc -g -pthread `pkg-config --cflags gtk+-3.0` -o ddcbc-gtk main.c `pkg-config --libs gtk+-3.0` -lddcutil -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --with-isl --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-install-libiberty --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-libunwind-exceptions --disable-werror gdc_include_dir=/usr/include/dlang/gdc
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC) 
COLLECT_GCC_OPTIONS='-g' '-pthread' '-I' '/usr/include/gtk-3.0' '-I' '/usr/include/pango-1.0' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-I' '/usr/include/harfbuzz' '-I' '/usr/include/freetype2' '-I' '/usr/include/libpng16' '-I' '/usr/include/libmount' '-I' '/usr/include/blkid' '-I' '/usr/include/fribidi' '-I' '/usr/include/cairo' '-I' '/usr/include/lzo' '-I' '/usr/include/pixman-1' '-I' '/usr/include/gdk-pixbuf-2.0' '-I' '/usr/include/gio-unix-2.0' '-I' '/usr/include/cloudproviders' '-I' '/usr/include/atk-1.0' '-I' '/usr/include/at-spi2-atk/2.0' '-I' '/usr/include/dbus-1.0' '-I' '/usr/lib/dbus-1.0/include' '-I' '/usr/include/at-spi-2.0' '-pthread' '-o' 'ddcbc-gtk' '-v' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/cc1 -quiet -v -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/fribidi -I /usr/include/cairo -I /usr/include/lzo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/cloudproviders -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib/dbus-1.0/include -I /usr/include/at-spi-2.0 -D_REENTRANT main.c -quiet -dumpbase main.c -mtune=generic -march=x86-64 -auxbase main -g -version -o /tmp/ccUezkHu.s
GNU C17 (GCC) version 10.2.0 (x86_64-pc-linux-gnu)
	compiled by GNU C version 10.2.0, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version isl-0.21-GMP

warning: GMP header version 6.2.0 differs from library version 6.2.1.
warning: MPC header version 1.1.0 differs from library version 1.2.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/gtk-3.0
 /usr/include/pango-1.0
 /usr/include/glib-2.0
 /usr/lib/glib-2.0/include
 /usr/include/harfbuzz
 /usr/include/freetype2
 /usr/include/libpng16
 /usr/include/libmount
 /usr/include/blkid
 /usr/include/fribidi
 /usr/include/cairo
 /usr/include/lzo
 /usr/include/pixman-1
 /usr/include/gdk-pixbuf-2.0
 /usr/include/gio-unix-2.0
 /usr/include/cloudproviders
 /usr/include/atk-1.0
 /usr/include/at-spi2-atk/2.0
 /usr/include/dbus-1.0
 /usr/lib/dbus-1.0/include
 /usr/include/at-spi-2.0
 /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include
 /usr/local/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed
 /usr/include
End of search list.
GNU C17 (GCC) version 10.2.0 (x86_64-pc-linux-gnu)
	compiled by GNU C version 10.2.0, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version isl-0.21-GMP

warning: GMP header version 6.2.0 differs from library version 6.2.1.
warning: MPC header version 1.1.0 differs from library version 1.2.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 81412c83e0c3f5014cd5328f9bc3d624
COLLECT_GCC_OPTIONS='-g' '-pthread' '-I' '/usr/include/gtk-3.0' '-I' '/usr/include/pango-1.0' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-I' '/usr/include/harfbuzz' '-I' '/usr/include/freetype2' '-I' '/usr/include/libpng16' '-I' '/usr/include/libmount' '-I' '/usr/include/blkid' '-I' '/usr/include/fribidi' '-I' '/usr/include/cairo' '-I' '/usr/include/lzo' '-I' '/usr/include/pixman-1' '-I' '/usr/include/gdk-pixbuf-2.0' '-I' '/usr/include/gio-unix-2.0' '-I' '/usr/include/cloudproviders' '-I' '/usr/include/atk-1.0' '-I' '/usr/include/at-spi2-atk/2.0' '-I' '/usr/include/dbus-1.0' '-I' '/usr/lib/dbus-1.0/include' '-I' '/usr/include/at-spi-2.0' '-pthread' '-o' 'ddcbc-gtk' '-v' '-mtune=generic' '-march=x86-64'
 as -v -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/fribidi -I /usr/include/cairo -I /usr/include/lzo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/cloudproviders -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib/dbus-1.0/include -I /usr/include/at-spi-2.0 --64 -o /tmp/ccsdRo5r.o /tmp/ccUezkHu.s
GNU assembler version 2.35.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.35.1
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-g' '-pthread' '-I' '/usr/include/gtk-3.0' '-I' '/usr/include/pango-1.0' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-I' '/usr/include/harfbuzz' '-I' '/usr/include/freetype2' '-I' '/usr/include/libpng16' '-I' '/usr/include/libmount' '-I' '/usr/include/blkid' '-I' '/usr/include/fribidi' '-I' '/usr/include/cairo' '-I' '/usr/include/lzo' '-I' '/usr/include/pixman-1' '-I' '/usr/include/gdk-pixbuf-2.0' '-I' '/usr/include/gio-unix-2.0' '-I' '/usr/include/cloudproviders' '-I' '/usr/include/atk-1.0' '-I' '/usr/include/at-spi2-atk/2.0' '-I' '/usr/include/dbus-1.0' '-I' '/usr/lib/dbus-1.0/include' '-I' '/usr/include/at-spi-2.0' '-pthread' '-o' 'ddcbc-gtk' '-v' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccleTjvq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o ddcbc-gtk /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../.. /tmp/ccsdRo5r.o -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lddcutil -lgcc --push-state --as-needed -lgcc_s --pop-state -lpthread -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib/crtn.o
COLLECT_GCC_OPTIONS='-g' '-pthread' '-I' '/usr/include/gtk-3.0' '-I' '/usr/include/pango-1.0' '-I' '/usr/include/glib-2.0' '-I' '/usr/lib/glib-2.0/include' '-I' '/usr/include/harfbuzz' '-I' '/usr/include/freetype2' '-I' '/usr/include/libpng16' '-I' '/usr/include/libmount' '-I' '/usr/include/blkid' '-I' '/usr/include/fribidi' '-I' '/usr/include/cairo' '-I' '/usr/include/lzo' '-I' '/usr/include/pixman-1' '-I' '/usr/include/gdk-pixbuf-2.0' '-I' '/usr/include/gio-unix-2.0' '-I' '/usr/include/cloudproviders' '-I' '/usr/include/atk-1.0' '-I' '/usr/include/at-spi2-atk/2.0' '-I' '/usr/include/dbus-1.0' '-I' '/usr/lib/dbus-1.0/include' '-I' '/usr/include/at-spi-2.0' '-pthread' '-o' 'ddcbc-gtk' '-v' '-mtune=generic' '-march=x86-64'

Offline

Board footer

Powered by FluxBB