Este artigo explica como incorporar um widget do Google Agenda ao plano de fundo da área de trabalho do Linux. Também inclui algumas dicas de personalização.
Conky e gcalcli são usados para exibir os eventos do Google Agenda na parte superior do papel de parede da área de trabalho:
Conky é uma ferramenta que exibe informações em sua área de trabalho. Pode atuar como um monitor do sistema, tendo algumas funções integradas para exibir o uso da CPU, RAM, etc., bem como exibir saídas de comandos personalizados, entre outras.
gcalcli é uma interface de linha de comando para o Google Agenda. Usando OAuth2 para se conectar com sua conta do Google, a ferramenta pode listar seus calendários do Google, adicionar, editar e excluir eventos de calendário e muito mais.
Relacionado: MineTime: Desktop Calendar App com Google Calendar, Outlook.com, Microsoft Exchange, iCloud e suporte para CalDAV
Siga as etapas abaixo para instalar o Conky e o gcalcli e use essas ferramentas para incorporar o Google Agenda ao plano de fundo da área de trabalho. Existem etapas opcionais para personalizar o Conky, as cores do calendário e muito mais, além de adicionar este widget na inicialização.
O arquivo de configuração do Conky neste artigo usa a sintaxe Conky 1.10. Você precisará do Conky 1.10 ou mais recente para usar a configuração do Conky abaixo.
No Debian, Ubuntu ou Linux Mint, use:
sudo apt install gcalcli conky-all
Você também precisará instalar a fonte Ubuntu Mono (ou você pode alterar a fonte no código .conkyrc abaixo). Isso deve ser instalado por padrão no Ubuntu.
Você precisa executar o gcalcli com qualquer opção para iniciar o processo de autenticação OAuth2. Vamos executar o comando list
, assim:
gcalcli list
O gcalcli deve abrir uma nova página em seu navegador padrão, que pergunta se você deseja autorizar o gcalcli com sua conta do Google. Permita e prossiga para a próxima etapa.
~/.conkyrc
)Crie um arquivo chamado .conkyrc
em sua pasta de início (use Ctrl + H
para alternar entre ocultar e mostrar arquivos e pastas ocultos) e cole o seguinte neste arquivo:
conky.config = {
background = true,
update_interval = 1.5,
cpu_avg_samples = 2,
net_avg_samples = 2,
out_to_console = false,
override_utf8_locale = true,
double_buffer = true,
no_buffers = true,
text_buffer_size = 32768,
imlib_cache_size = 0,
own_window = true,
own_window_type = \'desktop\',
own_window_argb_visual = true,
own_window_argb_value = 120,
own_window_hints = \'undecorated,below,sticky,skip_taskbar,skip_pager\',
border_inner_margin = 10,
border_outer_margin = 0,
xinerama_head = 1,
alignment = \'top_right\',
gap_x = 90,
gap_y = 90,
draw_shades = true,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
use_xft = true,
font = \'Ubuntu Mono:size=12\',
xftalpha = 0.8,
uppercase = false,
default_color = \'#FFFFFF\',
own_window_colour = \'#000000\',
minimum_width = 0, minimum_height = 0,
};
conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm --monday}
]];
Para distribuições Linux que possuem gcalcli 4.0.0 ou mais recente (não o antigo 4.0.0a4, 4.0.0a3, etc.), por exemplo, Ubuntu 19.04, use --lineart=ascii
em vez de --nolineart
no código Conky acima. Você pode descobrir facilmente se sua versão gcalcli oferece suporte a --nolineart
executando gcalcli --conky --nolineart calm
em um terminal - se receber um erro dizendo "argumentos não reconhecidos: --nolineart", então você está usando uma versão mais recente de gcalcli que não oferece mais suporte a --nolineart
, e você em vez disso, será necessário usar --lineart=ascii
(--lineart=unicode
também funciona).
Agora execute o Conky com esta configuração digitando em um terminal:
conky
Agora você deve ver um widget do Google Agenda incorporado ao plano de fundo da área de trabalho, como este:
Se você já tem uma configuração Conky, nomeie o arquivo como .conkyrc2
(ou .conkyrc3
, etc.), e cada vez que você vir um comando "conky" neste artigo (ao executá-lo ou adicioná-lo à inicialização), anexe -c ~/.conkyrc2
(ou qualquer outro você nomeou o arquivo). Por exemplo, para executar uma segunda instância do Conky que usa ~/.conkyrc2
como seu arquivo de configuração, use este comando:
conky -c ~/.conkyrc2
Caso queira fechar todas as instâncias do Conky em execução, use:
killall -9 conky
Você pode modificar o conteúdo do arquivo .conkyrc
para atender às suas necessidades. O Google Agenda exibido em sua área de trabalho usando o Conky deve ser atualizado automaticamente sempre que você salvar o arquivo de configuração .conkyrc
. Caso isso não aconteça, elimine todos os processos do Conky em execução usando killall -9 conky
e execute o Conky novamente.
Por exemplo, altere os valores gap_x
e gap_y
para mover o calendário exibido em sua área de trabalho para mais perto ou mais longe do canto superior direito. A posição do canto superior direito é fornecida pela opção alignment = 'top_right'
, portanto, altere-a para mover o calendário para um canto diferente da tela.
A maioria das opções são autoexplicativas, como o valor da fonte, que é definido como Ubuntu Mono no código Conky acima. Certifique-se de que a fonte do Ubuntu esteja instalada ou altere o valor da fonte para uma fonte monoespaçada instalada em seu sistema.
Se você tiver vários monitores e quiser mover o widget de calendário para um monitor diferente, altere o valor xinerama_head
.
Fora isso, os valores usados na configuração do Conky de amostra da etapa 3 devem funcionar apenas para a maioria dos usuários. Consulte a ajuda do Conky (conky --help
) para obter mais informações.
Usando o código .conkyrc
listado na etapa 3, o calendário do Google é exibido usando os valores gcalcli padrão. As cores podem ser alteradas.
Por exemplo, você pode adicionar --nocolor
à linha execpi ~/.conkyrc
(antes da última linha) para não usar nenhuma cor gcalcli e contar com Conky para a cor do texto, alterando a linha para ficar assim:
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii --nocolor calm --monday}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart --nocolor calm --monday}
Em seguida, você pode especificar a cor do texto do calendário alterando o valor default_color
(você pode usar nomes hexadecimais ou de cores) do arquivo ~/.conkyrc
. Veja como é usar default_color = 'green'
, por exemplo:
No entanto, isso só permite usar uma cor para todo o calendário. Se você deseja alterar cores individuais, como a cor da data, o marcador agora, etc., certifique-se de não adicionar --nocolor
à linha de exceções e, em vez disso, adicione estas opções com a cor que deseja usar:
--color_border: Color of line borders
(default: \'white\')
--color_date: Color for the date
(default: \'yellow\')
--color_freebusy: Color for free/busy calendars
(default: \'default\')
--color_now_marker: Color for the now marker
(default: \'brightred\')
--color_owner: Color for owned calendars
(default: \'cyan\')
--color_reader: Color for read-only calendars
(default: \'magenta\')
--color_writer: Color for writable calendars
(default: \'green\')
Porém, não há muitas cores compatíveis. Um comentário sobre este relatório de bug menciona preto, vermelho, verde, amarelo, azul, magenta, ciano e branco como sendo suportados.
Por exemplo, para alterar a cor do calendário do marcador now para azul e a cor da data para branco, enquanto os outros elementos mantêm suas cores padrão, você pode alterar a linha execpi para esta:
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calm --monday --color_now_marker blue --color_date white}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm --monday --color_now_marker blue --color_date white}
gcalcli tem um grande número de opções. A opção --monday
por exemplo, que é adicionada ao nosso arquivo .conkyrc
, define o primeiro dia da semana como segunda-feira. Remova-o da linha execpi (no arquivo .conkyrc
) para definir o primeiro dia da semana como domingo.
A opção calm
configura gcalcli para exibir a agenda do mês atual em um formato de calendário. Para exibir a semana atual em vez do mês, use calw
em vez de calm
, assim:
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calw --monday}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calw --monday}
Esta é a aparência do widget em sua área de trabalho:
Outra visualização possível é agenda
, cujo padrão é começar no dia atual às 12h (e exibe eventos para os próximos 5 dias), mas pode aceitar datas personalizadas. Substitua calm
por agenda
para usá-lo e também remova --monday
se estiver lá (não há necessidade disso nesta visualização, e gcalcli gerará um erro), assim:
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii agenda}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart agenda}
É assim que fica com apenas 1 evento nos próximos 5 dias:
Você também pode exibir o calendário do mês atual e uma agenda de 5 dias sobre ele, adicionando duas linhas execpi em vez de uma ao arquivo ~/.conkyrc
, como este:
conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii agenda}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calm}
]];
conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart agenda}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm}
]];
É assim que parece na área de trabalho:
Para ainda mais personalização, verifique o gcalcli --help
e o projeto GitHub página.
Como uma observação lateral, gcalcli é executado usando PYTHONIOENCODING=utf8
para evitar alguns possíveis problemas com a exibição do calendário - você pode remover isso se o calendário for exibido corretamente para você. Além disso, usei a opção --nolineart
gcalcli (ou --lineart=ascii
em vez disso, para versões mais recentes do gcalcli), que desativa a arte de linha, porque Conky não pode exibir a arte de linha de gcalcli corretamente.
5. (Opcional) Adicione o widget de desktop Conky do Google Agenda para inicializar.
Para adicioná-lo à inicialização, abra Startup Applications ou equivalente em seu inicializador de aplicativos, adicione um novo programa de inicialização, digite Conky Google Calendar como seu nome e use o seguinte no campo de comando:
conky --daemonize --pause=5
Como alternativa, você pode criar um arquivo chamado conky.desktop
em ~/.config/autostart/
com o seguinte conteúdo:
[Desktop Entry]
Type=Application
Exec=conky --daemonize --pause=5
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Conky Google Calendar
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How To Embed A Google Calendar Widget On Your Linux Desktop Background