Emacs에서 픽셀 또는 벡터 기반 UI 요소를 어떻게 그릴 수 있습니까?


11

즉, 터미널 에뮬레이터의 고정 간격 문자 그리드로 제한되지 않지만 화면의 임의의 픽셀 위치에서 임의의 모양이 될 수있는 UI 요소 (예 : 텍스트 필드 및 애니메이션 단추)를 의미합니다. 나는 그것이 가능한지 여부와 방법이 궁금하며, 가능하지 않은 경우 미래에 계획되어 있는지 여부를 궁금합니다.


2
음, 예 – 스플래시 화면은이 사실에 분명합니다. 이 작업을 수행 하는 방법에 대한 귀하의 질문을 다시 말하겠습니다 . 알 수 있듯이 간단한 예 / 아니오 답변은이 질문에 '답변'합니다.
— Sean Allred

3
그리기 만하고 싶다면 그렇습니다. svg-clock"간단한"예제는 GNU ELPA 의 패키지를 참조하십시오 . 그러나 만약 당신이 다른 요소들 위에 그리기를 원한다면 , 슬프게도“아니오”입니다. 비록 누군가가 그렇게하는 패치를 작성한다면 많은 사람들이 행복 할 것입니다.
— Stefan

1
@SeanAllred 임의의 모양, 예; 임의의 픽셀 위치.
— Malabarba

@Malabarba Whoops-네, 맞습니다. 그래도 디스플레이 여백과 텍스트면으로 속임수를 쓸 수 있습니다. 정확하게 얻을 수 있습니다. 그러나 Draw image.png(400x600+16+30)특정 좌표에서 일부 모서리를 기준으로 축척 된 이미지를 그릴 수 없다고 말하는 것은 옳습니다 .
— Sean Allred

답변:


8

텍스트 필드와 버튼 (예 : Customize 버퍼에서와 같이)은 실제로 Emacs가 문자를 정렬하는 그리드에 종속됩니다.

할 수있는 일은 Emacs에게 SVG (벡터) 또는 XPM (비트 맵) 유형의 이미지를 표시하도록 지시하는 것입니다. 이것들은 파일에서 읽도록 제한되지 않기 때문에 문자열을 생성하여 이미지로 바꿀 수 있습니다. 이미지가 대부분의 창을 차지하고 자유롭게 그려지는 캔버스와 같은 사용법의 예를 보았습니다 ( svg-thing , slime-volley , svg-clock , 내 자신의 svg-2048 참조 ). 의 아이콘 참조 (UI 요소를 닮은 AUCTEX을 , GNUS 'modeline 줄 아이콘의 그래픽 버전 M-x tetris, SVG-modeline 줄). Emacs에 캔버스와 같은 이미지 유형이 없다는 것을 고려할 때 여전히 약간의 발자국이 있지만, 이러한 이미지를 대체하고 마우스를 포함하여 모델 또는 여백 및 바인딩 키와 같은 다른 UI 요소의 디스플레이 속성으로 사용할 수 있습니다 그들에게 그들.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.