Postix - Um postit que sempre quis no Linux

Fala pessoal, tudo bem?

Queria compartilhar com vocês um projetinho que eu desenvolvi chamado Postix. Era um projetinho que sempre procurei no linux, mas nenhum funcionava como eu gostaria que funcionasse. Mas é basicamente um app de post-it para desktop Linux, simples, leve e sempre visível. Dá pra criar várias notas, usar cores diferentes, escrever em markdown, adicionar imagens e até configurar alarmes com som personalizado.

A ideia foi criar algo prático pro dia a dia, sem depender de nuvem, tudo rodando localmente.

Se quiserem dar uma olhada, testar ou até contribuir:
:backhand_index_pointing_right: https://github.com/arthur-alves/postix

Funcionou muito bem pra mim. Espero que funcione para vocês.

Na página de release já tem o .deb para fazer a instalação. Todo open Source e auditável.

11 curtidas

tentei o .deb no linux mint e no biglinux, ele nao abre.

tem que instalar o python?

2 curtidas

Olá @mobostar0101, primeiramente muito obrigado por me ajudar a testar. Gerei uma nova versão. Baixe e instale a mais nova versão se possível. Depois, abra o terminal e veja se está com missing dependencies com o comando:

sudo apt install -f

Depois abra-o novamente. Confira se ele ficou minimizado na bandeja do sistema, proximo ao relógio. Testado aqui com Linux Mint 22. Qualquer coisa só falar.

2 curtidas

sem sucesso, tentei a Postix v1.0.5
tbm tentei o sudo apt install -f

1 curtida

@mobostar0101 Consegue digitar no terminal: postix e me mostrar o que aparece por favor?

em texto seria isso:

linux@linux:~$ postix
Traceback (most recent call last):
  File "/usr/lib/postix/postix/main.py", line 20, in <module>
    main()
  File "/usr/lib/postix/postix/main.py", line 15, in main
    app = PostixApp()
          ^^^^^^^^^^^
  File "/usr/lib/postix/postix/app.py", line 29, in __init__
    db.init_db()
  File "/usr/lib/postix/postix/database.py", line 26, in init_db
    _migrate(conn)
  File "/usr/lib/postix/postix/database.py", line 21, in _migrate
    conn.execute("ALTER TABLE alarms ADD COLUMN sound_path TEXT")
sqlite3.OperationalError: no such table: alarms
1 curtida

Confesso que Isto ai foi oreiada minha. Como o banco ja existia na minha maquina, na hora do release eu deveria ter deletado o banco ou ter feito bkp para retestar. Por isto deu problema. Agora refiz a escrita do banco mais migration. Nova versão disponível:

Mais uma vez muito obrigado @mobostar0101

1 curtida

Nao estou conseguindo baixar pelo github, fica carregando eternamente.

1 curtida

Tenta diretamente por este link para ver:

Ou abra o projeto neste link e clique para ir na página de releases.

Vale a pena testar permissões arquivo do DB, e em qualquer arquivo acessado pelo seu projeto. Eu quase já fiz deploy sem verificar isso e com certeza daria ruim. Não mecho com Python, apenas Rust e TS, mas acho q no Python um Try/Catch já deve resolver…

1 curtida

Já resolvi isso. Como é local na pasta local e SQLite. Não tem muito bo.

1 curtida

parabéns pelo trabalho. vai uns ajustes aqui e ali e tudo entra nos eixos. :slight_smile:

2 curtidas

deu certo na versao 1.0.6

2 curtidas

Sim, com certeza as chances são baixas, mas se por algum motivo a pasta .local/share estiver com r--, ou algum usuario mecher nessa permissão, é interessante q a msg de erro retorne algo explicativo, e não um simples panic do python. Q é oq esta acontecendo, removi a permissão, e não temos msg nem informacão do usuario:

Traceback (most recent call last):
  File "/home/henrique/Downloads/postix/postix/main.py", line 20, in <module>
    main()
    ~~~~^^
  File "/home/henrique/Downloads/postix/postix/main.py", line 15, in main
    app = PostixApp()
  File "/home/henrique/Downloads/postix/postix/app.py", line 29, in __init__
    db.init_db()
    ~~~~~~~~~~^^
  File "/home/henrique/Downloads/postix/postix/database.py", line 29, in init_db
    with get_connection() as conn:
         ~~~~~~~~~~~~~~^^
  File "/home/henrique/Downloads/postix/postix/database.py", line 11, in get_connection
    conn = sqlite3.connect(str(DB_PATH))
sqlite3.OperationalError: unable to open database file

Se algo pode dar errado, muito provavelmende vai dar errado pra alguem. É fácil de resolver, no TypeScript pelo menos, eu fiz isso aqui:

export const prepareDB = (dir: string, path: string) => {
  try {
    if (!fs.existsSync(dir)) {
      fs.mkdirSync(dir, { recursive: true })
    }
    const db = new Database(path, { create: true })
    return db
  } catch (error) {
    console.error(`${error}`)
    process.exit(1)
  }
}
3 curtidas

funcionou aqui ,obrigado

1 curtida

Show. Agradeço, vc tem razão, quando mais facilitar melhor.

2 curtidas

Eu que agradeço @metal_slug e @mobostar0101 por me ajudar nos testes. Ja evoluiu bem. Obrigado mesmo!

1 curtida

Na versão 1.0.7 agora informa o usuário e corrige caso seja possível corrigir com o usuário instalado somente na pasta do db. Obrigado pela dica.

2 curtidas