Sway no Debian 13

Olá caros, Devido a questões de frameskip e falta de tearing no Gnome Wayland decidi testar o Sway, fiquei um tempinho procurando como montar o arquivo de configuração montei com informações que achei na internet e tudo mais e está rodando tudo muito bem(como eu suspeitava, o problema não é o wayland em si, mas sim sua implementação, não tenho problemas com frame skipping no Sway) e sim, instalei o Debian gnome primeiro e só agora instalei o sway pra configurar e testar.

Porem tenho 2 problemas

Minhas configurações do Sway só ativam se eu logar no Gnome primeiro encerrar a sessão e ai entrar no Sway, se eu reinicio a máquina e entro direto no sway, alem dos temas não aplicar a waybar não aparece e o sway fica bem mais lento de abrir os aplicativos(resolvi a lentidão adicionando as flags xdg-desktop-portal e wlr no arquivo de configuração) ou seja sem logar no gnome o sway fica “cru”

Segundo problema, Já tentei configurar a Waybar várias vezes, porem eu não consigo tirar o nome da rede e fica um widget enorme.

Se puderem me ajudar fico agradecido, segue os arquivos de configuração.

Sway Config

# =========================
# Sway config (completo)
# =========================

# Tecla Mod (Super/Windows)
set $mod Mod4

# Terminal e apps
set $term alacritty
set $menu wofi --show drun --prompt "Buscar..."

# Resolução e escala
# Use 'swaymsg -t get_outputs' para encontrar o nome da saída (eDP-1, HDMI-A-1, etc.)
# Aqui forçamos para todos:
output * resolution 1600x900
# Se a UI ficar pequena/grande, ajuste escala:
# output * scale 1.0

# Tema do cursor
seat seat0 xcursor_theme Adwaita-dark 24

# Janela: bordas e foco
default_border pixel 2
hide_edge_borders smart
focus_wrapping yes
focus_follows_mouse no

# Regras de janela
for_window [app_id="pavucontrol"] floating enable, move position cursor, resize set 900 600
for_window [app_id="org.gnome.Nautilus"] floating enable

# Inicia o portal principal
exec_always /usr/libexec/xdg-desktop-portal &
# Inicia o portal específico do Wayland (WLR)
exec_always /usr/libexec/xdg-desktop-portal-wlr &

# Workspaces nomeados
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"

# Atalhos básicos
bindsym $mod+Return exec $term
bindsym $mod+d exec $menu
bindsym $mod+w kill

# Foco entre janelas
bindsym $mod+Left focus left
bindsym $mod+Right focus right
bindsym $mod+Up focus up
bindsym $mod+Down focus down

# Mover janelas
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Right move right
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Down move down

# Layouts e tiling
bindsym $mod+f fullscreen
bindsym $mod+v split v
bindsym $mod+h split h
bindsym $mod+space floating toggle
bindsym $mod+s layout stacking
bindsym $mod+shift+w layout tabbed
bindsym $mod+e layout toggle split

# Workspaces
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6		
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10

# Mover janela para workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10

# Captura de tela (usa grim, slurp, wl-clipboard)
bindsym Print exec grim - | wl-copy
bindsym Shift+Print exec sh -c 'FILE="$HOME/Pictures/$(date +%F_%H%M%S).png"; grim "$FILE"; notify-send "Screenshot" "$FILE"'
bindsym Ctrl+Print exec sh -c 'grim -g "$(slurp)" - | wl-copy'

# Volume (pamixer) e brilho (brightnessctl)	
bindsym XF86AudioRaiseVolume exec pamixer --increase 5
bindsym XF86AudioLowerVolume exec pamixer --decrease 5
bindsym XF86AudioMute exec pamixer --toggle-mute
bindsym XF86MonBrightnessUp exec brightnessctl set +10%
bindsym XF86MonBrightnessDown exec brightnessctl set 10%-

# Inicia a Waybar
bar {
    # 'swaybar_command' é a linha que você precisa para definir um painel externo
    swaybar_command waybar
}

# Papel de parede (swaybg)
exec_always swaybg -i /home/leonardo/Imagens/WallDebian/perfwall.jpg -m fill

# Notificações (mako)
exec_always mako

# Rede (nm-applet)
exec_always nm-applet

# Keyring
exec_always /usr/bin/gnome-keyring-daemon --start --components=secrets

# Iniciar apps nos workspaces
exec_always assign [app_id="vivaldi"] $ws1
exec_always assign [app_id="Alacritty"] $ws3
# Iniciar automaticamente (opcional):
# exec_always vivaldi

# Defina a variável para o tema escuro
set $gtk_theme "Adwaita-dark"

# Aplica as configurações do tema ao iniciar o Sway
exec_always {
    # Define o tema GTK (muda a aparência dos apps)
    gsettings set org.gnome.desktop.interface gtk-theme $gtk_theme

    # Define a preferência de esquema de cores (instrui os apps a usar o dark mode)
    gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
}

# Define o layout Português do Brasil
input type:keyboard xkb_layout "br"

Waybar

Styles.css

* {
    font-family: Sans, "Font Awesome 6 Free", monospace;
    font-size: 13px;
}

window#waybar {
  background-color: #1e1e2e;
  color: #cdd6f4;
  border-bottom: 1px solid #313244;
}

#workspaces button {
  padding: 0 6px;
  color: #cdd6f4;
  border-radius: 4px;
}
#workspaces button.focused {
  background: #313244;
  color: #f5e0dc;
}

#clock { font-weight: bold; }

#pulseaudio { color: #f9e2af; }
#network { color: #89b4fa; }
#battery { color: #a6e3a1; }
#tray { color: #cdd6f4; }


Config.json

{
  "layer": "top",
  "position": "top",
  "height": 30,

  "modules-left": ["sway/workspaces", "sway/mode"],
  "modules-center": ["clock"],
  "modules-right": ["tray", "pulseaudio"],

  "clock": {
    "format": "{:%d/%m/%Y %H:%M}"
  },

  "tray": {
    "icon-size": 16,
    "spacing": 8
  },

  "pulseaudio": {
    "format": "{volume}% {icon}",
    "format-muted": "mute",
    "format-icons": ["", "", ""],
    "on-click": "pavucontrol"
  },

  "battery": {
    "format": "{capacity}% {icon}",
    "format-icons": ["", "", "", "", ""],
    "states": {
      "warning": 25,
      "critical": 10
    }
  }
}

1 curtida

Botar a waybar no exec-always e baixar o nwg-look pra aplicar o tema pode ajudar. Eu nunca usei uma WM com um DE instalado junto, não sei até onde uma coisa interfere na outra.

E referente ao widget de rede? Como retirar aquele texto enorme de rede?

Consegui resolver o primeiro problema

O problema que tava causando isso era o gdm após editar a entrada do sway(/share/wayland-sessions/)

Corrigi a entrada do “exec” adicionando a seguinte linha de código

exec dbus-run-session sway

E mais uns códigos no arquivo de configuração

# Inicia a comunicação de serviços D-Bus
# exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK

# Inicia o GNOME Keyring para gerenciar senhas e segredos (essencial para navegadores)
exec_always gnome-keyring-daemon --start &

Agora fica a questão do segundo problema, como eu tiro o nome da rede no waybar?

1 curtida

Cara, o lance é tu abrir a wiki da waybar e ir configurando à tua maneira. Mas enfim, tem que procurar o módulo “network” e remover ele. Recomendo usar uma fonte nerd pros ícones aparecerem, JetBrains ou afins.