Skip to content

feat: terminal frontend#1415

Merged
bajrangCoder merged 32 commits intoAcode-Foundation:mainfrom
bajrangCoder:feat/terminal-ui
Jul 14, 2025
Merged

feat: terminal frontend#1415
bajrangCoder merged 32 commits intoAcode-Foundation:mainfrom
bajrangCoder:feat/terminal-ui

Conversation

@bajrangCoder
Copy link
Copy Markdown
Member

@bajrangCoder bajrangCoder commented Jul 8, 2025

Todos

  • basic terminal stuffs (with webgl)
  • terminal settings and customisation stuffs
  • terminal, terminal theme related APIs for plugins
  • meslo nerd font for terminal (default font)
  • option in menu bar
  • proper resize
  • font ligatures (will be ported from AcodeX)
  • image rendering support
  • touch selection (need to integrate with acode's selection and menu)
  • search functionality (use acode builtin quicktools search bar)
  • proper installation of terminal backend stuffs(automatically), if not installed
  • Basic terminal keybindings(copy/paste)
  • clean-up
  • backup-restore

@bajrangCoder bajrangCoder marked this pull request as draft July 8, 2025 06:03
- show clear log in terminal without stdout,stderr prefix
- start a new terminal sesion after installation completes with "exit 0"
@bajrangCoder bajrangCoder mentioned this pull request Jul 9, 2025
9 tasks
@bajrangCoder bajrangCoder marked this pull request as ready for review July 10, 2025 10:28
- fixed different resize cases issue
- implemented touch selection
@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

peasneovoyager2banana2 commented Jul 12, 2025

lv_0_20250712043559.mp4

Also, why the cursor handles shifts downwards when starting to drag them?:

lv_0_20250712044647.mp4

@UnschooledGamer
Copy link
Copy Markdown
Member

UnschooledGamer commented Jul 12, 2025

Also, why the cursor handles shifts downwards upon dragging them?:

That's exactly how it's supposed to work, And is Working in the Video.

Copy link
Copy Markdown
Member

@UnschooledGamer UnschooledGamer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@UnschooledGamer
Copy link
Copy Markdown
Member

UnschooledGamer commented Jul 12, 2025

@bajrangCoder Kindly Update the Plugin Docs later, With those APIs.

@bajrangCoder
Copy link
Copy Markdown
Member Author

bajrangCoder commented Jul 12, 2025

first video
lv_0_20250712043559.mp4

Thanks for pointing out this issue @peasneovoyager2banana2 !
Actually this happens because of conflicts with the app keybindings.

@bajrangCoder
Copy link
Copy Markdown
Member Author

@bajrangCoder Kindly Update the Plugin Docs later, With those APIs.

Sure 👍

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

Terminal.persistence.mp4

@bajrangCoder
Copy link
Copy Markdown
Member Author

I have fixed issues reported here by @peasneovoyager2banana2 and @RohitKushvaha01

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

lv_0_20250712191322.mp4
lv_0_20250712192352.mp4

@UnschooledGamer
Copy link
Copy Markdown
Member

@bajrangCoder Check the Above Videos Guys.

@bajrangCoder
Copy link
Copy Markdown
Member Author

@bajrangCoder Check the Above Videos Guys.

Already noted it.
Btw idk about first video .
But in second, I need to handle exit codes from server

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

peasneovoyager2banana2 commented Jul 13, 2025

The server is supposed to be stopped when the user closes the terminal. In the first video, it does not

@bajrangCoder
Copy link
Copy Markdown
Member Author

The server is supposed to be stopped when the user closes the terminal. In the first video, it does not

On closing the tab , it terminates that pty process running for that session. So technically the process running in that pty should also be closed

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

peasneovoyager2banana2 commented Jul 13, 2025

#1415 (comment)

For the second time I re-created the test project and restarted the vite server and then I closed the terminal tab and the vite page no longer loads.

I used npm create vite to setup, cd into the project, npm i, and then started the server (<-- I forgot to record this part). For the next (I remember like 4) consecutive times I redid this and then closed the tab and the server has stopped.

*maybe in some rare cases; you can try to fix if it happens often or if someone else reports a similar issue

@bajrangCoder
Copy link
Copy Markdown
Member Author

The server is supposed to be stopped when the user closes the terminal. In the first video, it does not*

On closing the tab, it terminates that pty process running for that session. So technically the process running in that pty should also be closed

For the second time I re-created the test project and restarted the vite server and then I closed the terminal tab and the vite page no longer loads.

I used npm create vite to setup, cd into the project, npm i, and then started the server (<-- I forgot to record this part). For the next (I remember like 4) consecutive times I redid this and then closed the tab and the server has stopped.

*maybe in some rare cases; you can try to fix if it happens often or if someone else reports a similar issue

I also can't reproduce this , maybe some vite related cache stuff or idk

@RohitKushvaha01
Copy link
Copy Markdown
Member

The server is supposed to be stopped when the user closes the terminal. In the first video, it does not*

On closing the tab, it terminates that pty process running for that session. So technically the process running in that pty should also be closed

For the second time I re-created the test project and restarted the vite server and then I closed the terminal tab and the vite page no longer loads.

I used npm create vite to setup, cd into the project, npm i, and then started the server (<-- I forgot to record this part). For the next (I remember like 4) consecutive times I redid this and then closed the tab and the server has stopped.

*maybe in some rare cases; you can try to fix if it happens often or if someone else reports a similar issue

Stopping all child processes of a terminal is intended and expected behavior. I think what you're asking for is a way to make the terminal run in the background, for that, you need to wait some time.

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

20250714_062947

@bajrangCoder
Copy link
Copy Markdown
Member Author

bajrangCoder commented Jul 14, 2025

20250714_062947

It should be acceptable 😃
It's just a small pixels

I'll check it later, maybe it's due to some mis calculation in touch cordinate and xterm

@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

peasneovoyager2banana2 commented Jul 14, 2025

Sometimes when I start the terminal:

lv_0_20250714103455.mp4

This also does happen in AcodeX iirc

@bajrangCoder
Copy link
Copy Markdown
Member Author

Sometimes when I start the terminal: Screenshot_20250714-092151_Acode

This also does happen in AcodeX iirc

It seems font is not loaded correctly.
Btw I can't reproduce it , each there any way to reproduce

@bajrangCoder bajrangCoder merged commit 90b5a6d into Acode-Foundation:main Jul 14, 2025
2 checks passed
@peasneovoyager2banana2
Copy link
Copy Markdown
Contributor

Looks like I have to open a follow up issue
Screenshot_20250714-104519_Chrome

@UnschooledGamer
Copy link
Copy Markdown
Member

Looks like I have to open a follow up issue
Screenshot_20250714-104519_Chrome

I think a dedicated Issue Or Discussion for Integrated Terminal as Pinned Issue for some time will be good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants