How to unmaximize a maximized Plasma window with global menu?

I have kinda half de-dragonized my KDE, changing the theme and icons, but leaving the whole desktop layout mostly intact. That means, window buttons on the left, and most importantly, global menu style - the app menu being integrated into the top Plasma panel:

My problem on this small laptop screen is tiny click targets (I hate them) and I prefer managing the desktop with mouse gestures, keyboard shortcuts etc. Mostly for unmaxizing a window, I’m used to dragging a window by the title bar - except that doesn’t work in a global menu situation, where the title bar is part of Plasma panel.

My question: Is there any Plasma/KWin/etc. setting or method for unmaximizing (possibly also positioning) windows with my mouse, that will give me a bigger click target ?

I know about the Meta + PgUp keyboard shortcut, what I’m missing is a mouse method.

╰─λ garuda-inxi
System:
Kernel: 6.6.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=dc229e5a-50c1-478a-b84b-e60401e4d6c0 rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=258393c9-45c2-4f11-9c89-8fb56cf7d7ab loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11 wm: kwin_wayland vt: 1
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: TUXEDO product: TUXEDO v: N/A
serial: <superuser required> Chassis: Notebook type: 10
serial: <superuser required>
Mobo: TUXEDO model: N141CU serial: <superuser required> UEFI: INSYDE
v: 1.07.07RTR1 date: 11/08/2019
Battery:
ID-1: BAT0 charge: 30.5 Wh (81.8%) condition: 37.3/35.3 Wh (105.5%)
volts: 11.6 min: 11.4 model: Notebook BAT type: Li-ion serial: <filter>
status: discharging
CPU:
Info: model: Intel Core i7-10510U bits: 64 type: MT MCP
arch: Comet/Whiskey Lake note: check gen: core 10 level: v3 note: check
built: 2018 process: Intel 14nm family: 6 model-id: 0x8E (142)
stepping: 0xC (12) microcode: 0xF8
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 2500 high: 2503 min/max: 400/4900 scaling:
driver: intel_pstate governor: powersave cores: 1: 2500 2: 2500 3: 2500
4: 2500 5: 2502 6: 2503 7: 2501 8: 2500 bogomips: 36799
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel CometLake-U GT2 [UHD Graphics] vendor: CLEVO/KAPOK
driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
ports: active: eDP-1 empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 00:02.0
chip-ID: 8086:9b41 class-ID: 0300
Device-2: Chicony USB2.0 Camera driver: uvcvideo type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:4 chip-ID: 04f2:b649
class-ID: 0e02
Display: wayland server: X.org v: 1.21.1.9 with: Xwayland v: 23.2.2
compositor: kwin_wayland driver: X: loaded: modesetting
alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: 0
Monitor-1: eDP-1 res: 1920x1080 size: N/A modes: N/A
API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
device: 1 drv: swrast surfaceless: drv: iris wayland: drv: iris x11:
drv: iris inactive: gbm
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 23.2.1-arch1.2
glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics (CML GT2)
device-ID: 8086:9b41 memory: 14.96 GiB unified: yes display-ID: :1.0
API: Vulkan v: 1.3.269 layers: 3 device: 0 type: integrated-gpu name: Intel
UHD Graphics (CML GT2) driver: mesa intel v: 23.2.1-arch1.2
device-ID: 8086:9b41 surfaces: xcb,xlib,wayland device: 1 type: cpu
name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
v: 23.2.1-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000
surfaces: xcb,xlib,wayland
Audio:
Device-1: Intel Comet Lake PCH-LP cAVS vendor: CLEVO/KAPOK
driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl
bus-ID: 00:1f.3 chip-ID: 8086:02c8 class-ID: 0403
API: ALSA v: k6.6.5-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: CLEVO/KAPOK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: 5000 bus-ID: 3b:00.1 chip-ID: 10ec:8168 class-ID: 0200
IF: enp59s0f1 state: down mac: <filter>
Device-2: Intel Wireless-AC 9260 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 40:00.0 chip-ID: 8086:2526 class-ID: 0280
IF: wlp64s0 state: up mac: <filter>
IF-ID-1: wwp0s20f0u2c2 state: down mac: <filter>
Bluetooth:
Device-1: Intel Wireless-AC 9260 Bluetooth Adapter driver: btusb v: 0.8
type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-10:5
chip-ID: 8087:0025 class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: <filter> bt-v: 5.1 lmp-v: 10
status: discoverable: no pairing: no
Drives:
Local Storage: total: 953.87 GiB used: 131.65 GiB (13.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW010T8
size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 002C temp: 28.9 C scheme: GPT
Partition:
ID-1: / raw-size: 936.72 GiB size: 936.72 GiB (100.00%)
used: 131.65 GiB (14.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 936.72 GiB size: 936.72 GiB (100.00%)
used: 131.65 GiB (14.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 936.72 GiB size: 936.72 GiB (100.00%)
used: 131.65 GiB (14.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 936.72 GiB size: 936.72 GiB (100.00%)
used: 131.65 GiB (14.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 15.32 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 8 dev: /dev/zram0
ID-2: swap-2 type: partition size: 16.85 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
System Temperatures: cpu: 47.0 C pch: 45.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Processes: 277 Uptime: 12m wakeups: 0 Memory: total: 16 GiB note: est.
available: 15.32 GiB used: 5.01 GiB (32.7%) Init: systemd v: 255
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages: 1720
pm: pacman pkgs: 1714 libs: 512 tools: pamac,paru pm: flatpak pkgs: 6
Shell: fish v: 3.6.2 default: Bash v: 5.2.21 running-in: konsole
inxi: 3.3.31
Garuda (2.6.19-2):
System install date:     2023-10-28
Last full system update: 2023-12-21
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       No/Undetected
Failed units:            nmb.service

you can press the meta key (your windows key) and click anywhere on your window and drag it around. Even if it’s maximized.

6 Likes

Thank you! That’s a good option, but humbly I’m (also) looking for a mouse-only (no keyboard) method. :see_no_evil:
Perhaps there is a possibility to somehow drag the title bar “out of the panel”?

EDIT: I just discovered that, ONLY IN FIREFOX if you can find a bit of free space in the tab bar, you can do exactly what I’m used to, i.e. drag the window around - including tiling by hitting the screen borders (edit: also possible with the Meta-key method). The problem is that as soon as I have 8+ tabs open, there’s no free space left there.

EDIT 2: :arrow_up: the above is no solution at all, just something that sometimes works in Firefox (which I just happened to have open).
My question is about all windows/apps

The solution lies within the problem. :slight_smile:

Thanks, but what do you mean? Get a bigger laptop (can’t afford)? Never open more than 8 tabs (only relevant to Firefox/browsing, not other apps)?
A more explicit answer might be more helpful.

I am not quite sure of the tiling with mouse but you can use meta + arrow keys to tile. I understand this is not what you want though so I will let others answer better.

2 Likes

While you have a window grabbed by its title bar, you can tile it by dragging it until the mouse pointer hits one of the screen’s edges. And right now, this works for me also when using Meta to grab the window anywhere (did not work when I tried before, I swear! Editing above post accordingly…).
However, these two solutions require the use of keyboard.

Well, yeah either of those things. Your other 2 options are, don’t, or get a larger whatever. “Afford” is a generic question. You have a newer, nicer machine than mine. I’d happily trade you straight across.

I know what you mean, but as far as I know, that doesn’t work.

But a double click has the same effect - or do you not have an empty space in the application menu bar for a double click?
If you not have an empty space for a double click, try this:

2 Likes

Would you maybe have a screenshot for me that shows an example of the application menu bar, in an app maximized, with global menu?
for me, e.g. Kate looks like this:

Which part here is the application menu bar? If you mean what I think you mean, it’s part of the top Plasma panel. Double clicking it does nothing for me (neither if it’s unmaximized btw). Double clicking the title bar (not the app menu) of an unmaximized window maximizes it, but I don’t get the opposite effect clicking emtpy space in the global menu of a maximized one

Regarding your mouse wheel suggestion, I can’t find that menu screen that you shared in the settings (my system is in German and, as we know, Plasma settings are a giant maze): what is the click path to get there?

Red Arrow = free space for double click in the application menu bar (Anwendungsmenüleiste) to maximize and unmaximize the active window.

Settings: simply right click in the application menu bar and choose WindowAppMenu settings (WindowAppMenu einrichten).

btw: Double click only works if you don’t have any placeholders in the application menu bar (your TopBar/Plasma panel).


EDIT: That was written in a bit of an incomprehensible way because I was busy.
There are several ways to solve the “tiny click targets” problem.

  1. You can manually enlarge the buttons in the top panel:

  2. Double click on the “Window Title”, for example Kate/Dolphin/Firefox. This works for all active windows, whether maximized or not:

  3. Double-click on an empty space in the top panel:
    The Window AppMenu is just a widget for the top panel. It is important that there is enough space for the Window AppMenu, so that no other widgets (e.g. clock in the middle) or placeholders interfere. Right click on the top panel → Edit mode.
    As an example from my top panel, the red arrow is the width of the Window AppMenu:

As long as you don’t have a window open with 50 menu items, there is always an empty space for a double-click.

4 Likes

Thank you. I figured it out, but there were a few crucial hangups:

  • I didn’t understand that you call application menu bar what I call the Plasma Panel (top bar). I thought you were referring to some Plasma widget.
  • The “double click to un-/maximize” behavior you are describing works only in the Window App Menu - which at first I didn’t realize is also a Plasma widget. From the start, I was using the

instead, which is also a Plasma widget (I think it’s the default chosen by Garuda), but doesn’t have these features. In this screenshot, I have them both in the Panel for reference:

They both do the same thing, but Window App Menu is more customizable
(Double click on Window title works also in Global Menu).

  • you mentioned later that

Yes, I had two spacers in the Panel, to either side of the clock widget, which I wanted in the center. Removing them required me to adjust the settings of ẀindowApp Menu to “always use maximum available width” and move the clock to its old place at the far right :cry:

Well now I can either double click or use the mouse wheel on the panel to un-/maximize, but, crucially, not with Global Menu but with Ẁindow App Menu (nad had to sacrifice my favorite position for the clock).

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.