আমি কীভাবে ইমাসের উইন্ডোর আকার সেট করব?


103

আমি ইম্যাক শুরু করছি এমন পর্দার আকার সনাক্ত করার চেষ্টা করছি এবং এটির সূচনা অনুযায়ী যে উইন্ডোটি শুরু হচ্ছে তার আকার এবং সামঞ্জস্য করুন (আমি অনুমান করি যে এটি ইম্যাকস-স্পিকারের ফ্রেম)। আমি আমার .emacs সেট আপ করার চেষ্টা করছি যাতে আমি সর্বদা আমার স্ক্রিনের উপরের-বাম পাশে শীর্ষ-বাম কোণার সাথে "যুক্তিসঙ্গত-বড়" উইন্ডোটি পাই।

আমার ধারণা এটি সাধারণ ক্ষেত্রে বড় চাওয়া, তাই কিছুটা সংকীর্ণ করার জন্য আমি উইন্ডোজ এবং (ডেবিয়ান) লিনাক্সের জিএনইউ এমাক্স 22-এ সবচেয়ে বেশি আগ্রহী।

উত্তর:


89

আপনি যদি রেজোলিউশন অনুযায়ী আকার পরিবর্তন করতে চান তবে আপনি এর মতো কিছু করতে পারেন (আপনার নির্দিষ্ট প্রয়োজনীয়তা অনুসারে পছন্দসই প্রস্থ এবং রেজোলিউশনগুলি সামঞ্জস্য করে):

(defun set-frame-size-according-to-resolution ()
  (interactive)
  (if window-system
  (progn
    ;; use 120 char wide window for largeish displays
    ;; and smaller 80 column windows for smaller displays
    ;; pick whatever numbers make sense for you
    (if (> (x-display-pixel-width) 1280)
           (add-to-list 'default-frame-alist (cons 'width 120))
           (add-to-list 'default-frame-alist (cons 'width 80)))
    ;; for the height, subtract a couple hundred pixels
    ;; from the screen height (for panels, menubars and
    ;; whatnot), then divide by the height of a char to
    ;; get the height we want
    (add-to-list 'default-frame-alist 
         (cons 'height (/ (- (x-display-pixel-height) 200)
                             (frame-char-height)))))))

(set-frame-size-according-to-resolution)

নোট করুন যে উইন্ডো-সিস্টেমটি ইমাসের নতুন সংস্করণগুলিতে হ্রাস পেয়েছে। একটি উপযুক্ত প্রতিস্থাপন হয় (display-graphic-p)। প্রশ্নের এই উত্তরটি দেখুন যে ইমাকগুলি টার্মিনাল-মোডে রয়েছে তা কীভাবে সনাক্ত করবেন? আরও কিছুটা পটভূমির জন্য।


আমি বিভিন্ন সংখ্যা পছন্দ করি, সুতরাং (আপনার পরামর্শ অনুসারে) আমি আমার টুইট করি। যদিও এটি দুর্দান্ত কাজ করে; ধন্যবাদ!
লিন্ডস

তারপরে আবার, আমি প্রকৃতপক্ষে এই সংস্করণটি আরও ভাল পছন্দ করি - অনেক সরল (সহজেই পড়তে এবং টুইট করতে সহজ), এবং আমার প্রয়োজনগুলি ভালভাবে স্যুট করে। উভয়ই ভাল উত্তর, যদিও! +1
লিন্ডস

1
কমপক্ষে উচ্চতা নিয়ে সতর্ক থাকুন, কমপক্ষে ওএস এক্সের ইম্যাক্স ২৪.২ তে। আপনি যদি এটির একটি সারি খুব বেশি উচ্চতর সেট করেন তবে উইন্ডোগুলি এমন অবস্থায় আটকে থাকবে যেখানে বাফারের প্রথম সারিটি দৃশ্যমান নয় - পয়েন্ট সেখানে উপরে চলাচল করতে পারে, তবে উইন্ডোটি এটি দেখানোর জন্য স্ক্রোল করবে না।
গ্রেগ হেন্ডারশট

2
এই পদ্ধতির (এবং এখানে তালিকাভুক্ত অন্যদের সাথে) একটি ছোটখাট নিদর্শন রয়েছে। ইমাকস একটি নির্দিষ্ট আকারের সাথে খুলবে এবং একটি সেকেন্ডের বিভাজনের পরে আমরা সেট করা ডাব্লু / ই আকারের আকার পরিবর্তন করবে। তবে রূপান্তরটি দৃশ্যমান। ইমাকগুলি টি = 0 সেকেন্ড থেকে পছন্দসই আকারে আঁকতে বলার কোনও উপায় আছে?
স্ট্যাথিস্ক

48

আমার মধ্যে নিম্নলিখিত পেয়েছি .emacs:

(if (window-system)
  (set-frame-height (selected-frame) 60))

এছাড়াও আপনি ফাংশন তাকান পারে set-frame-size, set-frame-positionএবং set-frame-width। বিস্তারিত ডকুমেন্টেশন আনার জন্য C-h f(ওরফে M-x describe-function) ব্যবহার করুন ।

আমি নিশ্চিত না যে বর্তমান উইন্ডোটিং পরিবেশে কোনও ফ্রেমের সর্বাধিক উচ্চতা / প্রস্থের গণনা করার উপায় আছে কিনা।


12
হ্যাঁ! (if (window-system) (set-frame-size (selected-frame) 124 40))জয়ের জন্য - এত সুন্দর এবং সংক্ষিপ্ত, এবং আমার টার্মিনালটির চেয়ে পূর্বের আকারটি পায় যা সুন্দর এবং পরিচিত। :) (অবশ্যই প্রতিটি পছন্দ অনুযায়ী সামঞ্জস্য করুন।) ধন্যবাদ!
লিন্ডস

1
কেবল স্পষ্ট করার জন্য: আপনি init.elএটি এটিতে রাখলে কেবল প্রাথমিক ফ্রেমের ক্ষেত্রে প্রযোজ্য। এর পরে যদি আপনি একটি নতুন ফ্রেম তৈরি করেন তবে উপরের ফাংশনটির কোনও প্রভাব পড়বে না; নতুন ফ্রেমে সেটিংস সেট করা থাকবে default-frame-alist
ডেভিড জে

এটি আমার পক্ষে কাজ করে যা ব্যতীত (set-frame-size (selected-frame) 80 24)আমাকে 481 বাই 161 ফ্রেম দেয়; আমি একটি 4K hidpi পর্দায় আছি, তবে আমি এটির চরিত্রের সংখ্যাকে প্রভাবিত করার আশা করবো না।
চার্লিগ্রিন

21

থেকে নেওয়া: http://www.gnu.org/software/emacs/windows/old/faq4.html

(setq default-frame-alist
      '((top . 200) (left . 400)
        (width . 80) (height . 40)
        (cursor-color . "white")
        (cursor-type . box)
        (foreground-color . "yellow")
        (background-color . "black")
        (font . "-*-Courier-normal-r-*-*-13-*-*-*-c-*-iso8859-1")))

(setq initial-frame-alist '((top . 10) (left . 30)))

প্রথম সেটিংসটি আপনি যখন শুরু করবেন তখন পপ আপ হওয়া প্রথমটি সহ সমস্ত ইম্যাক ফ্রেমের ক্ষেত্রে প্রযোজ্য। দ্বিতীয় সেটিংটি প্রথম ফ্রেমে অতিরিক্ত বৈশিষ্ট্য যুক্ত করে। এটি কারণ আপনি কখনও কখনও ইমেল শুরু করেন এমন মূল ফ্রেমটি জেনে ভাল লাগে।


ফ্রেমের উচ্চতা এবং প্রস্থ ( (width . 80) (height . 40)) নির্ধারণের জন্য আমি দীর্ঘ সময় ধরে এই পদ্ধতিটি ব্যবহার করেছি , তবে কোনও কারণে, আমি আমার জুবুন্টু সংস্করণটি 12.04 থেকে 13.10 আপগ্রেড করার পরে কাজ করা বন্ধ করেছিলাম: লঞ্চ হওয়ার পরে, ফ্রেমের আকারটি ডিফল্ট ছিল। আমি তখন ক্রিস কনওয়ের উত্তরটি ব্যবহার করতে শুরু করি, যা আমার পক্ষে কাজ করে।
তিমু লেইস্তি

17

এক্স উইন্ডো পরিবেশে এটি করার সবচেয়ে সহজ উপায়টি হ'ল এক্স সংস্থার মাধ্যমে । আমার .এক্সএফএল্টগুলির প্রাসঙ্গিক অংশটি দেখতে এমন দেখাচ্ছে:

Emacs.geometry: 80x70

আপনার প্রদর্শনের উপরের-বাম কোণে এটি বাধ্য করার জন্য আপনি এটি + 0 + 0 অবস্থান স্থানাঙ্কের সাথে প্রত্যয়ী করতে সক্ষম হবেন। (আমি এটি না করার কারণটি হ'ল আমি মাঝেমধ্যে নতুন ফ্রেমগুলি ছড়িয়ে দিয়েছি এবং এটি পূর্ববর্তীগুলির মতো ঠিক একই জায়গায় উপস্থিত হলে বিষয়গুলি বিভ্রান্ত করে তোলে)

ম্যানুয়াল অনুসারে, এই কৌশলটি এমএস উইন্ডোজেও রেজিস্ট্রিতে কী / মান জোড়া হিসাবে সংস্থানগুলি সঞ্চয় করে works আমি কখনই এটি পরীক্ষা করিনি। এটি দুর্দান্ত হতে পারে, কেবল কোনও ফাইল সম্পাদনা করার তুলনায় কোনও অসুবিধে হতে পারে।


1
ইয়াপ উইন্ডোজের জন্যও কাজ করে। ইমাস
সাদ

17

নিম্নলিখিত কোড যুক্ত করতে চেষ্টা করুন .emacs

(add-to-list 'default-frame-alist '(height . 24))

(add-to-list 'default-frame-alist '(width . 80)) 

12

ইমাস গুলি চালানোর সময় আপনি-জ্যামিতি প্যারামিটারটিও করতে পারেন: emacs -geometry 80x60+20+30আপনাকে উইন্ডোটি 80 অক্ষর প্রশস্ত, 60 সারি উঁচুতে দেবে, উপরের বাম কোণে ডানদিকে 20 পিক্সেল এবং পটভূমির উপরের বাম কোণ থেকে 30 পিক্সেল নীচে থাকবে।


7

উবুন্টু অন:

(defun toggle-fullscreen ()
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
)
(toggle-fullscreen)

5

উইন্ডোজগুলিতে, আপনি এই ফাংশনটি ব্যবহার করে ইমাস ফ্রেমকে সর্বাধিক করে তুলতে পারেন:

(defun w32-maximize-frame ()
  "Maximize the current frame"
  (interactive)
  (w32-send-sys-command 61488))

1
(setq initial-frame-alist
        (append '((width . 263) (height . 112) (top . -5) (left . 5) (font . "4.System VIO"))
                initial-frame-alist))

(setq default-frame-alist
        (append '((width . 263) (height . 112) (top . -5) (left . 5) (font . "4.System VIO"))
                default-frame-alist))

0
(defun set-frame-size-according-to-resolution ()
  (interactive)
  (if window-system
  (progn
    ;; use 120 char wide window for largeish displays
    ;; and smaller 80 column windows for smaller displays
    ;; pick whatever numbers make sense for you
    (if (> (x-display-pixel-width) 1280)
           (add-to-list 'default-frame-alist (cons 'width 120))
           (add-to-list 'default-frame-alist (cons 'width 80)))
    ;; for the height, subtract a couple hundred pixels
    ;; from the screen height (for panels, menubars and
    ;; whatnot), then divide by the height of a char to
    ;; get the height we want
    (add-to-list 'default-frame-alist 
         (cons 'height (/ (- (x-display-pixel-height) 200)
                             (frame-char-height)))))))

(set-frame-size-according-to-resolution)

আমি ব্রায়ান ওকলির সেটিংসকে পছন্দ করি। তবে 'উচ্চতা আমার জিএনইউ ইম্যাক্সে সঠিকভাবে কাজ করছে না 24.1.1।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.