Releases: mina86/urxvt-tabbedex
urxvt-tabbedex v22.32
The new release comes with a fix for geometry being incorrectly
applied when scroll bars are enabled. For example, previously
starting the terminal with ‘-geometry 80x24’ could result with
the tab being less than 80 columns wide. This should no longer
happen.
There may still exist corner cases around tab sizing. If you
encounter unexpected behaviour in how -geometry switch is
interpreted or in the size of the initial tab please report
them at #44
urxvt-tabbedex v21.47
The release introduces :nowrap
variants to next_tab
, prev_tab
and move_tab_<direction>
actions. With the modifier applied, they will not wrap between the first and last tabs. For example, if the first tab is selected, tabbedex:prev_tab:nowrap
won’t do anything (without the modifier, it would switch to the last tab). The actions can be bind to keysym as usual; for example:
URxvt.keysym.Shift-Left: tabbedex:prev_tab:nowrap
URxvt.keysym.Shift-Right: tabbedex:next_tab:nowrap
URxvt.keysym.Control-Left: tabbedex:move_tab_left:nowrap
URxvt.keysym.Control-Right: tabbedex:move_tab_right:nowrap
Apart from that addition, this release removes automatic pairing of parenthesis in tabber-timeout
(use explicit two-character activity marks instead) and switches tabbedex-rs-prefix
to %
by default (so configuration using tabbed.
prefixes may stop working). The later option is still respected but is deprecated and will be removed at some time in the future.
urxvt-tabbedex v20.09
Release v20.09 makes it possible to specify left and right activity marks in the ‘tabbar-timeouts’ option. For example:
URxvt.tabbedex.tabbar-timeouts: 0:|:3:():6:[]:9:{}:12:<>
Automatic handling of parenthesise pairs is now deprecated and will eventually be removed. (Thanks to white-dragon for the implementation).
This release also addresses a few issues:
-
‘-e’ switch and ‘%E’ escape of the ‘tab-arguments’ option now work correctly. Previously using both of them together would make the terminal unusable and instead produce the following error:
Not an ARRAY reference at /home/wd/.urxvt/ext/tabbedex line 806.
(Thanks to white-dragon for a fix).
-
X resources are now correctly decoded allowing UTF-8 (or whatever is the local encoding) to be used. (Thanks to white-dragon for reporting).
-
Lastly, typo in ‘set_tab_name’ OSC command has been corrected. It used ‘tabbedx’ prefix instead of ‘tabbedex’ (note missing ‘e’). For backwards compatibility both spellings are accepted. (Thanks to step for spotting).
urxvt-tabbedex v19.21
urxvtd users should rejoice as urxvt-tabbedex v19.21 no longer hangs urxvtc the second time it’s run. (Thanks to lozdreamz for reporting the issue.)
It also comes with various other changes and improvements:
- Deprecation of
tabbedex-rs-prefix
continues. Resources with newtabbedex
prefix are always preferred and warning is issued if resource with legacy prefix is read. Things should now be clearer for new users who can usetabbedex
as documented. Users who haven’t migrated away fromtabbed
prefix might see warnings but their setup should continue to work. - Two new actions,
new_tab_before_this
andnew_tab_after_this
, create a new tab and specify where to place it among existing tabs. The actions aren’t bound to any key combination by default. - It’s now possible to set font styles of the tab bar elements. By default current tab is now using bold font, bell is indicated by italic which is also used by the title. All of that can be configured via the
tabbar-fg
and related resources. - Timeouts specified in
tabbar-timeouts
andbell-timeout
can now be fractional and are much more accurate than before. Under the hood this also removes superfluous CPU wake ups which should help with computer’s energy consumption.
urxvt-tabbedex v18.406
Release v18.183 introduced support for actions but also broke support
for user commands making configuration such as:
URxvt.keysym.Control-t: perl:tabbedex:new_tab
not work. Switching to an action fixes the issue:
URxvt.keysym.Control-t: tabbedex:new_tab
but to make old configuration work, this release addresses the
underlying cause of the breakage.
The bug is present in release v18.183 and v18.316. Default key
bindings are not affected.
urxvt-tabbedex v18.316
urxvt-tabbedex v18.316 comes with per-tab commands, current working directory inheritance and argument support in new_tab
action.
Beware, this release removes the new-tab-command
resource. This backwards-incompatible change was dictated by introduction of a more powerful tab-arguments
resource.
Migration from new-tab-command
to tab-arguments
is rather straightforward.
new-tab-commands: clear
becomestab-arguments:
(i.e. empty value),new-tab-commands: inherit
can simply be removed,new-tab-commands: -e command …
becomestab-arguments: -e command …
(i.e. value stays the same).
Value of the tab-arguments
resource is properly split into words such that tab-arguments: -e /bin/sh -c "echo foo; exec /bin/bash"
will work as expected.
It also supports some special sequence interpolation. For example, %E
is replaced by command which would normally be started in the terminal, %n
by number of tabs opened so far and %p
produces process group ID running in foreground of current tab. With the help of pgid-cd.pl
and command-runner.sample
one can use
URxvt.tabbedex.tab-arguments: \
-e /usr/lib/urxvt/tabbadex-pgid-cd %p \
/bin/sh %~/.urxvt/command-runner %n %e
to run different commands in different tabs and start new tabs in a directory that command running in current tab is in.
Lastly, new_tab
action takes an argument now such that keys can be bound to starting particular commands. For example:
URxvt.keysym.F1: tabbedex:new_tab:-e info
will create a new tab with info program running upon pressing F1.