button: move desktop-only code to desktop.blocks