mirror of
https://github.com/ZiuChen/ClipboardManager.git
synced 2025-06-07 22:04:06 +08:00
fix: 移除监听程序源代码 添加Linux用户通知
This commit is contained in:
parent
e57c0aff71
commit
9c29b5d2b7
BIN
public/node_modules/clipboard-event/platform/clipboard-event-handler-linux
generated
vendored
BIN
public/node_modules/clipboard-event/platform/clipboard-event-handler-linux
generated
vendored
Binary file not shown.
38
public/node_modules/clipboard-event/platform/clipboard-event-handler-linux.c
generated
vendored
38
public/node_modules/clipboard-event/platform/clipboard-event-handler-linux.c
generated
vendored
@ -1,38 +0,0 @@
|
||||
// https://stackoverflow.com/a/44992967
|
||||
// gcc -o xclipwatch xclipwatch.c -lX11 -lXfixes
|
||||
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
#include<stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
void WatchSelection(Display *display, Window window, const char *bufname)
|
||||
{
|
||||
int event_base, error_base;
|
||||
XEvent event;
|
||||
Atom bufid = XInternAtom(display, bufname, False);
|
||||
|
||||
assert( XFixesQueryExtension(display, &event_base, &error_base) );
|
||||
XFixesSelectSelectionInput(display, DefaultRootWindow(display), bufid, XFixesSetSelectionOwnerNotifyMask);
|
||||
|
||||
while (True)
|
||||
{
|
||||
XNextEvent(display, &event);
|
||||
|
||||
if (event.type == event_base + XFixesSelectionNotify &&
|
||||
((XFixesSelectionNotifyEvent*)&event)->selection == bufid)
|
||||
{
|
||||
printf("CLIPBOARD_CHANGE\n");
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(){
|
||||
Display *display = XOpenDisplay(NULL);
|
||||
Window window = DefaultRootWindow(display);
|
||||
// WatchSelection(display,window,"PRIMARY");
|
||||
WatchSelection(display,window,"CLIPBOARD");
|
||||
XDestroyWindow(display, window);
|
||||
XCloseDisplay(display);
|
||||
return 0;
|
||||
}
|
24
public/node_modules/clipboard-event/platform/clipboard-event-handler-mac.swift
generated
vendored
24
public/node_modules/clipboard-event/platform/clipboard-event-handler-mac.swift
generated
vendored
@ -1,24 +0,0 @@
|
||||
//
|
||||
// main.swift
|
||||
// clipboard-event
|
||||
//
|
||||
// Created by Joonhee Lee on 2021/01/30.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Cocoa
|
||||
|
||||
let pasteboard: NSPasteboard = NSPasteboard.general
|
||||
var count: Int = pasteboard.changeCount
|
||||
var saved: String = pasteboard.string(forType: .string) ?? "null"
|
||||
|
||||
repeat{
|
||||
usleep(500000)
|
||||
if(count < pasteboard.changeCount && saved != pasteboard.string(forType: .string)){
|
||||
usleep(100000)
|
||||
count = pasteboard.changeCount
|
||||
saved = pasteboard.string(forType: .string) ?? "null"
|
||||
print("CLIPBOARD_CHANGE")
|
||||
fflush(stdout)
|
||||
}
|
||||
}while true
|
44
public/node_modules/clipboard-event/platform/clipboard-event-handler-win32.cs
generated
vendored
44
public/node_modules/clipboard-event/platform/clipboard-event-handler-win32.cs
generated
vendored
@ -1,44 +0,0 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace clipboard_event_handler_win32 {
|
||||
internal static class NativeMethods {
|
||||
//Reference https://docs.microsoft.com/en-us/windows/desktop/dataxchg/wm-clipboardupdate
|
||||
public const int WM_CLIPBOARDUPDATE = 0x031D;
|
||||
//Reference https://www.pinvoke.net/default.aspx/Constants.HWND
|
||||
public static IntPtr HWND_MESSAGE = new IntPtr(-3);
|
||||
//Reference https://www.pinvoke.net/default.aspx/user32/AddClipboardFormatListener.html
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
public static extern bool AddClipboardFormatListener(IntPtr hwnd);
|
||||
//Reference https://www.pinvoke.net/default.aspx/user32.setparent
|
||||
[DllImport("user32.dll", SetLastError = true)]
|
||||
public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
|
||||
}
|
||||
|
||||
public sealed class ClipboardNotification {
|
||||
private class NotificationForm : Form {
|
||||
public NotificationForm() {
|
||||
//Turn the child window into a message-only window (refer to Microsoft docs)
|
||||
NativeMethods.SetParent(Handle, NativeMethods.HWND_MESSAGE);
|
||||
//Place window in the system-maintained clipboard format listener list
|
||||
NativeMethods.AddClipboardFormatListener(Handle);
|
||||
}
|
||||
|
||||
protected override void WndProc(ref Message m) {
|
||||
//Listen for operating system messages
|
||||
if (m.Msg == NativeMethods.WM_CLIPBOARDUPDATE)
|
||||
{
|
||||
Console.WriteLine("CLIPBOARD_CHANGE");
|
||||
}
|
||||
//Called for any unhandled messages
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
}
|
||||
|
||||
private static void Main(string[] args) {
|
||||
Application.Run(new NotificationForm());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"title": "重要版本更新提示",
|
||||
"content": "1. 如果你是第一次使用此插件, 请务必设置跟随主程序启动选项, 否则可能导致剪贴板记录丢失</br>2. 插件内的收藏栏将在最近一个版本中移除, 届时点击收藏按钮将跳转到备忘快贴, 请尽快将已有数据保存, 使用备忘快贴代替</br>3. 插件使用过程中遇到任何问题, 请到论坛发布页回帖或加入QQ群反馈",
|
||||
"version": 1
|
||||
"content": "1. 如果你是第一次使用此插件, 请务必设置跟随主程序启动选项, 否则可能导致剪贴板记录丢失</br>2. v1.4.0及以上版本 Linux用户需手动安装clipboard-event-handler-linux至usr/bin目录 详见插件官网指南</br>3. 插件使用过程中遇到任何问题, 请到论坛发布页回帖或加入QQ群反馈",
|
||||
"version": 2
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user