I am seeing another type of freezing issue which involves only tabbybar. The tabbybar works, but it's display is frozen. So if at the time of freeze there are three windows open, bar displays same three windows even if I close or open windows, similarly right side of bar has frozen clock/volume etc. However tabbybar seems to work internally, I can open applications using tabby-menu ( using pure muscle memory, and no visible output of tabby-menu on bar ). There is nothing in journal or tabby log at the time of freeze. I have noticed this 2-3 times in last 2 days.
EDIT:
I wish to have multi-language font support in tabby-bar, so that window titles in local language can also be displayed, ( when opening local websites for e.g.,). I see two possible ways 1. to have fallback font setup in fontconfig, I guess it is already there as terminal is able to display indic languages without changing font, but this is not the case with tabbybar, is there way to do that? or less preferably 2. create a font by merging different fonts so as to have all glyphs in one font.
The next time you see that happen, can you try running a tabby-config command that changes some aspect of the bar. The easiest might be to change a color - you could even change a color you don't use, for example, assuming you don't use color 5 anywhere:
For the font, I don't know much about how font-config works, but the font initialization done in tabby should include fallback fonts as defined / provided by fontconfig. Are you using the same font string for your terminal and for tabby? If not, can you try doing so? Could you give me a url or two that shows the issue so I could test?
EDIT: I did restart tabby (without logging out), so tabbybar restarted properly. Started weaver to find that input was not working. I did logout, login and started tabby again, still weaver input failed. This time I did save log and did reboot. Here is the log
I'm able to consistently replicate the 1st issue with the news website you provided. That allowed me to trace it to a cairo function call failing and giving an error indicating that the title is an invalid string. The title provided by that website is indeed not valid utf8 - and apparently wlroots doesn't include any checks for this. I'm looking into validating the titles myself, but from what I'm finding utf8 string validation code is as long as all the bar drawing code in tabby.
This is definitely good. The non-latin non-utf fonts are now visible, so it seems tabbybar shall not freeze now (even without temporary hack).
But still something is not right, few of the nerd font symbols I am using in tabbybar are not displayed properly. This is not a big issue though, as I can find alternative symbols. I am happy that non-latin characters are properly displayed by fallback fonts now.
Thanks for the updates. I've not made any headway finding other sources of the atomic commit error. All info I can find suggests that is the result of rendering outside of a frame event from the monitor / output, but that's not happening in tabby.
, probably only last line is important for weaver on wayland.
--> start weaver and try typing in some text input, this will show text input freeze.
--> freezing of entire tabby display is less consistent but still I think it is also related with running some text input daemon, as you might have noticed in above log which says
There is much to do with input configuration that hasn't been touched yet. However, for keyboard layout, I believe that can be specified just with an XKB environment varibale - I think it'd be XKB_DEFAULT_LAYOUT. If this is set / exported prior to starting tabby, it should be picked up by xkbcommon which is used for processing keyboard input. If these environment variables aren't sufficient then options will eventually be added to Tabby for these settings, but for now there are none. On the flip side, any options that are easily set outside of tabby will not be duplicated - I strive for modularity, and anything that doesn't need to be handled by the compositor shouldn't be overriden by the compositor (without very good reason).
I am getting full tabby display freeze while using either of mpv or ffplay. This happens consistently, and I think you will be able to reproduce it. Just play some video, go forward, go backward few times and if you are lucky you will have frozen display. Change tty and come back to unfreeze. Log shows same atomic error.
EDIT: this time no ibus/fcitx was running.
Does this replicate on a wayland backend? To test, run another compositor (e.g., hikiri or sway) then launch tabby from within that other compositor. A tabby session will run as a window / surface under the other compositor and render to a wayland surface backend rather than the normal drm. Then open the video in that nested tabby session and try to replicate the issue. You may need to temporarily modify your configs in order to avoid clashes in keybindings (e.g., any keys that are grabbed by the top-level compositor will never reach tabby).
EDIT:
I opened tabby under hikari. Playing video with mpv lead to flickereing with totally unwatchable video. Playing using ffplay lead to stdout in terminal open in tabby but video opened in a new window in hikari. Is this acceptable way to test, with video opened in hikar window ? I haven't noticed hang in 5 minutes I played but I am doubtful of this method.
@Docbroke, I just ran into a pattern that's likely related to the freezes you've reported. I first found that in a recent log I did get an 'atomic commit failed' error. I suspected, then confirmed, that this error came whenever I changed to another tty. They were - at least in the current conditions - benign, and just indicate that tabby still tried to process another frame after switching to the other tty. I was able to avoid this error message in the log by putting a call to "blank" at the start of the "chvt" function (to "turn off" the monitor before handing it over to another tty). I'll need to figure out how to detect when it should be re-enabled before I push this change though. (edit: there is an "active" event with wlr_session that appears to serve this purpose).
But while I was tinkering with this I tried a bunch of variations on this. I found that if I try to rapidly switch back and forth between ttys where one is running tabby (regardless of whether the other is running a compositor, or just a getty), I get a complete freeze and need to reboot. So something is clearly wrong here and now that I can replicate it I should be able to make much better progress ... assuming this is related to the problem you are experiencing.
It's been a while since tinkering and loving Alopex and all the previous versions so I thought I'd take the plunge and try out tabby. Liking it and functionality is great. I don't do anything complicated so not noticing any issues but I'm trying to set a background wallpaper and setting alacritty transparency but not getting any results with setwallpaper and swaybg and not finding a whole lot of options in wayland. Just my newbieness showing I guess. Keep up the good work when you get the time.
Developers often use a terminal to perform tasks like installing external packages, debugging, and pushing code to production. How we interact with each terminal is vital to our workflow because of their different features and use cases.
Visual Studio Code (VS Code) is a free, open source source code editor developed by Microsoft. It has a built-in terminal feature that allows developers to access and interact with the command-line interface directly from the code editor.
Tabby is a highly customizable terminal that includes features like split panes, support for multiple tabs, and the ability to customize fonts and colors. It also supports customization with CSS and keyboard shortcuts using hotkeys.
To customize the VS Code terminal, navigate to Code/File > Preferences > Settings and open Settings.json. In the Settings.json file, add the terminal customization settings to the workbench.colorCustomizations configuration, as shown below:
The configuration above will change the terminal background color, text color, cursor color, and more. Below is the result of customizing VS Code using the VS Code Settings.json file and workbench.colorCustomizations:
Tabby is a relatively new terminal emulator that is not as widely known or used as VS Code. It has over 43,000 stars on GitHub, which shows that it is less popular than VS Code at the time of writing, but growing quickly.
VS Code is a feature-rich editor that sometimes feels slower or heavier than Tabby Terminal. Although VS Code has been optimized over the years to improve performance, it still requires more memory and processing power than the Tabby terminal. This can be especially noticeable when working with large projects or complex codebases.
Tabby Terminal has a built-in Serial Terminal that allows developers to interact with connected serial devices directly from the terminal. The Serial Terminal provides users with features like sending and receiving data, scrolling through history, and setting baud rates. It also allows users to configure custom terminal settings for different devices.
Tabby and VS Code are both great terminal options, but choosing the right one will depend on the needs of your unique project. Tabby is better for developers who want a modern and customizable terminal experience, while on the other hand, VS Code is a better choice for developers who need a code editor with integrated terminal functionality.
Kitty shares much in common with wezterm and Alacritty. You open it up to find a plain terminal powered by the GPU and you have to use a configuration file or custom commands to add features. My favorite part about this is that Kitty uses a plain text configuration file. This makes it much easier to configure, but it also means its less customizable than the Lua files of wezterm.
df19127ead