Fala galera!!
Gostaria de deixar uma contribuição aqui no tópico do BSPWM.
Para quem instalou o bspwm sem script e está com dificuldades para configurar o powermenu da polybar ou simplesmente não vai usar a polybar eu criei um aplicativo em python+tkinter para fazer a função do powermenu.
Primeiro tem que ter o módulo do tkinter
sudo apt install python3-tk
Depois, crie um arquivo com extensão .py (Ex: power.py), ponha na home ou onde desejar.
Copie e cole o código abaixo no arquivo.py que você criou
from tkinter import *
import os
# Aplicativo Para Desligar, Reiniciar e Encerrar Sessão BSPWM
# ----------------- Menu: Diálogo SIM/NÃO -------------------------------#
# Função do Botão Reiniciar
def reboot():
# Redimensionar Janela
root.geometry('250x75')
root.minsize(250, 75)
root.maxsize(250, 75)
# Mudar Etiqueta
info.config(text='Reiniciar?')
# Remover Botões iniciais
btn.pack_forget()
btn_shutdown.pack_forget()
btn_logout.pack_forget()
# Adicionar Botões de Diálogo
btn_reboot_cancel.pack(padx=5, pady=5, side=LEFT)
btn_reboot_confirm.pack(padx=5, pady=5, side=RIGHT)
# Função do Botão Desligar
def shutdown():
# Redimensionar Janela
root.geometry('250x75')
root.minsize(250, 75)
root.maxsize(250, 75)
# Mudar Etiqueta
info.config(text='Desligar?')
# Remover Botões iniciais
btn.pack_forget()
btn_shutdown.pack_forget()
btn_logout.pack_forget()
# Adicionar Botões de Diálogo
btn_shutdown_cancel.pack(padx=5, pady=5, side=LEFT)
btn_shutdown_confirm.pack(padx=5, pady=5, side=RIGHT)
# Função do Botão Encerrar Sessão
def logout():
# Redimensionar Janela
root.geometry('250x75')
root.minsize(250, 75)
root.maxsize(250, 75)
# Mudar Etiqueta
info.config(text='Encerrar Sessão?')
# Remover Botões iniciais
btn.pack_forget()
btn_shutdown.pack_forget()
btn_logout.pack_forget()
# Adicionar Botões de Diálogo
btn_logout_cancel.pack(padx=5, pady=5, side=LEFT)
btn_logout_confirm.pack(padx=5, pady=5, side=RIGHT)
# ----------------- Comandos ------------------------------------------#
# Função do Botão Não
def cancel():
root.destroy()
# Função do Botão Sim --> Reiniciar
def reiniciar():
os.system('systemctl reboot')
# Função do Botão Sim --> Desligar
def desligar():
os.system('systemctl poweroff')
# Função do Botão Sim --> Encerrar Sessão
def encerrar_sessao():
os.system('bspc quit')
# -------------------------- GUI Tkinter -------------------------------#
root = Tk()
root.title('Power Menu')
root.config(bg='#303030')
root.geometry('170x170')
root.minsize(170, 170)
root.maxsize(170, 170)
#-------------------- Etiqueta -------------------#
info = Label(root, text='Sistema')
info.config(bg='#303030', fg='#FFF')
info.pack(pady=5)
# --------------- REINICIAR (botões) --------------#
# reiniciar 1
btn = Button(root, text='Reiniciar', command=reboot)
btn.config(width=12, bg='#363636', fg='#FFF')
btn.pack(padx=5, pady=5)
# reiniciar cancel
btn_reboot_cancel =btn_reboot = Button(root, text='Não', command=cancel)
btn_reboot_cancel.config(bg='#363636', fg='#FFF')
# reiniciar confirm
btn_reboot_confirm =btn_reboot = Button(root, text='Sim', command=reiniciar)
btn_reboot_confirm.config(bg='#363636', fg='#FFF')
# --------------- DESLIGAR (botões) ----------------#
# desligar 1
btn_shutdown = Button(root, text='Desligar', command=shutdown)
btn_shutdown.config(width=12, bg='#363636', fg='#FFF')
btn_shutdown.pack(padx=5, pady=5)
# desligar cancel
btn_shutdown_cancel =btn_reboot = Button(root, text='Não', command=cancel)
btn_shutdown_cancel.config(bg='#363636', fg='#FFF')
# desligar confirm
btn_shutdown_confirm =btn_reboot = Button(root, text='Sim', command=desligar)
btn_shutdown_confirm.config(bg='#363636', fg='#FFF')
# --------------- LOGOUT (botões) -------------------#
# logout 1
btn_logout = Button(root, text='Encerrar Sessão', command=logout)
btn_logout.config(width=12, bg='#363636', fg='#FFF')
btn_logout.pack(padx=5, pady=5)
# logout cancel
btn_logout_cancel =btn_reboot = Button(root, text='Não', command=cancel)
btn_logout_cancel.config(bg='#363636', fg='#FFF')
# logout confirm
btn_logout_confirm =btn_reboot = Button(root, text='Sim', command=encerrar_sessao)
btn_logout_confirm.config(bg='#363636', fg='#FFF')
# Looping da Janela
root.mainloop()
Salve o arquivo.
Agora é só criar um atalho de teclado no arquivo sxhkd/sxhkdrc.
No meu caso eu substituí o atalho que anteriormente encerrava a sessão:
#power menu
super + alt + q
python3 /home/user/power.py
Agora sempre que apertar super+alt+q vai aparecer o power menu.
Criei isso pq não consegui achar nenhum aplicativo no repositório da distro que funcionasse.
Tmj