Executando verificação de segurança...
1

Registrando um Desktop APP para Iniciar com Windows em GO

O porquê...

Comecei recentemente uma nova etapa na minha carreira e junto a isso veio o Go.

Pessoalmente não sou uma pessoa que toma partido em linguagens, é o que precisam? Então, bora aprender. E seguindo essa filosofia, passei os últimos 45 dias me aprofundando no Go e nas ferramentas para entregar a task. Por estar começando agora e, por fim, conseguir respirar (uffa!), achei que seria uma boa experiência compartilhar algumas das dificuldades que tive e, com fé, adquirir uns bons insights no assunto.

Escolhi falar sobre iniciar o app OS, pois uma vez encontrado, é relativamente simples e me daria espaço para colocar a introdução.

A Task

De forma direta e simples, precisamos que o app inicie junto com o Windows, e assim como quase todo assunto em Go, ao procurar como fazer, pode-se encontrar 3 respostas de maneira rápida:

1: Alguém já teve esse problema, temos um pacote pronto que está sempre sendo atualizado pela comunidade.
2: Não é uma solicitação tão comum, foi feito um pacote, mas que é difícil de encontrar ou está completamente desatualizado.
3: Hora de trabalhar a criatividade.

No meu caso, foi a situação 2, mas, graças à boa ajuda do Reddit e do ChatGPT, encontrei a solução.

https://github.com/emersion/go-autostart

func SetStartWithOS() error {
	path, err := os.Executable()
	if err != nil {
		return err
	}

	start := &autostart.App{
		Name:        "Prox",
		Exec:        []string{path, "-c", "echo autostart >> ~/autostart.txt"},
		DisplayName: "Prox",
	}

	if !start.IsEnabled() {
		if err := start.Enable(); err != nil {
			return err
		}
	}

	return nil
}

O uso é bem simples e de fácil compreensão. Entrega nada mais, nada menos do que você precisa.

Alternativas

Alguém já passou pela mesma situação, qual foi a solução encontrada?

Não sou bom em redigir esse tipo de conteúdo, entretanto, vejo que se tornou algo importante para o desenvolvimento pessoal. Estou aberto a quaisquer críticas e sugestões.
Obs: correção de texto realziada pelo chatGPT
Carregando publicação patrocinada...