Bem-vindo: Qui, 28 de Março 2024, 16:10 Pesquisa avançada

Nível de cafeína baixo

Escreveu alguma aplicação ou script que quer partilhar? Ou conhece algo que quer partilhar? Sabe alguma linguagem de programação e quer partilhar esse conhecimento com um tutorial? Tem alguma dúvida em alguma linguagem? Então este é o sítio certo.

Nível de cafeína baixo

Mensagempor fabioluciano » Seg, 20 de Junho 2011, 9:59

Esse script para alguns é inútil, mas pra mim que sou mega viciado em café e tento não praticar a procastinação em frente ao pc, e super útil.

O Script abaixo possui duas dependências, o python-notify e oo xprintidle. Para instalá-los, faça o seguinte:
sudo apt-get install -y python-notify
sudo apt-get install -y xprintidle


#! /usr/bin/python
# -*- coding: iso-8859-1 -*-

# Dependencias pynotify e xprintidle

import commands
import time
import pynotify

msg = 'Computador idle por mais de 5 minutos. Pegue café.'
limit = 3000000

while 1:
idle = int(commands.getoutput('xprintidle'))
if idle > limit:
notification = pynotify.Notification("Cafeinne", msg)
notification.show()

time.sleep(60)
Avatar do usuário
fabioluciano
 
Mensagens: 6
Registrado em: 20 Junho, 2011
Localização: Brasília - Brasil

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Ter, 21 de Junho 2011, 2:04

Olá Fábio,

Segundo entendi ao ler o código, o seu programa contabiliza o tempo parado e ao fim de 5 minutos de tempo acumulado ele avisa, estou certo?

É interessante a ideia, mas o resultado deve ser um pouco de cafeína a mais, não? o.0
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Re: Nível de cafeína baixo

Mensagempor fabioluciano » Ter, 21 de Junho 2011, 19:39

Isso se você ficar tempo demais em frente ao pc sem fazer nada. Esse script só é válido de ser usado quando se está trabalhando. Se for em casa, nada melhor que ir tomar uma corridinha.
Avatar do usuário
fabioluciano
 
Mensagens: 6
Registrado em: 20 Junho, 2011
Localização: Brasília - Brasil

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Qua, 22 de Junho 2011, 0:13

Hei de experimentar o seu script! Acho que tem um bom potencial para aumentar a produtividade! Aliás, estou tão confiante que já estou a pensar que talvez devesse pô-lo na lista de próximos artigos com alta prioridade, mas antes quero testá-lo! 8)
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Qua, 29 de Junho 2011, 16:33

Olá Fábio,

Hoje vi uma imagem sobre o tema referido neste artigo que merece ser mencionada, pois é uma grande verdade:
Imagem

Imagem retirada do site LifeHacker.
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Re: Nível de cafeína baixo

Mensagempor mrk3004 » Seg, 5 de Setembro 2011, 5:54

Haha, boa idéia isso.

houve uma pequena alteração na lib notify mais atual, já deixo ai o fix:

Código: Selecionar todos
#! /usr/bin/python
# -*- coding: iso-8859-1 -*-

# Dependencias pynotify e xprintidle

import commands
import time
import pynotify

msg = 'Computador idle por mais de 5 minutos. Pegue café.'
limit = 3000000

while 1:
  idle = int(commands.getoutput('xprintidle'))
  if idle > limit:
    if pynotify.init("cafe"):
       notification = pynotify.Notification("Cafeinne", msg)
       notification.show()
       time.sleep(60)
    else:
       print "Houve um problema ao iniciar o módulo pynotify"
O gato imortal existe, em algum mundo intermediário entre a vida e a morte, observando e esperando, passivo até o momento em que o espírito humano se torna livre. Então, e somente então, ele irá liderar a alma até seu repouso final.
Avatar do usuário
mrk3004
 
Mensagens: 23
Registrado em: 05 Setembro, 2011

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Seg, 5 de Setembro 2011, 15:45

Bem, hoje experimentei e reparei que o funcionamento é, peço desculpa por dizer isto, um pouco absurdo :\
É que com isto, o script tá sempre a utilizar um ciclo infinito a toda a hora, sempre constantemente a puxar o processador ao máximo. Creio que isto não é uma boa solução a utilizar pois baixará com certeza o aproveitamento do processador.

Assim sugiro uma espera de no mínimo um segundo por cada iteração do ciclo. Mas mesmo um segundo acho demasiado, portanto eu diria que de 10 em 10 segundos verificar isso é mais que suficiente! Já agora, na minha opinião, e aqui é mesmo uma opinião de gosto e nada mais, estar parado 5 minutos é uma coisa rara, por isso eu diria um minuto...

O resultado poderia ser o seguinte:
Código: Selecionar todos
#! /usr/bin/python
# -*- coding: iso-8859-1 -*-

# Dependencias pynotify e xprintidle

import commands
import time
import pynotify

msg = 'Computador idle por mais de 1 minuto. Pegue café.'
limit = 60000

while 1:
  idle = int(commands.getoutput('xprintidle'))
  if idle > limit:
    if pynotify.init("cafe"):
       notification = pynotify.Notification("Cafeinne", msg)
       notification.show()
       time.sleep(60)
    else:
       print "Houve um problema ao iniciar o módulo pynotify"
  time.sleep(15)
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Seg, 5 de Setembro 2011, 15:50

E agora para ficar ainda melhor, alterei também a mensagem de apresentação mostrando o ícone do excelente programa Caffeine (que podem saber mais sobre ele clicando aqui). O resultado, depois de um minuto de inatividade é o seguinte:
Imagem

Código aqui:
Código: Selecionar todos
#! /usr/bin/python
# -*- coding: iso-8859-1 -*-

# Dependencias pynotify e xprintidle

import commands
import time
import pynotify

msg = 'Computador inativo por mais de 1 minuto. Pegue café.'
limit = 60000

while 1:
  idle = int(commands.getoutput('xprintidle'))
  if idle > limit:
    if pynotify.init("cafe"):
       notification = pynotify.Notification("Cafeinne", msg,"caffeine")
       notification.show()
       time.sleep(60)
    else:
       print "Houve um problema ao iniciar o módulo pynotify"
  time.sleep(14)
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Re: Nível de cafeína baixo

Mensagempor Miguel Fonseca » Seg, 5 de Setembro 2011, 18:47

Boas Cláudio, tenho três questões:

- Acrescentei a extensão "sh" ao script, isto está correcto?

- Devo pôr o script a reiniciar com o SO?

- E, na tentativa que efectuei ele só funcionou uma vez. Ou seja, quando deixei o PC inactivo por mais 1 minuto, não voltou a aparecer a mensagem. Como ultrapassar esta situação?


Cumps.

P.S. - Isto dá muito jeito, pois às vezes perdemos a noção do tempo que estamos em frente ao PC.
It is only in Love and Murder, that we still remain sincere! - Friedrich Durrenmatt
Avatar do usuário
Miguel Fonseca
Bleeding-edge Helper
 
Mensagens: 2512
Registrado em: 10 Junho, 2011

Re: Nível de cafeína baixo

Mensagempor Claudio Novais » Seg, 5 de Setembro 2011, 20:39

Miguel72 » Seg Set 05, 2011 6:47 pm escreveu:Boas Cláudio, tenho três questões:

- Acrescentei a extensão "sh" ao script, isto está correcto?

- Devo pôr o script a reiniciar com o SO?

- E, na tentativa que efectuei ele só funcionou uma vez. Ou seja, quando deixei o PC inactivo por mais 1 minuto, não voltou a aparecer a mensagem. Como ultrapassar esta situação?


Cumps.

P.S. - Isto dá muito jeito, pois às vezes perdemos a noção do tempo que estamos em frente ao PC.


Olá Miguel!

Vou-te responder por pontos para ser mais fácil de ler:
  1. Creio que em linux a extensão só tem algum sentido em alto nível, ou seja, na utilização de aplicações que utilizam o sistema visual, por exemplo o gnome. Quando as coisas são feitas através de scripts ou consola, a extensão pouco vale (claro que em muitos casos é imperial para saber qual o algoritmo, mas de forma geral é assim). Quer isto dizer que se mandas um programa executar um ficheiro através do terminal, pouco interessa quem tem a extensão X ou Y.
    Agora sobre essa questão em concreto, não fará qualquer diferença pois o executar desse ficheiro fará com que o Ubuntu analise a primeira linha e conforme o que diz lá ele execute o programa. Neste caso em concreto, aquela primeira linha avisa que é código python e, já agora, a segunda diz a codificação dos caracteres que também é muito importante para ele saber como executar.
  2. Pode ser adicionado sem problemas ao arranque, em conjunto com as outras aplicações do Ubuntu. Eu prefiro apenas quando precisar mesmo a sério, por isso não o adicionei ao arranque... ;)
  3. O código, no caso do meu, de 14 em 14 segundos verifica se passou um minuto de inatividade, se passar avisa! E quando avisar espera um minuto e volta a ver outra vez isso mesmo! ou seja, se tiver 2 3 4 minutos inativo ele vai avisar de minuto a minuto! ou melhor, como tem esses 14 segundos, vai ser de 74 em 74 segundos! ;)
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Próximo

Voltar para Scripts, programação e aplicações em desenvolvimento

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 61 visitantes