You are not logged in.

#1 2025-08-29 19:03:31

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Tutorial - trixie wayfire

L7cThHKU_t.png fC2YzWFP_t.png

https://wayfire.org/

@unklar, here we go!

This tutorial assumes you have a Debian trixie netinstall with a working internet connection but no desktop environment (at install you unchecked everything except "standard system utilities"). I'm using gdm3 for this setup as it's the best wayland desktop manager at the moment, in my humble opinion, and it will bring in a lot of necessary packages and make things much easier. If you already have a desktop installed, this tutorial will need adjusting (but that's outside the scope of this thread).

Ok, you're at a TYY shell and you've logged in. Your sources have 'main contrib non-free non-free-firmware' in them and your new system is all up to date...

sudo apt install --no-install-recommends gdm3

Let the hate flow through you. I can feel it's power.

sudo apt install wayfire wf-shell wcm mako-notifier xfce4-terminal nautilus-admin lxpolkit pkexec firefox-esr gedit loupe celluloid nwg-look swaylock grim slurp gnome-system-monitor conky-all htop btop fastfetch pavucontrol xdg-desktop-portal-wlr xdg-user-dirs dconf-editor unifont

Indulge me with that package list for now, you can make changes later.

sudo apt install network-manager-gnome

Now fix /etc/network/interfaces to work with network manager...

sudo nano /etc/network/interfaces

... by commenting out everything under line #9 starting with "The primary network interface".

We're close. A few more steps.

sudo reboot

You should be at a login screen with a dark grey background and you as the user. Hit Enter and enter your password. Congrats and surprise, you have logged in to a wayland-only GNOME session! You need to do a couple of things here that will make beginning with wayfire much easier... press the Super/Windows key to get to the desktop, then click the clock (upper right) to open the network manager and connect to your WiFi if you have it.

Needed by everyone, press super and type 'term', hit Enter and xfce4-terminal should open. Use nano to create these 2 files with the following content. First the default wayfire config with two lines added (the first 2 under autostart, which fixes apps taking forever to open)...

cd .config
nano wayfire.ini

Paste in the following...

# Default config for Wayfire
#
# Copy this to ~/.config/wayfire.ini and edit it to your liking.
#
# Take the tutorial to get started.
# https://github.com/WayfireWM/wayfire/wiki/Tutorial
#
# Read the Configuration document for a complete reference.
# https://github.com/WayfireWM/wayfire/wiki/Configuration

# Input configuration ──────────────────────────────────────────────────────────

# Example configuration:
#
# [input]
# xkb_layout = us,fr
# xkb_variant = dvorak,bepo
# xkb_options = grp:win_space_toggle
#
# See Input options for a complete reference.
# https://github.com/WayfireWM/wayfire/wiki/Configuration#input

# Output configuration ─────────────────────────────────────────────────────────

# Example configuration:
#
# [output:eDP-1]
# mode = 1920x1080@60000
# position = 0,0
# transform = normal
# scale = 1.000000
#
# You can get the names of your outputs with wlr-randr.
# https://github.com/emersion/wlr-randr
#
# See also kanshi for configuring your outputs automatically.
# https://wayland.emersion.fr/kanshi/
#
# See Output options for a complete reference.
# https://github.com/WayfireWM/wayfire/wiki/Configuration#output

# Core options ─────────────────────────────────────────────────────────────────

[core]

# List of plugins to be enabled.
# See the Configuration document for a complete list.
plugins = \
  alpha \
  animate \
  autostart \
  command \
  cube \
  decoration \
  expo \
  fast-switcher \
  fisheye \
  foreign-toplevel \
  grid \
  gtk-shell \
  idle \
  invert \
  move \
  oswitch \
  place \
  resize \
  session-lock \
  shortcuts-inhibit \
  switcher \
  vswitch \
  wayfire-shell \
  window-rules \
  wm-actions \
  wobbly \
  wrot \
  zoom

# Note: [blur] is not enabled by default, because it can be resource-intensive.
# Feel free to add it to the list if you want it.
# You can find its documentation here:
# https://github.com/WayfireWM/wayfire/wiki/Configuration#blur

# Close focused window.
close_top_view = <super> KEY_Q | <alt> KEY_F4

# Workspaces arranged into a grid: 3 × 3.
vwidth = 3
vheight = 3

# Prefer client-side decoration or server-side decoration
preferred_decoration_mode = client

# Mouse bindings ───────────────────────────────────────────────────────────────

# Drag windows by holding down Super and left mouse button.
[move]
activate = <super> BTN_LEFT

# Resize them with right mouse button + Super.
[resize]
activate = <super> BTN_RIGHT

# Zoom in the desktop by scrolling + Super.
[zoom]
modifier = <super>

# Change opacity by scrolling with Super + Alt.
[alpha]
modifier = <super> <alt>

# Rotate windows with the mouse.
[wrot]
activate = <super> <ctrl> BTN_RIGHT

# Fisheye effect.
[fisheye]
toggle = <super> <ctrl> KEY_F

# Startup commands ─────────────────────────────────────────────────────────────

[autostart]
importenv = systemctl --user import-environment DISPLAY WAYLAND_DISPLAY
dbusupdate = hash dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
#Gtk+3 applications slow startup or .desktop files not opening
#https://github.com/WayfireWM/wayfire/wiki/Tips-&-Tricks#gtk3-applications-slow-startup-or-desktop-files-not-opening
0_env = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XAUTHORITY

# Automatically start background and panel.
# Set to false if you want to override the default clients.
autostart_wf_shell = true

# Set the wallpaper, start a panel and dock if you want one.
# https://github.com/WayfireWM/wf-shell
#
# These are started by the autostart_wf_shell option above.
#
# background = wf-background
# panel = wf-panel
#
# You may also use wf-dock,
# which is included in wf-shell but is not enabled by default.
#
# dock = wf-dock

# Output configuration
# https://wayland.emersion.fr/kanshi/
outputs = kanshi

# Notifications
# https://wayland.emersion.fr/mako/
notifications = mako

# Screen color temperature
# https://sr.ht/~kennylevinsen/wlsunset/
gamma = wlsunset

# Idle configuration
# https://github.com/swaywm/swayidle
# https://github.com/swaywm/swaylock
idle = swayidle before-sleep swaylock

# XDG desktop portal
# Needed by some GTK applications
portal = /usr/libexec/xdg-desktop-portal

# Example configuration:
#
# [idle]
# toggle = <super> KEY_Z
# screensaver_timeout = 300
# dpms_timeout = 600
#
# Disables the compositor going idle with Super + z.
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds.

# Applications ─────────────────────────────────────────────────────────────────

[command]

# Start a terminal
# https://github.com/alacritty/alacritty
binding_terminal = <super> KEY_ENTER
command_terminal = alacritty

# Start your launcher
# https://hg.sr.ht/~scoopta/wofi
# Note: Add mode=run or mode=drun to ~/.config/wofi/config.
# You can also specify the mode with --show option.
binding_launcher = <super> <shift> KEY_ENTER
command_launcher = wofi

# Screen locker
# https://github.com/swaywm/swaylock
binding_lock = <super> <shift> KEY_ESC
command_lock = swaylock

# Logout
# https://github.com/ArtsyMacaw/wlogout
binding_logout = <super> KEY_ESC
command_logout = wlogout

# Screenshots
# https://wayland.emersion.fr/grim/
# https://wayland.emersion.fr/slurp/
binding_screenshot = KEY_PRINT
command_screenshot = grim $(date '+%F_%T').webp
binding_screenshot_interactive = <shift> KEY_PRINT
command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webp

# Volume controls
# https://alsa-project.org
repeatable_binding_volume_up = KEY_VOLUMEUP
command_volume_up = amixer set Master 5%+
repeatable_binding_volume_down = KEY_VOLUMEDOWN
command_volume_down = amixer set Master 5%-
binding_mute = KEY_MUTE
command_mute = amixer set Master toggle

# Screen brightness
# https://haikarainen.github.io/light/
repeatable_binding_light_up = KEY_BRIGHTNESSUP
command_light_up = light -A 5
repeatable_binding_light_down = KEY_BRIGHTNESSDOWN
command_light_down = light -U 5

# Windows ──────────────────────────────────────────────────────────────────────

# Actions related to window management functionalities.
#
# Example configuration:
#
# [wm-actions]
# toggle_fullscreen = <super> KEY_F
# toggle_always_on_top = <super> KEY_X
# toggle_sticky = <super> <shift> KEY_X

# Position the windows in certain regions of the output.
[grid]
#
# ⇱ ↑ ⇲   │ 7 8 9
# ← f →   │ 4 5 6
# ⇱ ↓ ⇲ d │ 1 2 3 0
# ‾   ‾
slot_bl = <super> KEY_KP1
slot_b = <super> KEY_KP2
slot_br = <super> KEY_KP3
slot_l = <super> KEY_LEFT | <super> KEY_KP4
slot_c = <super> KEY_UP | <super> KEY_KP5
slot_r = <super> KEY_RIGHT | <super> KEY_KP6
slot_tl = <super> KEY_KP7
slot_t = <super> KEY_KP8
slot_tr = <super> KEY_KP9
# Restore default.
restore = <super> KEY_DOWN | <super> KEY_KP0

# Change active window with an animation.
[switcher]
next_view = <alt> KEY_TAB
prev_view = <alt> <shift> KEY_TAB

# Simple active window switcher.
[fast-switcher]
activate = <alt> KEY_ESC

# Workspaces ───────────────────────────────────────────────────────────────────

# Switch to workspace.
[vswitch]
binding_left = <ctrl> <super> KEY_LEFT
binding_down = <ctrl> <super> KEY_DOWN
binding_up = <ctrl> <super> KEY_UP
binding_right = <ctrl> <super> KEY_RIGHT
# Move the focused window with the same key-bindings, but add Shift.
with_win_left = <ctrl> <super> <shift> KEY_LEFT
with_win_down = <ctrl> <super> <shift> KEY_DOWN
with_win_up = <ctrl> <super> <shift> KEY_UP
with_win_right = <ctrl> <super> <shift> KEY_RIGHT

# Show the current workspace row as a cube.
[cube]
activate = <ctrl> <alt> BTN_LEFT
# Switch to the next or previous workspace.
#rotate_left = <super> <ctrl> KEY_H
#rotate_right = <super> <ctrl> KEY_L

# Show an overview of all workspaces.
[expo]
toggle = <super> KEY_E
# Select a workspace.
# Workspaces are arranged into a grid of 3 × 3.
# The numbering is left to right, line by line.
#
# ⇱ k ⇲
# h ⏎ l
# ⇱ j ⇲
# ‾   ‾
# See core.vwidth and core.vheight for configuring the grid.
select_workspace_1 = KEY_1
select_workspace_2 = KEY_2
select_workspace_3 = KEY_3
select_workspace_4 = KEY_4
select_workspace_5 = KEY_5
select_workspace_6 = KEY_6
select_workspace_7 = KEY_7
select_workspace_8 = KEY_8
select_workspace_9 = KEY_9

# Outputs ──────────────────────────────────────────────────────────────────────

# Change focused output.
[oswitch]
# Switch to the next output.
next_output = <super> KEY_O
# Same with the window.
next_output_with_win = <super> <shift> KEY_O

# Invert the colors of the whole output.
[invert]
toggle = <super> KEY_I

# Send toggle menu event.
[wayfire-shell]
toggle_menu = <super>

# Rules ────────────────────────────────────────────────────────────────────────

# Example configuration:
#
# [window-rules]
# maximize_alacritty = on created if app_id is "Alacritty" then maximize
#
# You can get the properties of your applications with the following command:
# $ WAYLAND_DEBUG=1 alacritty 2>&1 | kak
#
# See Window rules for a complete reference.
# https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules

Now the default wf-shell config...

nano wf-shell.ini

Content...

[background]
# Full path to image or directory of images
# image = /usr/share/wayfire/wallpaper.jpg
# How to fit the image to screens
# One of: fill_and_crop, preserve_aspect, stretch
fill_mode = stretch
# In the case of directory, timeout between changing backgrounds, in seconds
cycle_timeout = 150
# In the case of directory, whether or not to randomize images
randomize = 0



[panel]
# widgets_* is a space-separated list of widgets to be displayed
# at the corresponding part of the panel
# Supported widgets are: launchers clock network battery window-list volume menu notifications tray command-output
# Special widgets are "spacing" and "separator" widgets, they can be used to add padding everywhere on the panel
# To use them, just append the amount of pixels you want as a padding
# to the word "spacing" or "separator" and use it as a plugin
widgets_left = menu spacing4 launchers window-list
widgets_center = none
widgets_right = command-output tray notifications volume network battery clock

# The minimal size of the panel. Note that some widgets might force panel bigger than this size.
# All widgets also have individual settings for size
# Changing this requires a panel restart
minimal_height = 24

# automatically hide when pointer isn't over the panel
autohide = false

# time in milliseconds to wait before hiding
autohide_duration = 300

# layer can be top, bottom, overlay or background
layer = top

# where to position panel
# Possible values are only "top" and "bottom"
position = top

# set the background color.
background_color = gtk_headerbar # match the color of a GtkHeaderbar
#background_color = \#555f # Hex color (4 or 8 Bytes), for example \#ffff or \#ffffffff for white
#background_color = 0.033 0.041 0.047 0.9 # RGBA color, 1.0 0.0 0.0 0.5 for semi-transparent red


# Configuration for the launchers widget
# can be a desktop file
launcher_chrome = google-chrome.desktop
launcher_firefox = firefox.desktop
launcher_terminal1 = terminator.desktop
launcher_terminal2 = org.gnome.Terminal.desktop
launcher_gedit = org.gnome.gedit.desktop

# or a combination of bash command + icon
launcher_cmd_1 = env XDG_CURRENT_DESKTOP=GNOME gnome-control-center
launcher_icon_1 = /usr/share/icons/gnome/48x48/categories/preferences-system.png

launcher_nau = org.gnome.Nautilus.desktop

# spacing between widgets, can be negative
launchers_spacing = 4

# size of the launcher icon
launchers_size = 42


# Configuration for the clock widget
# clock format, uses the Glib Time formatting
clock_format = %e %a %H:%M
# clock font
clock_font = DejaVu Sans:style=Book 12


# Configuration for the battery widget
# How much info to display:
# 0 -> only icon, 1 -> icon + percentage, 2 -> full info
battery_status = 1
battery_icon_size = 32

# invert the colors of the icon, needs to be adjusted according to the size of the icons,
# because some icon sizes are white, and others are black
battery_icon_invert = 1

# Font to use in the battery percentage indicator
battery_font = default


# Configuration for the network widget
# Whether to display connection details, for ex. Wifi AP name
network_status = 1

network_status_font = DejaVu Sans:style=Book 10
# network_icon_size = 30
network_icon_invert_color = 1

# whether to colour the wifi signal strength
network_status_use_color = yes

# Show a list of application categories in menu
menu_show_categories = false

# Show application icons in a list view
# false shows them as a grid
menu_list = false

# Configuration for the menu widget
# whether to enable fuzzy search in the menu
menu_fuzzy_search = 1

# Minimum width for category list. Shares height with content Below
menu_min_category_width = 200

# Minimum width and height for the contents of the menu.
# Can be useful for small screens and/or high DPI scaling.
menu_min_content_width = 500
menu_min_content_height = 500

# image file to use as the menu icon
# menu_icon = /usr/share/wayfire/icons/wayfire.png

# command run when the logout button is clicked
menu_logout_command = wayland-logout


# Configuration for the volume widget
# Number of seconds volume popover will display
# after scrolling on the volume icon
volume_display_timeout = 2.5


# Configuration for the tray widget
# Amount of smooth scrolling needed to trigger one scroll wheel step
tray_smooth_scrolling_threshold = 5

# The icon size to use for tray icons
tray_icon_size = 32

# Enable showing of the tray menu when using middle-click, otherwise, right-click is used
tray_menu_on_middle_click = false


# Configuration for the notifications widget
notifications_autohide_timeout = 2.5

# Show criticial notifications in do-not-disturb mode, which is triggered by middle-clicking the DND button.
notifications_critical_in_dnd = true
notifications_icon_size = 32


# Configuration for the command output widget, there may be multiple commands.
# The command output widget is used to display the output of a shell command, which can be periodically refreshed.
# For example, showing the current CPU temperature by parsing `sensors` output (command may need adjustment for your particular sensor name!)

# Maximum amount of characters to show in the panel, if the command's output is too long
commands_output_max_chars = 10

# A list of commands + attributes, multiple commands can be declared after one another. The commands are numbered 1, 2, 3, etc.

# The command to be run, uncomment and adapt according to the output of sensors on your system
#command_output_1 = sensors | grep Package | cut -d ' ' -f 5

# A command which is run and whose output is displayed in a tooltip when hovering the widget
#command_output_tooltip_1 = sensors

# Refresh the output of the command ever 1s. Can be set to -1 for manual updates with the mouse, or 0 for a single update at startup.
# command_output_period_1 = 1

# Optionally, an icon can be displayed next to the text. Leave empty (first option) for no icon.
# command_output_icon_1 = 
# command_output_icon_1 = text-x-script

# Position and size for the icon, if it is not empty
#command_output_icon_size_1 = 32
#command_output_icon_position_1 = left # or right, top, bottom

[dock]
# time in milliseconds to wait before hiding
autohide_duration = 300

# vertical alignment on the desktop
# the only possible values are "top" and "bottom"
position = bottom

# For applications that aren't installed/configured properly, you can manually
# set icons for given app_id's. Below is an example for IntelliJ IDEA
icon_mapping_jetbrains-idea-ce = /<path to intellij>/idea.png

Finally, delete gnome-session and reinstall xwayland. We can come back to GNOME later, this is a wayfire tutorial.

sudo purge gnome-session && sudo apt install xwayland

Reboot to Wayfire!

sudo reboot

Press the Super/Windows key to open the main menu (which is type to search). I'll tackle configuration in the next post, time for a break.

Please post if you have any problem.


I don't care what you do at home. Would you care to explain?

Offline

#2 2025-08-29 19:54:02

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

OK, if my instructions were correct and you followed them properly, we should be looking at a working desktop! Hit the Super key (main menu), type 'mon' to highlight gnome-system-monitor and hit Enter, then go to the 'Processes' tab. Nice, but were missing polkit. Time to start configuring things.

Backup your 2 config files (~/.config/wayfire.ini and wf-shell.ini). Now open Files (nautilus) from the main menu, Ctrl_h to show hidden files, then open .config/wayfire.ini (it should open in gedit). Scroll down to the AUTOSTART section (line #121) and add

# polkit
lxpolkit

at line #127. Logout from the logout button in the main menu. Note (unrelated to polkit)... if you're on a laptop, touchpad tap to click and two-finger scrolling should be working out of the box.

Log back in, open system monitor, polkit is runnning, sweet!

Let's install some theme stuff. Main menu>term>Enter to open xfce4-terminal, then...

sudo apt install yaru-theme-gtk papirus-icon-theme

Now open nwg-look/GTK Settings and set the theme to Yaru-blue-dark and the icons to Papirus-Dark. Then open dconf-editor and navigate to org>gnome>desktop>interface>color-scheme, click the 'Custom value' box and change it to prefer-dark, click the checkmark to apply, logout/login.

We could also restore the window minimize and maximize buttons via dconf-editor, but it's easier to use the gsettings command...

gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"

More to come...

Last edited by hhh (2025-08-29 22:36:16)


I don't care what you do at home. Would you care to explain?

Offline

#3 2025-08-29 21:18:34

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Here's a scrot of what you should now be seeing (more or less)...

qaQWWOlx_t.png

We'll get to the panel, let's fix nautilus first.

Add thumbnails to nautilus...

sudo apt install ffmpegthumbnailer libgdk-pixbuf2.0-bin

Now open Files, Ctrl+, Sort Folders Before Files, Show Thumbnails>All Files, also enable the 'Create link' context menu, close the preferences window, Ctrl- to shrink the icons (Ctrl+ to make larger).

OK, let's work on that panel. Open wf-shell.ini. While we have gedit open, go to Preferences>Fonts and Colors and change the color scheme to Oblivion. Also note that tiling left/right is enabled already with Super+left arrow/right-arrow.

Now change lines #85 (battery_icon_invert) and #97 (network_icon_invert_color) to values of zero and save the file. Presto, the panel icons now are the right color! Baby steps.

Note that some settings are instant, some need a logout, and some might crash the desktop. Just restart and everything should be fine, unless you've made a typo that corrupts everything, which is why you backed up wayfire.ini and wf-shell.ini. tongue

Let's add 50% transparency to a black panel. Add this at line #47...

background_color = 0 0 0 0.5

1 1 1 0.5 would create a white panel with 50% transparency.

Now add the path for your wallpaper. I use my Pictures folder and I call the background wall.png, so I add a new line under line #3 (adjust your path)...

image = /home/rachael/Pictures/wall.jpg

Now download this wallpaper, move it to Pictures, rename it wall.jpg and logout. BTW, wf-shell isn't picky, you can rename a PNG image to wall.jpg and it will display with no issues.


I don't care what you do at home. Would you care to explain?

Offline

#4 2025-08-29 21:37:01

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

xfce4-terminal's appearance is next, open it and go to Edit>Preferences. Under the General tab, change 'Scrollbar is' to disabled and 'Scrollback' to 10000. Under the Colors tab change the Preset to Dark Pastels (optional) and check the box for 'Use system theme colors for text and background'. Finally, under Appearance enable 'Use system font', disable 'Show menubar in new windows' and set Background to 'Transparent Background' at 90% opacity. Restart the terminal. Better.


I don't care what you do at home. Would you care to explain?

Offline

#5 2025-08-29 22:18:47

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

The panel needs more work, and we haven't touched notifications or bluetooth yet, but I want to customize my windows first. MAKE SURE wayfire.ini IS BACKED UP! Now open wcm (the Wayfire Configurtion Manager).

First, let's show off the screensaver. Type 'idle' in the filter or just find the idle plugin under the Desktop section and change the screensaver timeout to 3 and hit Tab, then wait 3 seconds for a rotating triangle of desktops to appear. Hit any key to escape. Set the timeout to something reasonable, like 1800 (30 minutes).

Now go to Desktop>Cube and in the General tab change the background color to something, either a preset or a custom color (try #011816). Test by going back to the idle plugin, maybe slow down the cube rotation speed to .7 while you're there.

Enough silliness, close wcm and open wayfire.ini. Yes, wcm has re-written the entire file (hence my insistence on a backup). Note that all comments have been removed and some settings may have changed. Refer to the backup file to see the changes. Any setting made via wcm will rewrite wayfire.ini into it's own format.

NOT MY PREFERENCE
Note that you don't need wcm, if you're a purist remove it and just hand edit the configs (reinstall wdisplays, though, you'll want that)...

sudo apt purge --autoremove wcm && sudo apt install wdisplays

MY PREFERENCE
If you're sticking with using wcm, open it up again, go to General>Autostart and add an entry for lxpolkit again (or check that one is there, maybe I just forgot to add it earlier) and logout/login.

Note that I've updated a previous post, the icon theme in GTK settings should be Papirus-Dark, not Papirus.


I don't care what you do at home. Would you care to explain?

Offline

#6 2025-08-29 22:55:14

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

If you're on a laptop, install the package 'light' to enable keyboard shortcuts for your screens backlight keys. For the volume keys, open wcm>General>Command and change the commands for mute, volume down and volume up from amixer to pipewire...

command_mute = wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
command_volume_down = wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%-
command_volume_up = wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+ -l 1

The '-l' switch in the last command prevents the audio output from being set above 100% by the keyboard. While here, add commands and keybinds for firefox-esr, nautilus -w (always opens a new window instead of a tab), gedit, and any other programs you'd like shortcuts for.

Go to Window Management>WM Actions and set shortcuts for toggle show desktop, minimize and toggle maximize. Then go to General>Core and set you're preferred shortcut for closing windows (Close view). I use Super+Q (quit) to close, Super+A (all) to toggle maximize and Super+S (small) to minimize.

Go to Window Management and set keyboard shortcuts for Switcher and Fast Switcher to your preference.

Some other bindings that are already set (but can be changed)...

Super+arrow down untiles/unmaximizes/restores a window to it's original size and position.

Ctrl+Super+arrow navigates through your virtual desktops which by default are 9 arranged in a 3x3 grid (so arrow down/up is also possible). See the grid by activating the Expo plugin (Super+E). Esc key or Super+E again to return to the same desktop, or enter a number, 1 through 9, and go to that desktop, or by using your arrow keys to highlight a desktop and then hit Enter. You can change the grid layout by adjusting General>Core>Horizontal Virtual Size and Vertical Virtual Size (requires logout, or if you activate Expo via your keybind you will be logged out.

Ctrl+Super+Shift+arrow moves a window to the next desktop in whatever direction (if it's available, you can't move a window left or up if your on desktop 1).

I prefer windows to be placed in cascade rather than centered, that can be set in the Window Management>Place plugin.


I don't care what you do at home. Would you care to explain?

Offline

#7 2025-08-29 23:46:15

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Let's get the panel under control. Open wcm>Shell>Panel

Under General>Widgets Left I have 'spacing2 menu spacing2 window-list'. spacing2 is a 2px space, you can set any number. Keep launchers if you use them (I do not). For Widgets Right I have 'command-output tray spacing9 network spacing4 battery volume spacing6 clock spacing2'. I'm not sure what command-output is, it shouldn't hurt anything to leave it. Notifications are shell notifications but mako-notifier overrides them, so remove it. I'm on a laptop and nm-applet is easiest to configure on the fly, so I've replaced the shell's network widget with that. You need to add an autostart entry for it as well (add 'nm-applet' to the Autostart plugin). Using the shell's network applet works fine and save a bit of RAM by not running another applet.

Under Launchers, set size to 22 (this will also effect the Main Menu icon size).

Under Clock, set your preferred format (I use '%a, %b %e      %l:%M %P', change the time to %H:%M if your on 24 hour time). I'm leaving the font alone for now.

Under Battery, set status to Icon and size to 16. Under Network, set icon size to 16. Under Tray, set icon size to 16. Under Volume, set icon size to 16. Well leave Menu alone for now.

Install wlogout and then you can bring up a logout window with Super+Esc, or set a different shorcut for it in wcm's Command plugin under 'Command logout'. Install swaylock and check the shortcut in the same plugin (Command lock),

Logout, login and enjoy. There are just some details left, I'll post them later. I hope this is helpful to someone!


I don't care what you do at home. Would you care to explain?

Offline

#8 2025-08-30 01:19:16

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,614
Website

Re: Tutorial - trixie wayfire

Monumental. cool

If I wasn't tied up with trying to sort out our own Carbon configs, with future on labwc, I'd be eager to give it a try.
Certainly eager to hear how it works out for other users.

How about moving this topic to "Scripts, Tutorials and Tips"?


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#9 2025-08-30 02:44:19

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

johnraff wrote:

Monumental. cool
...
How about moving this topic to "Scripts, Tutorials and Tips"?

Thanks! big_smile I'd like to wait until carbon is released before moving this into the main forum, to avoid confusion. Almost none of the packages needed are available on bookworm.

I can't leave mako-notifier looking this bad, and nautilus needs a "New Document" context menu entry. In a terminal...

cd Templates
nano "Empty file"

Leave it blank, Ctrl+O to save, Ctrl+X to exit, you know the drill.

Now open Files, go to .config and create the folder 'mako' (right-click an empty space of the main nautilus pain, "New folder", name it), then open that and create an empty file (right-click again but choose "New Document>Empty file". You can't name it until it's created in nautilus, so select the new file and hit F2 to rename it to 'config'. Paste the following content, save the file and logout/login...

anchor=center-left

# Global Configuration Options
max-history=5
sort=-time
default-timeout=40000
ignore-timeout=0

# Style Options
font=sans-serif 10
background-color=#1D1D1D
text-color=#f7f7f7
border-size=1
border-color=#4b4b4b
border-radius=12
padding=10
width=450
height=150
margin=20

# Binding Options
on-button-left=dismiss
on-button-right=invoke-default-action

# Criteria-based Configuration (for specific types of notifications)
[urgency=high]
background-color=#e06c75
border-color=#e06c75

-edit- I had the binding buttons backwards, I want left-click on the notification window to dismiss, right-click to open the audio player from a song notification, for example.

Last edited by hhh (2025-08-30 03:29:54)


I don't care what you do at home. Would you care to explain?

Offline

#10 2025-08-30 05:12:53

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,614
Website

Re: Tutorial - trixie wayfire

hhh wrote:
johnraff wrote:

How about moving this topic to "Scripts, Tutorials and Tips"?

I'd like to wait until carbon is released before moving this into the main forum, to avoid confusion. Almost none of the packages needed are available on bookworm.

Fair enough. Of course anyone starting from a Trixie netinstall will have access to the packages, but avoiding confusion is always good.


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Offline

#11 2025-08-30 17:50:35

unklar
Back to the roots 1.9
From: #! BL
Registered: 2015-10-31
Posts: 2,670

Re: Tutorial - trixie wayfire

@hhh

BINGO!
I didn't expect you to be so quick.

So, here I am:

# polkit
lxpolkit

lxpolkit just won't run, even though it's installed.
I noticed that the keyboard layout is ‘us’ and that it doesn't change in wayfire.ini [autostart] with

input.xkb_layout = de
input.xkb_model = pc105

.

It took me about an hour to get this far, but now I've got the worm ‘in there’. I know I've had these problems before with @nakedeb, but I've forgotten the solution and have to search the archives.
Pause.  tongue

Last edited by unklar (2025-08-30 17:51:22)

Offline

#12 2025-08-30 18:21:16

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

I've made a few minor alterations to the above posts... I added a link to  wayfire.org, I've lowered the percentage in the pipewire volume shortcut commands, I've added unifont to the package list to fill in missing system glyphs (install it, 'sudo apt install unifont'), I overlooked setting the panel tray icon size, I've included instructions to add a 'Create Link' context-menu item in Nautilus, I made an additional note about wcm and I fixed some typos.

Finally, I've decided to use the shell's network widget instead of nm-applet. It saves a small amount of RAM by not running another widget and clicking the shell widget opens gnome-control-center (brought in by gdm3), and you can change WiFi networks on the fly via that. Some other settings will work, like Sound (but we installed pavucontrol for sound, which is in the Main Menu as 'Volume Control'), but Power settings, for example, don't work. I recommend we leave gnome-control-center alone except for the networking control. If you run 'gnome-control-center' in a terminal you get...

Running gnome-control-center is only supported under GNOME and Unity, exiting

... so I'm not even sure how clicking the widget is opening the settings window.

Still some finishing touches needed to make a unified DE, more posts later.


I don't care what you do at home. Would you care to explain?

Offline

#13 2025-08-30 19:55:56

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Let's configure system fonts. Again, indulge me in my choices here, it's just easier in terms of a tutorial to use an example and then you'll know how to change it.

I'm going for a slightly movie SciFi font look, so Futura for the system font. Download the TTF of this Futura rip-off, Futura Bt BK (there's a "Download TTF" button if you scroll down a little)...

https://www.freefontdownload.org/en/fut … -book.font

For the monospace font, I'm using Monofur Nerd Font Mono. Here's the link...

https://github.com/ryanoasis/nerd-fonts … onofur.zip

Extract those and move the extracted folders to /usr/share/fonts/truetype (or ~/.local/share/fonts)

Open GTK Settings and set the default font to Futura Bt BK Book 13.

For the system monospace font, open dconf-editor and set org>gnome>desktop>interface>monospace-font-name to a custom value, Monofur Nerd Font Mono Regular 13, and apply it. The change is instant. Open a terminal to verify.

Here's my updated Mako config (~/.config/mako/config) using Futura as the font...

# See man 5 mako for anchor points and other configuration options  
anchor=bottom-left

# Global Configuration Options
max-history=5
sort=-time
default-timeout=40000
ignore-timeout=0

# Style Options
font=Futura Bk BT 14
background-color=#1D1D1D
text-color=#f7f7f7
border-size=1
border-color=#4b4b4b
border-radius=12
padding=10
width=450
height=450
margin=20
outer-margin=0,0,20

# Binding Options
on-button-left=dismiss
on-button-right=invoke-default-action

# Criteria-based Configuration (for specific types of notifications)
[urgency=high]
background-color=#e06c75
border-color=#e06c75

The panel clock has it's own field, let's set that. In wcm's Panel plugin, go to the Clock tab and set the font to 'Futura Bk BT Bold 14'.

Logout/login, behold!


I don't care what you do at home. Would you care to explain?

Offline

#14 2025-08-30 20:16:09

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

We already have conky-all installed. I generated a default conky.conf...

mkdir -p ~/.config/conky && conky --print-config > ~/.config/conky/conky.conf

... fixed the X11/Wayland output lines and set own_window-Type to desktop. Replace the contents of ~/.config/conky/conky.conf with the following, save the file and logout/login. I've already set the color and font to match...

-- Conky, a system monitor https://github.com/brndnmtthws/conky
--
-- This configuration file is Lua code. You can write code in here, and it will
-- execute when Conky loads. You can use it to generate your own advanced
-- configurations.
--
-- Try this (remove the `--`):
--
--   print("Loading Conky config")
--
-- For more on Lua, see:
-- https://www.lua.org/pil/contents.html
--
-- Conky Lua API: https://conky.cc/lua

-- Configuration settings: https://conky.cc/config_settings
conky.config = {
--    alignment = 'top_left',
    alignment = 'tr',
    background = false,
    border_width = 0,
    cpu_avg_samples = 2,
    default_color = '7C9CCA',
    default_outline_color = 'white',
    default_shade_color = '1C1C1C',
    double_buffer = true,
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = true,
    extra_newline = false,
    font = 'DejaVu Sans Mono:size=12',
    gap_x = 60,
    gap_y = 460,
    minimum_height = 5,
    minimum_width = 5,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_ncurses = false,
    out_to_stderr = false,
    out_to_wayland = true,
    out_to_x = false,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',
    show_graph_range = false,
    show_graph_scale = false,
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    use_spacer = 'none',
    use_xft = true,
}

-- Variables: https://conky.cc/variables

conky.text = [[
${font Futura Bk BT:pixelsize=110}${time %l:%M}
${font Futura Bk BT:pixelsize=24}$alignr${offset -15}${voffset -80}${mem} / ${memmax}
]]

I don't care what you do at home. Would you care to explain?

Offline

#15 2025-08-30 20:20:57

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Windows that don't have their own client side decoration will default to the native wayfire decorations (audacious and audacity, for example). Devs, get you're decorations together! Open wcm and in the Effects>Decoration plugin set the font for those apps to Futura Bk BT, the Title bar height to 24 and the Border size to 3, the change is instant.

Except for screen resolution and my custom Main Menu panel icon, and assuming my instructions have all been correct, you should be seeing a desktop similar to this now...

SQ6Tpilo_t.png

Sweet, if you ask me!


I don't care what you do at home. Would you care to explain?

Offline

#16 2025-08-30 20:43:42

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Clean up the Main Menu by copying *.desktop files from /usr/share/applications to ~/.local/share/applications and adding 'Hidden=true' to the bottom of the file. Copy/paste conky.desktop, display-im7.q16.desktop (Imagemagick), nm-connection-editor.desktop (Advanced Network Configuration) and xfce4-terminal-settings.desktop to your local folder, open each one in gedit and add 'Hidden=true', save the file, the Main Menu entry is gone.


I don't care what you do at home. Would you care to explain?

Offline

#17 2025-08-30 21:36:35

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Am I the only not-even-that-old-school geek who misses the occasional burning window? Tricky to screenshot, by the way.

ly53RuSf_t.png

-edit- Here's my Main Menu panel icon, right-click the link and "Save link as..." ~/.local/menu.png or something and choose it in wcm's Panel plugin under Menu...

https://images2.imgbox.com/37/98/UgRR8hmC_o.png


I don't care what you do at home. Would you care to explain?

Offline

#18 2025-08-30 22:02:54

Döbbie03
Resident Metalhead
From: New Zealand
Registered: 2015-09-29
Posts: 3,861

Re: Tutorial - trixie wayfire

hhh wrote:

Am I the only not-even-that-old-school geek who misses the occasional burning window? Tricky to screenshot, by the way.

https://thumbs2.imgbox.com/0d/0d/ly53RuSf_t.png

Can you change the speed of the animation? Just extend the length of it and scrot the result smile


"All we are is dust in the wind, dude"
                                       - Theodore "Ted" Logan
"Led Zeppelin didn't write tunes that everybody liked, they left that to the Bee Gees."
                                       - Wayne Campbell

Offline

#19 2025-08-30 22:08:40

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,078
Website

Re: Tutorial - trixie wayfire

Döbbie03 wrote:

Can you change the speed of the animation? Just extend the length of it and scrot the result smile

It still just scrots a line of fire (I probably need to log out with every animation change, I haven't checked). I should record a screencast. Wait till I finish the tutorial. tongue I will say that it is cool-as-can-be cheesy to see the full flame-out in person.


I don't care what you do at home. Would you care to explain?

Offline

#20 2025-08-31 11:29:16

unklar
Back to the roots 1.9
From: #! BL
Registered: 2015-10-31
Posts: 2,670

Re: Tutorial - trixie wayfire

wayfire.ini

polkit = /usr/bin/lxpolkit

results in

ps -ef | grep -v grep | grep polkit
polkitd      712       1  0 12:14 ?        00:00:01 /usr/lib/polkit-1/polkitd --no-debug --log-level=notice
unklar      3894       1  0 13:09 tty2     00:00:00 /bin/sh -c /usr/bin/lxpolkit
unklar      3895    3894  0 13:09 tty2     00:00:00 /usr/bin/lxpolkit

No change to the keyboard layout at first.
Then I see ‘WCM’ (Wayfire Config Manager) for the first time! The change to the keyboard layout here takes effect after logging in/out. BINGO! big_smile
(and a new wayfire.ini was created)

The weather is wonderful outside, time for a little drive. wink
(Can the unfamiliar Nautilus/Thunar; gedit/mousepad be replaced?)

Offline

Board footer

Powered by FluxBB