Có thể thay đổi vị trí nút tối đa của firefox trong windows không?


0

Tôi muốn thay đổi thứ tự của nút minmize / thay đổi kích thước / tối đa hóa của firefox, nhưng không biết làm thế nào để làm điều đó.

Có vẻ như userchrome.csskhông có ích.

Tôi có thể tùy chỉnh nó?

Câu trả lời:


3

Có, có thể thay đổi thứ tự của ba nút tiêu đề trong khi DWM bị tắt. Nhưng nếu DWM được bật, chúng tôi không thể thay đổi thứ tự.

Phương pháp:

1) sao chép omni.ja từ C: \ Program Files (x86) \ Mozilla Firefox \ browser

2) giải nén nó bằng các công cụ zip của bạn

3) chỉnh sửa trình duyệt.xul trong chrome \ browser \ content \ browser, thay đổi thứ tự của nội dung sau

<hbox id="titlebar-buttonbox-container" align="start">
      <hbox id="titlebar-buttonbox">
        <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
        <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
        <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
      </hbox>

thứ tự của thanh tiêu đề trở thành: close-> max-> thu nhỏ

4) đóng gói lại omni.ja bằng lệnh zip -qr9XD omni.ja *trong thư mục omni.

5) thay thế omni.ja cũ bằng omni.ja đã chỉnh sửa mới

6) kết quả cuối cùng: nhập mô tả hình ảnh ở đây

Giải trình:

1) Bố cục ui của Firefox dựa trên xul (ngôn ngữ mô tả bố cục dựa trên xml) và browser.xul được sử dụng làm tệp mô tả cho trình duyệt chính ui.

2) Trong khi DWM được bật, Firefox vẽ vùng không phải máy khách bằng cách sử dụng cửa sổ mặc định Proc (DefWindowProc),

case WM_NCPAINT:
    {
      /*
       * Reset the non-client paint region so that it excludes the
       * non-client areas we paint manually. Then call defwndproc
       * to do the actual painting.
       */

      if (!mCustomNonClient)
        break;

      // let the dwm handle nc painting on glass
      if(nsUXThemeData::CheckForCompositor())
        break;

      HRGN paintRgn = ExcludeNonClientFromPaintRegion((HRGN)wParam);
      LRESULT res = CallWindowProcW(GetPrevWindowProc(), mWnd,
                                    msg, (WPARAM)paintRgn, lParam);
      if (paintRgn != (HRGN)wParam)
        DeleteObject(paintRgn);
      *aRetValue = res;
      result = true;
    }
    break;

Vì vậy, không thể tùy chỉnh ba nút trong khi bật dwm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.