Compare commits
3 Commits
c692a1a992
...
41af25e0b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41af25e0b1 | ||
|
|
f807fe56b5 | ||
|
|
adb10b6d5d |
@@ -100,13 +100,13 @@ char* parse_cmd(const char *cmd, file *f){
|
|||||||
pos = out;
|
pos = out;
|
||||||
if (offset) {
|
if (offset) {
|
||||||
memcpy(pos, cmd, offset - cmd);
|
memcpy(pos, cmd, offset - cmd);
|
||||||
pos += offset - cmd + 1;
|
pos += offset - cmd;
|
||||||
} else {
|
} else {
|
||||||
memcpy(pos, cmd, strlen(cmd));
|
memcpy(pos, cmd, strlen(cmd));
|
||||||
pos += strlen(cmd) + 1;
|
pos += strlen(cmd) + 1;
|
||||||
}
|
|
||||||
pos[-1] = ' ';
|
pos[-1] = ' ';
|
||||||
pos[0] = '\'';
|
}
|
||||||
|
*pos = '\'';
|
||||||
pos++;
|
pos++;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|||||||
6
dir.c
6
dir.c
@@ -52,6 +52,8 @@ void get_dir_content(char *path, dir *dir){
|
|||||||
} else {
|
} else {
|
||||||
scandir(path, &entry, skip_hidden_files, NULL);
|
scandir(path, &entry, skip_hidden_files, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *full_path = NULL;
|
char *full_path = NULL;
|
||||||
unsigned long i = 0;
|
unsigned long i = 0;
|
||||||
for (i = 0; i < dir->file_count; i++ ) {
|
for (i = 0; i < dir->file_count; i++ ) {
|
||||||
@@ -199,7 +201,7 @@ void print_dir(WINDOW *win, char print_info, dir *dir){
|
|||||||
} while (file_size > 1 && size_index < size_unit_count);
|
} while (file_size > 1 && size_index < size_unit_count);
|
||||||
size_char = size_unit[(unsigned)size_index];
|
size_char = size_unit[(unsigned)size_index];
|
||||||
|
|
||||||
if (dir->file_list[i].file_type &= FILE_TYPE_DIR) {
|
if (dir->file_list[i].file_type & FILE_TYPE_DIR) {
|
||||||
offset_back = line_width - (snprintf(NULL,0,"%ld", dir->file_list[i].file_size) + 1);
|
offset_back = line_width - (snprintf(NULL,0,"%ld", dir->file_list[i].file_size) + 1);
|
||||||
} else if (size_char =='B') {
|
} else if (size_char =='B') {
|
||||||
offset_back = line_width - (snprintf(NULL,0,"%0.0lf %c", printed_size, size_char) + 1);
|
offset_back = line_width - (snprintf(NULL,0,"%0.0lf %c", printed_size, size_char) + 1);
|
||||||
@@ -265,7 +267,7 @@ void print_dir(WINDOW *win, char print_info, dir *dir){
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (dir->file_list[i].file_type &= FILE_TYPE_DIR) {
|
if (dir->file_list[i].file_type & FILE_TYPE_DIR) {
|
||||||
mvwprintw(win, i-offset_vertical, offset_back, "%ld", dir->file_list[i].file_size);
|
mvwprintw(win, i-offset_vertical, offset_back, "%ld", dir->file_list[i].file_size);
|
||||||
}else if (size_char =='B') {
|
}else if (size_char =='B') {
|
||||||
mvwprintw(win, i-offset_vertical, offset_back, "%0.0lf %c", printed_size, size_char);
|
mvwprintw(win, i-offset_vertical, offset_back, "%0.0lf %c", printed_size, size_char);
|
||||||
|
|||||||
@@ -207,6 +207,10 @@ void move_right(){
|
|||||||
}
|
}
|
||||||
dir_changed();
|
dir_changed();
|
||||||
} else if (mid_dir.current_file->file_type & FILE_TYPE_EXEC) {
|
} else if (mid_dir.current_file->file_type & FILE_TYPE_EXEC) {
|
||||||
|
chdir(".");
|
||||||
|
char *cmd = parse_cmd("./"SETTINGS_COMMAND_REPLACE_STR,mid_dir.current_file);
|
||||||
|
if (system(cmd)) {
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
char *mime = get_mimetype(mid_dir.current_file);
|
char *mime = get_mimetype(mid_dir.current_file);
|
||||||
char *extension = mid_dir.current_file->file_name;
|
char *extension = mid_dir.current_file->file_name;
|
||||||
@@ -233,7 +237,7 @@ void move_right(){
|
|||||||
}
|
}
|
||||||
if (!(status & STATUS_MOVE_RIGHT_MATCH)) {
|
if (!(status & STATUS_MOVE_RIGHT_MATCH)) {
|
||||||
for (i = 0; i < mimetype_default_count; i++) {
|
for (i = 0; i < mimetype_default_count; i++) {
|
||||||
if (strstr(mimetype_default_cmd[i].mimetype, mime) == 0) {
|
if (strstr(mime, mimetype_default_cmd[i].mimetype)) {
|
||||||
cmd = parse_cmd(mimetype_default_cmd[i].command, mid_dir.current_file);
|
cmd = parse_cmd(mimetype_default_cmd[i].command, mid_dir.current_file);
|
||||||
if (system(cmd)) {
|
if (system(cmd)) {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,8 +215,10 @@ void *thread_rgt(){
|
|||||||
|
|
||||||
pthread_mutex_unlock(&mutex_mid);
|
pthread_mutex_unlock(&mutex_mid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (rgt_dir.current_file->permissions & S_IRUSR) {
|
if (rgt_dir.current_file->permissions & S_IRUSR) {
|
||||||
if (rgt_dir.current_file->file_type &= FILE_TYPE_DIR) {
|
if (rgt_dir.current_file->file_type & FILE_TYPE_DIR) {
|
||||||
#if SETTINGS_UEBERZUG_IMAGE_PREVIEW != 0
|
#if SETTINGS_UEBERZUG_IMAGE_PREVIEW != 0
|
||||||
images_clear();
|
images_clear();
|
||||||
#endif
|
#endif
|
||||||
@@ -243,7 +245,7 @@ void *thread_rgt(){
|
|||||||
rgt_dir.current_file->file_type |= FILE_TYPE_OPEN_FILE;
|
rgt_dir.current_file->file_type |= FILE_TYPE_OPEN_FILE;
|
||||||
pthread_mutex_lock(&mutex_render);
|
pthread_mutex_lock(&mutex_render);
|
||||||
werase(win_r);
|
werase(win_r);
|
||||||
if (rgt_dir.current_file->file_type == FILE_TYPE_OPEN_FILE) {
|
if (rgt_dir.current_file->file_type & FILE_TYPE_OPEN_FILE) {
|
||||||
mvwaddnstr(win_r, 0, 0, rgt_buffer, (terminal_width/2) * terminal_width);
|
mvwaddnstr(win_r, 0, 0, rgt_buffer, (terminal_width/2) * terminal_width);
|
||||||
} else if ((rgt_dir.current_file->permissions & S_IRUSR) == 0) {
|
} else if ((rgt_dir.current_file->permissions & S_IRUSR) == 0) {
|
||||||
mvwaddstr(win_r, 0, 0, "not accessible");
|
mvwaddstr(win_r, 0, 0, "not accessible");
|
||||||
|
|||||||
Reference in New Issue
Block a user