/DoABarrelWall

DoABarrelWall - cycle through lockscreen and homescreen wallpapers with an "unlimited" set amount of images. Similar to what Android has.

Primary LanguageObjective-C

DoABarrelWall

Cycle through lockscreen and homescreen wallpapers with an "unlimited" set amount of images. Similar to what Android has. Tweak demonstration.

Just recently, two years after the initial tweak release, https://github.com/MrGcGamer was kind enough to provide an update to this tweak that got rid of finnicky issues that I myself have not been able to fix, one of which was a visual problem that people have reported on to be irritating.

Contributors

Because these people are more important than the tweak itself. This README.md file will be solely this.

Table Of Contents

Current Thoughts

A tweak is only as good as the idea itself. No matter how good a tweak is written, if it fails to find an audience that feels that the tweak satisfies a need, then it becomes slowly lost into the depths of an oversaturated marketplace. This is, unfortunately, a microcosm in itself, as the same applies in basic economics for the real world. I wished to write a simple enough of a tweak to the best of my capabilities, but if I felt that the work itself was overdone by others, then I had very little incentive to work on something that would be a waste of my time and energy. I can perfectly accept the possibility of my work being lost, because as mentioned before, the real world operates in just the same way, but for something that I do in my free time as just a personal venture, if I don't feel that the project is meaningful to myself, then I prefer to spend my time elsewhere.

I did eventually come up with a tweak idea that was simple enough that I was surprised didn't exist except for many outdated versions. Given that you're on this page right now, I'm sure you figured out by now what my idea was. However, this is the only idea that I felt would satisfy me in both being relatively simple for a beginner like me, that others would want, and be meaningful to myself to improve further myself into the computer science field. Therefore, because of the unlikelihood of any of the three reasons above coming together again, I don't plan on continuing tweak development after this project.

I'll still try to maintain this project the best I can, I won't completely abandon it, but I never intended to make tweaks as a hobby. It was always more of me to embark on an interesting journey to create something in such a strange sandboxed environment that Apple created, and that is where my fascination to write my own tweak to have it run in just the same environment stemmed from.

However, after the statement I just said, I feel that I need to apologize to every single person that helped me along the way, because without every single person that I'm about to list off, I wouldn't have been able to make it this far. I've always felt terrible when I asked for help, so I want to take the time to properly give them the appreciation they each deserve.

Credits

  • Azzou for providing everything necessary to help me create the editable list preference panel to add as many images as needed. Absolutely the biggest thanks to him, as without him taking so much time out of his day to explain and answer my numerous questions about specifiers, this tweak literally wouldn't exist the way it is. He's been an amazing help when I needed it the most, beyond anything that I had expected, so I desperately need to express my biggest thanks again.

  • MrGcGamer, a genius in his own way, for dealing with my nonsense with libraries and .plists. Furthermore, extremely big credits to his amazing library LibGcUniversal for working in a way that I was worried I would have to implement manually. Without him also taking the time to update his library to help make my tweak handle images in a proper way, I would have a "bug" that I don't think I would have the capability to fix myself. This tweak relies so heavily on not only his library, but also his suggestions, and being able to implement them into my own work makes me appreciate his constructive feedback.

  • Litten for being the kindest person I've ever met. She also inadvertently told me that tweak development in Windows 10 was possible, therefore starting this whole adventure to creating this project. But even though I read over the basic syntax of objective-c, I find that being able to refer to her open sourced works that I personally use on a daily basis and receiving explanations and suggestions proved to be the best resource possible. Her willingness to support me every step of the way was — and still is — invaluable, so I wholeheartedly need to express my thanks there.

  • Taki for being there for the entire WSL setup, basically the backbone of this operation and getting me started, because I don't Linux anything in my life. He can be pretty dumb sometimes, but he's extremely intelligent. I love this kid for what he is, he's an amazing friend, so I thank him for being by my side.

There is also a discord server where I've received help for more technical things of setting up my environment properly and giving me a general idea of how tweaks work, so I'd like to credit these amazing people too.

  • Beckett for helping me since the beginning to lead me in the right direction for properly setting up Theos and the required toolchains, thus removing the initial worries I had about creating a tweak on a Windows 10 computer.
  • Lacertosus for his many open source projects on Github that made me understand how UIViews worked.
  • Galactic for helping me with the fundamentals of Logos syntax and how preferences work.
  • iCraze for answering my question about how %group and %init work.
  • Lazy for explaining why a part of my code was wrong, therefore helping to prevent me from developing bad habits.
  • YulkyTulky for taking time out of his day to help me with troubleshooting color pickers.

While these next people below didn't directly involve themselves with the physical aspects of the tweak, I still credit them here because they still decided to help me in other respects, and that is already more than enough, so I equally just as appreciate them as much as the people above.

  • Luki120 for also helping me with the basics of how preferences work. However, more importantly, he was the silent motivation for me that tweak development is possible for a complete beginner like me. He had the same resources and help available as I did and was able to create his own amazing work, so he was a big reason for me not to give up.
  • Woodfairy and Lightmann for helping me troubleshoot for a dumb issue that I caused myself and ending up teaching me the basics of CLI. I can definitely see the importance behind being able to navigate through that quickly, so thank you for this new piece of knowledge.
  • Arya_06 for helping when I literally didn't know what I was looking at and explaining the obj-c syntax for me, therefore making things clearer overall for me. Thank you for saving me so much time by helping me here, I truly appreciate it.
  • WilsontheWolf for randomly installing the first deb I ever made. Even though we both knew the tweak itself didn't do anything, seeing other people use my work felt really good and gave me the courage to continue and improve on my idea.

And then this legend, because without his videos overall, I would have immediately abandoned my idea since the beginning.

  • Zane Helton for his amazing tweak development tutorial series, even though it's slightly outdated, but it was enough encouragement for even for a dummy like me to give it a try.

Conclusion

A few of the people above would argue in favor that now I'm a tweak developer, but I personally don't believe I am based off of this one tweak idea. That title belongs to those that put forth the effort into helping others and have an genuine interest in what they are doing rather than as a means to make easy money. Instead, I am more pleased that I have gained the insight of what tweak developers have to go through, especially given my personal history of literally thinking the exact opposite.

This repository will exist mainly here as a memento for myself that I was able to accomplish something in the end that I once deemed to be impossible for me. While I may be done with tweak development likely forever, this two-month journey most certainly hasn't left me with learning nothing. I have expanded upon my own knowledge of handling user events, where I've touched up on my interests of optimization methods, data pointers, and how threading generally works, and this I feel is essential as a way for me to apply what I've learned into the career paths I plan to go into. But I still want to acknowledge one last time that none of this would have been possible for me without the circumstances of meeting such astounding people and what I have learned from each and every one of them is beyond valuable and means the world to me. I'm incredibly grateful for them, they truly are the best.

I'll still be around to see what's new thing they make for the community, that's something I don't want to miss. Even though I'll most likely never touch objective-c again, I do want to end this off with a statement that they've all heard me say so many times.

Thank you so much.