Tags: macos
2024年八月之后, 就没有再使用自己编译的skim了, 键盘快捷键用的不多
这个方法并不是十分完美, 修改 scrollPoint
之后不知道该如何更新边栏(目录和预览).
如果能做到更新边栏且平滑滚动就十分不错.
skim 长这个样子(不是那个fuzzy
finder in rust)
j k 貌似直接映射到 上下箭头.
DownArrow 你只需要将屏幕下移1/3行,
移动太慢完全无法使用.
keyDown 来处理了. 不过好在
objective c 足够像 C++, 即使从来没接触过, 当成大概也能改一改. 需要去 sourceforge
那里搞到源码, 扔到xcode里面按照网站上说的办法就能编译了. 需要改的是
SKPDFView.m, 处理键盘按键的函数在1746行叫做
- (void)keyDown:(NSEvent *)theEvent 只要在里面加上处理对应
eventChar 的 else if 就好了.
myscrollDown,myscrollUp.
在别的代码里可以翻到skim是怎么写scroll操作的, 直接抄过来. 在
SKMainWindowController_Actions.m 里面有这样的代码
- (void)scrollUp:(id)sender {
NSScrollView *scrollView = [[self pdfView] scrollView];
NSClipView *clipView = [scrollView contentView];
NSPoint point = [clipView bounds].origin;
point.y += [clipView isFlipped] ? -4.0 * [scrollView verticalLineScroll]
: 4.0 * [scrollViewverticalLineScroll];
[clipView scrollPoint:point];
}
- (void)scrollDown:(id)sender {
NSScrollView *scrollView = [[self pdfView] scrollView];
NSClipView *clipView = [scrollView contentView];
NSPoint point = [clipView bounds].origin;
point.y += [clipView isFlipped] ? 4.0 * [scrollView verticalLineScroll]
: -4.0 * [scrollViewverticalLineScroll];
[clipView scrollPoint:point];
}