设置最大化窗口的最大尺寸

有没有办法设置最大化窗口的最大允许大小?
让我解释一下,我希望最大化的窗口不要覆盖整个桌面,而是可以设置一个边距或区域,留出一部分桌面可见。
例如:

enter image description here

我找到了一个能做到这一点的程序,但只适用于Windows:Change The Maximum Window Size - gHacks Tech News。我想象Linux应该有类似的东西,但是我找不到。

我认为你可以通过使用wmctl或xdotool等工具,使用键盘快捷键来设置边界或矩形的xy坐标来实现(解决)这个问题。 - PRATAP
2个回答

在经过许多测试、使用命令和复杂脚本等解决方案之后,我找到的最好且简单的解决方案是使用Conky小部件(是的,很神奇);我偶然发现了这个解决方案,当安装一个小部件时,我发现所有最大化的窗口都被固定在桌面上以保持小部件可见。
小部件的重要部分是 "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

所有的小部件都是相似的,只是大小和在屏幕上的位置不同。
这个非常简单的解决方案非常有效 :)

  1. 这可以手动完成终端, Vim,Google Chrome

  2. 你可以使用xrandr来获取/设置屏幕分辨率,然后使用wmctrl来调整窗口大小。

使用wmctrl的bash脚本将窗口调整为其一半大小:

#!/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

3. 要移动窗口,请转到“设置”,“窗口管理器”,然后点击“快捷键”选项卡。您要查找的操作名称为“将窗口平铺到左侧”,“将窗口平铺到右上角”,等等。
4. 您可以在此处查看GitHub存储库here
希望对您有所帮助!祝您好运;)