Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions far/FarCze.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4404,6 +4404,28 @@ slow down the directory reading.
#Typ sloupce stavového řádku# a #Šířka sloupce stavového řádku# -
podobně jako "Typ sloupců" a "Šířka sloupců", ale pro panel stavové řádky.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Celoobrazovkový režim# - nastaví celoobrazovkový pohled místo půlobrazového.

#Zarovnat přípony souborů# - zobrazení přípon souborů zarovnaně.
Expand Down
84 changes: 53 additions & 31 deletions far/FarEng.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4274,53 +4274,53 @@ files will be listed on a single stripe.

The following column types are supported:

N[M[D],O,R[F],N] - file name, where:
M - ^<wrap>show selection marks where:
D - dynamic selection marks;
O - ^<wrap>show names without paths (intended mostly for ~plugins~@Plugins@);
R - ^<wrap>right align names that do not fit in column, where:
F - right align all names;
N - ^<wrap>do not show extensions in name column;
#N[M[D],O,R[F],N]# - file name, where:
#M# - ^<wrap>show selection marks where:
#D# - dynamic selection marks;
#O# - ^<wrap>show names without paths (intended mostly for ~plugins~@Plugins@);
#R# - ^<wrap>right align names that do not fit in column, where:
#F# - right align all names;
#N# - ^<wrap>do not show extensions in name column;

These modifiers can be used in combination, for example NMR.

X[R] - file extension, where:
R - ^<wrap>right align file extension;
#X[R]# - file extension, where:
#R# - ^<wrap>right align file extension;

S[C,T,F,E] - file size
P[C,T,F,E] - allocation file size
G[C,T,F,E] - size of file streams, where:
C - ^<wrap>group digits using the character from Windows settings;
T - ^<wrap>use decimal units instead of binary,
#S[C,T,F,E]# - file size
#P[C,T,F,E]# - allocation file size
#G[C,T,F,E]# - size of file streams, where:
#C# - ^<wrap>group digits using the character from Windows settings;
#T# - ^<wrap>use decimal units instead of binary,
i.e., to calculate kilobytes, the size will be divided by 1000 instead
of by 1024; in this mode unit character is shown in lower case, e.g. #k#,
#m#, #g# instead of #K#, #M#, #G#;
F - ^<wrap>show size as a decimal fraction with
#F# - ^<wrap>show size as a decimal fraction with
no more than three digits before decimal point, e.g. 999 bytes will
be shown as #999#, while 1024 bytes as #1.00 K#; note that the behavior
depends on whether the #T# modifier is used;
E - ^<wrap>economic mode, no space between the
#E# - ^<wrap>economic mode, no space between the
size and the unit character, e.g. #1.00k#;

D - file last write date;
T - file last write time;
#D# - file last write date;
#T# - file last write time;

DM[B,M] - file last write date and time;
DC[B,M] - file creation date and time;
DA[B,M] - file last access date and time;
DE[B,M] - file change date and time, where:
B - brief (Unix style) file time format;
M - use text month names;
#DM[B,M]# - file last write date and time;
#DC[B,M]# - file creation date and time;
#DA[B,M]# - file last access date and time;
#DE[B,M]# - file change date and time, where:
#B# - brief (Unix style) file time format;
#M# - use text month names;

A - file attributes;
Z - file descriptions;
#A# - file attributes;
#Z# - file descriptions;

O[L] - file owner, where:
L - show domain name;
#O[L]# - file owner, where:
#L# - show domain name;

LN - number of hard links;
#LN# - number of hard links;

F - number of streams.
#F# - number of streams.

If the column types description contains more than one file name column,
the file panel will be displayed in multicolumn form.
Expand Down Expand Up @@ -4369,7 +4369,29 @@ to the display of seconds and milliseconds.
slow down the directory reading.

#Status line column types# and #Status line column widths# -
similar to "Column types" and "Column widths", but for panel status line.
similar to #Column types# and #Column widths#, but for panel status line.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Fullscreen view# - force fullscreen view instead of half-screen.

Expand Down
22 changes: 22 additions & 0 deletions far/FarGer.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4452,6 +4452,28 @@ slow down the directory reading.
wie "Spaltentypen" und "Spaltenbreite", jedoch für die Statuszeile des
Fensters.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Vollbildschirm# - erzwingt Anzeige des Fensters anstelle über der
halben über die volle Bildschirmseite.

Expand Down
22 changes: 22 additions & 0 deletions far/FarHun.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4472,6 +4472,28 @@ slow down the directory reading.
beállítása hasonlóan működik az "Oszloptípusokhoz" és "Oszlopszélességekhez",
de a panelek állapotsorára hat.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Teljes képernyős nézet# - osztott képernyő helyett a fájlpanel elfoglalja
a teljes képernyőszélességet.

Expand Down
22 changes: 22 additions & 0 deletions far/FarPol.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4374,6 +4374,28 @@ może znacząco spowolnić odczyt folderu.
#Typy kolumn linii statusu# i #Szerokości kolumn linii statusu# -
podobnie do "Typów kolumn" i "Szerokości kolumn", ale dotyczą linii statusu panelu.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Widok pełnoekranowy# - wymusza wyświetlanie na pełnym ekranie zamiast na połowie.

#Wyrównaj rozszerzenia plików# - pokazuje wyrównane rozszerzenia plików.
Expand Down
22 changes: 22 additions & 0 deletions far/FarRus.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4429,6 +4429,28 @@ $ #Настройка режимов просмотра панели файло
аналогично "Типам колонок" и "Ширине колонок", но для строки статуса
панели.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Полноэкранный режим# - показывать панель во весь экран вместо
половины экрана.

Expand Down
24 changes: 23 additions & 1 deletion far/FarSky.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4364,7 +4364,29 @@ sekundy resp. milisekundy.
slow down the directory reading.

#Typy stavového riadku# a #Šírky stavového riadku# -
sú podobné "Typom stĺpcov" a "Šírkam stĺpcov", ale platia pre stavový riadok.
sú podobné #Typom stĺpcov# a #Šírkam stĺpcov#, ale platia pre stavový riadok.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Celá obrazovka# - nastaví jeden panel na celú obrazovku namiesto zvyčajnej polovičky.

Expand Down
22 changes: 22 additions & 0 deletions far/FarUkr.hlf.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4436,6 +4436,28 @@ slow down the directory reading.
аналогічно "Типам стовпчиків" і "Ширині стовпчиків", але для рядка статусу
панелі.

Multiple status lines are supported. To define them, separate column type
and width groups with the #|# (pipe) character. Each group describes one
status line.

For example, #N,S|Z# in #Status line column types# and #0,10|0# in
#Status line column widths# will display file name and size on the first
status line, and file description on the second one.

Empty status lines are also allowed. For example, #N,S||Z# defines three
status lines: file name and size on the first line, an empty second line,
and file description on the third one.

Parsing of #Status line column widths# is relaxed. Widths are assigned
according to the layout specified in #Status line column types#. Therefore,
in addition to #|#, the #,# (comma) character can also be used between
width groups, and omitted empty groups are inferred automatically.

For example, for #N,S|Z# it is allowed to specify #0,10,0# instead of
#0,10|0#. For #N,S||Z# it is also allowed to specify #0,10,0# instead of
#0,10||0#. In both cases the widths are distributed using the structure of
#Status line column types#.

#Повноекранний режим# - показувати панель на весь екран замість
половини екрана.

Expand Down
12 changes: 6 additions & 6 deletions far/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -953,7 +953,7 @@ static void ResetViewModes(std::span<PanelViewSettings> const Modes, int const I
{
static const struct
{
std::initializer_list<column> PanelColumns, StatusColumns;
std::initializer_list<column> PanelColumns, StatusLine;
unsigned long long Flags;
}
InitialModes[]
Expand Down Expand Up @@ -1113,7 +1113,7 @@ static void ResetViewModes(std::span<PanelViewSettings> const Modes, int const I
const auto InitMode = [](const auto& src, auto& dst)
{
dst.PanelColumns = src.PanelColumns;
dst.StatusColumns = src.StatusColumns;
dst.StatusLines = { src.StatusLine };
dst.Flags = src.Flags;
dst.Name.clear();
};
Expand Down Expand Up @@ -1348,7 +1348,7 @@ void Options::SetFilePanelModes()

ModeDlg[MD_EDITNAME].strData = CurrentSettings.Name;
std::tie(ModeDlg[MD_EDITTYPES].strData, ModeDlg[MD_EDITWIDTHS].strData) = SerialiseViewSettings(CurrentSettings.PanelColumns);
std::tie(ModeDlg[MD_EDITSTATUSTYPES].strData, ModeDlg[MD_EDITSTATUSWIDTHS].strData) = SerialiseViewSettings(CurrentSettings.StatusColumns);
std::tie(ModeDlg[MD_EDITSTATUSTYPES].strData, ModeDlg[MD_EDITSTATUSWIDTHS].strData) = serialize_status_line_settings(CurrentSettings.StatusLines);
}

int ExitCode;
Expand Down Expand Up @@ -1376,7 +1376,7 @@ void Options::SetFilePanelModes()

NewSettings.Name = ModeDlg[MD_EDITNAME].strData;
NewSettings.PanelColumns = DeserialiseViewSettings(ModeDlg[MD_EDITTYPES].strData, ModeDlg[MD_EDITWIDTHS].strData);
NewSettings.StatusColumns = DeserialiseViewSettings(ModeDlg[MD_EDITSTATUSTYPES].strData, ModeDlg[MD_EDITSTATUSWIDTHS].strData);
NewSettings.StatusLines = deserialize_status_line_settings(ModeDlg[MD_EDITSTATUSTYPES].strData, ModeDlg[MD_EDITSTATUSWIDTHS].strData);
}
else
{
Expand Down Expand Up @@ -2861,7 +2861,7 @@ void Options::ReadPanelModes()
if (!StatusColumnTitles.empty())
{
const auto StatusColumnWidths = cfg->GetValue<string>(Key, ModesStatusColumnWidthsName);
i.StatusColumns = DeserialiseViewSettings(StatusColumnTitles, StatusColumnWidths);
i.StatusLines = deserialize_status_line_settings(StatusColumnTitles, StatusColumnWidths);
}
};

Expand Down Expand Up @@ -2897,7 +2897,7 @@ void Options::SavePanelModes(bool always)
const auto SaveMode = [&](HierarchicalConfig::key const ModesKey, PanelViewSettings const& Item, size_t Index)
{
const auto [PanelTitles, PanelWidths] = SerialiseViewSettings(Item.PanelColumns);
const auto [StatusTitles, StatusWidths] = SerialiseViewSettings(Item.StatusColumns);
const auto [StatusTitles, StatusWidths] = serialize_status_line_settings(Item.StatusLines);

const auto Key = cfg->CreateKey(ModesKey, str(Index));

Expand Down
Loading
Loading