<?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: Jezer Mejía</title>
    <description>The latest articles on DEV Community by Jezer Mejía (@jezerm).</description>
    <link>https://dev.to/jezerm</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%2F520830%2Ff8ebe277-d5e7-4d6b-9cec-015b60c363c5.jpeg</url>
      <title>DEV Community: Jezer Mejía</title>
      <link>https://dev.to/jezerm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jezerm"/>
    <language>en</language>
    <item>
      <title>I've created another LightDM Greeter</title>
      <dc:creator>Jezer Mejía</dc:creator>
      <pubDate>Thu, 09 Sep 2021 13:57:42 +0000</pubDate>
      <link>https://dev.to/jezerm/i-ve-created-another-lightdm-greeter-1pb7</link>
      <guid>https://dev.to/jezerm/i-ve-created-another-lightdm-greeter-1pb7</guid>
      <description>&lt;p&gt;Through these past months, I’ve read a lot the LightDM documentation. Now I’m kind confident that I could create all the greeters I want in any time. That’s why I created another one!&lt;/p&gt;

&lt;p&gt;Before, I said I updated &lt;a href="https://github.com/JezerM/web-greeter"&gt;web-greeter&lt;/a&gt;, read my &lt;a href="https://dev.to/jezerm/lightdm-web-greeter-3-0-0-arrives-5fd4"&gt;post&lt;/a&gt;. This new greeter is practically the same, a LightDM greeter that allows to create wonderful themes with web technologies, like HTML, CSS and JavaScript! The difference is the language that’s based on: &lt;strong&gt;Node.js&lt;/strong&gt; with &lt;strong&gt;Electron&lt;/strong&gt;. I named it &lt;strong&gt;&lt;a href="https://github.com/JezerM/nody-greeter"&gt;Nody Greeter&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why another web based greeter?
&lt;/h2&gt;

&lt;p&gt;Why not? I mean, options are great! If you want to use a greeter with Python running behind it, that’s okay, but if you want a bit more performance, &lt;strong&gt;Nody Greeter&lt;/strong&gt; is meant for that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Node.js&lt;/strong&gt; is fast, really fast, not as much as &lt;strong&gt;C/C++&lt;/strong&gt;, but in contrast to &lt;strong&gt;Python&lt;/strong&gt;, it’s a great improvement.&lt;/p&gt;

&lt;p&gt;Check this &lt;a href="https://streamable.com/9jov2w"&gt;video&lt;/a&gt; to see the difference.&lt;/p&gt;

&lt;p&gt;Note this may vary. Sometimes &lt;strong&gt;web-greeter&lt;/strong&gt; is faster, sometimes &lt;strong&gt;nody-greeter&lt;/strong&gt;, but in general I could say &lt;strong&gt;nody-greeter&lt;/strong&gt; is more responsive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is there any difference?
&lt;/h2&gt;

&lt;p&gt;Practically, there are no differences, both &lt;code&gt;web-greeter&lt;/code&gt; and &lt;code&gt;nody-greeter&lt;/code&gt; do the same. Their API is the same, so every theme working in &lt;code&gt;web-greeter&lt;/code&gt; should work without problems in &lt;code&gt;nody-greeter&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Although, there are some differences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nody Greeter&lt;/strong&gt; is faster than &lt;strong&gt;Web Greeter&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;As &lt;strong&gt;Web Greeter&lt;/strong&gt; is interpreted, its python dependencies should be always present. Update &lt;strong&gt;Python&lt;/strong&gt; and it breaks. &lt;strong&gt;Nody Greeter&lt;/strong&gt; is built with &lt;strong&gt;Electron&lt;/strong&gt;, so no dependencies.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>lightdm</category>
      <category>node</category>
      <category>showdev</category>
    </item>
    <item>
      <title>LightDM Web Greeter 3.0.0 arrives</title>
      <dc:creator>Jezer Mejía</dc:creator>
      <pubDate>Wed, 28 Jul 2021 17:27:46 +0000</pubDate>
      <link>https://dev.to/jezerm/lightdm-web-greeter-3-0-0-arrives-5fd4</link>
      <guid>https://dev.to/jezerm/lightdm-web-greeter-3-0-0-arrives-5fd4</guid>
      <description>&lt;p&gt;LightDM is a light display manager for Linux, which have lots of different greeters/themes to choose. The previously known &lt;strong&gt;lightdm-webkit2-greeter&lt;/strong&gt;, a greeter that allows themeing with web technologies like HTML and JavaScript, has been abandoned since 2017-2018, before transitioning to &lt;strong&gt;web-greeter 3.0.0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So, I decided to fork it and continue the Antergos team work, and finally it is here, &lt;a href="https://github.com/JezerM/web-greeter"&gt;web-greeter 3.0.0&lt;/a&gt;, a greeter that uses PyQtWebEngine to show gorgeous themes created with simple or very complex web technologies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Theming
&lt;/h2&gt;

&lt;p&gt;See the &lt;a href="https://github.com/manilarome/lightdm-webkit2-theme-glorious"&gt;Glorious theme&lt;/a&gt; by &lt;strong&gt;Manilarome&lt;/strong&gt;~ It’s glorious.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ecRMkhh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tso91g1na404900gju1r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ecRMkhh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tso91g1na404900gju1r.gif" alt="Glorious theme gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, &lt;strong&gt;web-greeter 3.0.0&lt;/strong&gt; comes with two great themes, &lt;a href="https://github.com/JezerM/web-greeter/tree/3.0.0/themes/gruvbox"&gt;Gruvbox theme&lt;/a&gt; and &lt;a href="https://github.com/JezerM/web-greeter/tree/3.0.0/themes/dracula"&gt;Dracula theme&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nx4I2Eom--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/epjjuvlt9yt8nl4o57xr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nx4I2Eom--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/epjjuvlt9yt8nl4o57xr.png" alt="Gruvbox theme"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;See the &lt;a href="https://jezerm.github.io/web-greeter-themes/"&gt;live demo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  New features!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gruvbox theme&lt;/strong&gt; can show the battery and brightness status, two new optional, but great, features!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As this release uses &lt;strong&gt;PyQtWebEngine&lt;/strong&gt;, which relies in Chrome 83, themes have &lt;strong&gt;support for ES2020&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Also, users can specify the cursor theme for web-greeter in the config file, inside &lt;code&gt;/etc/lightdm/web-greeter.yml&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Changes
&lt;/h2&gt;

&lt;p&gt;There are lots of changes since the &lt;a href="https://github.com/Antergos/web-greeter/releases/tag/2.2.5"&gt;latest Antergos release&lt;/a&gt;. See the &lt;a href="https://github.com/JezerM/web-greeter/releases/tag/3.0.0"&gt;3.0.0 release&lt;/a&gt; for further info.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Migrated from &lt;strong&gt;C&lt;/strong&gt; to &lt;strong&gt;Python&lt;/strong&gt;. &lt;strong&gt;Webkit2Gtk&lt;/strong&gt; replaced with &lt;strong&gt;PyQtWebEngine&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Name changed to &lt;strong&gt;web-greeter&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Updated API usage for LightDM 1.26.0&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lightdm-webkit2-greeter.conf&lt;/code&gt; renamed to &lt;code&gt;web-greeter.yml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Themes are now installed inside &lt;code&gt;/usr/share/web-greeter/themes&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are using LightDM, I recommend you to use this greeter, try some themes and create your own!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>showdev</category>
      <category>lightdm</category>
      <category>webdev</category>
    </item>
    <item>
      <title>LightDM Web Greeter updated!</title>
      <dc:creator>Jezer Mejía</dc:creator>
      <pubDate>Thu, 17 Jun 2021 17:14:50 +0000</pubDate>
      <link>https://dev.to/jezerm/lightdm-web-greeter-updated-50lj</link>
      <guid>https://dev.to/jezerm/lightdm-web-greeter-updated-50lj</guid>
      <description>&lt;p&gt;LightDM is a light display manager for Linux, which have lots of different greeters/themes to choose. One of these greeters is the previously known as &lt;strong&gt;lightdm webkit2 greeter&lt;/strong&gt;, then named &lt;a href="https://github.com/Antergos/web-greeter"&gt;lightdm web greeter&lt;/a&gt;, a greeter that allows theming with web technologies like HTML and JavaScript.&lt;/p&gt;

&lt;p&gt;Sadly, this greeter was abandoned as &lt;a href="https://github.com/Antergos"&gt;Antergos team&lt;/a&gt; didn’t have time to develop their distro. The latest version, &lt;strong&gt;2.2.5&lt;/strong&gt; uses an outdated WebKit engine, which could cause some new web technologies to not work in the greeter. Also, the Debian package is not working, a shame.&lt;/p&gt;

&lt;p&gt;Luckily, Antergos team were developing a &lt;strong&gt;3.0.0&lt;/strong&gt; version, getting rid of WebKit and using the QtWebEngine, based on Chromium, with Python. So, I decided to update some things about this greeter based on this pre-release.&lt;/p&gt;

&lt;h2&gt;
  
  
  Whither
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Antergos/whither"&gt;Whither&lt;/a&gt; is the “new” tool that &lt;strong&gt;3.0.0&lt;/strong&gt; would be using, developed by Antergos, allows to create web applications in a similar way to Electron.js, but in Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Web Greeter
&lt;/h2&gt;

&lt;p&gt;So, I’m here to introduce a new pre-release. You can install it from the &lt;a href="https://github.com/JezerM/web-greeter"&gt;GitHub Repository&lt;/a&gt;. Though, you need to install the &lt;a href="https://github.com/JezerM/whither"&gt;whither sdk&lt;/a&gt; to run it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Changes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Command line arguments support, such as &lt;code&gt;—-help&lt;/code&gt;, &lt;code&gt;—-theme&lt;/code&gt;, &lt;code&gt;—-debug&lt;/code&gt; and others&lt;/li&gt;
&lt;li&gt;Some fixes with the LightDM API, as power functions didn’t work&lt;/li&gt;
&lt;li&gt;Man pages updated&lt;/li&gt;
&lt;li&gt;Every local request is made through &lt;code&gt;web-greeter:/&lt;/code&gt; url scheme&lt;/li&gt;
&lt;li&gt;WebKit no longer here. Replaced with Chromium&lt;/li&gt;
&lt;li&gt;Some API changes. &lt;strong&gt;2.2.5&lt;/strong&gt; deprecated functions and globals were removed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are using LightDM, I recommend you to use this greeter, try some themes and create your own!&lt;/p&gt;

&lt;p&gt;Use the &lt;a href="https://github.com/manilarome/lightdm-webkit2-theme-glorious"&gt;Glorious theme&lt;/a&gt; by &lt;strong&gt;Manilarome&lt;/strong&gt;~ It’s glorious.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ecRMkhh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tso91g1na404900gju1r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ecRMkhh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tso91g1na404900gju1r.gif" alt="Glorious theme gif"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>lightdm</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I made a Node.JS CLI that splits and shows a text on console, just that~</title>
      <dc:creator>Jezer Mejía</dc:creator>
      <pubDate>Mon, 04 Jan 2021 00:55:49 +0000</pubDate>
      <link>https://dev.to/jezerm/i-made-a-node-js-cli-that-splits-and-shows-a-text-on-console-just-that-70k</link>
      <guid>https://dev.to/jezerm/i-made-a-node-js-cli-that-splits-and-shows-a-text-on-console-just-that-70k</guid>
      <description>&lt;p&gt;When I was making a simple Node.JS console game, I thought I would need something that prints your text in the console without looking awkward when it surpass the console width, and without the need to use the mouse wheel to move up and down in the text.&lt;br&gt;
I found &lt;strong&gt;&lt;a href="https://www.npmjs.com/package/inquirer" rel="noopener noreferrer"&gt;Inquirer.js&lt;/a&gt;&lt;/strong&gt;, an amazing package that allows pretty and useful command line applications. And, despite Inquirer doesn’t have the feature I wanted (though you could use the &lt;em&gt;editor&lt;/em&gt; type; but looks weird to me), I got inspired by its &lt;strong&gt;Paginator&lt;/strong&gt; util used in its &lt;em&gt;list&lt;/em&gt; type prompts, so I decided to make something similar to it.&lt;br&gt;
I made the &lt;strong&gt;Cl-Paginator&lt;/strong&gt; package. It splits the text to fit in the terminal and then prints it, allowing the user to move around the text, a-waiting for the user interaction to continue the code.&lt;br&gt;
Here’s an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Paginator&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="nx"&gt;cl&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;paginator&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;pag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Paginator&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;pag&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="nx"&gt;Hello&lt;/span&gt; &lt;span class="nx"&gt;world&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt; &lt;span class="cm"&gt;/* or a bigger text */&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="cm"&gt;/* and some options */&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// This won’t continue until the user presses the “return” key&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="nx"&gt;Finished&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F59768785%2F103492798-15056980-4df3-11eb-8cb4-d174f8e03cd0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F59768785%2F103492798-15056980-4df3-11eb-8cb4-d174f8e03cd0.gif" alt="exampleVid"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Wanna try it?
&lt;/h3&gt;

&lt;p&gt;See &lt;strong&gt;&lt;a href="https://www.npmjs.com/package/cl-paginator" rel="noopener noreferrer"&gt;Cl-Paginator on npm&lt;/a&gt;&lt;/strong&gt;, and &lt;strong&gt;&lt;a href="https://github.com/JezerM/Paginator" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;cl-paginator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="ltag__replit"&gt;
  &lt;iframe height="550px" src="https://repl.it/@JezerM/Paginator-test?lite=true"&gt;&lt;/iframe&gt;
&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;It's my first time writing a post here! Also my first time creating an NPM package~&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>node</category>
      <category>terminal</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
