Làm thế nào để dừng sắp xếp lại các cửa sổ xem trước cùng loại trong chuyển đổi tác vụ?


21

Khi sử dụng chuyển đổi tác vụ trong chế độ đồ họa mặc định của Ubuntu 12.04, nếu chúng là nhiều cửa sổ cùng loại, ví dụ: nhiều cửa sổ Terminal, bạn có thể thấy tất cả chúng cùng nhau và chọn cái nào bạn muốn.

nhập mô tả hình ảnh ở đây

Vấn đề của tôi là thứ tự của các cửa sổ này liên tục thay đổi. Nó tuân theo thứ tự "sử dụng cuối cùng". Tôi muốn chúng theo thứ tự sửa chữa luôn; tôi làm nó như thế nào?


3
Tính năng rất khó chịu. Tôi đã hỏi câu hỏi tương tự ở đây Askubfox.com/questions/271506/, nhưng tiếc là vẫn không có câu trả lời.
kẹo cao su

5
"Vấn đề" này cũng tồn tại trong 14.04! Các cửa sổ này thực sự nên được sắp xếp dựa trên vị trí tương đối của chúng trên màn hình và máy tính để bàn, khi các cửa sổ từ nhiều hơn một máy tính để bàn được xem trước. Chỉ khi một góa phụ được đặt sát nhau trên đỉnh khác (được đo trong một phạm vi pixel nhất định) thì vị trí của bản xem trước mới phụ thuộc vào quy tắc "sử dụng lần cuối". Tôi thậm chí sẽ thực hiện thêm một "điều chỉnh" cho quy tắc này: áp dụng các tùy chọn ngôn ngữ khu vực, của văn bản "từ trái sang phải" hoặc "từ phải sang trái", để quyết định phía nào của màn hình được coi là "đầu tiên" - - bên trái, hoặc bên phải.
PJ Singh

1
Một giải pháp khả thi sẽ là giữ các cửa sổ theo thứ tự chúng được tạo ra, nhưng ít nhất là giữ chúng cố định theo thứ tự. Tôi thích một thứ tự ngẫu nhiên nhưng ổn định trong mớ hỗn độn này, tôi cảm thấy như mình liên tục tung hứng màn hình xung quanh.
Minos

1
Tôi tin rằng điều này sẽ yêu cầu thay đổi mã thống nhất. Bạn có thể bắt đầu ở đây: unity3d.com/learn/documentation
Elder Geek

Tôi vẫn gặp sự cố này vào năm 2018, phiên bản 18.04. Siêu phiền phức.
Jesse Busman

Câu trả lời:


2

Thay vì thay đổi cơ sở mã thống nhất, bạn có thể cân nhắc sử dụng máy tính để bàn để đi đến kết quả mong muốn.

Ví dụ sử dụng Compiz Desktop Cube trong CompizConfigSinstallManager

Mở CompizConfigSinstallManager ( ccsm) và thay đổi cài đặt để phù hợp với các mục sau:

ccsm-1

ccsm-2

Mở terminal 1

Sử dụng phím tắt CTRL-ALT -> (mũi tên phải) để đi tới màn hình nền tiếp theo bên phải.

Mở terminal 2

Sử dụng phím tắt CTRL-ALT -> (mũi tên phải) để đi tới màn hình nền tiếp theo bên phải một lần nữa.

Mở terminal 3

Sử dụng phím tắt CTRL-ALT - <- (mũi tên trái) để đi tới màn hình nền trước có chứa thiết bị đầu cuối 2 (hoặc hai lần để quay lại thiết bị đầu cuối 1)

Một lựa chọn khác

Sử dụng trình quản lý Viewport trong CompizConfig Cài đặt Trình quản lý và chỉ định tổ hợp phím để truy cập trực tiếp vào màn hình nền của các lựa chọn của bạn

Lưu ý: Cho đến nay tôi chỉ có thể có được 10 để hoạt động mặc dù 12 nên có thể với phương pháp này. ccsm-3

Cập nhật: dựa trên mối quan tâm thể hiện trong các bình luận:

Chỉ cần nhấp chuột phải vào thanh tiêu đề gedit và chọn luôn trên không gian làm việc có thể nhìn thấy ...

Một lựa chọn khác:

Thay vì mở các thiết bị đầu cuối riêng biệt (hoặc không gian làm việc) cho nhiều hoạt động của bạn, bạn cũng có thể sử dụng các tab trong thiết bị đầu cuối gnome. Các phím tắt để chuyển đổi tab có sẵn từ tùy chọn thiết bị đầu cuối. Xem bên dưới:

thiết bị đầu cuối-prefs


Nếu tôi hiểu chính xác, điều này sẽ khiến tôi có nhu cầu sử dụng một phím tắt khác hoặc cách nhấp chuột để chuyển đổi tác vụ. Có thể được thực hiện tôi đoán. Tuy nhiên, làm cách nào để sao chép tất cả các cửa sổ không phải thiết bị đầu cuối mà tôi cần, thường chỉ có 1 phiên bản cho tất cả các máy tính để bàn, khi tôi cần hoặc muốn sự tương tác đó nhanh chóng và có thể giữa (các) thiết bị đầu cuối và (các) cửa sổ khác?
n611x007 ngày

Bạn cần bao nhiêu trường hợp? Sử dụng trình quản lý Viewport sẽ cung cấp cho bạn tối đa 12. Bàn phím được kích hoạt. Đó có phải là "clicky" không?
Anh Cả Geek


Tôi nghĩ rằng tôi đã hiểu lầm ... Không gian làm việc là đủ. Hãy để tôi thử đặt nó như thế này. Ví dụ giả thuyết. Trước: 3 thiết bị đầu cuối, 't1', 't2', 't3', + 1 cửa sổ gedit. Tôi sao chép-dán vào và ra giữa gedit và cả 't1' và 't2'. Lệnh chuyển đổi nhiệm vụ là xấu. Aftter (áp dụng cách giải quyết của bạn): Tôi có 3 thiết bị đầu cuối trên 3 không gian làm việc 'w1', 'w2', 'w3', một cửa sổ gedit trên 'w1'. Tôi cần sao chép-dán giữa gedit và cả 't1' và 't2'. Làm cách nào để sao chép-dán giữa 't2' và gedit trên 'w2' một cách thoải mái nhất?
n611x007

Tôi không gặp vấn đề sao chép và dán giữa các không gian làm việc, vì vậy tôi không chắc chính xác những gì bạn đang hỏi. Vì "cách thoải mái nhất" là vấn đề quan điểm chứ không phải là sự thật có thể đo lường được, bạn có lời xin lỗi của tôi nhưng tôi không nghĩ rằng tôi có thể phản hồi một cách hợp lý với điều đó.
Anh Cả Geek

1

Một tùy chọn khác, nếu máy tính để bàn của bạn đủ lớn, là đặt một số cửa sổ thành "luôn ở trên cùng" và sắp xếp chúng xung quanh để bạn có thể chuyển đổi bằng chuột. Đó là một loại bùn ... nhưng đôi khi tôi thấy nó hữu ích khi làm việc với nhiều cửa sổ cùng loại.

Tuy nhiên, một cách khác là xác định một số cấu hình thiết bị đầu cuối với các bảng màu khác nhau và sử dụng một cấu hình khác nhau cho mỗi thiết bị đầu cuối ... nó sẽ giúp chúng dễ dàng xác định. nhập mô tả hình ảnh ở đây Vâng, đây là một cách giải quyết.


1

Tôi nghĩ rằng bạn có thể đạt được điều này bằng cách sửa đổi mã nguồn của Unity 7 . Chỉ cần làm theo các bước được mô tả trên trang web của nhà phát triển nhưng trước khi bắt đầu quá trình xây dựng mở: ./trunk/plugins/unityshell/src/unityshell.cppvà hãy xem SetUpAndShowSwitcherchức năng:

void UnityScreen::SetUpAndShowSwitcher(switcher::ShowMode show_mode)
{
  RaiseInputWindows();

  if (!optionGetAltTabBiasViewport())
  {
    if (show_mode == switcher::ShowMode::CURRENT_VIEWPORT)
      show_mode = switcher::ShowMode::ALL;
    else
      show_mode = switcher::ShowMode::CURRENT_VIEWPORT;
  }

  auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT,
                                                      switcher_controller_->show_desktop_disabled());

  if (switcher_controller_->CanShowSwitcher(results))
    switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, results);
}

Ở đây bạn có thể thấy rõ đây chính xác là chức năng mà chúng tôi đang tìm kiếm. Phần trên chịu trách nhiệm chuyển đổi các chế độ khung nhìn:

Hiển thị chế độ

Chuyển đổi này xuất hiện mỗi khi chúng tôi chuyển vào một nhóm Ứng dụng hoặc nếu chúng tôi rời khỏi nhóm. optionGetAltTabBiasViewportcho biết khi điều này xảy ra. Sau đó GetAltTabIconsđược tham gia để có được các biểu tượng đúng. Và cuối cùng Showchức năng với SortMode::FOCUS_ORDERđược gọi để hiển thị các biểu tượng được sắp xếp của chúng tôi. SortMode là một enum:

enum class SortMode
{
  LAUNCHER_ORDER,
  FOCUS_ORDER,
};

và thay đổi FOCUS_ORDERđể LAUNCHER_ORDERgiải quyết vấn đề của bạn. Bạn có thể chèn một câu lệnh if bổ sung trước khi gọi Showđể ngăn việc sắp xếp thứ tự trình khởi chạy trong ShowMode::ALLtrường hợp.

Xin lưu ý rằng mã nguồn của Unity 8 trông hoàn toàn khác nhau. Vì vậy, giải pháp này có thể chỉ hoạt động cho Unity 7. Sau nửa giờ sửa chữa các phụ thuộc bị thiếu và sau một giờ chiến đấu với cmake, tôi quyết định không phá hỏng hệ thống của mình và dùng thử trong VM vào ngày mai;)

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.