Skip to content

Commit 63ac676

Browse files
committed
builder: Column and row size defaults
1 parent 0777c3b commit 63ac676

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

src/tmuxp/workspace/builder.py

+23-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Create a tmux workspace from a workspace :py:obj:`dict`."""
22

33
import logging
4+
import os
45
import shutil
56
import time
67
import typing as t
@@ -17,9 +18,25 @@
1718

1819
logger = logging.getLogger(__name__)
1920

20-
DEFAULT_WIDTH = "800"
21-
DEFAULT_HEIGHT = "600"
22-
DEFAULT_SIZE = f"{DEFAULT_WIDTH}x{DEFAULT_HEIGHT}"
21+
COLUMNS_FALLBACK = 80
22+
23+
24+
def get_default_columns() -> int:
25+
"""Return default session column size use when building new tmux sessions."""
26+
return int(
27+
os.getenv("TMUXP_DEFAULT_COLUMNS", os.getenv("COLUMNS", COLUMNS_FALLBACK))
28+
)
29+
30+
31+
ROWS_FALLBACK = int(os.getenv("TMUXP_DEFAULT_ROWS", os.getenv("ROWS", 24)))
32+
33+
34+
def get_default_rows() -> int:
35+
"""Return default session row size use when building new tmux sessions."""
36+
return int(os.getenv("TMUXP_DEFAULT_ROWS", os.getenv("ROWS", ROWS_FALLBACK)))
37+
38+
39+
DEFAULT_SIZE = f"{COLUMNS_FALLBACK}x{ROWS_FALLBACK}"
2340

2441

2542
class WorkspaceBuilder:
@@ -232,7 +249,9 @@ def build(self, session: t.Optional[Session] = None, append: bool = False) -> No
232249
]
233250

234251
if has_gte_version("2.6"):
235-
terminal_size = shutil.get_terminal_size(fallback=(80, 24))
252+
terminal_size = shutil.get_terminal_size(
253+
fallback=(get_default_columns(), get_default_rows())
254+
)
236255
new_session_kwargs["x"] = terminal_size.columns
237256
new_session_kwargs["y"] = terminal_size.lines
238257

0 commit comments

Comments
 (0)