From b3fcc5c1abe75bd70d76ccd51ae8d276f3d01add Mon Sep 17 00:00:00 2001 From: Lars Vierbergen Date: Tue, 5 Sep 2017 07:44:30 +0200 Subject: [PATCH] Add brightness adjust program --- brightness-adjust | Bin 0 -> 9008 bytes brightness-adjust.c | 56 ++++++++++++++++++++++++++++++++++++++++++++ xmonad.hs | 3 +++ 3 files changed, 59 insertions(+) create mode 100755 brightness-adjust create mode 100644 brightness-adjust.c diff --git a/brightness-adjust b/brightness-adjust new file mode 100755 index 0000000000000000000000000000000000000000..7f11e09438b8742321ec16d673ceac1d3d55e7a7 GIT binary patch literal 9008 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 literal 0 HcmV?d00001 diff --git a/brightness-adjust.c b/brightness-adjust.c new file mode 100644 index 0000000..76fc020 --- /dev/null +++ b/brightness-adjust.c @@ -0,0 +1,56 @@ +#include +#include + +#define ROOT_DIR "/sys/class/backlight/intel_backlight/" +#define BRIGHTNESS_STEP 750 + + +int main(int argc, char** argv) { + FILE* brightness = fopen(ROOT_DIR "brightness", "r+"); + if(brightness == NULL) { + perror("fopen"); + exit(EXIT_FAILURE); + } + + int current_brightness; + + int res = fscanf(brightness, "%d", ¤t_brightness); + if(res != 1) { + perror("fscanf"); + exit(EXIT_FAILURE); + } + + + if(argc != 2) { + fprintf(stderr, "Exactly one argument is required. Got %d arguments.\n", argc); + exit(EXIT_FAILURE); + } + + if(*argv[1] == '+') { + current_brightness+=BRIGHTNESS_STEP; + } else if(*argv[1] == '-') { + current_brightness-=BRIGHTNESS_STEP; + } else { + fprintf(stderr, "Argument must be '+' or '-', got %s.\n", argv[1]); + exit(EXIT_FAILURE); + } + + if(current_brightness < 0) + current_brightness = 0; + + rewind(brightness); + + if(!fprintf(brightness, "%d", current_brightness)) { + perror("fprintf"); + exit(EXIT_FAILURE); + } + + + if(fclose(brightness)) { + perror("fclose"); + exit(EXIT_FAILURE); + } + + return 0; + +} diff --git a/xmonad.hs b/xmonad.hs index 8f80d96..354946a 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -123,6 +123,9 @@ main = do , ((0, 0x1008ff15), spawn "clementine --stop") , ((0, 0x1008ff16), spawn "clementine --restart-or-previous") , ((0, 0x1008ff17), spawn "clementine --next") + -- Brightness buttons + , ((0, 0x1008ff02), spawn "~/.xmonad/brightness-adjust +") + , ((0, 0x1008ff03), spawn "~/.xmonad/brightness-adjust -") ] `additionalKeys` --