Tutorial: Criando e editando um launcher para uma aplicação no Ubuntu

Intro

É muito mais simples acessar as aplicações presentes no seu Ubuntu quando elas estão ao alcance do seu mouse. Isso não é possível quando as aplicações não fornecem um instalador (muito comum quando baixamos softwares do tipo “descompactar e rodar”) ou quando o instalador não cria um launcher automaticamente.

Para os menos habituados ao Ubuntu/Linux, os launchers ou lançadores nada mais são do que ícones para se iniciar uma aplicação, assim como tem no menu “Iniciar” do Windows.

Para este tutorial vou utilizar o exemplo do Eclipse, que quando baixado diretamente do site, não cria automaticamente um launcher.

Criando

Para criar um novo launcher, abra o Terminal (normalmente CTRL+ALT+T) e digite:

Este comando abrirá o assistente abaixo:
Captura de tela de 2015-11-26 14:21:32
Preencha com as seguintes informações:

  • Tipo: mantenha o valor em “Aplicativo”
  • Nome: Nome do aplicativo que será exibido nos menus do Ubuntu
  • Comando: Caminho para o executável da aplicação
  • Comentário: Qualquer coisa que você quiser

Para alterar o ícone do launcher basta clicar em Captura de tela de 2015-11-26 14:27:09 e selecionar o arquivo de ícone desejado. Geralmente está presente no mesmo diretório do executável, mas pode mudar de aplicação para aplicação. No Eclipse sempre está no mesmo diretório do executável mesmo.

Editando

Para editar um launcher existente, digite no Terminal:

Não esqueça de trocar NOME_DA_APLICACAO pelo nome da aplicação que você deseja editar o launcher.

O restante ocorre da mesma forma como na criação do launcher.
Captura de tela de 2015-11-26 12:49:03

Conclusão

Este tutorial não envolve qualquer tipo de complexidade e é muito útil para criar ícones para aquelas aplicações que ficam escondidas lá no meio de suas bagunças. Afinal é muito chato ter que navegar por pastas apenas para iniciar seus programas. Também serve para você personalizar seus ícones ou disfarçar algum software que não gostaria que os colegas do trabalho vissem no seu menu.

Advertisements

Lista de países e gentílicos compatível com Google Maps

Esta lista contém os gentílicos (nacionalidades) de todos os países existentes no Google Maps. Foi criado baseado na lista de cobertura de países (https://developers.google.com/maps/coverage).

A partir dela foi feito um trabalho de relacionar informações úteis para brasileiros, como o nome do país em “versão” portuguesa e respectivo gentílico.

Como o Gist atualmente possui 1281 linhas, você pode conferir ele clicando para ver esta postagem completa ou clicando nesse link: Gist: paises-gentilicos-google-maps.json
Read More »

Cross-browser non-selectable text with HTML and CSS (English version)

I’m doing this tutorial from a need I had today and I not found a good solution in the blogs out there, only some solutions involving Javascript that do not always work or compromise other important features. Correct me if I’m wrong.

Need: I’m creating a component that simulates a select element using div elements and jQuery. The text and options contained inside there can’t be selected by the user.

When I was browsing through Google Translate, I noticed that in the language selector it implements non-selectable text, so I decided to check the source code and discovered that the solution is very simple.

Code example:

Note that:

  1. The attribute unselectable=”on” works in Internet Explorer;
  2. In the Internet Explorer you must place the unselectable attribute at all levels of the tags to be non-selectable.
  3. In the Firefox use the CSS property -moz-user-select:none.
  4. In Firefox simply set the CSS property -moz-user-select in the parent tag, according my tests, and all child tags will be non-selectable by inheritance.

Warning: I tested the solution only in Internet Explorer and Firefox 3. I haven’t tested the solutions for other browsers.

This is the English version of my already published post Texto não-selecionável com HTML e CSS (Cross-browser).

Send your questions, opinions and report errors by commenting below. Thanks!

Código para inverter texto para você copiar e colar

Bom está aí… copie e cole. Salve como html no seu desktop por exemplo e abra com um browser. Vai funcionar, é sério.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inverte texto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function inverter(){
var entrada = document.getElementById('entrada');
var saida = document.getElementById('saida');
entrada.value = entrada.value.trim();
var _e_count = entrada.value.length;
var _str_tmp = "";
for(var i=_e_count-1;i>=0;i--){
_str_tmp += entrada.value[i];
}
saida.value = _str_tmp;
}
function reverter(){
var entrada = document.getElementById('entrada');
var saida = document.getElementById('saida');
saida.value = saida.value.trim();
var _e_count = saida.value.length;
var _str_tmp = "";
for(var i=_e_count-1;i>=0;i--){
_str_tmp += saida.value[i];
}
entrada.value = _str_tmp;
}
</script>

</head>
<body>
<div>
<label for="saida">Texto normal</label><br>
<textarea id="entrada" name="entrada"></textarea>
</div>
<div>
<button type="button" onclick="inverter()">Inverter texto</button>
<button type="button" onclick="reverter()">Reverter texto</button>
</div>
<div>
<label for="saida">Texto invertido</label><br>
<textarea id="saida" name="saida"></textarea>
</div>
</body>
</html>

Texto não selecionável com HTML e CSS (Cross-browser)

Estou fazendo este tutorial a partir de uma necessidade que tive hoje e não encontrei uma boa solução nos blogs por aí, somente algumas soluções envolvendo Javascript que nem sempre funcionam ou comprometem outras funcionalidades mais importantes. Me corrijam se eu estiver errado.

Necessidade: estou criando um componente que simula um “select” usando jQuery e divs e os textos das opções contidas nele não podem ser selecionados pelo usuário.

Em uma passagem pelo Google Translate notei que na seleção de idioma ele implementa textos não-selecionáveis, então resolvi verificar o código-fonte e descobri que a solução é muito simples.

Exemplo do código:

Note que:

  1. O atributo unselectable=”on” é considerado no Internet Explorer;
  2. No Internet Explorer é necessário colocar o atributo unselectable em todos os níveis de tags a não serem selecionáveis;
  3. No Firefox deve ser utilizada a proprietade CSS -moz-user-select:none para fazer isso;
  4. No Firefox basta definir o atributo CSS -moz-user-select na tag pai (ou mãe), conforme meus testes, e todas as tags filhas serão não-selecionáveis por herança.

Atenção: Eu testei a solução somente no Internet Explorer e Firefox. Eu não testei as soluções para outros browsers.

English version: Cross-browser non-selectable text with HTML and CSS (English version).

Envie suas dúvidas, opiniões e informe erros comentando abaixo. Obrigado!