Files
z-bar-qt/Plugins/ZShell/Config/bar.hpp
T

78 lines
1.9 KiB
C++

#pragma once
#include "common.hpp"
#include <qcontainerfwd.h>
#include <qhashfunctions.h>
#include <qqmlregistration.h>
namespace ZShell::config {
class BarEntry : public ListEntry {
CONFIG_NODE(BarEntry, ListEntry)
};
class Popouts : public settings::ObjectNode {
CONFIG_NODE(Popouts, settings::ObjectNode)
CONFIG_PROPERTY(bool, statusIcons, true)
CONFIG_PROPERTY(bool, tray, true)
};
class Tray : public settings::ObjectNode {
CONFIG_NODE(Tray, settings::ObjectNode)
CONFIG_PROPERTY(bool, recolorIcons, false)
CONFIG_PROPERTY(bool, showOnHover, true)
CONFIG_PROPERTY(int, trayIconSize, 24)
CONFIG_LIST(
EntryList,
statusIcons,
DEFAULT_ARG({
LIST_ENTRY(audio, true),
LIST_ENTRY(microphone, true),
LIST_ENTRY(bluetooth, false),
LIST_ENTRY(network, false),
LIST_ENTRY(wifi, false),
LIST_ENTRY(power, true),
}))
};
class Bar : public settings::ObjectNode {
CONFIG_NODE(Bar, settings::ObjectNode)
CONFIG_PROPERTY(bool, autoHide, false)
CONFIG_PROPERTY(int, border, 4)
CONFIG_PROPERTY(bool, fullscreenReveal, true)
CONFIG_PROPERTY(int, height, 24)
CONFIG_PROPERTY(bool, hideWhenNotif, true)
CONFIG_SUBOBJECT(Popouts, popouts)
CONFIG_PROPERTY(int, revealDelay, 100)
CONFIG_PROPERTY(int, rounding, 14)
CONFIG_PROPERTY(int, smoothing, 32)
CONFIG_PROPERTY(QString, position, QStringLiteral("top"))
CONFIG_SUBOBJECT(Tray, tray)
CONFIG_LIST(
EntryList,
entries,
DEFAULT_ARG({
LIST_ENTRY(workspaces, true),
LIST_ENTRY(audio, true),
LIST_ENTRY(media, true),
LIST_ENTRY(resources, true),
LIST_ENTRY(updates, true),
LIST_ENTRY(dash, false),
LIST_ENTRY(spacer, true),
LIST_ENTRY(activeWindow, true),
LIST_ENTRY(spacer, true),
LIST_ENTRY(hyprsunset, true),
LIST_ENTRY(tray, true),
LIST_ENTRY(statusIcons, true),
LIST_ENTRY(network, false),
LIST_ENTRY(upower, true),
LIST_ENTRY(clock, true),
LIST_ENTRY(notifBell, true),
}))
};
} // namespace ZShell::config