Um widget de alarme premium desenvolvido para o sidebar do Quickshell.
Warning
Compatibilidade Restrita: Este projeto NÃO é um widget genérico. Ele foi construído usando os componentes específicos (Appearance.qml, qs.modules.common.widgets, etc.) dos dotfiles do end-4 / illogical-impulse (perfil ii).
Requisitos: Arch Linux, Hyprland, Quickshell, e os dotfiles end-4 instalados.
- Seleção de Tempo: Minutos e segundos com controles de tamanho generoso para facilidade de toque e clique.
- Design Nativo: Integrado perfeitamente com as cores e formas do perfil
ii. - Alertas Sonoros: Usa o
canberra-gtk-playpara enviar bips de sistema leves. - Modos de Alarme: Bip único (ao terminar o tempo) ou modo contínuo que repete o som a cada 2 segundos até ser manualmente parado.
- Interface Dinâmica: Três estados visuais: Configuração, Contagem regressiva (números grandes) e Alarme tocando.
- Internacionalização: Todas as strings no código (como "Alarm", "Start", "Stop") estão em inglês. Se você utilizar o Quickshell num idioma nativo diferente e quiser suporte nele, basta adicionar essas palavras como chave no seu arquivo json de tradução (ex:
ja_JP.json,pt_BR.json).
Para que o som de alarme funcione, você precisará do pacote associado ao canberra instalado no seu sistema:
- Arch Linux:
sudo pacman -S libcanberra - Ubuntu/Debian (Derivadas):
sudo apt install libcanberra-gtk3-module
Você pode usar os scripts fornecidos neste repositório para instalar ou remover automaticamente o componente. Eles cuidam de registrar (e remover) o widget do seu BottomWidgetGroup.qml magicamente!
chmod +x install.sh
./install.shchmod +x uninstall.sh
./uninstall.sh(Ele remove os arquivos e comenta a aba do alarme automaticamente para sumir da sidebar)
Para evitar um conflito visual caso o ícone de seleção na barra lateral fique "esticado" horizontalmente, siga este passo:
- Abra o arquivo
~/.config/quickshell/ii/modules/common/widgets/NavigationRailTabArray.qml. - Altere a propriedade
implicitWidthdo retângulo de destaque para esta versão robusta:
implicitWidth: {
// Ignora o Repeater (children[0]) para encontrar a largura visual do botao real
let child = tabBarColumn.children[root.currentIndex + 1];
return child && child.visualWidth !== undefined ? child.visualWidth : (tabBarColumn.children[root.currentIndex]?.visualWidth ?? 100);
}Criado como peça complementar para os dotfiles do end-4. Sinta-se livre para customizar!
