diff options
author | Tom Smeding <t.j.smeding@uu.nl> | 2022-08-30 16:00:36 +0200 |
---|---|---|
committer | Tom Smeding <t.j.smeding@uu.nl> | 2022-08-30 16:00:36 +0200 |
commit | f81c9e531fba1831397e4c319ba352c07b24f564 (patch) | |
tree | ebc7b4f38753d738fbcd327f539f04075103ba09 | |
parent | 989334821826bc16adf8d3c93a5a9d6be813b796 (diff) |
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | Makefile | 15 | ||||
-rw-r--r-- | gbrightness.cpp | 22 | ||||
m--------- | got-gui | 0 |
5 files changed, 36 insertions, 5 deletions
@@ -1,2 +1,3 @@ .ccls-cache/ brightness +gbrightness diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f90e8ab --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "got-gui"] + path = got-gui + url = https://git.tomsmeding.com/got-gui @@ -1,20 +1,25 @@ CXX = g++ -CXXFLAGS = -Wall -Wextra -O2 -std=c++11 +CXXFLAGS = -Wall -Wextra -O2 -std=c++17 INSTALL_DIR = $(HOME)/prefix/bin -BIN = brightness +BINS = brightness gbrightness .PHONY: all clean install -all: $(BIN) +all: $(BINS) clean: - rm -f $(BIN) + rm -f $(BINS) install: sudo install -o root brightness $(INSTALL_DIR) sudo chmod +s $(INSTALL_DIR)/brightness -$(BIN): brightness.cpp $(wildcard *.h) +brightness: brightness.cpp $(CXX) $(CXXFLAGS) $(filter %.cpp,$^) -o $@ + +UTILS = $(patsubst %,got-gui/%,gui.cpp gui.h xutil.cpp xutil.h command.cpp command.h) + +gbrightness: gbrightness.cpp $(UTILS) + $(CXX) $(CXXFLAGS) $(filter %.cpp,$^) -o $@ -lX11 diff --git a/gbrightness.cpp b/gbrightness.cpp new file mode 100644 index 0000000..985d159 --- /dev/null +++ b/gbrightness.cpp @@ -0,0 +1,22 @@ +#include <iostream> +#include <X11/keysym.h> +#include "got-gui/command.h" +#include "got-gui/xutil.h" + + +int main() { + auto display = x::XOpenDisplayRAII(nullptr); + Display *dpy = display.first; + + x::globalKeyboardGrab(dpy, [dpy](const XKeyEvent &ev) -> bool { + x::Keycode kc{ev.keycode}; + if (kc == x::Keysym{XK_Up}.toCode(dpy)) { + runCommand({"brightness", "+"}); + } else if (kc == x::Keysym{XK_Down}.toCode(dpy)) { + runCommand({"brightness", "-"}); + } else { + return true; + } + return false; + }); +} diff --git a/got-gui b/got-gui new file mode 160000 +Subproject 7c6c2aad9ba78f780f0c0513aef3f14a2e6fd3a |