This is a macOS extension developed with Swift and Xcode, so please, make sure to have Apple's integrated development environment for macOS installed on your Mac. While Xcode is the primary IDE for Apple platform development, you can use other text editors and IDEs, such as Visual Studio Code, JetBrains AppCode, or even Vim or Emacs with the Swift compiler in order to write and develop Swift code. However, Xcode provides a development environment with graphical tools for building macOS apps making your way much easier; it's definitely a... swift
... tool?
If you simply want to try the extension itself, you have the option to install it while ignoring any unnecessary distractions:
- Download and unzip the latest release.
- Open the app and grant the proper permissions popping at the dialog window.
It's alive!
Now, everything will be as simple as:
- Left click the icon in the menu bar to switch between modes.
- Right click the icon to show the options menu.
As usual, and only if you're interested in the development process and the art of creating little and toggling suns, remember that you can start by cloning the extension's repository to your local machine using Git.
Open your terminal and run the following command:
$ git clone https://github.com/JuditKaramazov/Codetopia-PraiseTheShift.git
Now, prepare the build:
cd PraiseTheShift
open PraiseTheShift.xcworkspace
That's all, folks! Enjoy the (bumpy?) ride!
Bear in mind that if you want to test PraiseTheShift (and your personal derivations of it, which would be more than welcome here) on a physical iOS device, you'll need to set up a development provisioning profile and code-signing identity in Xcode. Refer to Apple's documentation for details on this process - and feel free to modify, customize, and break the project as needed! Sharing is caring, fellow wanderers.
Recently, I finished working on two applications I would have never expected to exist: ChromatOS and noctOS, quite a peculiar part of a general project called Codetopia
, inspired by Africa’s first annual destination Indie Games & Immersive Arts festival and conference: Playtopia. In all honesty, the finding that these humble events are consistently taking place around the world doesn't contradict the idea of wanting to mention and endorse them from time to time, no matter if the scope is limited when the mentions only exist through little projects helping me learn the basics I couldn't explore during my formation. "But does the infamous Summer... 'Code' Fest deserve a place here too, then, Judit?" Ah, yes... well, as you've probably noticed by now, I am not the most creative person ever - but I am still trying! It has to count for something, right?
Speaking of which: none of you would possibly imagine the many times that I actively tried
to enjoy Dark Souls before actually achieving such goal. That's correct: it's not only that I mention games all the time, but I analyze, listen, and learn about them more than I'd want to admit. They're always on my mind, as they shapped an irreplacable aspect of my reality and way of decoding it; they play a huge role while confronting my daily mundanities, as they're my favourite soundtrack and best mental companions. They taught me a bunch of things about success, solitude, history, companionship, music, nodding a lot while being a terrible cop, loss, courage, or how to cope with (and, eventually, defeat) depression. "This story again, eh?" Now, let's be realistic: how can a game famous for its depressing setting and brutal difficulty help people with mental illness? That's indeed a great question.
Independently of the answer(s) (in this case, they are as many as they are varied), what's necessary to highlight here is that the real struggle of the gameplay itself acknowledges the struggles many people are experiencing in life while also encouraging perseverance. I would not dare saying Dark Souls is a celebration of life since the setting and themes make it feel it is not; Lordran, as well as its many variations and twists throughout the franchise, is a place of callous indifference as far as its inhabitants are concerned. However, what keeps people engaged with it and the overall Soulsborne atmosphere is that the threat of meaninglessness comes hand-in-hand with the opportunity for transcendence:
"Society tends to treat failure as a negative, a mark against a person that indicates their worth (or lack thereof). Due to this perception, some individuals go through life avoiding failure at all costs. Their worlds shrink and opportunities dwindle as they shy away from any action that might not end in success (...). Those with mental health issues may find this a familiar sensation, as some constantly live in fear of relapse and triggers. Depression or another disorder becomes part of their identity, and they fall into the trap of equating an episode with defeat". SVG, 'Dark Souls and depression'
Remarkably, the game succeeds because it represents a very intimate learning process where every death is a lesson. Dark Souls understands what it is to be the Chosen Undead, a less-than-no-one surviving and thriving in a world indifferent to your presence. The game, the mechanics, and the lore itself give meaning to the idea of having to make a decision each time you feel you are in a bleak world that's ending. "You get up and you have a choice. Do I try today or do I just duct tape tin foil over my windows and stay in bed all day? Waking up in the morning can be like waking up next to a bonfire after you've died in the game. You have to decide whether you go on or not."
In essence, Dark Souls can indeed be seen as a celebration of life through its emphasis on:
- Resilience and perseverance. Just like in life, the setbacks are inevitable, but the ability to "keep on keeping on" is crucial - and controlling a fantasy character physically going through what you feel like you're going through mentally can be a great comfort.
- Learning and growth ultimately leading to a deep sense of accomplishment. Overcoming adversity in the game requires adapting strategies, honing skills, and gaining knowledge, but this is the key that allows it to emphasize the importance of learning from mistakes. The feeling of conquering seemingly insurmountable odds reinforces the idea that life's greatest achievements often come from tackling difficult tasks and emerging victorious, no matter if the task itself is something as "apparently simple" as getting out of bed.
- Community and co-operation. As the game's challenging nature serves as a metaphor for life's struggles, and although Dark Souls can be a solitary experience, the game also features elements of community and (jolly) co-operation: players can leave (sometimes) helpful messages for others, summon help in difficult areas, witness other people's spirits resting nearby a bonfire and keeping them accompanied, or engage in player-vs-player combat in order to test their progress.
As for this last part, how wouldn't highlighting the importance of support networks and collaboration be a celebration of life in itself, I wonder? And now that we just mentioned this crucial factor: who other than our dear Solaire of Astora embodies this theme
in such a graceful way?
"So, what do you say? Why not help one another on this lonely journey?"
There's no doubt: without the stigma of failure, both players and individuals-still-liberated-from-Dark-Souls'-influence are free to adapt and test new methods rather than remain trapped in the same mindset - which is clearly not my case now that I'm bringing you PraiseTheShift
, a humble tool allowing you to switch between dark and light mode under Solaire's blessing and grossly incandescent approval
. Although this little feature was already explored in noctOS, I didn't want to miss the oportunity of creating something that felt honest to my own feelings towards a franchise that helped reconnect with myself as much as Dark Souls did, independently of circumstances being better or worse. A narrative intentionally vague and open to interpretation, the ambiguity allowing players to project their own experiences and emotions onto the story, the universal themes, the artistic elements evoking rich images, thoughts and theories, the "don't go hollow" reminder... perhaps these are elements we should indeed embrace as much as Solaire admired this personal sun set as his maximum aspiration. Because this journey is not (and won't be) as lonely as it seems. Because we can still see the sun out there, somewhere... even as a part of your menubar:
- Easy Installation. Users can grant PraiseTheShift the proper permissions by clicking "Allow" after installation for smoother transitions and performance.
- Intuitive Usage. It's as simple as
left click
for toggling between dark/light, andright click
to check possible updates or readjust the settings. - Customizable.
PraiseTheShift
also works with a configurable keyboard shortcut which, by default, will be set to ^⌥⌘T. Feel free to change it in the settings, though! - Shiny and Glorious. Although the aesthetics of the button itself are not quite what I had in mind, how about moving away from the white/black dichotomy and simply praising the sun as our dear Solaire would want us to?
Rejoice, guys! \[T]/
As stated before, the themes of loss, sacrifice, and perseverance are universal, enabling individuals to find personal meaning in the game's narrative, atmosphere, music and even design. One of the things that truly spoke to me wasn't related to the fact of being capable of overcoming what seemed to be impossible obstacles, though; what I personally found genuinely brilliant was the possibility to rest in front of a bonfire, far away from danger, seeing other people's characters sitting there, too, getting ready for a fight, "pausing" the game, maybe just absorbed in thought as much as I was. This sense of companionship while still fighting my personal battles alone stayed with me up until these days.
What's fascinating to realise is that during my personal journey, I found places, events, moments, and even people ressembling "bonfires": allowing you to rest, replenish your Estus flasks, and forget about the harshness this world is constantly providing us with, even if only for some minutes. One of these people, as you all know pretty much well, is Auregan Nedelec
, the person in charge of this way-too-magnificent icon for my way-too-humble implementation. As usual, thank you kindly for your dedication, enthusiasm, support and, above all, company and understanding. It's always a plesure for me to sit with you around the same bonfire, as we used to both metaphorically and literally speaking. Gracias de corazón.
While I've previously mentioned my slight dissatisfaction with the current "sun" icon, the challenge of working with 16x16 images is something I haven't fully embraced yet. If the original Solaire's colors don't quite suit your preferences, you can easily customize this tool by adjusting the dark SVG file ("sun-regular (2).svg"
) and altering the following values to your personal liking:
<!-- Circle part -->
<path fill="#ffd966" ... // Fill the sun, guys!
<!-- Waves part -->
<path fill="#b02626" ... // \[T]/
Feel free to experiment and make it your own!
Now, remember, guys... praise the sun! And don't go hollow.
Please note that while I'm trying my best to improve and explore different possibilities, there might be some inconsistencies, bugs and errors that will surely be addressed in the future, as we previously discussed. Do not hesitate to let me know about it, though!
And remember that you can make the Dinosaur extremely happy if you...