有没有办法设置最大化窗口允许的最大尺寸?
让我解释一下,我希望最大化的窗口不要覆盖整个桌面,但我可以设置边距或区域以使桌面的一部分可见。
例如:
我发现了一个可以做到这一点的程序,但仅适用于 Windows:更改最大窗口大小 - gHacks 科技新闻。我想象 Linux 上一定有类似的东西,但我找不到它。
答案1
经过多次测试、使用命令和复杂脚本等解决方案后,我发现最好和最简单的解决方案是使用康基小部件(是的,太棒了);我在安装小部件时偶然发现了这个解决方案,我发现所有最大化的窗口都是固定的,以保持桌面上的小部件可见。
该小部件的重要部分是“own_window_type panel”,用于在屏幕上创建一个像面板一样的窗口。
然后我的解决方案是当我需要边距(左,上,下,右)时为屏幕的每个位置创建一个空的透明的小部件
左边小部件示例:
use_xft yes
xftfont 123:size=6
xftalpha 0.1
update_interval 1
total_run_times 0
own_window yes
own_window_type panel
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_colour 000000
own_window_argb_visual yes
own_window_argb_value 0
double_buffer yes
minimum_size 10 1080
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_shade_color red
default_outline_color green
alignment top_left
gap_x 0
gap_y 1
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 1
override_utf8_locale yes
use_spacer yes
TEXT
所有小部件都很类似,只是大小和在屏幕上的位置有所不同。
这个非常简单的解决方案非常有效:)
答案2
一个用于将窗口大小调整为原来的一半的 bash 脚本wmctrl
是
#!/bin/bash
# resizes the window to full height and 50% width and moves into upper right corner
#define the height in px of the top system-bar:
TOPMARGIN=27
#sum in px of all horizontal borders:
RIGHTMARGIN=10
# get width of screen and height of screen
SCREEN_WIDTH=$(xwininfo -root | awk '$1=="Width:" {print $2}')
SCREEN_HEIGHT=$(xwininfo -root | awk '$1=="Height:" {print $2}')
# new width and height
W=$(( $SCREEN_WIDTH / 2 - $RIGHTMARGIN ))
H=$(( $SCREEN_HEIGHT - 2 * $TOPMARGIN ))
# X, change to move left or right:
# moving to the right half of the screen:
X=$(( $SCREEN_WIDTH / 2 ))
# moving to the left:
#X=0;
Y=$TOPMARGIN
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$H
要移动窗口,请转到
Settings
、Window Manager
,然后单击Shortcuts
选项卡。您要查找的操作名为Tile window to the left
、Tile window to the top-right
等。您可以查看 GitHub Repo这里
希望这能有所帮助!祝你好运 ;)