numix-gtk-theme icon indicating copy to clipboard operation
numix-gtk-theme copied to clipboard

Xfwm4: single pixel resize borders are unusable, may trigger bug in specific (older) Xorgs

Open achadwick opened this issue 11 years ago • 42 comments
trafficstars

Single pixel resize borders look ugly (subjective opinion ahoy!), but in addition they cannot be used with the mouse without - by definition - pixel precise mouse pointer placement by the user. The lack of forgiveness here is an objective usability problem.

The problem is worse with a graphics tablet - those frequently have a lot of subpixel jitter due to hand movement. Frequently, pen input user also cannot use the Alt key to resize windows either.

The problem is worse in Xfwm than in other WMs and DEs because Xfwm does not currently offer additional "magic" border resize space outside the window when the window has focus (examples: Unity, Gnome, Cinnamon). I would be fine with Numix looking slightly different across different WMs, because each WM has different features and drawbacks. I would expect a theme to respect that.

(Also, aesthetically, I prefer it to resemble Chromium window borders... but that probably is just me)

There's also an older technical problem with single-pixel XPM borders with certain Xorg software: https://bugzilla.xfce.org/show_bug.cgi?id=9246 https://bugs.freedesktop.org/show_bug.cgi?id=54168 https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1043575 https://github.com/shimmerproject/Greybird/commit/a58210ae4dffe3e841b2c0c7ced3f75ab4c0dc10 https://github.com/shimmerproject/Greybird/commit/a58210ae4dffe3e841b2c0c7ced3f75ab4c0dc10 which may or may not still be relevant.

achadwick avatar Feb 20 '14 10:02 achadwick

For what it's worth, it looks as if Greybird don't consider the Xorg thing to be a technical problem any more:

https://github.com/shimmerproject/Greybird/issues/50

achadwick avatar Feb 20 '14 10:02 achadwick

I really don't feel like diving into the 1px border discussion again, because we had it a longer while ago @xubuntu. Instead, I'd like to refer you to the blog-post I wrote at the time about window-resizing in Xfce/Xubuntu: http://xubuntu.org/news/window-resizing-in-xubuntu-and-xfce/

And yes, falling back to a 2px border around 12.10 or 13.04 was solely due to an xorg-bug, not due to a revision of the design decision.

ochosi avatar Feb 20 '14 10:02 ochosi

It's still basically a live issue to me as an Xfce user.

It's an awful lot of fumbling around, in my experience, trying to use anything other than a resize border for resizing a window. For all of the methods enumerated in the link, there are circumstances when that method cannot be used, or just has drawbacks.

  1. The resize grip is not present in terminals, or in Gtk2 applications (common in Xfce)
  2. Alt-click is not possible if you don't have a keyboard, or don't know about this relatively obscure feature
  3. There is no keyboard shortcut for entering resize mode enabled by default. In addition, not possible if you don't have a physical keyboard (or you're not using one right now for some reason)
  4. Is just obscure, and encourages the user to click around near the close button with many layouts.
  5. Some users prefer to turn off the window menu.

I note that other projects with a focus on minimalism an aesthetics still retain easily grasped window resize borders. I think this is a design decision which needs to be reversed until Xfwm adopts magic resize edges like Gnome/Unity/Cinnamon's. Aesthetics should not trump basic usability.

achadwick avatar Feb 20 '14 11:02 achadwick

All your arguments boil down to the fact that you don't have/use a keyboard, i.e. are using a touch interface/device? In fact I'm not sure whether

  1. Xfce is a good choice for that
  2. you should really complain about Xfwm4 themes not being great to use with it by default, cause no part of Xfce is optimized (or even tweaked) for touch at all

Just create an Xfwm4 theme specifically for touch (bigger buttons, fat borders), it makes sense for your scenario.

ochosi avatar Feb 20 '14 11:02 ochosi

@ochosi In Gnome, to be specific in CSD, and also in the new Unity decorations, it allows the theme to configure the grip area around the window manager. And I think this should be done in Xfwm too, and I think it's the logical solution.

satya164 avatar Feb 20 '14 13:02 satya164

Well I'd be a fan of the larger grip area as well, but it's more difficult to implement than to just "add an option" I'm afraid. I'll see though whether I can get things moving forward in this respect...

ochosi avatar Feb 20 '14 14:02 ochosi

@ochosi I think basic things like this should be implemented, no matter how difficult.

satya164 avatar Feb 21 '14 12:02 satya164

@ochosi I'm not a tablet-only user myself, but working on MyPaint does tend to clue you in about the capabilities and limitations of even high-end arty tablets. They're precise in a rather imprecise way, if that makes sense: device resolution on these things is great, but positioning always suffers from the imperceptible hand micro-motions everyone makes which makes putting the nib down on a single screen pixel a matter of luck. Wider effect areas benefit everyone, IMO.

Xfce is a pretty decent choice for artists and programmers alike, in my experience, but not if theme developers ignore the limitations of what's available.

Anyway, there is a need to move this thing on and no reason not to address the problem on two fronts. It will take Xfce a while to adopt this change, and even Debian unstable may be slow at adopting it. One thing Numix could do in the meantime would be to create a Numix-Easy variant of the theme for just Xfwm's benefit - adopting the convention used by the Shiki-Colors-Easy-Metacity theme from way back when. Would you guys be amenable to making such a thing part of shimmerproject proper?

achadwick avatar Feb 27 '14 12:02 achadwick

@achadwick I can only speak for Greybird, but if you think that there's such a big need for an Xfwm4 theme with a 3px border, feel free to draw it up and I'll see whether we can include it in Greybird as extra.

ochosi avatar Mar 06 '14 23:03 ochosi

For Numix, you already have a modified version. I would rather prefer to get it fixed in Xfwm rather than changing design decisions for Numix.

satya164 avatar Mar 07 '14 05:03 satya164

@ochosi - your blog post is useful, but it misses another problematic case, where you have 1 pixel borders within an application between areas/groups (such as in the editor geany where you can have a file list on the left, and a status/terminal area at the bottom). It is very difficult to manage with this theme to resize areas within an application.

joolswills avatar May 07 '14 21:05 joolswills

@joolswills Those are completely different widgets which are handled by Gtk, so it's really a different issue. (In Gtk3 I think those resize-panes can also be larger than they appear.)

ochosi avatar May 07 '14 23:05 ochosi

My apologies.

joolswills avatar May 07 '14 23:05 joolswills

FWIW, I also find the inability to resize windows annoying enough that I about gave up on xfce. 1 in 3 times I remember I can left Alt right click and make something happen, but seriously, to lay blame on the user is about the epitome of internet trolling.

I found a theme that made the windows frame 2px instead of 1 and it's almost usable. Google for xfce theming and you can learn to make the right and left frames as wide as you want via images. So at least there's that option if it makes me that mad again...

smashedagainst avatar Dec 19 '14 06:12 smashedagainst

Is there anyway to resize the border via some configuration? This is terribly unusable otherwise.

jasonmit avatar Jan 01 '15 22:01 jasonmit

Yes, however not a simple fix. If you research how themes are made, there are images which form the various elements of the window design. I believe this is how the window frame width is set. I downloaded the Ater theme and that seems to have made window borders 2px. I'll probably abandon this window manager and try some others. Honestly, KDE looks like it might be usable again (since 3.51) so that's up next. OMG anything but unity. :/

smashedagainst avatar Jan 02 '15 05:01 smashedagainst

Just FYI: https://bugs.freedesktop.org/show_bug.cgi?id=54168 has been resolved and should be in 1.16.2.901 and 1.16.3. Those were just released a tad less then a month though, so you may not have a package yet.

CrazyCasta avatar Jan 07 '15 01:01 CrazyCasta

This is apparently still an issue... It's simply impossible to comfortably use the Numix window manager theme with Xfwm right now.

RobinJ1995 avatar Mar 31 '15 21:03 RobinJ1995

After recently switching to Numix (from Albatross, which had trouble with modern gtk), I too miss actually usable window borders.

Simon, I understand that there are various way to resize windows. However, the most comfortable for me is still using the window borders. And just imagine someone who has trouble with using two hands, or the average computer user who can't find the "resize" menu item easily, or, as has already been mentioned, touchscreen users. From an usability standpoint, it's very bad.

I went ahead and modified Numix to give me 3px borders. I barely know what I'm doing, but it appears to sorta work (except the corners, those behave a bit weirdly).

Take a look at commit 31ae74ab28a1a9af16c00a394ab30161c86cd48d

haarp avatar Apr 09 '15 15:04 haarp

Big shout out to @ochosi for the blog post on resizing. Alt-right-drag is a life saver!

sheldonh avatar Jun 16 '15 12:06 sheldonh

@sheldonh Thanks - it's imo the most convenient and effective way to resize ;) (I hardly use anything else)

ochosi avatar Jun 16 '15 12:06 ochosi

@ochosi Please explain why it is so difficult to increase the grip area.

Samorost avatar Aug 13 '15 08:08 Samorost

+1 please increase grip area.

ioquatix avatar Sep 15 '15 12:09 ioquatix

+1 please increase grip area.

Alt-rightclick is a workaround not a solution.

Usability is the first mission of a window manager. If one can't resize a window by the edge or corner without googling for blogposts or doing triple backflips that the definitive proof of design failure.

Configurable borders would be the best solution of course, but the default should work for everyone, then comes the customization if possible.

Petrox avatar Nov 19 '15 14:11 Petrox

I also agree that the 1px border resize is a serious issue. The proposed solution of ALT+RMB DRAG is just workaround, which could even fail in certain circumstances, one of which is using the ALT+RMB for example in Blender to select an Vertex/Edge/Face loop in edit mode. In my case the window manager eats the event not propagating it to the application.

ghost avatar Nov 23 '15 09:11 ghost

+1 increase window border width for quick and easy resizing. Or at least make it easy to configure window borders. Please? Pretty please?

Meanwhile, here's some info and quick hacks for those inclined to be more hands-on: http://sevkeifert.blogspot.com.es/2014/12/increase-window-border-size-in-xubuntu.html http://softsolder.com/2015/01/28/wider-borders-in-xfce-xubuntu/

bashly avatar Nov 27 '15 10:11 bashly

+1 please increase grip area.

WTF why it's not larger already. :/

mariobaldini avatar Feb 23 '16 19:02 mariobaldini

+1

bilelmoussaoui avatar Feb 23 '16 19:02 bilelmoussaoui

Oh, I think I should apologize - you're not responsible for the bug - the xfwm dev team should accounted for that issue.

ghost avatar Feb 27 '16 13:02 ghost

@lukasz1985 Yeah, fixing it in Xfwm will fix the issue for all themes, fixing in Numix only means an workaround.

satya164 avatar Feb 27 '16 13:02 satya164