feat: init repo

This commit is contained in:
Alexis
2018-08-08 23:54:58 +02:00
parent 53ff4e0d60
commit fcb6a9aa8b
22 changed files with 2634 additions and 0 deletions

View File

@ -0,0 +1,26 @@
#pragma once
#include <filesystem>
#include <fstream>
#include <gtkmm.h>
#include <iostream>
#include <fmt/format.h>
#include "util/chrono.hpp"
namespace waybar::modules {
namespace fs = std::filesystem;
class Battery {
public:
Battery();
auto update() -> void;
operator Gtk::Widget&();
private:
static inline const fs::path _data_dir = "/sys/class/power_supply/";
std::vector<fs::path> _batteries;
util::SleeperThread _thread;
Gtk::Label _label;
};
}

19
include/modules/clock.hpp Normal file
View File

@ -0,0 +1,19 @@
#pragma once
#include <gtkmm.h>
#include <fmt/format.h>
#include <thread>
#include "util/chrono.hpp"
namespace waybar::modules {
class Clock {
public:
Clock();
operator Gtk::Widget &();
private:
Gtk::Label _label;
waybar::util::SleeperThread _thread;
};
}

View File

@ -0,0 +1,27 @@
#pragma once
#include <json/json.h>
#include <fmt/format.h>
#include "bar.hpp"
#include "client.hpp"
#include "util/chrono.hpp"
namespace waybar::modules {
class WorkspaceSelector {
public:
WorkspaceSelector(waybar::Bar &bar);
auto update() -> void;
operator Gtk::Widget &();
private:
void _addWorkspace(Json::Value node);
Json::Value _getWorkspaces();
Bar &_bar;
Gtk::Box *_box;
std::unordered_map<int, Gtk::Button> _buttons;
util::SleeperThread _thread;
int _ipcSocketfd;
int _ipcEventSocketfd;
};
}