Theia: Allow thickness of the bar cursor to be configured?

Created on 17 Feb 2020  路  12Comments  路  Source: eclipse-theia/theia

Latest xterm.js supports configuring the thickness of bar cursor via https://github.com/xtermjs/xterm.js/pull/2590. Is there a task existing already to upgrade xterm.js? If not we could create a new one and add this feature after it is resolved?

enhancement terminal

Most helpful comment

@vince-fugnitto , Thanks for the response. I am trying to go through it - will let you know on my progress. As, I am new, I need to figure out a few things.

No problem :) Don't hesitate to ask if you have any questions!

All 12 comments

Can we upgrade xterm.js to get this and other features?

@varmanishant is it something you'd like to take care of?

@vince-fugnitto , Thanks for the response. I am trying to go through it - will let you know on my progress. As, I am new, I need to figure out a few things.

@vince-fugnitto , Thanks for the response. I am trying to go through it - will let you know on my progress. As, I am new, I need to figure out a few things.

No problem :) Don't hesitate to ask if you have any questions!

Thanks for adding this PR @vince-fugnitto. Basically it is the same as what I did - however I commented out a block which fails during yarn ... I have added my comment on why it fails and what could be the fix.

Can someone let me know the exact way to develop a package say @theia/terminal?

I am doing npx watch @theia/terminal and modifying the code. When I see a change detected, I stop watching and do yarn build to reflect the changes. Is this correct or am I missing something? I always find a cache problem with the old files loading in the browser unless I I do run yarn which takes a lot of time. (Especially it tries to download vsix and fails probably due to Github Token or something like that.)

Can someone let me know the exact way to develop a package

You can use the following approach to make changes, and update the application.
Let's say I am updating @theia/terminal in the repository like you mentioned:

Build Approach

  1. make changes to @theia/terminal
  2. build my changes:
    shell npx run build @theia/terminal # build the terminal ext npx run build @theia/example-browser # build the example-browser yarn start:browser # re-start the backend

Watch Approach

  1. given that the repo is built
  2. watch the @theia/terminal ext
    shell npx run watch @theia/terminal # watches for changes in the terminal ext
  3. watch the @theia/example-browser ext
    shell npx run watch @theia/example-browser # watches for changes from other ext (terminal)
  4. start the application
    yarn start:browser
  5. make changes to @theia/terminal (the changes should be watched)
  6. re-load the frontend (browser) on new changes

Ah that explains it, thanks @vince-fugnitto. I was missing the @theia/example-browser part!

There is one more feature that needs to be added:- terminal themes are not reflecting even though there is a code to do that. Should we create a new ticket for that?

In terminal-theme-service.ts we are taking the substring from the 13th position; but that doesn't just work because the colorname comes as "Black, BrightBlack etc." which is not compatible with xterm.js which needs it as "black, brightBlack etc."? The other problem is that we need to read it from the user settings as well. But does that logic belongs tothis file or the instance creation file terminal-widget-impl.ts?

There is one more feature that needs to be added:- terminal themes are not reflecting even though there is a code to do that. Should we create a new ticket for that?

In terminal-theme-service.ts we are taking the substring from the 13th position; but that doesn't just work because the colorname comes as "Black, BrightBlack etc." which is not compatible with xterm.js which needs it as "black, brightBlack etc."? The other problem is that we need to read it from the user settings as well. But does that logic belongs tothis file or the instance creation file terminal-widget-impl.ts?

I believe the following issue tracks the theming not working correctly for terminals:

7280

Closed by #7284

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kpge picture kpge  路  3Comments

akosyakov picture akosyakov  路  3Comments

jankeromnes picture jankeromnes  路  3Comments

vince-fugnitto picture vince-fugnitto  路  3Comments

marechal-p picture marechal-p  路  3Comments