aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVaxry <[email protected]>2024-12-05 01:59:29 +0000
committerVaxry <[email protected]>2024-12-05 01:59:36 +0000
commit22f7d6f1424c296b297df87bf2accdfefac4af33 (patch)
treed5a7da8ecf39c1fd83a083fc7c8325b114d27bd3
parentf9e4998a6d7713b19947b0db2c43ad88c5b71d80 (diff)
downloadHyprland-22f7d6f1424c296b297df87bf2accdfefac4af33.tar.gz
Hyprland-22f7d6f1424c296b297df87bf2accdfefac4af33.zip
core: add a few festive splashes
adds two new 'special' splash types for xmas and new years. Activated based on local time.
-rw-r--r--src/Compositor.cpp14
-rw-r--r--src/helpers/Splashes.hpp184
2 files changed, 120 insertions, 78 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 3573996d..1261d003 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -206,11 +206,21 @@ CCompositor::~CCompositor() {
}
void CCompositor::setRandomSplash() {
+ auto tt = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
+ auto local = *localtime(&tt);
+
+ const auto* SPLASHES = &NSplashes::SPLASHES;
+
+ if (local.tm_mon + 1 == 12 && local.tm_mday >= 23 && local.tm_mday <= 27) // dec 23-27
+ SPLASHES = &NSplashes::SPLASHES_CHRISTMAS;
+ if ((local.tm_mon + 1 == 12 && local.tm_mday >= 29) || (local.tm_mon + 1 == 1 && local.tm_mday <= 3))
+ SPLASHES = &NSplashes::SPLASHES_NEWYEAR;
+
std::random_device dev;
std::mt19937 engine(dev());
- std::uniform_int_distribution<> distribution(0, SPLASHES.size() - 1);
+ std::uniform_int_distribution<> distribution(0, SPLASHES->size() - 1);
- m_szCurrentSplash = SPLASHES[distribution(engine)];
+ m_szCurrentSplash = SPLASHES->at(distribution(engine));
}
static std::vector<SP<Aquamarine::IOutput>> pendingOutputs;
diff --git a/src/helpers/Splashes.hpp b/src/helpers/Splashes.hpp
index 4a4fd022..2c74abb1 100644
--- a/src/helpers/Splashes.hpp
+++ b/src/helpers/Splashes.hpp
@@ -3,80 +3,112 @@
#include <vector>
#include <string>
-inline const std::vector<std::string> SPLASHES = {
- // clang-format off
- "Woo, animations!",
- "It's like Hypr, but better.",
- "Release 1.0 when?",
- "It's not awesome, it's Hyprland!",
- "\"I commit too often, people can't catch up lmao\" - Vaxry",
- "This text is random.",
- "\"There are reasons to not use rust.\" - Boga",
- "Read the wiki.",
- "\"Hello everyone this is YOUR daily dose of ‘read the wiki’\" - Vaxry",
- "h",
- "\"‘why no work’, bro I haven't hacked your pc to get live feeds yet\" - Vaxry",
- "Compile, wait for 20 minutes, notice a new commit, compile again.",
- "To rice, or not to rice, that is the question.",
- "Now available on Fedora!",
- "\"Hyprland is so good it starts with a capital letter\" - Hazel",
- "\"please make this message a splash\" - eriedaberrie",
- "\"the only wayland compositor powered by fried chicken\" - raf",
- "\"This will never get into Hyprland\" - Flafy",
- "\"Hyprland only gives you up on -git\" - fazzi",
- "Segmentation fault (core dumped)",
- "\"disabling hyprland logo is a war crime\" - vaxry",
- "some basic startup code",
- "\"I think I am addicted to hyprland\" - mathisbuilder",
- "\"hyprland is the most important package in the arch repos\" - jacekpoz",
- "Thanks Brodie!",
- "Thanks fufexan!",
- "Thanks raf!",
- "You can't use --splash to change this message :)",
- "Hyprland will overtake Gnome in popularity by [insert year]",
- // music reference / quote section
- "J'remue le ciel, le jour, la nuit.",
- "aezakmi, aezakmi, aezakmi, aezakmi, aezakmi, aezakmi, aezakmi!",
- "Wir sind schon sehr lang zusammen...",
- "I see a red door and I want it painted black.",
- "Take on me, take me on...",
- "You spin me right round baby right round",
- "Stayin' alive, stayin' alive",
- "Say no way, say no way ya, no way!",
- "Ground control to Major Tom...",
- "Alors on danse",
- "And all that I can see, is just a yellow lemon tree.",
- "Got a one-way ticket to the blues",
- "Is this the real life, is this just fantasy",
- "What's in your head, in your head?",
- "We're all living in America, America, America.",
- "I'm still standing, better than I ever did",
- "Here comes the sun, bringing you love and shining on everyone",
- "Two trailer park girls go round the outside",
- "With the lights out, it's less dangerous",
- "Here we go back, this is the moment, tonight is the night",
- "Now you're just somebody that I used to know...",
- "Black bird, black moon, black sky",
- "Some legends are told, some turn to dust or to gold",
- "Your brain gets smart, but your head gets dumb.",
- "Save your mercy for someone who needs it more",
- "You're gonna hear my voice when I shout it out loud",
- "Ding ding pch n daa, bam-ba-ba-re-bam baram bom bom baba-bam-bam-bommm",
- "Súbeme la radio que esta es mi canción",
- "I'm beggin', beggin' you",
- "Never gonna let you down (I am trying!)",
- "\"I use Arch, btw\" - John Cena",
- "\"Hyper\".replace(\"e\", \"\")",
- "\"my win11 install runs hyprland that is true\" - raf",
- "\"stop playing league loser\" - hyprBot",
- "\"If it ain't broke, don't fix it\" - Lucascito_03",
- "\"@vaxry how do i learn c++\" - flicko",
- //
- "Join the discord server!",
- "Thanks ThatOneCalculator!",
- "The AUR packages always work, except for the times they don't.",
- "Funny animation compositor woo",
- //
- "2 years!"
- // clang-format on
+namespace NSplashes {
+ inline const std::vector<std::string> SPLASHES = {
+ // clang-format off
+ "Woo, animations!",
+ "It's like Hypr, but better.",
+ "Release 1.0 when?",
+ "It's not awesome, it's Hyprland!",
+ "\"I commit too often, people can't catch up lmao\" - Vaxry",
+ "This text is random.",
+ "\"There are reasons to not use rust.\" - Boga",
+ "Read the wiki.",
+ "\"Hello everyone this is YOUR daily dose of ‘read the wiki’\" - Vaxry",
+ "h",
+ "\"‘why no work’, bro I haven't hacked your pc to get live feeds yet\" - Vaxry",
+ "Compile, wait for 20 minutes, notice a new commit, compile again.",
+ "To rice, or not to rice, that is the question.",
+ "Now available on Fedora!",
+ "\"Hyprland is so good it starts with a capital letter\" - Hazel",
+ "\"please make this message a splash\" - eriedaberrie",
+ "\"the only wayland compositor powered by fried chicken\" - raf",
+ "\"This will never get into Hyprland\" - Flafy",
+ "\"Hyprland only gives you up on -git\" - fazzi",
+ "Segmentation fault (core dumped)",
+ "\"disabling hyprland logo is a war crime\" - vaxry",
+ "some basic startup code",
+ "\"I think I am addicted to hyprland\" - mathisbuilder",
+ "\"hyprland is the most important package in the arch repos\" - jacekpoz",
+ "Thanks Brodie!",
+ "Thanks fufexan!",
+ "Thanks raf!",
+ "You can't use --splash to change this message :)",
+ "Hyprland will overtake Gnome in popularity by [insert year]",
+ // music reference / quote section
+ "J'remue le ciel, le jour, la nuit.",
+ "aezakmi, aezakmi, aezakmi, aezakmi, aezakmi, aezakmi, aezakmi!",
+ "Wir sind schon sehr lang zusammen...",
+ "I see a red door and I want it painted black.",
+ "Take on me, take me on...",
+ "You spin me right round baby right round",
+ "Stayin' alive, stayin' alive",
+ "Say no way, say no way ya, no way!",
+ "Ground control to Major Tom...",
+ "Alors on danse",
+ "And all that I can see, is just a yellow lemon tree.",
+ "Got a one-way ticket to the blues",
+ "Is this the real life, is this just fantasy",
+ "What's in your head, in your head?",
+ "We're all living in America, America, America.",
+ "I'm still standing, better than I ever did",
+ "Here comes the sun, bringing you love and shining on everyone",
+ "Two trailer park girls go round the outside",
+ "With the lights out, it's less dangerous",
+ "Here we go back, this is the moment, tonight is the night",
+ "Now you're just somebody that I used to know...",
+ "Black bird, black moon, black sky",
+ "Some legends are told, some turn to dust or to gold",
+ "Your brain gets smart, but your head gets dumb.",
+ "Save your mercy for someone who needs it more",
+ "You're gonna hear my voice when I shout it out loud",
+ "Ding ding pch n daa, bam-ba-ba-re-bam baram bom bom baba-bam-bam-bommm",
+ "Súbeme la radio que esta es mi canción",
+ "I'm beggin', beggin' you",
+ "Never gonna let you down (I am trying!)",
+ "\"I use Arch, btw\" - John Cena",
+ "\"Hyper\".replace(\"e\", \"\")",
+ "\"my win11 install runs hyprland that is true\" - raf",
+ "\"stop playing league loser\" - hyprBot",
+ "\"If it ain't broke, don't fix it\" - Lucascito_03",
+ "\"@vaxry how do i learn c++\" - flicko",
+ //
+ "Join the discord server!",
+ "Thanks ThatOneCalculator!",
+ "The AUR packages always work, except for the times they don't.",
+ "Funny animation compositor woo",
+ //
+ "2 years!"
+ // clang-format on
+ };
+
+ inline const std::vector<std::string> SPLASHES_CHRISTMAS = {
+ // clang-format off
+ "Merry Christmas!",
+ "Merry Xmas!",
+ "Ho ho ho",
+ "Santa was here",
+ // clang-format on
+ };
+
+ // ONLY valid near new years.
+ inline static int newYear = []() -> int {
+ auto tt = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
+ auto local = *localtime(&tt);
+
+ if (local.tm_mon < 8 /* decided with a fair die I promise. */)
+ return local.tm_year + 1900;
+ return local.tm_year + 1901;
+ }();
+
+ inline const std::vector<std::string> SPLASHES_NEWYEAR = {
+ // clang-format off
+ "Happy new Year!",
+ "[New year] will be the year of the Linux desktop!",
+ "[New year] will be the year of the Hyprland desktop!",
+ std::format("{} will be the year of the Linux desktop!", newYear),
+ std::format("{} will be the year of the Hyprland desktop!", newYear),
+ std::format("Let's make {} even better than {}!", newYear, newYear - 1),
+ // clang-format on
+ };
}; \ No newline at end of file