<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sujit Agarwal</title>
    <description>The latest articles on DEV Community by Sujit Agarwal (@sujitagarwal).</description>
    <link>https://dev.to/sujitagarwal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F408407%2F96b7641c-19be-43cb-b017-039bbee735df.jpeg</url>
      <title>DEV Community: Sujit Agarwal</title>
      <link>https://dev.to/sujitagarwal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sujitagarwal"/>
    <language>en</language>
    <item>
      <title>If-else conditions and using them wisely</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Thu, 12 Aug 2021 11:21:57 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/if-else-conditions-and-using-them-wisely-15gi</link>
      <guid>https://dev.to/sujitagarwal/if-else-conditions-and-using-them-wisely-15gi</guid>
      <description>&lt;p&gt;Let me just put this straight – “if-else is a weapon. It can kill the enemy, or you might just shoot yourself in the foot.”&lt;/p&gt;

&lt;p&gt;Most of the times, if-else conditions result into complicated design, unreadable code, and the never-ending pain.&lt;/p&gt;

&lt;p&gt;As an aspiring developer, if-else is probably one of the first building blocks that you would come across in your learning journey. Unfortunately, with time, you may become a seasoned developer who is stuck with the basic unsuitable branching techniques that you learned in the start of your journey.&lt;/p&gt;

&lt;p&gt;The ability to determine the right branching technique distinguishes a junior developer from a senior. &lt;/p&gt;

&lt;p&gt;Initially, my idea was to compile all the weird situations I have seen in my career where developers tend to lose themselves in the labyrinth of if-else conditions. With time, I realized the importance of describing possible alternatives and better approaches to achieve the same.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lets Observe-
&lt;/h3&gt;

&lt;p&gt;While writing code, you may have faced infinite moments when a basic check of value is required. With the DRY principle, it is always advisable to move such conditional/validation checks to their own helper functions.&lt;/p&gt;

&lt;p&gt;Consider the following for an example -&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gHY4KkBZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yfwwz0fvntnrbru2qtx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gHY4KkBZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yfwwz0fvntnrbru2qtx9.png" alt="code example"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;This is perhaps one of the classic examples of showing a full-blown syntax representation of a condition check. It makes you believe that if-else is the new mantra of your life. The real power is now in your hands.&lt;/p&gt;

&lt;p&gt;But, in the real world, such a code would possibly be rejected during the code review. True story.&lt;/p&gt;

&lt;p&gt;There are multiple reasons for this code to be rejected in a code review. I will try to cover those concepts in the examples that follow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let us try to shorten this code by removing the else condition.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NpOVsKn_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hwx301tuf9z5ldmuzbjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NpOVsKn_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hwx301tuf9z5ldmuzbjv.png" alt="code example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What has changed?
&lt;/h3&gt;

&lt;p&gt;The logic now considers the default state of seniorCitizen as false. &lt;br&gt;
It would be changed to true if and only if the supplied value of age variable is greater than 60. &lt;/p&gt;

&lt;p&gt;Finally, the value contained in the variable seniorCitizen is returned.&lt;/p&gt;

&lt;p&gt;In a summary – When the condition is met, we change the flag value and return it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let us see another variation of the code now.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oJaqQu4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuiamsulnczieu8cmx4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oJaqQu4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuiamsulnczieu8cmx4h.png" alt="code example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What has changed, again?
&lt;/h3&gt;

&lt;p&gt;As you may observe now, the variable seniorCitizen has been omitted from the code. The logic remains the same, if and only if the supplied value of age variable is greater than 60, we return true (without storing it in an unnecessary flag variable).&lt;/p&gt;

&lt;p&gt;We saved a few bytes in the memory by not allocating space for the &lt;br&gt;
variable and a minuscule improvement in performance.&lt;/p&gt;

&lt;p&gt;The curious thread of thought inside you must be wondering what &lt;br&gt;
impact such a trivial change may bring to the application’s performance, Right? We will come to that later in my future posts. Keep reading… :-).&lt;/p&gt;

&lt;p&gt;Now, let us see a little change in the previous example. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4L8_LP3R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4mqub2x2o26u8btrnj9h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4L8_LP3R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4mqub2x2o26u8btrnj9h.png" alt="code example"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may observe that I removed the curly braces, and it still is a valid piece of code. It is because, the code inside an if condition does not need to be enclosed in braces if the code is a one-liner. &lt;/p&gt;

&lt;p&gt;Interesting, right?&lt;/p&gt;

&lt;p&gt;Here, this was a primer to the world of if-else conditions. &lt;/p&gt;

&lt;h4&gt;
  
  
  Interesting Note:
&lt;/h4&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Curly braces are also known as curly brackets (UK and US) or simply braces, flower brackets (India) and squiggly brackets (colloquially)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>programming</category>
      <category>conditions</category>
      <category>codequality</category>
      <category>codereview</category>
    </item>
    <item>
      <title>This post auto updates itself! Last updated at 2020-06-26 11:01:09 GMT</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Tue, 16 Jun 2020 01:23:28 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/this-post-auto-updates-itself-last-updated-at-2020-06-16-01-22-49-gmt-10cb</link>
      <guid>https://dev.to/sujitagarwal/this-post-auto-updates-itself-last-updated-at-2020-06-16-01-22-49-gmt-10cb</guid>
      <description>&lt;p&gt;&lt;strong&gt;This post title auto updates itself!&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Refresh&lt;/strong&gt; this post to see the title change in action! &lt;br&gt;
Last updated at 2020-06-26 11:01:09 GMT&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>bot</category>
      <category>auto</category>
      <category>update</category>
    </item>
    <item>
      <title>Introducing The QuickTip Series</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Mon, 15 Jun 2020 15:46:18 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/introducing-the-quicktip-series-3fko</link>
      <guid>https://dev.to/sujitagarwal/introducing-the-quicktip-series-3fko</guid>
      <description>&lt;p&gt;N number of quick tips and tricks tutorials and blogs already exist on the internet and on Dev.to. &lt;br&gt;
And, here I present to you yet another N+1th series? Aw, yeah!&lt;/p&gt;

&lt;p&gt;This series will consist of tricks that I keep using during my daily work and I believe could prove useful to you as well.&lt;/p&gt;

&lt;p&gt;The tutorials/QuickTips would mostly contain to-the-point information without any pep talks. And they may not be in any planned order. You see, they're random!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Articles:&lt;/strong&gt;&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/sujitagarwal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF31imeq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--jbhtu3pq--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/408407/96b7641c-19be-43cb-b017-039bbee735df.jpeg" alt="sujitagarwal image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/sujitagarwal/quicktip-to-do-codereview-4bdl" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;QuickTip: To Do CodeReview&lt;/h2&gt;
      &lt;h3&gt;Sujit Agarwal ・ Jun 15 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#codequality&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#review&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 &lt;br&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/sujitagarwal" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF31imeq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--jbhtu3pq--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/408407/96b7641c-19be-43cb-b017-039bbee735df.jpeg" alt="sujitagarwal image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/sujitagarwal/quicktip-css-borders-v-s-outline-1h7k" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;QuickTip: CSS Borders v/s Outline&lt;/h2&gt;
      &lt;h3&gt;Sujit Agarwal ・ Jun 14 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#css&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#outline&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#border&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tips&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 

&lt;p&gt;Keep watching this space for more articles to come! :-)&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>quicktip</category>
      <category>computerscience</category>
      <category>opensource</category>
    </item>
    <item>
      <title>QuickTip: To Do CodeReview</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Mon, 15 Jun 2020 07:31:20 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/quicktip-to-do-codereview-4bdl</link>
      <guid>https://dev.to/sujitagarwal/quicktip-to-do-codereview-4bdl</guid>
      <description>&lt;p&gt;&lt;strong&gt;Tips For Reviewers:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Be kind.
2. Explain yourself.
3. Focus on pointing out problems and let the developer decide.
4. Request the Dev for simplified code (if required) or code comments.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Things to look for during the review:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Code Design.
2. Expected Functionality v/s Outcome.
3. Code Complexity.
4. Tests done.
5. Code Comments.
6. Naming conventions.
7. Consistency with existing code.
8. Documentation.
9. Follows the team's principles.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The Joel Test:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Joel Test is a very simple and quick test that rates the quality of your software team. Rather than including open-ended responses, this test has 12 yes-or-no questions that determine whether your programming team is up to par.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you fix bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions?
9. Do you use the best tools money can buy?
10. Do you have testers?
11. Do new candidates write code during their interview?
12. Do you do hallway usability testing?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Read more about the Joel Test &lt;a href="https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/"&gt;here.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codequality</category>
      <category>review</category>
      <category>github</category>
      <category>opensource</category>
    </item>
    <item>
      <title>QuickTip: CSS Borders v/s Outline</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Sun, 14 Jun 2020 19:19:18 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/quicktip-css-borders-v-s-outline-1h7k</link>
      <guid>https://dev.to/sujitagarwal/quicktip-css-borders-v-s-outline-1h7k</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Outlines do not take up space.&lt;/li&gt;
&lt;li&gt;Border takes up space outside the element.&lt;/li&gt;
&lt;li&gt;Outlines may be non-rectangular.&lt;/li&gt;
&lt;li&gt;Outline is better to enclose potential overflowing child elements, especially into an inline container.&lt;/li&gt;
&lt;li&gt;Border is much more adapted for block-behaving elements.&lt;/li&gt;
&lt;li&gt;Outline can be used to debug CSS code, since it isn't a part of element's dimensions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6rE7UaNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k9b1qno7sbxugjdqgl0n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6rE7UaNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k9b1qno7sbxugjdqgl0n.png" alt="Alt Text" width="327" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The syntax for creating an outline is the same as for creating a border. The shorthand takes three values: the width of the line, the style of the line, and the color of the line.&lt;/p&gt;

&lt;p&gt;Syntax for OUTLINE:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;outline: [width] [style] [color]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Syntax for BORDER:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;border: [width] [style] [color]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Code Example :&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#border {
    border: 10px solid black;
}
#outline {
    outline: 10px solid black;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>css</category>
      <category>outline</category>
      <category>border</category>
      <category>tips</category>
    </item>
    <item>
      <title>How I added an overlooked feature in Linux Mint Image Viewer!</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Sun, 14 Jun 2020 16:07:14 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/how-i-added-an-overlooked-feature-in-linux-mint-image-viewer-3gp7</link>
      <guid>https://dev.to/sujitagarwal/how-i-added-an-overlooked-feature-in-linux-mint-image-viewer-3gp7</guid>
      <description>&lt;p&gt;The ability to view/edit documents and images is something that is always taken as one of the primary elements of any Operating System these days. &lt;/p&gt;

&lt;p&gt;Whenever I land up on a new Linux Distro or a new Linux update that is there to disrupt it all, what do I expect?&lt;/p&gt;

&lt;p&gt;Let's list it down -&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is it smooth?&lt;/li&gt;
&lt;li&gt;Is it fast? &lt;/li&gt;
&lt;li&gt;Is it secure?&lt;/li&gt;
&lt;li&gt;Is it stable?&lt;/li&gt;
&lt;li&gt;Is it a daily driver for me?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Of all these questions, #5 is something I consider giving &lt;del&gt;double&lt;/del&gt; triple thoughts.&lt;/p&gt;

&lt;p&gt;So, while moving to Linux Mint, I observed something very basic was missing in the Image Viewer application that comes out-of-the-box. It lacked the quick toolbar buttons to view your images as a SlideShow / Full Screen.&lt;/p&gt;

&lt;p&gt;FYI, the functionality to view images as Slideshow / Full Screen is already present in the X-Viewer App, but accessible only through the drop-down menu.&lt;/p&gt;

&lt;p&gt;And that's when I thought, why not add those tiny little buttons and make it work?&lt;/p&gt;

&lt;p&gt;All I had in mind is to clone the source code from github and find the exact functions that are triggered for those features.&lt;/p&gt;

&lt;p&gt;It took me 4 hours of my time to setup my build environment and inspect the code to reach the exact lines of code which would fulfill my requirements.&lt;/p&gt;

&lt;p&gt;The file that I changed was &lt;strong&gt;src/xviewer-window.c&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I added the following lines of code inside the function xviewer_window_construct_ui()&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (tool_box), separator, FALSE, FALSE, 0);

box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (tool_box), box, FALSE, FALSE, 0);

action = gtk_action_group_get_action (priv-&amp;gt;actions_image, "ViewFullscreen");
button = create_toolbar_button (action);
gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0);

action = gtk_action_group_get_action (priv-&amp;gt;actions_gallery, "ViewSlideshow");
button = create_toolbar_button (action);
gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And here's what I got as the output -&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7V_Vic5u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uqcmp7taxgznnd4obdem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7V_Vic5u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/uqcmp7taxgznnd4obdem.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>xviewer</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Introducing Mintoo - The Assistant for Linux Mint</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Sun, 14 Jun 2020 15:17:52 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/introducing-mintoo-the-assistant-for-linux-mint-1mj4</link>
      <guid>https://dev.to/sujitagarwal/introducing-mintoo-the-assistant-for-linux-mint-1mj4</guid>
      <description>&lt;p&gt;So, while on my journey of learning a few things about GTK and how the desklets on Linux Mint Cinnamon work, I thought of making a simple desktop utility that would allow to perform common actions like - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Shutdown&lt;/li&gt;
&lt;li&gt;Reboot&lt;/li&gt;
&lt;li&gt;Logout&lt;/li&gt;
&lt;li&gt;Lock the device&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Mintoo - The Mint Assistant is a friendly assistant for your Linux Mint that'll make your daily work flow easier. The current version supports the functionalities to lock screen, shutdown, reboot, logout from Linux Mint.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HOXRE8cg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4001yrvr3wucz3rqeza6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HOXRE8cg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4001yrvr3wucz3rqeza6.png" alt="Mintoo - The Mint Assistant"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Desklet is available publicly on the Cinnamon Spices plugin repository.&lt;br&gt;
&lt;a href="https://cinnamon-spices.linuxmint.com/desklets/view/52"&gt;https://cinnamon-spices.linuxmint.com/desklets/view/52&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>mint</category>
      <category>desklet</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Linux Mint Desklet for COVID-19 Tracking</title>
      <dc:creator>Sujit Agarwal</dc:creator>
      <pubDate>Sat, 13 Jun 2020 21:41:04 +0000</pubDate>
      <link>https://dev.to/sujitagarwal/linux-mint-desklet-for-covid-19-tracking-hhn</link>
      <guid>https://dev.to/sujitagarwal/linux-mint-desklet-for-covid-19-tracking-hhn</guid>
      <description>&lt;p&gt;Last month I was playing around with Desklets on Linux Mint and I thought to develop one of my own...&lt;br&gt;
So, why not choose a topic that is relevant and people would love to get some regular updates on.&lt;/p&gt;

&lt;p&gt;So, I made a Linux Mint Desklet that shows COVID-19 stats for India.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_TGniOjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xw1lx8fub23w95te07ys.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_TGniOjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xw1lx8fub23w95te07ys.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can find the download page here - &lt;br&gt;
&lt;a href="https://cinnamon-spices.linuxmint.com/desklets/view/51"&gt;https://cinnamon-spices.linuxmint.com/desklets/view/51&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The COVID-19 India Desklet allows you to see the latest stats about the Coronavirus statistics for India. The data on the Desklet is refreshed every 300 seconds and information is fetched from the website below. You can also see a 30 day graph of the data to see the trends of number of patients found, recovered, and died.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>desklet</category>
      <category>covid19</category>
      <category>coronavirus</category>
    </item>
  </channel>
</rss>
