view dep/animia/src/fd.cc @ 166:54c5d80a737e

dep/animia: add libutil method I changed the "linux" method to be "proc", because it isn't exactly Linux specific this commit also has some changes to the x11 stuff: instead of enumerating over only top-level windows, we iterate over ALL of them this is because many X11 apps actually use multiple windows for some reason, I still can't get it to work with VLC, but it picks up Firefox...
author paper@DavesDouble.local
date Sun, 19 Nov 2023 04:21:56 -0500
parents cdf79282d647
children bc1ae1810855 8f6f8dd2eb23
line wrap: on
line source

#include "animia/fd.h"

#ifdef WIN32
#	include "animia/fd/win32.h"
#elif defined(LINUX) || defined(FREEBSD)
#	include "animia/fd/proc.h"
#elif defined(MACOSX)
#	include "animia/fd/xnu.h"
#elif defined(LIBUTIL)
#   include "animia/fd/libutil.h"
#endif

namespace animia::internal {

#ifdef WIN32
win32::Win32FdTools os_fd;
#elif defined(LINUX) || defined(FREEBSD)
proc::ProcFdTools os_fd;
#elif defined(MACOSX)
xnu::XnuFdTools os_fd;
#elif defined(LIBUTIL)
libutil::LibutilFdTools os_fd;
#else
BaseFdTools os_fd;
#endif

BaseFdTools& fd = os_fd;

} // namespace animia::internal