waveterm icon indicating copy to clipboard operation
waveterm copied to clipboard

[Feature]: start wave in full-screen mode

Open denisdamata opened this issue 10 months ago • 6 comments

Feature description

Open waveterm directly in full screen (F11 button) is not working:

waveterm --full-screen

Implementation Suggestion

No response

Anything else?

No response

denisdamata avatar Feb 08 '25 08:02 denisdamata

This should be doable, though starting the app with waveterm is only currently supported on Linux

esimkowitz avatar Feb 08 '25 23:02 esimkowitz

This should be doable, though starting the app with waveterm is only currently supported on Linux

It's not possible and you can't set it to full screen with F11 button when you're inside the Wave terminal

However, I found a partial solution to the problem [ChatGPT] using the Linux window manager called wmcrtl.

Create a .sh file called waveterm-full-screen.sh in the folder where you store your scripts, make it executable

chmod +x waveterm-full-screen.sh

and place the following code inside it

#!/bin/bash

# Start Waveterm with the passed parameters
waveterm "$@" &

# Define a maximum wait time (in seconds)
MAX_WAIT_TIME=10
WAIT_INTERVAL=0.5
elapsed_time=0

# Loop until the "Wave" window is open or the maximum time is reached
while ! wmctrl -l | grep -q "Wave"; do
    sleep $WAIT_INTERVAL
    elapsed_time=$(echo "$elapsed_time + $WAIT_INTERVAL" | bc)

    # Check if the maximum time has been reached
    if (( $(echo "$elapsed_time >= $MAX_WAIT_TIME" | bc -l) )); then
        echo "The 'Wave' window was not found after $MAX_WAIT_TIME seconds."
        exit 1
    fi
done

# Set the "Wave" window to fullscreen
wmctrl -r "Wave" -b toggle,fullscreen

Now create a link for your new command in /usr/bin called fwaveterm (full screen Wave Terminal)

sudo ln -s ~/<YOUR_SCRIPTS_FOLDER>/waveterm-full-screen.sh /usr/bin/fwaveterm

and edit the .desktop file corresponding to Wave Terminal by changing waveterm to fwaveterm. Installing via SNAP open the file with

sudo nano /var/lib/snapd/desktop/applications/waveterm_waveterm.desktop

and edit it

[Desktop Entry]
X-SnapInstanceName=waveterm
Name=Wave
X-SnapAppName=fwaveterm
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/waveterm_waveterm.desktop fwaveterm %U
Terminal=false
Type=Application
Icon=/snap/waveterm/100/meta/gui/icon.png
StartupWMClass=Wave
Comment=Open-Source AI-Native Terminal Built for Seamless Workflows
Keywords=developer;terminal;emulator;
Categories=TerminalEmulator;

denisdamata avatar Feb 10 '25 00:02 denisdamata

What OS are you on?

esimkowitz avatar Feb 10 '25 19:02 esimkowitz

What OS are you on?

If I haven't said anything, it's because it's Linux (Ubuntu 24.10).

denisdamata avatar Feb 11 '25 05:02 denisdamata

Not a given, but thank you for confirming. I think this is certainly doable, I also did some research and at least on Windows and Linux it seems like while F11 is not default-mapped to full-screen, it's also not default-mapped to anything else so we should be able to do this. I'd prefer to handle the launch in full-screen mode as a user setting since we don't currently have a way to pass arguments when launching waveterm

esimkowitz avatar Feb 11 '25 06:02 esimkowitz

I would like to propose adding a new setting option that allows users to choose whether the application should always launch in full-screen mode or not.

This gives users more flexibility and control over how the application appears based on their workflow.

If approved, I’m happy to implement this feature and open a Pull Request. @esimkowitz

Mostafa-Khairy0 avatar Oct 28 '25 08:10 Mostafa-Khairy0

Hi @sawka, If everything looks good now, could you please close this issue? Thanks!

Mostafa-Khairy0 avatar Nov 18 '25 09:11 Mostafa-Khairy0