Comments (2)
Hi!
Can you restate some of the above? It isn't clear to me.
On a side note: PRs, especially ones with good tests, are also welcome
from libtmux.
Hey tony. Sure.
As an example, I have the following
session = None
sessions = self._server.attached_sessions
if len(sessions) > 1:
log.info('There are more than 1 sessions active. Unable to detect active one.')
elif len(sessions) == 1:
session = sessions[0]
else:
log.info('No active sessions found.')
session.attached_window.select_pane(3)
I use only one client attached to one session, which I make sure is true.
The session is always correct (the one I am active in).
However, running select_pane(3)
on the attached window always switches the pane in one specific session (even when I am active in another and the session
variable is correct.
The select_pane
method ultimately calls the window function self.cmd
here: https://github.com/tmux-python/libtmux/blob/master/src/libtmux/window.py#L163
self.cmd("select-pane", "-t%s" % target_pane)
(select-pane -t3
)
This ends up in the server function self.server.cmd
here: https://github.com/tmux-python/libtmux/blob/master/src/libtmux/window.py#L141
self.server.cmd(cmd, *args, **kwargs)
(select-pane -t3
)
Which then ends up here: https://github.com/tmux-python/libtmux/blob/master/src/libtmux/server.py#L177
tmux_cmd(*cmd_args, **kwargs)
which will probably end up in calling tmux select-pane -t3
.
=> This does not switch the pane in the active session window, but in another one.
I just tested a bit. When I run the shell command tmux select-pane -t3
in any session it correctly switches the pane.
Could it be that, because the python program (doing the switching) is running in another session, it always switches panes in that session?
^ I just tested above theory: and yes, that is the case.
=> I think it would be wise to always pass the session_id
and window_id
with the -t
argument!?
from libtmux.
Related Issues (20)
- Tests failing on ppc64le HOT 2
- Tests failing on aarch64 HOT 2
- Tests failing on armv7l HOT 3
- Intermittent errors with tests on x86_64 / amd64 HOT 7
- Intermittent errors with tests on i586 (32bit)
- Is there any way to connect to a tmux session on a remote machine? HOT 1
- Intermittent / flaky test test_capture_pane
- Drop Python 3.7 HOT 1
- `build(build-system)`: Remove `setuptools` build dependency
- unknown pytest option --doctest-docutils-modules HOT 7
- Unable to access server via WSGI HOT 4
- `TmuxObjectDoesNotExist` when creating `libtmux.Server().new_session(attach=True)` HOT 13
- Remove assert from __eq__ for windows HOT 5
- Tests failing with "FileNotFoundError: [Errno 2]" and "Unknown directive type: 'currentmodule' [myst.directive_unknown]" HOT 6
- Tests: Snapshots
- Options: Typed structures
- Environment: Add to `new-window`, `split-window`, `respawn-window`, `respawn-pane`
- No implicit exports from __init__.py HOT 1
- `pane.send_keys()` doesn't send cmd to correct pane when cmd has a `-t` flag HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libtmux.