Bruno Sutic
b1f3df21e9
Create new file only if there are changes
...
Code submitted by @vburdo in
https://github.com/tmux-plugins/tmux-resurrect/issues/156
2017-05-30 05:14:14 +02:00
Bruno Sutic
5722856e54
Fix bug for restoring commands on tmux 2.5
2017-05-30 02:05:23 +02:00
Klas Mellbourn
0a6f90788f
remove pane contents cleanup to repair restore
...
as suggested in https://github.com/tmux-plugins/tmux-resurrect/issues/141
2017-05-07 19:35:06 +02:00
Klas Mellbourn
71fd3c8dd2
remove terminal clearing since it collides with capture-pane-contents
2017-05-06 00:37:13 +02:00
Heath Naylor
3bc852bbae
Fix comparision operators. Fixes #124
2016-01-29 09:41:52 -07:00
Bruno Sutic
370b4861cb
Revert "Symlink 'last' file at the end of successful save"
...
This reverts commit 6750a88e74
.
2015-11-25 13:42:37 +01:00
Bruno Sutic
6750a88e74
Symlink 'last' file at the end of successful save
2015-11-25 13:40:54 +01:00
Bruno Sutic
5f04ceabbc
Add sleep when saving zoomed windows
...
When saving zoomed windows:
- window is un-zoomed
- window layout snapshot is taken
- window is zoomed back
This is done because otherwise tmux does not provide correct window
layout. With this we're working around a tmux bug really.
The above causes an issue with vim. For some reason vim cannot properly
reload it's content when "un-zoom + zoom" is done quickly. Everything
works ok if a little sleep/wait is added, so we're doing just that.
0.1 second sleep seems to be enough.
About `sleep 0.1 || sleep 1`: this is a hack. We want to wait for 0.1
seconds, which seems to be enough to fix the issue. However, according
to POSIX, `sleep` command takes only integers.
BUT, decimal values seem to work everywhere. So, we're using a decimal
value, and if that fails, we behave POSIX friendly.
Related to issue #112 .
2015-10-26 01:22:46 +01:00
Bruno Sutic
06b8ad744a
Mutt added to the list of automatically restored programs
2015-08-14 19:23:36 +02:00
Bruno Sutic
e81f8e5f37
More portable pane_capture archiving
2015-07-10 19:29:40 +02:00
Bruno Sutic
a47236d247
Implement pane content files compression
2015-07-10 18:01:20 +02:00
Bruno Sutic
a750628a44
Change 'save pane contents' directory
2015-07-08 00:14:40 +02:00
Bruno Sutic
74773bed62
Save pane contents only if pane not blank
2015-07-08 00:02:20 +02:00
Bruno Sutic
aa0b424ca6
Refactoring
2015-07-07 23:35:41 +02:00
Bruno Sutic
852af79075
Do not save empty trailing lines when pane content is saved
2015-07-07 19:23:47 +02:00
Bruno Sutic
6fe70853a5
Expand tilde in @resurrect-dir
...
Fixes #74
2015-07-07 18:23:43 +02:00
Dmitry Motylev
ed6fb9b523
try to treat inline strategy as alias for strategy
...
if strategy with that name exists apply it otherwise use it as inline
strategy
Closes #88
2015-06-11 15:29:13 +02:00
Bruno Sutic
8af7aed9b3
Bugfix for pane contents restoration
2015-05-12 13:31:13 +02:00
Bruno Sutic
f3c6321501
Refactoring: drop dependency on command
2015-05-09 15:05:30 +02:00
Bruno Sutic
c85a3b4487
Improve pane content restore: remove extra cat
2015-05-09 14:05:51 +02:00
Bruno Sutic
fee40e2121
Capture pane contents feature, small refactor
2015-05-09 12:37:37 +02:00
quentin
737568922b
Make "full" pane contents saving the default
2015-03-18 22:38:38 +01:00
quentin
a1e3d37461
Correctly capture wrapped lines in the pane contents
...
Add the -J options to `capture-pane` to handle wrapped lines correctly.
This way wrapped lines will be joined upon capture and once restored,
will re-wrap upon pane size changes.
2015-03-18 10:14:20 +01:00
quentin
4f685d5c3d
Add an option to save the full pane contents
...
By default only the visible pane area is captured and restored.
The @resurrect-pane-contents-area option lets the full pane area be
captured instead.
2015-03-17 04:13:54 +01:00
quentin
b22b2a7203
Save and restore tmux pane contents
...
This feature is controlled by the '@resurrect-capture-pane-contents'
option.
Currently only the visible area of each pane is saved and restored.
2015-03-17 03:17:37 +01:00
Bruno Sutic
b7e7669999
Improve fetching "window_layout" value
...
It's faster now.
2015-02-12 14:10:56 +01:00
Bruno Sutic
abad85f03b
Enable quiet saving
2015-02-12 12:53:19 +01:00
Bruno Sutic
e1b01ee4f9
Export script paths so that 'tmux-resurrect-auto' plugin can use them
2015-02-12 12:48:44 +01:00
Bruno Sutic
708cd49d31
Fix a zoomed windows related regression
2015-02-12 12:47:09 +01:00
Bruno Sutic
c4375bf642
Enable 'full restore' by overwriting a single pane
2015-02-10 15:16:26 +01:00
Bruno Sutic
ddf9c5ef87
Reorder function in restore script
2015-02-10 13:44:14 +01:00
Bruno Sutic
b91e18cb0e
Remove deprecated and key bindings
2015-02-10 12:56:23 +01:00
Bruno Sutic
028e7b7c2e
Refactoring: prefer using variable with tab character
2015-02-10 12:48:53 +01:00
Bruno Sutic
b502572a07
Restore active and alternate windows only if they are present in the 'last' file
2015-02-10 12:48:53 +01:00
Bruno Sutic
1c8efb034a
If there are no grouped sessions, do not output empty line
2015-02-10 12:48:53 +01:00
Bruno Sutic
95ec3c1d9b
Save and restore active and alternate windows for grouped sessions
2015-02-10 12:48:53 +01:00
Bruno Sutic
5dc22a4a9b
Restore grouped sessions
2015-02-10 12:48:53 +01:00
Bruno Sutic
bfc625e13f
Save grouped sessions
...
Grouped sessions are session started with the command
`tmux new-session -t <existing-session-name>`
Those sessions share the panes and windows with the existing, original
session.
We're making sure to identify and save grouped sessions.
On the other hand, we don't want to save panes and windows twice
2015-02-10 12:48:53 +01:00
Bruno Sutic
e8401ba305
Merge pull request #56 from cunha/master
...
allow relative paths in @resurrect-dir
2014-11-09 20:25:26 +01:00
Bruno Sutic
601366be6d
Support for restoring neovim sessions
2014-11-09 16:42:53 +01:00
Italo Cunha
831fc5a458
allow relative paths in @resurrect-dir
...
this has been tested to work with set -g @resurrect-dir '.tmux/resu rrect'
2014-11-07 11:52:21 -02:00
Bruno Sutic
059686ab6c
Merge pull request #55 from rburny/master
...
Fixes to #51 and #52
2014-10-26 16:59:41 +01:00
Radoslaw Burny
fcf7ca13f0
Only save pane history if its not running any program (other than Bash
...
shell). Fixes a bug where 'history -w' was sent to pane running Bash
script.
2014-10-26 01:30:00 +02:00
Arno Mayrhofer
0b496dd228
Removing the last_resized variable
...
Instead resizing only if pane_active is set so we are sure the resizep
is called only once
2014-10-25 18:29:52 +02:00
Arno Mayrhofer
ad52ade4bf
Preserving layout of zoomed windows across restores
...
The problem is that tmux list-window shows only the current pane layout
if a pane is maximized. This is a bug in tmux. In order to avoid this
bug we unzoom the window when saving and zoom in again after saving.
This implies that the Z flag is no longer set in list-windows, and so it
can't be used when restoring. Instead we use the Z flag of the panes
(which still have it) to restore the zoom.
2014-10-25 18:29:52 +02:00
Bruno Sutic
8684d4592b
Flag gate the bash history restore feature
2014-10-17 22:33:29 +02:00
Bruno Sutic
94985fc500
Extract save_shell_history
to a separate function
2014-10-17 17:45:49 +02:00
Radoslaw Burny
81982b5114
Add bash history saving and restoring (first version).
...
This does not yet have flag to turn the feature off.
2014-10-17 17:14:33 +02:00
Bruno Sutic
a7fe9dcac3
Command line script that fully restores tmux environment
2014-09-24 14:33:46 +02:00
Bruno Sutic
ec9f68cad5
Quote arguments in tmux display-message
2014-09-24 14:30:05 +02:00
Bruno Sutic
94594efdb0
Small bugfix: text command arguments
2014-09-24 14:25:30 +02:00
Bruno Sutic
1b79eb2f63
Rename default strategy to ps
2014-09-21 15:12:35 +02:00
Bruno Sutic
9f7050aaae
Use a strategy when fetching pane full command
2014-09-20 23:47:15 +02:00
Bruno Sutic
1d09f07d2b
Remove dependency on pgrep
; use ps
to get process names
...
Fixes #43
2014-09-20 22:33:14 +02:00
Bruno Sutic
a0a3f2fd56
When a pane is not restored, don't restore it's program
2014-09-02 22:47:38 +02:00
Bruno Sutic
d606106f1c
Fix: command prompt not ideal after a restore
...
Fixes #36
2014-09-02 22:34:00 +02:00
Bruno Sutic
8368355240
Enable inline strategies when restoring programs
2014-09-01 20:32:27 +02:00
Bruno Sutic
af3cb5db2e
ctrl key mappings; deprecate alt keys
2014-08-31 11:35:58 +02:00
Bruno Sutic
3682cf6170
Bugfix: sourcing variables
file
2014-08-30 21:43:08 +02:00
Bruno Sutic
19c981545e
Make the default program running list even more conservative
2014-08-30 00:15:15 +02:00
Bruno Sutic
2b259cf11a
Show spinner during the env save process
2014-08-29 19:51:47 +02:00
Bruno Sutic
bd095e739d
Change plugin name and all the variables
2014-08-29 18:59:14 +02:00
Bruno Sutic
cedd1292c1
Restore window zoom state
...
Close #25
2014-08-29 17:04:00 +02:00
Bruno Sutic
05cf790493
Enable restoring more panes per window
...
Closes #24
2014-08-29 16:16:21 +02:00
Bruno Sutic
f9ef86d604
Do not restore processes within existing panes
...
Closes #23
2014-08-29 15:50:18 +02:00
Bruno Sutic
9a6e4a1a2c
Make pane restorations idempotent
2014-08-29 12:49:06 +02:00
Bruno Sutic
bd13c9bae8
Clean out comments
2014-08-29 01:04:50 +02:00
Bruno Sutic
54f47a4015
Properly restore pane with top
program
...
Fixes #17
2014-08-29 00:42:11 +02:00
Bruno Sutic
b8b87a6e29
Improve irb
restore strategy
...
Fixes #21
2014-08-29 00:17:02 +02:00
Bruno Sutic
cfe8e7979b
Restoring programs with arguments; improve process matching
...
Closes #20 , closes #19
2014-08-28 23:48:04 +02:00
Bruno Sutic
0da279e4cd
"vi, irb, pry" are restored by default
2014-08-28 14:35:49 +02:00
Bruno Sutic
884a5e9c19
Improve default restored program command matching
2014-08-28 13:53:09 +02:00
Bruno Sutic
18f4d1099e
Spin a spinner while tmux sessions are restored
...
Closes #16
2014-08-28 12:58:07 +02:00
Bruno Sutic
655bdb9a75
Refactor checking if tmux session file exists
2014-08-28 12:45:48 +02:00
Bruno Sutic
cde50d4d92
Command strategies; restore vim sessions
...
Closes #4
2014-08-28 00:43:31 +02:00
Bruno Sutic
1e945c2cac
Enable selectively restoring processes
...
- user can restore all processes with ':all:'
- user can selectively restore wanted processes
Closes #13
2014-08-27 16:19:36 +02:00
Bruno Sutic
7f50660918
User option for disabling pane process restoring
2014-08-27 13:12:32 +02:00
Bruno Sutic
cbf58ac613
Restore all pane processes
...
Close #3
2014-08-27 00:28:35 +02:00
Bruno Sutic
bcad7cd1ea
Bugfix: correct pane ordering in window
2014-08-26 20:57:53 +02:00
Bruno Sutic
4d5c0a2a0d
Improve active/alternate window restoring
2014-08-26 20:29:55 +02:00
Bruno Sutic
8051fb9d36
Restore pane layout for each window
...
Close #2
2014-08-26 20:19:34 +02:00
Bruno Sutic
8166fa2602
Restore active and alternate window for each session
...
Closes #12
2014-08-26 19:16:51 +02:00
Bruno Sutic
ecc42c5a56
Save and restore active pane
...
Active pane is restored for each window with multiple panes.
Closes #5
2014-08-26 18:54:39 +02:00
Bruno Sutic
aa8f323b8b
Improved handling of fields that can be empty
2014-08-26 17:51:56 +02:00
Bruno Sutic
c78a38803a
Bugfix: non-existing window names
...
Fixes #11
2014-08-26 17:28:40 +02:00
Bruno Sutic
877780eb02
Save and restore current and alternate session
...
Closes #6
2014-08-26 17:27:46 +02:00
Bruno Sutic
81ed0811b4
Error msg if saved session file doesn't exist
...
Close #9
2014-08-26 15:52:07 +02:00
Bruno Sutic
732d53cede
Support only Tmux v1.9 or greater
...
Closes #1
2014-08-26 15:47:31 +02:00
Bruno Sutic
5c2853a55f
Sessions directory is configurable
...
Close #10
2014-08-26 15:40:50 +02:00
Bruno Sutic
70d78e8d73
Saving a session does not override the previous one
...
Close #7
2014-08-26 15:31:47 +02:00
Bruno Sutic
1280e659d5
Remove debugging statements
2014-08-26 15:23:12 +02:00
Bruno Sutic
09869110fc
Restoring tmux sessions works
2014-08-26 13:20:15 +02:00
Bruno Sutic
b0f5fe18d8
Create a session saver script
2014-08-26 12:24:31 +02:00
Bruno Sutic
651b14075a
Create plugin start script
2014-08-26 12:23:58 +02:00