Làm cách nào để sử dụng tính năng chụp nhanh Window cho Ubuntu? [bản sao]


14

Có thể trùng lặp:
Làm thế nào để mô phỏng winkey + mũi tên tối đa hóa các phím tắt của Windows 7?

Tôi đang dùng thử Ubuntu và tôi muốn các cửa sổ của mình được chụp sang trái và phải như Windows 7 khi tôi sử dụng phím nóng Window Key + Arrow. Tôi có thể làm cái này như thế nào?


Ubuntu sử dụng Compiz để cung cấp các hiệu ứng cửa sổ. Tôi đã xem nhưng không thể thấy bất kỳ plugin chính thức nào cho Compiz sẽ cung cấp cho bạn hiệu ứng Win 7 đó là điều đáng tiếc vì đây là một tính năng cửa sổ đẹp. Tôi sẽ tiếp tục tìm kiếm và đăng như một câu trả lời nếu tôi tìm thấy một cái gì đó.

Câu trả lời:


18

Điều này dễ dàng kích hoạt từ Trình quản lý cài đặt CompizConfig. (Cài đặt nó, nếu bạn chưa có).

Sau đó, dưới Quản lý cửa sổ, bật Lưới. Tôi đã giữ các ràng buộc mặc định của CTRL + ALT + NumPad nhưng bạn có thể dễ dàng thay đổi nó Super + Mũi tên tùy thích.


Điều duy nhất tôi thiếu từ đó là kết hợp các hành động. Tức là di chuyển cửa sổ sang phải và xuống phía dưới dẫn đến kết quả là một cửa sổ nằm ở phía dưới bên phải của màn hình (tương tự như hành vi của các cửa sổ).
kleinfreund

@kleinfreund nếu bạn nhấp vào Gridnút bên cạnh hộp kiểm có rất nhiều cài đặt bạn có thể thay đổi; các Corners / Edgestab cho phép bạn thiết lập góc docking.
swref

Điều này không hoạt động trên Pop OS 18.10, các phím tắt chính, chúng không làm gì cả
Zach Bloomquist

4

Tới đây để được hướng dẫn đầy đủ dưới dạng có thể đọc được từ Ubuntu của Mike, (cảm ơn Mike) và tại đây là bài đăng trên diễn đàn Ubuntu gốc (cảm ơn gotsanity). Tôi đã kiểm tra cái này trên hệ thống của tôi để nó hoạt động cho bạn. Tôi cũng đã thêm và chỉnh sửa một chút để cố làm cho dễ hiểu hơn một chút.

Những thay đổi duy nhất tôi sẽ thực hiện theo chỉ dẫn của anh ấy là trước tiên bạn kiểm tra xem bạn đã cài đặt compiz chưa (cách dễ nhất là sử dụng trình quản lý phần mềm và đặt "compiz" trong cửa sổ tìm kiếm.

Nếu bạn làm như vậy thì gõ như sau trong một thiết bị đầu cuối: -

sudo apt-get install compizconfig-settings-manager wmctrl

Nếu không, trình quản lý cài đặt compiz sẽ không xuất hiện trên hệ thống của bạn.

Mở một thiết bị đầu cuối và gõ:

xinput list

Nó sẽ hiển thị một danh sách. Tìm số id cho chuột của bạn. Bạn sẽ cần số này trong các bước tiếp theo. Của tôi là 10. Bạn rất có thể sẽ khác.
Các lệnh tiếp theo này tạo một thư mục ẩn mới trong thư mục nhà của bạn để giữ các tập lệnh cần thiết và chuyển bạn vào đó.

mkdir .scripts

cd .scripts

Sau đó gõ

gedit compizsnap-left.sh    

Một trình soạn thảo văn bản sẽ bật lên. Dán cái này vào, rồi thay đổi id chuột của bạn từ 11 thành số từ đầu ra của lệnh "danh sách xinput". Khi bạn đã làm điều này, lưu tập tin.

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2-10))

echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done

    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -le 10 ]
    then

        wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-10

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

Sau đó, làm tương tự cho hai kịch bản khác. (Không quên thay đổi ID chuột)

compizsnap-right.sh

Mã số:

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
WIDTH=`xdpyinfo | grep 'dimensions:' | cut -f 2 -d ':' | cut -f 1 -d 'x'` && HALF=$(($WIDTH/2))

echo $WIDTH
TEMPWIDTH=$(($WIDTH-10))
echo $TEMPWIDTH
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done

    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[0\]=." | sed s/"valuator\[0\]="//)" -ge $TEMPWIDTH ]
    then

        wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -b add,maximized_vert && wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

compizsnap-max.sh

Mã số:

#!/bin/sh
#
# CompizSnap is a collaborative project from ubuntuforums.org and is free software.
# This script adds window snapping functionality to compiz using the commands plugin.
#
# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below:
#

MOUSE="11"

# ----- Don't edit below this line unless you know what you are doing.
if /usr/bin/X11/xinput --query-state $MOUSE | grep down
then
    while (/usr/bin/X11/xinput --query-state $MOUSE | grep down)
    do
        echo 'button pressed'
    done
    if [ "$(/usr/bin/X11/xinput --query-state $MOUSE | grep "valuator\[1\]=." | sed s/"valuator\[1\]="//)" -le 10 ]
    then

        wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz

    else
        echo "exiting without matching"
        exit 1
    fi
else
        echo "exiting because button isnt "
        exit 1
fi    

(Bạn có nhớ thay đổi ID chuột)

Bây giờ chúng ta cần nói với compiz cách cư xử khi chuột di chuyển sang phải, trên cùng và bên trái màn hình.

Chạy Hệ thống> Tùy chọn> Trình quản lý cài đặt CompizConfig. Đi đến phần lệnh. Đặt như sau:
Trong trường Lệnh 0:

sh ~/.scripts/compizsnap-left.sh

Trong trường Lệnh 1:

sh ~/.scripts/compizsnap-right.sh

Trong trường Lệnh 2:

sh ~/.scripts/compizsnap-max.sh

Cuối cùng, đi đến tab liên kết cạnh và đặt lệnh 0 sang trái, đặt lệnh 1 sang phải và đặt lệnh 2 lên trên cùng.

NB Compiz có thể phàn nàn rằng đã có các chức năng được đặt thành các ràng buộc cạnh bạn muốn sử dụng - thay thế chúng bằng các liên kết của bạn.


Điều này hoạt động rất tốt, có mẹo nào để làm cho nó hoạt động với hai màn hình trong cấu hình TwinView không?
Nathan Schwermann

2

Một trong những khác biệt giữa hầu hết các trình quản lý cửa sổ Unix và Windows là hầu hết các trình quản lý cửa sổ Unix đều có khả năng chống lại sự chuyển động của các cửa sổ ở các cạnh của màn hình. Do đó, bạn không cần bất kỳ lệnh đặc biệt nào để di chuyển các cửa sổ sang cạnh trái hoặc phải của màn hình; chỉ cần kéo một cái về phía rìa và nó sẽ dừng lại khi đến đó. Tôi không biết về bất kỳ phím tắt Gnome (trình quản lý cửa sổ Ubuntu tiêu chuẩn nào hiện nay) để di chuyển các cửa sổ.

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.