나만의 Xcursor 테마를 만들 계획입니다. 기존 테마를 살펴보던 중 이상한 이름을 발견했습니다 08e8e1c95fe2fc01f976f1e063a24ccd
. 예를 들어 이 이름이 포함된 코드 조각을 발견했습니다.
https://vimsky.com/examples/detail/cpp-ex---QHash-reserve-method.html
의견에 따르면 하드코딩된 MD5 해시인 것으로 보입니다. 하지만 이 해시 값을 생성하지 못했습니다. 어떤 프로그램에 이러한 이름이 필요합니까? 내 시스템에 설치된 모든 테마는 이 이름에 대한 심볼릭 링크이지만 이에 대한 문서를 찾을 수 없습니다.
size_bdiag
상단 오른쪽/하단 왼쪽 창 크기 조정 및 size_fdiag
상단 왼쪽/하단 오른쪽 창 크기 조정 이라는 두 개의 커서도 있습니다 . 그러나 나는 이 이름들의 의미를 이해할 수 없다. "diag"가 "대각선"을 의미하는 것일 수도 있지만 "b"와 "f"가 무엇을 의미하는지 여전히 추측할 수 없습니다. 여러 번 검색했지만 문서를 찾을 수 없습니다. 말이 안 되나요? 원작자가 나한테 장난을 치는 걸까?
답변1
이것매뉴얼 페이지해시 사용 방법을 설명하세요.
voidXcursorImageHash( Ximage*이미지, 서명되지 않은 문자 해시 [XCURSOR_BITMAP_HASH_SIZE]) 환경이 바뀔 때 표시할 이미지의 해시를 계산합니다. XCURSOR_DISCOVER 변수를 설정합니다.
그리고
CursorXcursorTryShapeBitmapCursor( *dpy 표시, 픽셀 이미지 소스, 픽스맵 마스크, XColor*전경, X 색상*배경, 부호 없는 정수 x, 부호 없는 정수 유형 y) 모니터가 ARGB 또는 테마를 지원하는 경우 로드해 보세요. 소스 매개변수를 커서로 사용하여 Xcursor의 캐시에 들어갑니다. 픽셀 이미지 ID. 소스가 더 이상 캐시에 없을 수 있습니다. 커서 해시 값을 사용하여 원하는 이미지를 식별합니다.
이것소스 코드md5 등을 사용하지 않는다고 설명합니다.
/* * 해시 값을 계산합니다. 응, 사용해도 좋을 것 같아 * 더 강력한 해시 함수이지만 MD5와 SHA1 모두 *이를 위해서는 시간과 공간이 조금 비싸지만, * 커서는 일반적으로 약할 정도로 작습니다. * 해시는 이를 구별하기에 충분합니다. */
모호한 니모닉에 대해,X 마우스 커서의 재미, 특히 left_ptr_watch몇 가지 그림이 있습니다:
"fdiag"는 화살표가 있는 백슬래시 모양의 기호입니다.
"bdiag"는 화살표가 있는 슬래시 모양의 기호입니다.
그러나 이것은 단지 이미지 집합일 뿐입니다. X 커서 이름(다음에 정의됨)헤드 파일)는 다양한 이미지 세트에 대해 Xcursor API에서 사용되며 일부는 원본 X-cursor 그림과 전혀 관련이 없습니다. 예를 들어, bdiag/fdiag는 Qt 이름으로 나타나며 이는 X 이름(ymmv- Qt 소스 코드를 읽는 것이 도움이 될 것입니다):
Qt::SizeBDiagCursor
도착하다BOTTOM_LEFT_CORNER
Qt::SizeFDiagCursor
도착하다BOTTOM_RIGHT_CORNER
오른쪽에 있는 이름은 X 소스 코드의 정의에 해당합니다.
#XC_bottom_left_corner 정의 12 #defineXC_bottom_right_corner 14
결정하다어디bdiag/fdiag 이름의 유래에 대해서는 조사가 필요합니다. Qt 개발자들은 그것을 기억할 수도 있지만, 그렇지 않을 수도 있습니다. 이것QCursor 클래스 참조다음과 같은 이름을 나타냅니다 ibeam
(X 소스에는 없지만 XView에서 올 수 있음).xterm
). xterm매뉴얼 페이지X 커서 이름 목록이 있으며 "ibam"에 대한 언급은 없습니다.