suckless-utils/slim/log.h
Alexis Jhon Gaspar e1207e1d0d Added slim-fork to the repo
- This introduces a minimalist display manager for the suckless-utils suite
- Added crudely written scripts for reloaading slim's theme via pywal,
  meaning no on-the-fly reloading using keybinds as nost people wouldn't
have their sudo passwordless
- This is based on slim-fork 1.4.0 version.
2023-10-12 23:08:23 +08:00

48 lines
710 B
C++

#ifndef _LOG_H_
#define _LOG_H_
#ifdef USE_CONSOLEKIT
#include "Ck.h"
#endif
#ifdef USE_PAM
#include "PAM.h"
#endif
#include <fstream>
using namespace std;
class LogUnit
{
ofstream logFile;
ostream * logOut;
public:
bool openLog(const char * filename);
void closeLog();
LogUnit();
~LogUnit() { closeLog(); }
template<typename Type> LogUnit & operator<<(const Type & text)
{
*logOut << text; logOut->flush();
return *this;
}
LogUnit & operator<<(ostream & (*fp)(ostream&))
{
*logOut << fp; logOut->flush();
return *this;
}
LogUnit & operator<<(ios_base & (*fp)(ios_base&))
{
*logOut << fp; logOut->flush();
return *this;
}
};
extern LogUnit logStream;
#endif /* _LOG_H_ */