emacs-eaf / eaf-file-manager Goto Github PK
View Code? Open in Web Editor NEWFully multi-threaded replacement for dired-mode
License: GNU General Public License v3.0
Fully multi-threaded replacement for dired-mode
License: GNU General Public License v3.0
当光标停一端时间后,可以预加载光标处目录的信息,加快打开下一层目录的时间。
现状
新增的 narrow filter 功能, 是大小写相关的。 在实际使用过程中, 在一个文件夹下, 大小写同名的文件(夹)大概率不会出现。
建议
更改为大小写无关的过滤方式。使用起来更为便捷。
文件管理器有一个问题,假如a目录有a1和 a2两个文件,如果当前文件是a1, 如果我从其它途径把a1删除,在文件管理器中按 g就会导致崩溃,如果当前选择的是a2, 就没有类似问题.
现状
目前的文件排序,只支持正序排列(不论按哪个字段来排序)。
Describe the solution you'd like
希望增加一个toggle 功能,即 支持按同样排序按键时, 触发该字段反序排列
比如, 按 4 , 默认是最早修改在最上面,最新修改在最下面; 再按4, 则触发反序, 最新修改在最上面,最早修改在最下面。
When execute below line:
self.buffer_widget.eval_js_function('''renameFiles''', self.batch_rename_files)
EAF crash, I don't know why now.
git pull
, please refer to Mandatory Procedures to Keep Your EAF Up-to-Date first.*eaf*
buffer, if there is any error shown in the *eaf*
buffer, paste it here.Traceback (most recent call last):
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 936, in run
file_infos = self.get_files_callback(self.file)
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 243, in get_file_infos
file_infos.append(self.get_file_info(str(p.absolute())))
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 234, in get_file_info
"mtime": os.path.getmtime(file_path)
File "/usr/lib/python3.8/genericpath.py", line 55, in getmtime
return os.stat(filename).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/home/nbfields/test_directory/also_no_real'
Traceback (most recent call last):
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 936, in run
file_infos = self.get_files_callback(self.file)
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 243, in get_file_infos
file_infos.append(self.get_file_info(str(p.absolute())))
File "/home/nbfields/.emacs.d/site-lisp/emacs-application-framework/app/file-manager/buffer.py", line 234, in get_file_info
"mtime": os.path.getmtime(file_path)
File "/usr/lib/python3.8/genericpath.py", line 55, in getmtime
return os.stat(filename).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/home/nbfields/test_directory/also_no_real'
Describe the bug
When using the EAF file manager, directories that contain broken simlinks cannot be displayed. They simply show a blank screen, and attempting to show or hide hidden files results in an error: [EAF/file-manager] Cannot execute function: toggle_hidden_file (f81b-41d0-c654-9a74-f27c-39d4-8a9f)
To Reproduce
1: Create a directory called test_directory
2: Create a file called test_file in that directory
3: Create a simlink that does not exist, ie ln -s not_real also_not_real
4: Open the EAF file manager and attempt to open that directory
5: Switch to the EAF terminal and remove the broken simlink (or do something else to remove it)
6: Return to the file manager (possibly killing the buffer and reopening it) to see the directory is now usable
Expected behavior
The EAF file manager would display all files as expected, perhaps highlighting the broken simlink in red or some such to indicate that it is not usable.
Versions (please complete the following info):
Additional context
There is the obvious solution of simply not having any broken simlinks, but the program Steam creates one in the home directory every time it opens! This is for some backwards compatibility with an older version of the Steam Development Kit or something to that effect, where the link must exist but is unused, so it is created and then broken intentionally. I can delete it each time, but I am pretty sure this is not desired behavior regardless.
Describe the bug
My .emacs contains the following code:
(load-theme 'tango-dark)
; some other settings
(require 'eaf)
(require 'eaf-browser)
(require 'eaf-pdf-viewer)
(require 'eaf-terminal)
(require 'eaf-video-player)
(require 'eaf-file-manager)
(require 'eaf-demo)
(require 'eaf-evil)
; some other settings
(setq eaf-terminal-dark-mode "nil")
(setq eaf-pdf-dark-mode "nil")
(setq eaf-file-manager-dark-mode "nil")
The intention of this code is to disable dark mode on PDFs, the terminal, and the file manager. The linked screenshot in the screenshot section shows the appearance of the file manager in a "regular" emacs instance, versus one that is created via "emacs --daemon". As may be seen, the appearence is not the same. The regular emacs instance has a blueish background, which is the default appearance of my terminal and what I would like to see. The daemonized version is all black and it is hard to see the files in the file manager. The colors are likewise in the terminal and PDFs - not shown, but I can provide more screenshots if desired.
To Reproduce
Ensure you're on the latest master branch, then note the steps to reproduce the behavior.
0: Set up a .emacs file with the above code for eaf
1: Run emacs --daemon, and launch a window in GUI
2: Run emacs (without --daemon) in GUI
3: Open the file manager with M-x eaf-open-in-file-manager in both emacs clients
Expected behavior
Expected behavior is that the emacs clients would both look the same. I am actually not sure what the "expected" appearance is as far as the desired behavior from the development perspective. My preference is that the file manager etc inherit the same color scheme as my regular work, ie tango-dark, but I do not know which, if any, settings are intended to look like this.
Versions (please complete the following info):
Distro and DE/WM:
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.11.0-38-generic
Architecture: x86-64
Versions of Dependencies: Uncertain how to find/check
M-x emacs-version: GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2021-06-04
Screenshots
Daemon vs standard
Additional context
As noted, I am actually not entirely certain which of these is "expected" behavior, just that them being different is probably not intended!
文件后缀为: MPG ,属于视频文件类型。
当前显示该类型文件图标为“碎图片”, 应和其它视频文件一样显示为视频图标。
长按j,向下移动几个位置,这个没问题。
长按k,向上移动几个位置,放开,过0.5秒左右会再向上移动一个位置。
Line 219 in 3aeaf8b
Debugger entered--Lisp error: (void-variable doom-modeline-mode)
(and doom-modeline-mode doom-modeline-icon doom-modeline-major-mode-icon)
(if (and doom-modeline-mode doom-modeline-icon doom-modeline-major-mode-icon) (progn (set (make-local-variable 'doom-modeline--buffer-file-icon) (eaf-all-the-icons-icon mode-name))))
eaf-all-the-icons-update-icon()
(progn nil (eaf-all-the-icons-update-icon))
(if (and (condition-case nil (progn (require 'all-the-icons) (featurep 'eaf-all-the-icons)) (error nil))) (progn nil (eaf-all-the-icons-update-icon)))
eaf--update-modeline-icon()
(save-current-buffer (set-buffer buffer) (eaf-call-async "new_buffer" eaf--buffer-id (if (eaf--called-from-wsl-on-windows-p) (eaf--translate-wsl-url-to-windows url) url) (eaf--get-app-module-path app-name) args) (eaf--update-modeline-icon))
(let* ((buffer (eaf--create-buffer url app-name args))) (save-current-buffer (set-buffer buffer) (eaf-call-async "new_buffer" eaf--buffer-id (if (eaf--called-from-wsl-on-windows-p) (eaf--translate-wsl-url-to-windows url) url) (eaf--get-app-module-path app-name) args) (eaf--update-modeline-icon)) (eaf--preview-display-buffer app-name buffer))
eaf--open-internal("~" "file-manager" "")
(if (and exists-eaf-buffer (not always-new)) (progn (eaf--preview-display-buffer app-name exists-eaf-buffer) (message (concat "[EAF/" app-name "] " "Switch to %s") url)) (eaf--open-internal url app-name args) (message (concat "[EAF/" app-name "] " "Opening %s") url))
(let (exists-eaf-buffer) (catch 'found-eaf (let ((--dolist-tail-- (eaf--get-eaf-buffers))) (while --dolist-tail-- (let ((buffer (car --dolist-tail--))) (save-current-buffer (set-buffer buffer) (if (and ... ...) (progn ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (if (and exists-eaf-buffer (not always-new)) (progn (eaf--preview-display-buffer app-name exists-eaf-buffer) (message (concat "[EAF/" app-name "] " "Switch to %s") url)) (eaf--open-internal url app-name args) (message (concat "[EAF/" app-name "] " "Opening %s") url)))
(if (eaf-epc-live-p eaf-epc-process) (let (exists-eaf-buffer) (catch 'found-eaf (let ((--dolist-tail-- (eaf--get-eaf-buffers))) (while --dolist-tail-- (let ((buffer ...)) (save-current-buffer (set-buffer buffer) (if ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (if (and exists-eaf-buffer (not always-new)) (progn (eaf--preview-display-buffer app-name exists-eaf-buffer) (message (concat "[EAF/" app-name "] " "Switch to %s") url)) (eaf--open-internal url app-name args) (message (concat "[EAF/" app-name "] " "Opening %s") url))) (if eaf--first-start-app-buffers nil (setq eaf--first-start-app-buffers (cons (list url app-name args) eaf--first-start-app-buffers))) (eaf-start-process) (message (concat "[EAF/" app-name "] " "Opening %s") url))
eaf-open("~" "file-manager")
eaf-open-file-manager()
funcall-interactively(eaf-open-file-manager)
call-interactively(eaf-open-file-manager)
Describe the bug
A clear and concise description of what the bug is.
M-x eaf-open-file-manage. The error appeared, voild variable doom-modeline-mode.
If I try again eaf-open-file-manage, file-manage can be opened without the voild variable error.
If I press C-x k
kill this buffer, and try again eaf-open-file-manage, the error appeared again.
If a require doom-modeline in my configuration, everything is ok.
If EAF was working correctly until a recent git pull
, please refer to Mandatory Procedures to Keep Your EAF Up-to-Date first.
Please check the *eaf*
buffer, if there is any error shown in the *eaf*
buffer, paste it here.
qt.dbus.integration: Could not connect "org.freedesktop.IBus" to globalEngineChanged(QString)
[JavaScript console]: Uncaught ReferenceError: updateGitLog is not defined
[JavaScript console]: Uncaught TypeError: Cannot read properties of undefined (reading 'install')
[JavaScript console]: Uncaught ReferenceError: init is not defined
[JavaScript console]: Uncaught ReferenceError: changePath is not defined
[JavaScript console]: Uncaught ReferenceError: updateGitLog is not defined
[JavaScript console]: Uncaught ReferenceError: setPreview is not defined
[JavaScript console]: Uncaught ReferenceError: setPreviewOption is not defined
[JavaScript console]: Uncaught ReferenceError: setPreviewOption is not defined
Describe the bug
EAF file manager gets stuck on opening any directory.
To Reproduce
Open up emacs and <M-x>eaf-open-file-manager<RET>
.
Expected behavior
EAF file manager opens correctly.
Versions (please complete the following info):
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
功能描述
增加一个筛选收敛功能, 将当前文件夹的文件按筛选内容进行过滤后展示。
示例:
文件夹包括: a.org b.org c.pdf d.pdf
filter: org
则文件夹只展示 a.org b.org
类似功能
https://github.com/Fuco1/dired-hacks/blob/master/dired-narrow.el
在搜索界面,按左右箭头切换目录时,header处理不对。
Is your feature request related to a problem? Please describe.
I'd like to keep using my main font (PragmataPro) in eaf-file-manager, but I don't know how to customize it.
Describe the solution you'd like
Is there a variable to choose the font, or should I hardcode the font family somewhere in the code?
Describe alternatives you've considered
With eaf-pyqterminal
, I can use something like (Doom Emacs user here):
(after! eaf-pyqterminal
(setq eaf-pyqterminal-font-family "PragmataPro Mono Liga")
(setq eaf-pyqterminal-font-size 14)
)
Additional context
$ uname -a
Linux optimus 6.6.7-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 16 Dec 2023 09:07:35 +0000 x86_64 GNU/Linux
git pull
, please refer to Mandatory Procedures to Keep Your EAF Up-to-Date first.*eaf*
buffer, if there is any error shown in the *eaf*
buffer, paste it here.Process eaf aborted (core dumped)
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Ensure you're on the latest master branch, then note the steps to reproduce the behavior.
Expected behavior
A clear and concise description of what you expected to happen.
Versions (please complete the following info):
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.