summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2020-02-18 00:51:08 +0100
committerrabite <rabite@posteo.de>2020-02-18 00:51:08 +0100
commit84d77732058f06aad0cc2c8afb08258a5f9cb5f5 (patch)
treefa8e2f3b2cf87ae17edd76fb823369bba4b9ce12
parentedc2def6110e99f457f56fcce1574d3c7310f1fe (diff)
add option to separate icon and file name with a space
-rw-r--r--src/config.rs4
-rw-r--r--src/listview.rs18
2 files changed, 16 insertions, 6 deletions
diff --git a/src/config.rs b/src/config.rs
index ddcb068..c4e7049 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -88,6 +88,7 @@ pub struct Config {
pub select_cmd: String,
pub cd_cmd: String,
pub icons: bool,
+ pub icons_space: bool,
pub media_autoplay: bool,
pub media_mute: bool,
pub media_previewer: String,
@@ -113,6 +114,7 @@ impl Config {
select_cmd: "find -type f | fzf -m".to_string(),
cd_cmd: "find -type d | fzf".to_string(),
icons: false,
+ icons_space: false,
media_autoplay: false,
media_mute: false,
media_previewer: "hunter-media".to_string(),
@@ -146,6 +148,8 @@ impl Config {
Ok(("show_hidden", "off")) => config.show_hidden = false,
Ok(("icons", "on")) => config.icons = true,
Ok(("icons", "off")) => config.icons = false,
+ Ok(("icons_space", "on")) => config.icons_space = true,
+ Ok(("icons_space", "off")) => config.icons_space = false,
Ok(("select_cmd", cmd)) => {
let cmd = cmd.to_string();
config.select_cmd = cmd;
diff --git a/src/listview.rs b/src/listview.rs
index 3a40289..b260b6a 100644
--- a/src/listview.rs
+++ b/src/listview.rs
@@ -744,14 +744,17 @@ impl ListView<Files>
use crate::files::FileError;
let xsize = self.get_coordinates().unwrap().xsize();
- let icons = self.core.config().icons;
+ let config = self.core.config();
+ let icons = config.icons;
+ let icons_space = config.icons_space;
move |file| -> String {
let mut line = String::with_capacity(500);
- let icon = match icons {
- true => file.icon(),
- false => ""
+ let (icon, icon_space) = match (icons, icons_space) {
+ (true, true) => (file.icon(), " "),
+ (true, false) => (file.icon(), ""),
+ _ => ("", "")
};
let name = &file.name;
@@ -805,27 +808,30 @@ impl ListView<Files>
let padding = xsize - padding as u16;
let padding = padding - tag_len;
let padding = padding - icon.width() as u16;
+ let padding = padding - icon_space.len() as u16;
write!(&mut line, "{}", termion::cursor::Save).unwrap();
match file.get_color() {
Some(color) => write!(&mut line,
- "{}{}{}{}{}{:padding$}{}",
+ "{}{}{}{}{}{}{:padding$}{}",
tag,
&color,
selection_color,
selection_gap,
icon,
+ icon_space,
&sized_string,
term::normal_color(),
padding = padding as usize),
_ => write!(&mut line,
- "{}{}{}{}{}{:padding$}{}",
+ "{}{}{}{}{}{}{:padding$}{}",
tag,
term::normal_color(),
selection_color,
selection_gap,
icon,
+ icon_space ,
&sized_string,
term::normal_color(),
padding = padding as usize),