Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add built-in terminal to editor's bottom panel #43

Closed
6 of 13 tasks
lihop opened this issue Jul 2, 2021 · 1 comment
Closed
6 of 13 tasks

Add built-in terminal to editor's bottom panel #43

lihop opened this issue Jul 2, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@lihop
Copy link
Owner

lihop commented Jul 2, 2021

Although GodotXterm was originally created for use in-game, the pieces are almost in place such that it would be quite easy to add it as an editor plugin to the bottom panel.

Reasons to do this:

  1. It's a feature I want, and would use a lot.
  2. It's a great way to battle test and harden GodotXterm by using it frequently with real-world terminal applications and commands.

Related godot proposal which goes into more detail godotengine/godot-proposals#1379

Rudimentary terminal panel added by #48:

2021-07-11-230710_591x257_scrot

Features to add (using vscode terminal as a reference):

  • Ctrl+Shift+C copy and Ctrl+Shift+V paste
  • Shortcut to spawn new terminal (default Ctrl+Shift+T)
  • Right click menu:
    2021-07-11-231428_304x214_scrot
  • Re-arrangable tabs
  • Right click tab options (kill instead of close):
    2021-07-11-231647_185x124_scrot
  • Customisable theme.
  • Customisable bell.
  • Customisable cursor.
  • Visual bell (show visually on tab when bell is rung).
  • Customisable font size, with ctrl+mouse wheel up/down to increase/decrease size.
  • Settings support to set all the customisable things and modify behavior.
    All of these customisable settings should update as soon as possible, without having to restart terminal sessions.

Things to fix:

  • Prevent crashing.
  • Tabs close when clicking on right side:
    Peek 2021-07-11 23-19
@lihop lihop added the enhancement New feature or request label Jul 2, 2021
@lihop lihop self-assigned this Jul 2, 2021
lihop added a commit that referenced this issue Jul 11, 2021
lihop added a commit that referenced this issue Jul 11, 2021
In order to use the gdnative library as an editor plugin it was
neccessary to set the `reloadable` property of the gdnlib file to false,
in order to prevent crashes when the godot editor window lost focus.

This may have consequences when recompiling the library.
See: https://docs.godotengine.org/en/3.3/classes/class_gdnativelibrary.html#class-gdnativelibrary-property-reloadable

Part of #43.
lihop added a commit that referenced this issue Jul 11, 2021
In order to use the gdnative library as an editor plugin it was
neccessary to set the `reloadable` property of the gdnlib file to false,
in order to prevent crashes when the godot editor window lost focus.

This may have consequences when recompiling the library.
See: https://docs.godotengine.org/en/3.3/classes/class_gdnativelibrary.html#class-gdnativelibrary-property-reloadable

Still crashes quite frequently and doesn't close child processes
properly.

Part of #43.
lihop added a commit that referenced this issue Jul 11, 2021
In order to use the gdnative library as an editor plugin it was
neccessary to set the `reloadable` property of the gdnlib file to false,
in order to prevent crashes when the godot editor window lost focus.

This may have consequences when recompiling the library.
See: https://docs.godotengine.org/en/3.3/classes/class_gdnativelibrary.html#class-gdnativelibrary-property-reloadable

Still crashes quite frequently and doesn't close child processes
properly.

Part of #43.
@lihop lihop removed their assignment Jul 26, 2021
@lihop
Copy link
Owner Author

lihop commented Jul 26, 2021

Bottom panel is "good enough" for now, even though not everything in the list is completed. Bugs and new features/enhancements should be tracked in individual issues.

@lihop lihop closed this as completed Jul 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant