Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Extra libraries, Code snippets, applications etc. » Applications created with U++ » Bobcat, a cross-platform terminal emulator (A modern terminal emulator based on TerminalCtrl and U++)
Bobcat, a cross-platform terminal emulator [message #60347] Tue, 19 December 2023 22:49 Go to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,

I am happy to announce that I have finally made the Bobcat terminal emulator public.

While the foundations (U++ & TerminalCtrl) are solid, the app itself is new (and Bobcat is also meant to be a U++ tech demo), It is still under development, and the github repo is under construction.



index.php?t=getfile&id=6876&private=0


Stay tuned for more news.

Cool

Happy new year to everone!

Best regards,

Oblivion


Re: Bobcat, a cross-platform terminal emulator [message #60348 is a reply to message #60347] Wed, 20 December 2023 10:57 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3357
Registered: August 2008
Senior Veteran
Hi İsmail

Very interesting.
In terms of using your programme, what are its advantages over the Windows terminal?


Best regards
Iñaki
Re: Bobcat, a cross-platform terminal emulator [message #60357 is a reply to message #60348] Thu, 21 December 2023 13:19 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hello Iñaki,

For one, the underlying vte(TerminalCtrl) is much more powerful (in terms of vt compatibility and recognized escape sequences, including mouse i/o). This is especially important if you are using WSL or working on a remote connection to linux machines, where many console applications expoit the VT sequences. Bobcat is basically like having a modernized xterm on Windows (as you might already know, TerminalCtrl has a very high score on that -xterm & DEC/ANSI- compatibility scale.)

Unlike Windows Terminal (AFAIK), it can also run on Windows 7 & 8, if the latest U++ still can (didn't try to run it on Win < 10 since the end of 2022).

It has a much smaller memory footprint.


But let's change the question a little bit: What would you like to see implemented?

I am open to suggestions and feature requests.


In the meantime, I am going to add an Upp::Esc (not to be confused wiht ESC sequences) based macro system (for automation) and a "lite" plugin system for expansion.

Also when I finalize the first release of Bobcat, I am going to publish its sibling: Tomcat (a dedicated SSH terminal, which will have a virtually identical UI & interchangeable profiles etc.).

Best regards,


[Updated on: Thu, 21 December 2023 14:39]

Report message to a moderator

Re: Bobcat, a cross-platform terminal emulator [message #60361 is a reply to message #60357] Fri, 22 December 2023 09:03 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3357
Registered: August 2008
Senior Veteran
Thank you İsmail. My query was just out of curiosity, I am a basic terminal user, at most printf() in colour and simple .bat files.

Best regards
Iñaki
Re: Bobcat, a cross-platform terminal emulator [message #60380 is a reply to message #60347] Tue, 26 December 2023 19:39 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,

Bobcat has gained a navigator.

What is navigator?

Bobcat uses a stack-based interface (instead of tabs), so only one terminal is visible at a time and terminals can be nagivated using the arrow & hom/end keys AND/OR terminal menu. This is to reduce UI clutter.
But sometimes the users might want to see an overview of the open terminals. Navigator does just that. It shows an overview of all the open terminals and lets basic actions on terminals via the overviews.

A screenshot:

index.php?t=getfile&id=6877&private=0


Best regards,
Oblivion


[Updated on: Tue, 26 December 2023 19:40]

Report message to a moderator

Re: Bobcat, a cross-platform terminal emulator [message #60403 is a reply to message #60347] Mon, 01 January 2024 11:21 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Happy new year to everyone!

Another round of updates for Bobcat is here.

1) Navigator is refactored & improved.
2) Command line handling is improved and options are expanded, as follows:

Usage:
   bobcat [OPTIONS] -- [COMMAND...]

General options:
   -h, --help                     Show help.
   -l, --list                     List available profiles.
   -p, --profile PROFILE          Run with the given PROFILE (Names are case-sensitive).
   -s, --settings                 Open settings window.
   -b, --show-bars                Show the menu and title bar.
   -B, --hide-bars                Hide the menu and title bar.
       --show-menubar             Show the menu bar.
       --hide-menubar             Hide the menu bar.
       --show-titlebar            Show the title bar.
       --hide-titlebar            Hide the title bar.

Environment options:
   -k, --keep                     Don't close the terminal on exit.
   -K, --dont-keep                Close the terminal on exit.
   -n, --no-environment           Don't inherit the environment.
   -d, --working-dir PATH         Set the working directory to PATH.
   -f, --fullscreen               Full screen mode.
   -m, --maximize                 Maximize the window.
   -g, --geometry GEOMETRY        Set the initial window geometry. (E.g. 80x24, 132x24)

Emulation options:
   -q, --vt-style-fkeys           Use VT-style function keys.
   -Q, --pc-style-fkeys           Use PC-style function keys.
   -w, --window-reports           Enable window reports.
   -W, --no-window-reports        Disable window reports.
   -a, --window-actions           Enable window actions.
   -A, --no-window-actions        Disable window actions.
       --hyperlinks               Enable hyperlink detection (OSC 52).
       --no-hyperlinks            Disable hyperlink detection.
       --inline-images            Enable inline images support (sixel, iterm2, jexer).
       --no-inline-images         Disable inline images support.



Best regards,
Oblivion


Re: Bobcat, a cross-platform terminal emulator [message #60404 is a reply to message #60347] Mon, 01 January 2024 21:24 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,
Bobcat is now available via UppHub.

Best regards,
Oblivion


Re: Bobcat, a cross-platform terminal emulator [message #60429 is a reply to message #60347] Tue, 09 January 2024 00:39 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,

Bobcat has gained a crucial feature: text search and highlighting:

index.php?t=getfile&id=6887&private=0

This requires the latest version of TerminalCtrl that has search and highlight ability.

Currently it is a simple text search, but in the following weeks it will include other search types (regex, etc.)

Best regards,
Oblivion


Re: Bobcat, a cross-platform terminal emulator [message #60432 is a reply to message #60347] Fri, 12 January 2024 00:18 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
what are its advantages over the Windows terminal?


A further answer to this question would be that Bobcat will also include the "web" component (our TURTLE, of course).
I believe Windows Terminal - and most of them out there- still can't do this.
Deploy bobcat on your server, behind a login screen and access it anywhere, using any modern web browser.
Below is a screenshot of bobcat "on" gnome web and firefox.

index.php?t=getfile&id=6890&private=0

Best regards,
Oblivion


Re: Bobcat, a cross-platform terminal emulator [message #60433 is a reply to message #60432] Fri, 12 January 2024 07:14 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi Oblivion,

I finally convinced myself to try Bobcat, after you added the makefile, which made it super simple for me (I don't have U++ installed, what a shame) Razz

I have to say that it look and feels great! I've been thinking about using different terminal for quite a long time, but couldn't find any I'd really like, but Bobcat might be what I was waiting for.

While experimenting with it, I've found a couple small bugs and typos. Is it OK to just drop them in github issues? Or do you prefer some other communication (forum, PM, ...)?

Oh, and one more question: What is the file browser in the screenshot? It looks a little like nnn, which I sometimes use, but I've never seen it showing images.

Best regards,

Honza
Re: Bobcat, a cross-platform terminal emulator [message #60434 is a reply to message #60433] Fri, 12 January 2024 08:20 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hello Honza,

Thank you very much for trying Bobcat and giving feedback! Smile
It is a work in progress and I'd like to shape it according to our users' need, as it is intended to be both a standalone app and a tech demo for U++.
I'd highly appreciate feedback, bug reports, suggestions, and your opinion.

Please feel free to use github to submit any bug reports, enhancement request and further suggestions. I'll reply/look into them ASAP.

As for the browser: Ranger. It supports inline images via iterm2's protocol, which TerminalCtrl also supports.

Best regards,
İsmail


[Updated on: Fri, 12 January 2024 08:24]

Report message to a moderator

Re: Bobcat, a cross-platform terminal emulator [message #60438 is a reply to message #60347] Thu, 18 January 2024 17:32 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,

Another round of updates.

Many bugs have been fixed in both Bobcat and TerminalCtrl (Thanks Honza (dolik-rce)!)
Also Finder, the search bar of Bobcat, has received some significant upgrades:

- Finder is now a frame instead of a dialog. This way, each terminal can have its own search bar and settings.
- Three search modes are implemented:
  1) Case sensitive search mode.
  2) Case insensitive search mode.
  3) Regex-based (PCRE) search mode.
- All search modes have the ability to move among the found strings.
- Finder has its own keyboard shortcuts group in the shortcuts manager and each shortcut can be configured by the user.
- And lot more...


A screenshot of Finder, running on regex mode:

index.php?t=getfile&id=6893&private=0


Best regards,
Oblivion


[Updated on: Thu, 18 January 2024 17:32]

Report message to a moderator

Re: Bobcat, a cross-platform terminal emulator [message #60447 is a reply to message #60347] Sun, 04 February 2024 16:28 Go to previous message
Oblivion is currently offline  Oblivion
Messages: 1093
Registered: August 2007
Senior Contributor
Hi,

After some delay, Bobcat has gained a cool new feature: A customizable hyperlink maker called "Linkifier".

(Taken from the github):
- It is now possible to set multiple patterns to be detected and treated as hyperlinks.
- Linkifier has a per-profile settings. So in each profile the user can have different set of patterns. Patterns can be set via the profile settings -> Linkifier tab or directly via the .profile file.
- At this time the links are opened by the Upp's own launcher. But I have already made it possible to configure and set a separate command for each linkifier pattern. i.e. in the following days Bobcat will gain the ability to set the launcher per hyperlink pattern.


Best regards,
Oblivion


Previous Topic: Skylark uploaders
Goto Forum:
  


Current Time: Sun Apr 28 01:36:02 CEST 2024

Total time taken to generate the page: 0.10458 seconds