DEV Community

Guilherme Teixeira
Guilherme Teixeira

Posted on • Originally published at Medium on

Introdução ao ricing

Este texto não é sobre novas tecnologias utilizadas no plantio de arroz. Em vez disso, tentarei trazer de forma breve alguns aspectos do tema, além de fornecer informações para quem já é curioso sobre o assunto mas ainda não sabe por onde começar.

Fonte: https://www.reddit.com/r/unixporn/comments/7wyzl1/i3_something_different/

O que é ricing?

O termo ricing é usado para descrever o ato de modificar o comportamento e o design de algo de forma a torná-lo mais produtivo e mais agradável visualmente. Em sua concepção original, dizia respeito ao ato de tunar carros asiáticos importados afim de fazê-los parecer serem mais rápidos do que realmente eram.

“Rice” is a word that is commonly used to refer to making visual improvements and customizations on one’s desktop. It was inherited from the practice of customizing cheap Asian import cars to make them appear to be faster than they actually were — which was also known as “ricing”. — /r/UnixPorn

A Computação se apropriou do termo quando passou a usá-lo para denotar melhorias feitas por usuários em seus sistemas operacionais, especialmente sistemas Unix-like.

Manjaro i3wm sem nenhuma modificação versus Manjaro i3wm modificado (Fontes: https://forum.manjaro.org/t/manjaro-i3-17-1-1/38176 | https://github.com/hrqmonteiro/i3)

Breve histórico: Microsoft Windows

Muitas pessoas descobriram sua predileção pela customização ainda no Windows. Aqueles que usaram o Microsoft Windows 98 certamente se lembram da capacidade nativa do sistema de alterar temas de janelas e de ícones no mesmo menu de personalização. O vídeo abaixo é um achado que mostra exatamente como funcionava.

A Microsoft matou a funcionalidade nas versões seguintes, o que não significou de forma alguma uma diminuição da popularidade dos temas personalizados. Houve uma época em que, em vez de jogar Counter Strike e MU, eu ia à lan-house do bairro única e exclusivamente para baixar álbum de metal enquanto procurava packs de temas e ícones para Windows XP no Baixaki. Tudo para fugir dos tradicionais luna blue e luna silver.

Atrelado a essa prática, havia, no entanto, um problema que ia além do perigo de se instalar um malware: era extremamente recomendável que você não modificasse de forma profunda a interface do Windows, e, caso o fizesse, que fosse sempre com um ponto de restauração a postos, pois alguns softwares eram capazes de causar alterações potencialmente irreversíveis ao sistema, como por exemplo um pacote de customização automática e total que transformava o visual do Windows 7 no do OS X.

Desktop Windows XP com o tema Verde Oliva (Fonte: https://warosu.org/g/thread/57392645).

Me lembro de, nessa transição, ter me apegado bastante a docks como o Nexus Dock e ao Rainmeter. Este último possibilitou a criação de desktops absolutamente fantásticos em máquinas rodando Windows— e ainda hoje o faz. As galerias dedicadas no DeviantArt e no Reddit estão repletas de desktops incríveis. Se você nunca ouviu falar no RainMeter, vale muito a pena ir conhecer.

Breve histórico: sistemas Unix-like

Cinnamon Desktop Environment (Fonte: https://linuxmint-installation-guide-pt-br.readthedocs.io/pt_BR/latest/choose.html)

Por outro lado, dentro do universo open-source as possibilidades se dão de forma diferente e muito mais interessante. O fato dos sistemas operacionais deste tipo não serem distribuídos sob licenças proprietárias inaugura um novo paradigma. Uma das várias vantagens proporcionadas foi o surgimento de diversas DEs ( desktop environments ), dentre elas o Gnome, o KDE Plasma, o XFCE, o Cinnamon, o Unity, o Mate e muitos outros. Embora algumas DEs tenham sido desenvolvidas especialmente para integrar uma distribuição em específico, como foram o Cinnamon para o Linux Mint, o Unity para o Ubuntu e o Pantheon para o Elementary OS, graças à compatibilidade que esses sistemas operacionais apresentam nos níveis mais baixos de suas arquiteturas, é possível substituir a DE padrão simplesmente removendo-a e, em seguida, instalando outra em seu lugar. Nesse sentido, as vantagens que sistemas open-source apresentam em relação aos proprietários são cruciais para o surgimento de dezenas de DEs construídas em comunidade, cujas funcionalidades atendem a diferentes tipos de usuários.

A título de curiosidade: o Windows 10 e o MacOS, atuais sistemas operacionais da Microsoft e da Apple, também têm DEs dedicadas: o Metro/Fluent Design e o Aqua.

Screenfetch do MacOS Sierra.

Desktop Environment (DE) versus Window Manager (WM)

Aqui a história temina e o rice começa. Usuários aficionados pelo minimalismo computacional optam por tornar secundários tanto a necessidade do mouse quanto dos ambientes gráficos. Uma vez aplicada a filosofia KISS ( Keep It Simple, Stupid), torna-se desnecessariamente redundante clicar em ícones para abrir e fechar janelas e menus, já que mapear atalhos de teclado para todas as ações mais corriqueiras é significativamente mais simples e requer menos passos. O controle das aplicações via atalhos de teclado aumenta significativamente a performance e a produtividade. É por isso que, se você prestar bem atenção, grande parte das janelas dos screenshots de desktops postados no r/UnixPorn não possui os tão tradicionais botões de minimizar, maximizar/restaurar e fechar.

Quando se remove a DE de um sistema, o que resta dele é o seu gerenciador de janelas (em inglês, Window Manager). O fato dos window managers (ou WMs) serem responsáveis por controlar o comportamento e o formato das janelas das aplicações abertas faz deles suficientes para atenderem às necessidades do usuário minimalista munido de seus atalhos. E, como você já deve estar adivinhando, existem tipos diferentes de WMs que suprem necessidades e interesses diferentes.

Janelas sem decoração. (Fonte: https://www.reddit.com/r/unixporn/comments/6xfsi4/xmonad_old_desktop/)

Window Managers

Há três tipos de window managers: os stacking (ou floating), os tiling e os dynamic. Falemos brevemente sobre eles.

Stacking (ou floating ) são os mais tradicionais, como os presentes no Windows, no MacOS e na maior parte dos sistemas operacionais unix-like. O comportamento das janelas é flutuante e, além disso, elas têm como comportamento padrão sobrepor-se umas às outras livremente por todo o espaço de trabalho disponível na tela. O melhor exemplo desse tipo de comportamento é o “janelas em modo cascata” e o “janelas lado a lado”, presentes no Windows. Entre os entusiastas do ricing, atualmente o WM mais popular deste tipo é o Openbox.

Openbox, um floating WM. Fonte: https://github.com/addy-dclxvi/almighty-dotfiles#openbox--vinyl

Os tiling funcionam de forma oposta aos comportamentos principais dos stacking. Neles, ao invés de flutuar, as janelas abrem-se sempre ocupando todo o espaço disponível na tela. Se outra janela for aberta, ambas disputarão o espaço, tanto no eixo vertical quanto no horizontal, nunca se sobrepondo uma à outra. Tal particularidade substitui a mudança de foco entre janelas pela navegação por entre espaços de trabalho, muito facilitada por atalhos de teclado personalizados de forma sempre mnemônica. O Alt+Tab (e o ⌘+Tab) é enxotado.

bspwm, um tiling wm. Fonte: https://www.reddit.com/r/unixporn/comments/8nh112/bspwm_emerged_my_rice_this_time/

Já os dynamic unem os dois modos mencionados anteriormente, justamente para quem prefere não abandonar nem um nem outro. São capazes de alternar entre os modos de forma nativa, diferentemente dos tiling, que tratam janelas em modo floating como exceção.

dwm, um wm dinâmico. Fonte: https://www.reddit.com/r/unixporn/comments/8qlabw/dwm_chilled_out_greens/

Barras

Outra característica recorrente à prática do ricing diz respeito à personalização das barras. Como não poderia ser diferente, cada desktop customizado possui uma barra com aspectos visuais únicos. Aqui você encontra uma lista com as mais usadas. Na que eu uso atualmente, a Polybar, você atribui módulos às posições ‘esquerda’, ‘centro’, e ‘direita’, configurando manualmente cada detalhe de tudo o que é mostrado. Usando uma boa documentação como base é possível (e inclusive recomendável) configurar a sua barra do zero. Esta prática te dá total liberdade para explorar todas as possibilidades que cada barra te oferece, permitindo a você montar da forma como preferir esse item fundamental para a interface dos sistemas operacionais.

Considerações finais

Sejam quais forem as configurações escolhidas, é notável a mudança na forma como o usuário passa a enxergar sua máquina — fora o fato de que, como consequência da drástica diminuição de interfaces gráficas disponíveis, todas as configurações importantes são feitas através de linhas de código dentro de arquivos de texto.

O meu setup, por exemplo, consiste no i3wm e na Polybar rodando num Manjaro Linux Community Edition. Depois de várias pessoas mencionarem seu desempenho e a vantagem de se usar workspaces inteiros em vez de janelas flutuantes, decidi tentar. Posso afirmar com certeza que, após já ter experimentado o Gnome 2, o Unity, o Mate, o Pantheon, o Cinnamon, o Gnome 3, o DDE e o KDE, o i3 é, de longe, o window manager que melhor me atendeu. Ele utiliza as teclas de navegação do Vim para facilitar a navegação entre janelas e sua manipulação usando apenas o teclado. Esse comportamento “keyboard-driven” do próprio i3wm, do Vim e de outros programas acaba construindo um ecossistema consistente, rápido, prático, produtivo e prazeroso.

Nos print screens postados diariamente no /r/Unixporn há menções a vários outros gerenciadores de janelas e desktop environments que servem de inspiração tanto para quem está curioso por tentar fazer um rice quanto para quem já é adepto. Ao ver tantos belíssimos desktops postados lá, aproveitei o tempo livre das férias de inverno e comecei a aprender. A recorrente constatação de que “Linux é feio” não pode estar mais errada.

Meu desktop atual.

Longe de ter o objetivo de ser uma espécie de tutorial, este texto teve como objetivo introduzir o assunto aos curiosos. Mais importante do que o texto em si são as referências linkadas abaixo, em especial a primeira: o GitHub do Rice BR. Lá sim nós reunimos uma grande quantidade de fontes que servem de guia sobre Ricing, Minimalismo Computacional e Segurança da Informação.

Se você gostou deste texto, não se esqueça de dar um like. É um pequeno gesto que ajuda este blog a chegar a mais pessoas! :)

Referências:

Guia de Rice (RiceBR): https://github.com/ricebr

The Basics of Ricing Linux: http://sherylman.com/blog/basics-of-ricing

Window Managers (ArchWiki): https://wiki.archlinux.org/index.php/Window_manager_%28Portugu%C3%AAs%29#Lista_de_gerenciadores_de_janela

Definição de Rice (em inglês): https://www.reddit.com/r/unixporn/wiki/themeing/dictionary#wiki_rice

O que é um sistema unix-like (em inglês): http://tldp.org/FAQ/Linux-FAQ/general.html#is-linux-unix

site oficial do Raimeter: https://www.rainmeter.net/

/r/Rainmeter: https://www.reddit.com/r/Rainmeter/

Rainmeter (DeviantArt): https://www.deviantart.com/rainmeter/gallery/12506905/Random-from-Featured

Winstep Nexus Dock: https://www.winstep.net/nexus.asp

Softwares proprietários: https://en.wikipedia.org/wiki/Proprietary_software#Examples

Abstração (Linguagens de programação): https://imgur.com/gallery/smipStn

Aqua (Desktop Environment): https://en.wikipedia.org/wiki/Aqua_(user_interface)

Fluent Design (Desktop Environment): https://www.microsoft.com/design/fluent/

Filosofia Kiss (Keep it Simple, Stupid): https://pt.wikipedia.org/wiki/Keep_It_Simple

Princípio da Simplicidade (Arch Wiki): https://wiki.archlinux.org/index.php/Arch_Linux#Simplicity

Barras (RiceBR): https://github.com/ricebr/Not-A-Bloat/blob/master/ricing/awesome-ricing.md#barspanels

i3wm: https://i3wm.org/

Polybar: https://github.com/jaagr/polybar


Top comments (4)

Collapse
 
luanmarques1789 profile image
Luan Marques • Edited

Parabéns pelo post, Guilherme! Foi uma introdução ótima e informativa pra quem está iniciando, como eu, nesse mundo de rice e unixporn.

Ademais, vc teria alguma recomendação de artigo que ensine como instalar os rices do unixporn?

Collapse
 
guiteixeira profile image
Guilherme Teixeira

Olá, Luan! Como vai? Obrigado pelo elogio!

Então... artigo eu não conheço. Talvez a melhor forma seja acompanhando os posts mais curtidos da semana do /r/unixporn e dar uma checada nos repositórios no GitHub do pessoal. Os mais famosinhos geralmente colocam no readme.md informações de como replicar. Você pode também ir manualmente nos dotfiles do pessoal e "se inspirar" (haha) no que eles fizeram

Collapse
 
andrealck profile image
Collapse
 
guiteixeira profile image
Guilherme Teixeira

Tamo junto, Andre. Obrigado!, vou consertá-los!