79f262fb18
The module is currently working, but not fully stable. All tags specified in config.cmake for internal/dwm are supported. This was implemented following the i3 and bspwm modules. There is still some cleaning/refactoring to do to polish the module up.
118 lines
4.0 KiB
C++
118 lines
4.0 KiB
C++
#pragma once
|
|
|
|
#include "common.hpp"
|
|
#include "modules/backlight.hpp"
|
|
#include "modules/battery.hpp"
|
|
#include "modules/bspwm.hpp"
|
|
#include "modules/counter.hpp"
|
|
#include "modules/cpu.hpp"
|
|
#include "modules/date.hpp"
|
|
#include "modules/fs.hpp"
|
|
#include "modules/ipc.hpp"
|
|
#include "modules/memory.hpp"
|
|
#include "modules/menu.hpp"
|
|
#include "modules/meta/base.hpp"
|
|
#include "modules/script.hpp"
|
|
#if DEBUG
|
|
#include "modules/systray.hpp"
|
|
#endif
|
|
#include "modules/temperature.hpp"
|
|
#include "modules/text.hpp"
|
|
#include "modules/xbacklight.hpp"
|
|
#include "modules/xwindow.hpp"
|
|
#include "modules/xworkspaces.hpp"
|
|
#if ENABLE_I3
|
|
#include "modules/i3.hpp"
|
|
#endif
|
|
#if ENABLE_DWM
|
|
#include "modules/dwm.hpp"
|
|
#endif
|
|
#if ENABLE_MPD
|
|
#include "modules/mpd.hpp"
|
|
#endif
|
|
#if ENABLE_NETWORK
|
|
#include "modules/network.hpp"
|
|
#endif
|
|
#if ENABLE_ALSA
|
|
#include "modules/alsa.hpp"
|
|
#endif
|
|
#if ENABLE_PULSEAUDIO
|
|
#include "modules/pulseaudio.hpp"
|
|
#endif
|
|
#if ENABLE_CURL
|
|
#include "modules/github.hpp"
|
|
#endif
|
|
#if ENABLE_XKEYBOARD
|
|
#include "modules/xkeyboard.hpp"
|
|
#endif
|
|
#include "modules/unsupported.hpp"
|
|
|
|
POLYBAR_NS
|
|
|
|
using namespace modules;
|
|
|
|
namespace {
|
|
module_interface* make_module(string&& name, const bar_settings& bar, string module_name, const logger& m_log) {
|
|
if (name == counter_module::TYPE) {
|
|
return new counter_module(bar, move(module_name));
|
|
} else if (name == backlight_module::TYPE) {
|
|
return new backlight_module(bar, move(module_name));
|
|
} else if (name == battery_module::TYPE) {
|
|
return new battery_module(bar, move(module_name));
|
|
} else if (name == bspwm_module::TYPE) {
|
|
return new bspwm_module(bar, move(module_name));
|
|
} else if (name == cpu_module::TYPE) {
|
|
return new cpu_module(bar, move(module_name));
|
|
} else if (name == date_module::TYPE) {
|
|
return new date_module(bar, move(module_name));
|
|
} else if (name == "internal/dwm") {
|
|
return new dwm_module(bar, move(module_name));
|
|
} else if (name == github_module::TYPE) {
|
|
return new github_module(bar, move(module_name));
|
|
} else if (name == fs_module::TYPE) {
|
|
return new fs_module(bar, move(module_name));
|
|
} else if (name == memory_module::TYPE) {
|
|
return new memory_module(bar, move(module_name));
|
|
} else if (name == i3_module::TYPE) {
|
|
return new i3_module(bar, move(module_name));
|
|
} else if (name == mpd_module::TYPE) {
|
|
return new mpd_module(bar, move(module_name));
|
|
} else if (name == "internal/volume") {
|
|
m_log.warn("internal/volume is deprecated, use %s instead", string(alsa_module::TYPE));
|
|
return new alsa_module(bar, move(module_name));
|
|
} else if (name == alsa_module::TYPE) {
|
|
return new alsa_module(bar, move(module_name));
|
|
} else if (name == pulseaudio_module::TYPE) {
|
|
return new pulseaudio_module(bar, move(module_name));
|
|
} else if (name == network_module::TYPE) {
|
|
return new network_module(bar, move(module_name));
|
|
#if DEBUG
|
|
} else if (name == systray_module::TYPE) {
|
|
return new systray_module(bar, move(module_name));
|
|
#endif
|
|
} else if (name == temperature_module::TYPE) {
|
|
return new temperature_module(bar, move(module_name));
|
|
} else if (name == xbacklight_module::TYPE) {
|
|
return new xbacklight_module(bar, move(module_name));
|
|
} else if (name == xkeyboard_module::TYPE) {
|
|
return new xkeyboard_module(bar, move(module_name));
|
|
} else if (name == xwindow_module::TYPE) {
|
|
return new xwindow_module(bar, move(module_name));
|
|
} else if (name == xworkspaces_module::TYPE) {
|
|
return new xworkspaces_module(bar, move(module_name));
|
|
} else if (name == text_module::TYPE) {
|
|
return new text_module(bar, move(module_name));
|
|
} else if (name == script_module::TYPE) {
|
|
return new script_module(bar, move(module_name));
|
|
} else if (name == menu_module::TYPE) {
|
|
return new menu_module(bar, move(module_name));
|
|
} else if (name == ipc_module::TYPE) {
|
|
return new ipc_module(bar, move(module_name));
|
|
} else {
|
|
throw application_error("Unknown module: " + name);
|
|
}
|
|
}
|
|
} // namespace
|
|
|
|
POLYBAR_NS_END
|