Hello, Tech enthusiasts! I am beyond excited to introduce to you my first project on GitHub – a Bash-based Telegram Bot that allows you to monitor and control a remote computer!
The idea behind this bot is pretty simple, yet powerful – you can command your PC, retrieve important system information, perform updates and even control system processes directly from your Telegram app. I’ve designed this bot with KDE Neon in mind, but it can be adapted to other Linux-based systems.
Here’s a sneak peek into some of the key functionalities provided by the bot:
function getBattery { local percentage=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk ‘{print $2}’) echo “Battery level: $percentage” }
function getCpuUsage { local usage=$(top -bn1 | grep “Cpu(s)” | \ sed “s/.*, *([0-9.])% id.*/\1/” | \ awk ‘{print 100 – $1″%”}’) echo “CPU Usage: $usage” }
The bot responds to a set of predefined commands that range from simple system status checks like /battery, /status, /uptime, /memory, /disk, /cpu_usage to more complex functionalities such as /shutdown, /upgrade, /screenshot, and so on.
For the bot to run, it requires some prerequisites like curl, jq, bc among others. Some commands also require specific programs to be installed on your system.
The code is still in its initial version (0.1) and there might be some bugs on certain commands. But I am enthusiastic about making it better with every iteration. Future enhancements include multi-language support and other features based on user feedback.
I encourage you to give it a try, and would greatly appreciate your feedback. Feel free to report any issues, or suggest enhancements on the project’s GitHub page.
Hi! Im Vansh, a third-year CS undergraduate. Ive been looking to start contributing to FOSS projects for a while now, and decided to make use of GSoC as a foray into my open source journey. KDE Plasma on top of various Linux distributions has been my daily-driver of choice for nearly three years, which is why KDE especially appealed to me as a community that I'd love to be a part of. Let's get started :)
The project: Calendar invitations in Kalendar
One of the limitations of Kalendar in its current form is that without the option to send and receive invitations for events, Kalendar users must resort to other calendar clients to manage their meetings when dealing with events with multiple attendees. The goal of this project is to implement actions in Kalendar allowing users to share their free/busy information, view free/busy info of others, send invitations to others while creating or editing events, check attendees participation status and respond to incoming invitations.
Anyway, will catch you in the next post with some updates on the project!
Hello and welcome to my first-ever blog! This is written as part of my work for KDE for GSoC '23.
About Me
My name is Shivodit Gill, I am a second-year student studying Bachelor of Computer Applications (BCA) in India. This is my first ever Google Summer of Code, so I'm eager to get started and learn new things.
I'm looking forward to increasing my capabilities and writing code that could (possibly!) find a home in the code repositories of popular apps, and be of use to people around the world. Together with my mentor, Albert Astals Cid (aacid@kde.org), I feel ready to tackle this challenge.
My project
For GSoC '23 I will be working on Okular for Android, and implementing the following features:
A font-fetching API for Android
This will use the AFontMatcher API introduced in Android API 29 to fetch the required font files to properly display text in pdfs that do not embed their fonts.
Fixing icon rendering in Okular for Android
Currently, Okular for Android has issues with the rendering of icons - almost none of the icons are shown. I hope to find the root cause of this issue and fix it.
Possible Challenges:
There are a few challenges I will face in my project:
My lack of Android development experience
Android follows a very different approach to debugging and developing applications. This combined with my inexperience in Android development will prove to be a massive obstacle.
Using the QtCreator debugger and compilation environment with the KDE Android development docker image does not work - I have tried and have not yet gotten it to work. It seems that this is a common problem and another developer has stated in the kde-android matrix room that they have to use logcat and print debugging.
However, I am hopeful that with the help of my mentors and enough perseverance, I will be able to overcome these challenges.
This is my first blog post for Google Summer of Code 2023.
During the Google Summer of Code timeline, I will be working on implementing the admin APIs in Tokodon. These APIs will provide mastodon moderators with a suite of moderation tools within Tokodon. I would like to thank Carl Schwan ❤ for mentoring me during Season of KDE and once again for this project. I am really grateful to work under his guidance. By implementing this new feature, Mastodon moderators will be able to easily adopt Tokodon and utilize moderation tools within the application.
I haven’t come across any Mastodon client that implements the admin APIs so by implementing this feature in Tokodon, we can ensure wider adoption. I’ve already started working on implementing the feature and have been maintaining regular communication with my mentor.
I will be writing regular blog posts on my website. You can follow my progress here
If you’ve been following my previous blog posts, you may recall that I’ve been working on enhancing the user interface of the Bundle Creator in Krita. The new Bundle Creator is to be designed similar to an installation wizard. By compartmentalizing the functionality into four separate sections, users can effortlessly navigate through the various aspects of bundle creation process.
My Progess so far…
I spent the last two weeks working on the Resource Chooser section. The Resource Chooser page allows users to users to handpick the resource items they wish to include in their new bundle. The most notable enhancement is the transition from a traditional list view to a more intuitive grid view for the list of available resources, similar to the Resource Manager layout.
In the previous version, users were required to individually select each resource item and use the > key to add them to the list of selected resources. However, now users can simply click on resource items directly to add them to the selected list. This seamless integration of the grid view and the ability to click-to-select greatly streamlines the workflow, especially benefiting tablet users of Krita.
One can also filter resources by tag or name before choosing resource items to be added to the selected list. This allows users to swiftly select resource items that serve a similar purpose when creating a new bundle. Gone are the days of scrolling through the entire list of available items; now, users can easily narrow down their options through efficient filtering.
And finally, to remove a single resource item, users can now simply select it by clicking on it. Similarly, for removing multiple items, users can hold down the Ctrl key and select multiple items imultaneously.Once the desired resource items are selected, users can easily remove them by clicking on the Remove Resources button .
In the upcoming weeks, I would be working on the Choose Tags section. This requires some UI related feedback, and if you’re interested to help out, please feel free to drop a comment on this post I created on Krita Artists Forum!
And just to add a splash of colour to my blogpost, this is just a very quick artwork which I made using Ramon’s impressionism brush bundle. It’s super easy to use, do check it out! :D
MauiKit: A Toolkit for Multi Adaptable User Interfaces.
Today, we bring you a new report on the Maui Project’s progress.
We are excited to announce the latest release of MauiKit version 3.0.0, our comprehensive user interface toolkit specifically designed for convergent interfaces.
Built on the foundations of Qt Quick Controls and QML, MauiKit empowers developers to create adaptable and seamless user interfaces across a range of devices.
Community
To follow the Maui Project’s development or say hi, you can join us on Telegram: https://t.me/mauiproject.
Note: Please be aware that this is an ISO image from a third party.
What’s new?
In this update, we have focused on enhancing MauiKit’s capabilities to support convergent interfaces. With improved components, added features, and bug fixes, MauiKit enables developers to build interfaces that seamlessly adapt and respond to different screen sizes, resolutions, and device form factors.
In addition to the enhancements made to MauiKit, this release also includes updates to the Maui App stack. The Maui App stack consists of a suite of applications developed using MauiKit, designed to provide a consistent and cohesive user experience across different devices. These updates further strengthen the stack, ensuring a smooth and integrated workflow for developers and a delightful user experience for end-users.
With the convergence capabilities of MauiKit, applications built using the stack can seamlessly transition between desktop and mobile interfaces, providing a unified experience across different environments.
Check out the previous progress report blog for more details on what has been cooking for this new release:
Now, let’s delve into the details of the new release of MauiKit, exploring its enhanced features for building convergent interfaces. We will also showcase the updates to the Maui App stack, demonstrating how developers can leverage its capabilities to create compelling cross-platform applications.
Join us on this journey as we unveil the potential of MauiKit for building convergent interfaces and discover the possibilities offered by the enhanced Maui App stack.
A few custom CSD button styles added. I’ll probably move them to a new package maui-csd-styles. If you have a favorite window control button style- from back in the days of emerald and metacity – leave a comment with a link and I’ll add it. #mauikit@maui_projectpic.twitter.com/713rE9B1iI
A script element has been removed to ensure Planet works properly. Please find it in the original post.
MauiKit Frameworks
At the core of the Maui Project lies its foundational framework, MauiKit Controls, which provides a comprehensive set of template controls for creating user interfaces. In this latest release, we have made significant improvements to MauiKit Controls, focusing on enhancing its configurability and overall consistent user experience.
One of the notable advancements is the increased configurability of MauiKit Controls, allowing developers to adapt the interface to user preferences more effectively. For example, new color styles have been introduced specifically tailored for E-Ink and AMOLED displays, ensuring optimal readability and energy efficiency on these screen types. This level of customization empowers developers to create interfaces that cater to the unique needs of users and their device preferences.
Furthermore, we have worked to establish a more consistent look and feel across all graphical elements within MauiKit Controls. This coherence ensures a seamless user experience, where controls harmoniously blend together, providing a polished and professional interface. Users will appreciate the enhanced visual consistency and intuitiveness of the controls, resulting in a more satisfying and engaging interaction.
Controls & Style – [3.0.0]
Make the ToolActions have a uniform height for all the children.
Style fixes to the ComboBox and SpinBox.
In the Handy object check the clipboard for an image.
Allow opening ContextualMenu and the cursor position.
New control TextFieldPopup: a text field that expands to a popover for listing elements; a use case is for presenting inline searches and filtering.
Fixes to the minimum ApplicationWindow size constraints on mobile.
Tweaks to the TabView tabs, supporting now color and icon. Fixes the interactive property for touch-swiping gestures.
Fix padding of elements such as custom CSD buttons, FloatingButton, SelectionBar, and others.
Refactor the ToolActions control, no longer based on indexes, but rather relies on the Action children for setting the states.
Fixed the crashing issue on Wayland when performing a DND action.
The ListBrowserDelegate and GridBrowserDelegate now expose the autoExclusive property for such usage.
Start using the new MauiMan Accessibility module properties for the scrollBarPolicy and playSounds preferences.
Style the CheckBoxItem control for better contrast and consistency with the rest of the elements.
Fix binding loops on some controls, such as ToolBar.
Added a constrained width for the SideBarView sidebar to never exceed the width of the available screen width.
A script element has been removed to ensure Planet works properly. Please find it in the original post.
FileBrowser, TextEditor, ImageTools, and Accounts – [3.0.0]
MauiKit FileBrowsing, has also received refinements in this release. The dialogs within MauiKit FileBrowsing have been redesigned to be more compact and visually pleasing, providing a cleaner and more user-friendly interface for managing files. Drag and drop operations have been fine-tuned to ensure smoother file manipulation, simplifying the organization and transfer of files.
A script element has been removed to ensure Planet works properly. Please find it in the original post.
Additionally, the API of MauiKit FileBrowsing has been cleaned up, resulting in a more consistent and developer-friendly experience. These improvements streamline the integration of MauiKit FileBrowsing into applications, allowing developers to leverage its power more efficiently.
The frameworks received the necessary fixes for supporting translations via KI18n and the KDE’s infrastructure.
Check if the clipboard has any content that can be pasted into the FileBrowser.
Allow pasting images and text streams into a new file in the FileBrowser.
Added a readOnly property to the FileBrowser to avoid performing modifying actions, such as deleting, creating, or moving.
Allow selecting large amounts of files – still not good [TODO]
Do not count “.” and “..” entries in the directory count info.
Documents & Calendar – [1.1.0]
Updated to the latest MauiKit Controls changes. MauiKit Calendar has been updated to the latest changes in the Akonadi Frameworks.
Terminal – [1.1.0]
MauiKit Terminal serves as a terminal emulator control, powering the MauiKit Station app. In this new release, MauiKit Terminal has gained several exciting features to improve its functionality and usability. Users can now easily search through their command history, making it more convenient to reference past commands and outputs. Additionally, notifications for finished processes ensure users stay informed about completed tasks, enhancing multitasking capabilities.
To prevent accidental closures, MauiKit Terminal now includes alarms that warn users before closing any running processes. This helps avoid unintended disruptions and gives users the opportunity to save their work or take necessary actions. Furthermore, the adaptive color scheme of MauiKit Terminal has been refined for better readability and visual comfort, catering to various devices and screen types. The improved touchscreen support makes it even more intuitive for users to interact with the terminal using touch-based gestures.
Do not trigger a signal for the process name if it has not changed.
A script element has been removed to ensure Planet works properly. Please find it in the original post.
Maui Apps
The Maui Apps cover a wide range of essential functionalities, including a file browser, music player, text editor, image viewer, notes taker, video player, web browser, and calendar. In this latest release, our focus has been on expanding and refining the app stack, ensuring consistency, and bringing newer apps up to par with the established ones.
Among the recent additions, we have introduced an archive manager, providing efficient handling of compressed files. A GIT version control manager has also been included, streamlining collaborative software development. The new colors utility app helps users manage and explore color palettes effectively, while the camera app offers a convenient solution for capturing and managing photos.
It’s worth noting that some of these Maui Apps are also available on Android, making them accessible across multiple platforms. Furthermore, these apps are designed to work flawlessly on Linux phones, tablets, and desktop computers, ensuring a consistent and seamless user experience regardless of the device being used.
Index & Nota
Index PathBar delegates now mask the content item to the arrow shape for more precise clicks.
Index now allows pasting raw image and text buffers into a new file.
The main context menu now pops up on the cursor position if triggered with a right-click on the desktop.
Check if there are items in the clipboard that can be pasted.
Fiery & Vvave
Fiery now can download files and notify about them.
Fiery has a more compact look with merged tabs and toolbars.
Fiery has a more adaptive interface on mobile mode.
Vvave now has preference properties for toggling album titles.
Fiery web browser with a more compact & responsive layout + detaching tabs. now can also download files etc…#mauikitpic.twitter.com/MUZLvnwzK4
A script element has been removed to ensure Planet works properly. Please find it in the original post.
Buho & Pix
Bonsai & Clip
Bonsai refactored with a new backend for performing GIT actions.
Arca & Station
Arca can now create new compressed archives.
Correctly prevent closing active processes and correctly accept to stop them.
Station now has a new shortcut bar for signals.
Station now checks the current program being executed and sets the best-fitted shortcuts bar, for example for Nano the nano bar.
Station with fixes for text rendering with Zsh themes. added more configuration options in settings. and support for alerts on finished processes and prevent closing running processes too… also configurable.#mauikit@maui_projectpic.twitter.com/7ZoF8SlTUQ
Open source software has revolutionized the world of technology, empowering individuals and communities to collaborate, innovate, and create freely. Contributing to open source projects is a fantastic way to enhance your skills, make meaningful connections, and give back to the community. In this blog, we'll explore some tips to help you get started on your open source journey and make a positive impact.
Start with Your Interests
Find open source projects that align with your interests and passions. Whether it's web development, machine learning, or design, contributing to a project that excites you will keep you motivated and engaged.
Choose Beginner-Friendly Projects
Look for projects that explicitly welcome beginners and provide guidance for newcomers. Platforms like GitHub and GitLab often tag issues as "good first issues" or "beginner-friendly," making it easier to find a suitable starting point
Harkirat's YouTube Channel: Harkirat Singh, a renowned YouTuber, offers insightful guides for beginners venturing into open source contributions. His tutorials and tips provide valuable guidance, demystifying the contribution process and empowering newcomers
Kunal Kushwaha: Kunal Kushwaha has played a significant role in introducing open source to the Indian student community. Through his educational content, Kunal not only explains the fundamentals of open source but also shares his own journey of securing a job through open source contributions, inspiring and guiding aspiring developers
a. Google Summer of Code (GSoC): GSoC is a prestigious program that offers students the opportunity to work on open source projects under the mentorship of established organizations. It provides stipends and invaluable learning experiences for participants.
b. Major League Hacking (MLH): MLH hosts hackathons, coding challenges, and open source initiatives, fostering collaboration and learning among student developers worldwide. Their events and resources create a vibrant community of open source enthusiasts.
c. Linux Foundation Mentorship Programs (LFX): LFX Mentorship offers mentorship opportunities for developers to contribute to various open source projects. It provides guidance, support, and networking opportunities to help participants make meaningful contributions.
Familiarize Yourself with the Project
Before diving in, take the time to understand the project's goals, guidelines, and community dynamics. Read the documentation, study the codebase, and explore the issue tracker to gain insights into the project's scope and needs
Start Small and Build Momentum
Begin with smaller tasks to familiarize yourself with the project's workflow. It could be fixing typos, improving documentation, or addressing simple bugs. Starting small builds confidence and allows you to learn the project's development process gradually.
Engage with the Community
Join the project's communication channels, such as mailing lists, forums, or chat platforms. Introduce yourself, ask questions, and seek guidance from experienced contributors. Building relationships with the community will enrich your open source experience
Learn from Existing Contributions
Study existing code contributions and pull requests to understand the project's coding style and best practices. Pay attention to feedback given to other contributors, as it can provide valuable insights and help you improve your own contributions
Follow Contribution Guidelines
Every project has its own contribution guidelines. Read and understand them thoroughly. Adhering to coding conventions, commit message formats, and testing procedures demonstrates professionalism and increases the chances of your contributions being accepted
Collaborate and Seek Feedback
Participate in discussions, offer feedback on issues and pull requests, and engage in code reviews. Collaborating with other contributors fosters a sense of community and allows you to learn from experienced individuals
Be Resilient and Learn from Rejections
Not all contributions will be accepted right away. Embrace feedback and learn from rejections. Use those experiences to refine your skills and improve your future contributions. Open source is a learning journey, and perseverance is key
Reasons to Contribute to Open Source
Learning Opportunities: Contributing to open source projects exposes you to real-world coding scenarios and challenges, allowing you to enhance your technical skills. You can learn from experienced developers, understand different coding styles, and explore new technologies.
Building a Portfolio: Open source contributions provide tangible evidence of your skills and expertise. By showcasing your contributions on platforms like GitHub, you can create a compelling portfolio that demonstrates your abilities to potential employers or collaborators.
Networking and Collaboration: Open source communities are filled with passionate and talented individuals from diverse backgrounds. By engaging with these communities, you can network with like-minded people, collaborate on exciting projects, and establish valuable connections within the tech industry.
Making a Positive Impact: Contributing to open source projects allows you to make a meaningful impact on software development and the wider community. Your contributions can improve the functionality, usability, and security of popular software, benefiting users worldwide.
Peer Recognition and Appreciation: When your contributions are recognized and appreciated by the open source community, it can boost your confidence and motivation. Positive feedback, appreciation, and being acknowledged as a contributor can provide a sense of accomplishment and encourage further growth.
Skill Development and Problem-Solving: Open source projects often involve complex problem-solving tasks. By contributing, you can sharpen your problem-solving abilities, learn to debug code, and gain experience in handling real-world software challenges.
Access to Cutting-Edge Technologies: Open source projects often adopt the latest technologies and frameworks. By contributing, you can stay up-to-date with industry trends and gain hands-on experience with innovative tools, enhancing your technical expertise.
Career Opportunities: Open source contributions can open doors to exciting career opportunities. Employers often value candidates with open source experience as it demonstrates collaboration skills, adaptability, and a passion for continuous learning. Your contributions can serve as a strong differentiator in job applications and interviews.
Personal Growth and Learning from Others: Working in open source exposes you to diverse perspectives and ideas. By collaborating with experienced developers, you can learn from their expertise, receive feedback, and gain insights into best practices, fostering personal and professional growth.
Giving Back to the Community: Open source is built on the ethos of sharing knowledge and giving back. By contributing, you become part of a global community that thrives on collaboration and collective improvement. Your contributions help others, and in turn, you contribute to the sustainability and growth of open source software.
Conclusion: Contributing to open source projects offers numerous benefits, including learning opportunities, portfolio building, networking, making a positive impact, and access to cutting-edge technologies. By engaging with the open source community, you can grow your skills, establish valuable connections, and contribute to the advancement of software development. Start your open source journey today and embrace the rewarding experiences that lie ahead.
Job Prospects and Career Growth
Open-source contributions offer unique advantages in terms of career growth. By actively participating in open source projects, you showcase your skills, build a portfolio, and establish connections with industry professionals. These experiences can significantly enhance your job prospects and open doors to exciting opportunities
Share Your Experience
Document your open source journey through blog posts, tutorials, or videos. Share your learnings, challenges, and success stories. By sharing your experiences, you inspire and encourage others to embark on their own open source adventures
Conclusion
Open source contributions provide an incredible platform for beginners to learn, collaborate, and make a real impact in the tech community. With influencers like Harkirat Singh and Kunal Kushwaha providing guidance and platforms like GSoC, MLH, and LFX Mentorship, aspiring developers have numerous opportunities to get involved and grow their skills. Embrace open source, leverage these programs, engage with communities, and embark on an enriching journey that will shape your career and contribute to the thriving world of open source
Finally a sprint again! The 2019 the Plasma Sprint in Valencia was my first in person KDE event and I was hooked instantly.
However something mysterious happened in the next years that and in person meet ups stopped happening. While Akademy 2022
happened in person again, a sprint has different atmosphere and I was awesome to see people that couldn’t make Akademy
or for whom it was their first sprint. Other attendees have blogged about the sprint as well, check them out too. Either on
the planet or over on discuss Carl created a collection of a bunch of them.
So what did I do? Aside from the usual talking, discussion, planing which the others already blogged about. (And of
course the live bug investigations on fellow developers’ machines who always seem to attract the weirdest issues.)
I am afraid I spent the rest of the time on boring backend stuff.
For Plasma 6 we want to make use of the layer-shell wayland protocol
for positioning and stacking Plasma’s own panels, backgrounds and some other windows such as krunner. This protocol
was developed by the awesome wlroots people and is currently proposed
for standardization. In the past we used our own plasma-shell protocol and unfortunately not only Plasma is using it at the moment
but it also spread to applications with more advanced use cases than just having a normal window. As mixing windows from
both systems together will be harder to layout and in general a desire to move on from the plasma-shell protocol for a more
streamlined experienced I ported yakuake to use layer shell
via our own Layer Shell Qt library.
Still Wayland related but probably even less interesting, I started porting libtaskmanager away from KWayland. KWayland was/is a framework consisting of two libraries (client and server side) wrapping wayland code
for more straightforward consumption of Qt programs. As you can imagine this is quite some amount of boring code to maintain
and with other good solutions available we would like to stop doing so. The server part of the framework was already
moved to KWin in the past and we embraced qtwaylandscanner there for generating code wrapping wayland. For the client
side we are now moving in the same direction. KWayland included everything but most of it was not used because Qt handles
all the normal interactions with the compositor and almost all the remaining protocol interfaces were used only once
because there is only a single place in our stack that needs to communicate the additional information with KWin (for
example Klipper or the taskmanager). So it makes sense to move the code to the places where it is used instead of having
to maintain a framework with the usual stability guarantees.
But I did not only work towards eliminating a framework, I also created an entire new one. Sorry! Enter
KColorScheme. To be fair it’s not entirely new but KColorScheme
and friends moved to their own library. KColorScheme was a pain point in our dependency stack since it was
very central but its location in the KConfigWidgets library meant that you had to depend on a bunch of unwanted
stuff just to read some colors. So we decided at the sprint to split it out to a new library and I implemented that.
Afterwards I adjusted some consumers which do not need to longer depend on KConfigWidgets together with Nicolas.
As you can see it was quite the productive sprint which was possible because of the awesome people at Tuxedo Computers
who hosted us and the KDE e.V that enables people from all over the world to come together and build
awesome things. Consider donating so that we can continue doing so.
The last thing left to say, I will be at Akademy which happens soon. See you there!
As you probably have seen from other people’s blog posts there was the 2023 Plasma Sprint last week. It was generously hosted by TUXEDO Computers in their offices in Augsburg, Germany. Many thanks to TUXEDO for that!
Other people have already well summarized what happend there, so let’s have a look at what I have been doing:
Together with Kai Uwe, Volker, and Ismael I looked at notifications. This includes internal simplifications in KNotifications, API design questions, a proposed V2 for the notification portal API, and a new UI for per-event configuration in the notification settings module.
Together with Marco I looked into some API design topics around the Applet class in plasma-framework, and worked on a proposed new API for applet actions.
Given that Wayland was a huge topic at the sprint I continued the work of mine on enabling some accessibility options on Wayland. Sticky keys is not only what happens when you spill Spezi over your laptop, it is also an accessibility feature that allows people that cannot press multiple keys simultaneously to type key combinations like Control+C/Control+V. Basic support for this on Wayland is coming with Plasma 6. Not all of the options that are present on X11 work yet though. If you are a user of sticky keys please leave your feedback on https://bugs.kde.org/show_bug.cgi?id=444335 for which of these options should be prioritized.
Together with Natalie, KDE e.V.’s Hardware Integration Engineer, I discussed our touchpad configuration module and how to make it more robust and maintainable. We also discussed various topics around debugging and profiling KDE software.
Together with Xaver I looked into how Dolphin/KIO handles multi-GPU setups (so that apps preferring discrete GPUs will use them when launched via KIO). As it turns out there’s a few things to be improved there so we discussed approaches to do that.
With David I discussed some of my open changes to our global shortcuts infrastructure and continued working on improving that.
We also got a visit from two people from the city of Treuchtlingen, Germany. They have been using KDE software in their communal IT for over 20 years. We discussed their vision of using open source and open standards in government IT and some of their pain points with using KDE software for that.
Overall it was a very nice and productive week and it was great to meet so many fellow KDE hackers, some of them for the first time! Gatherings like this are only possible because of generous donations to KDE e.V. Please consider donating to make more such sprints possible.
I’m Srirupa Datta, about to finish my undergraduate Electrical Engineering degree at Jadavpur University, India, in June. This year, I got selected for Google Summer of Code and will be working on improving the Bundle Creator in Krita.
My Introduction to Krita…
It’s been more than a year since my last blogpost where I posted monthly updates on my progress on adding the Perspective Ellipse assistant tool in Krita during SoK’22. Being a painter who’s interested in software development, I’ve been interested in Krita ever since I started using it.
What it’s all about
The primary format to share resources in Krita is a Resource Bundle, which is a compressed file containing all the resources together. It also contains some other information like metadata and a manifest so Krita can check there’s no errors in the file.
Krita’s Bundle Creator allows one to create their own bundle from the resources of their choice. The project that I would be working on, aims to improve the user interface of the current Bundle Creator, and allow the ability to edit bundles (which is currently not supported in Krita).
The new Bundle Creator
The new Bundle Creator would look like an installation wizard with four pages which can be navigated using the Next and Back buttons, as well as buttons on the left side panel.
I think the primary objective behind designing the new Bundle Creator was to organize its workflow, that is, segregate sections devoted to a particular function or job. This is what led to the idea of using a wizard, instead of simple dialogs. Hence it would have four wizard pages:
Choose Resources
Choose Tags
Enter Bundle Details
Choose Save Location
Some of the cool features you can expect in the new Bundle Creator are a gridview like that of Resource Manager’s to view all the resources, filter resources by name or tag before selecting, and an option to change back to the default listview from gridview if one wishes to stick to the previous layout.
Adding custom tags to selected resources is a feature that we wish to integrate, but it would require a redesign of the Choose Tags wizard page that has been shown below. Just to clarify, these are all mockups!
Yet another important feature would be reloading last bundle data when opened/on startup - this is particularly useful when making a bundle for other people.
Apart from these, the new Bundle Creator would be resizable(Yaay!), and a separate Menu entry called Bundle Creator would be created. We plan to move Manage Resource Libraries , Manage Resources and Bundle Creator from Menu > Settings to Menu > Resources.
And lastly, I would be working on adding the feature of editing bundles - this however needs to be discussed more and would be dealt with post my mid term evaluations.
And of course, if you want to suggest some ideas or improvements, feel free to drop a comment on this post I created on Krita Artists Forum!