Not as useless as it seems....The context menus are associated with accelerator keys. This means that automation of keystrokes can easily get to those areas; something that is difficult to do when mouse only. Yes, a botton (with accelerator key) could do the same thing, but would be more "in your face" for something that only a few users would utilize.

Not as useless as it seems....The context menus are associated with accelerator keys. This means that automation of keystrokes can easily get to those areas; something that is difficult to do when mouse only. Yes, a botton (with accelerator key) could do the same thing, but would be more "in your face" for something that only a few users would utilize.

Not only this. It also shows the current shortcut key (such as ctrl-L for path bar) for each function. And if you enable editing shortcuts, it also allows you to set the shortcut by hovering over the item and pressing the key. Quite discoverable and convenient alternative to the usual huge list of shortcuts in a settings dialog.

After looking at the image I was about to ask if Focus meant what it usually meant in GUIs... who the fuck would gingerly navigate their mouse through 3 levels of context menu to focus a UI element so they can use it with their keyboard!

Maybe they had like some kind of contextual menu quota they had to meet?

This means that automation of keystrokes can easily get to those areas;

If it's for automation, why don't they provide a different interface for the automation program to use so it doesn't have to shit all over the human-usable interface? Like... for example... VBScript's API or AppleScript's (whatever the fucking shit Apple calls it now) API? (Which also brings up a different question-- why would a script need to focus something?)

I know it's Linux and we can't expect them to actually *think* about the problem and solve it in a reasonable way-- but you'd think they'd at least be able to rip-off the other companies who did solve it.

If you make it scriptable, you must make ALL OPERATIONS scriptable, otherwise your scripting API is just a piece of shit.

"focus" is a concept used by humans, not by computers. I don't see any purpose to making it scriptable. But in any case:

1) fair enough, my point still applies (this is a shitty way of making the computer scriptable)
2) I doubt that's why that menu exists anyway, I'm sure some Linux dinosaur put in a feature request for it and since all Linux developers have a hard-on for complexity and "choice", they put it in no questions asked

I admit that sometimes I can't manage to figure out how to focus somewhere with the keyboard and have to grab the mouse. So an explicit "focus" menu can be nice. What makes no sense is putting it in the context menu instead of the actual menu bar. "Tools -> Focus" would have been perfect. The context menu is for things related to the current context (files or folders).

who the fuck would gingerly navigate their mouse through 3 levels of context menu to focus a UI element so they can use it with their keyboard!

Many keyboards nowadays carry a dedicated key to activate the context menu. The focus submenu is probably there to accommodate users on hardware set-ups that don't have a mouse attached, but do have such a keyboard attached.

My old notebook has touchpad, which is really unreliable under more humid air, so I had to disable it in BIOS on holydays (otherwise it generate stream of random movement and cliks). Usually I just attach usb mouse (and keyboard and monitor if possible), but sometimes the mouse would be really inconvenient all the time. There is also possibility to move mouse with numpad-cursor-keys, but it is also inconvenient on notebook keaybord. So no-mouse situation is not such rare for me. (not mentioning, that shortcuts are way faster, than mouse and the possibility to set the shortcuts in menu is really convenient too. Maybe Windows will have that in some future version too, as they get all ideas from other sources and then they announce them as their unique invention, but I do not care about Windows for long time)

To me this is TRWTF. I actually use SpaceFM at home, and like it okay. Despite its warts, it combines most of the features I liked from pcmanfm (its ancestor) and the Windows program Q-Dir, plus it comes with what amounts to a find/grep gui that I sometimes find useful. However, I wouldn't have thought of it as a good candidate for any distro's default. While this isn't always a good reflection of how presentable something is in the open source world, SpaceFM is not to version 1.0 yet and it definitely feels like the UI has a way to go before it should be.

Granted, at least of what I've found so far, all the stuff in it seems to WORK. It just isn't always where a sane person would have put it. On the other hand, it can also be customized a lot. So you end up with things that feel like having the button to open close the garage door mounted inside the medicine cabinet in the upstairs guest bathroom...but once you've found that, there are several different ways you can add the ability to control it from the actual garage. And they're not difficult. It's just that at least one of them should have been there in the first place.

Okay, I've since installed the program once more to re-evaluate my impressions about its UI.

There seems to be a complete disregard for the convention of adding an ellipsis to menu commands that pop up dialogs. There aren't ellipses anywhere. "<font face="courier new,courier">View > Window Title</font>" and "<font face="courier new,courier">View > Window Icon</font>" in particular suggest a completely different meaning. Even just renaming them after the dialogs they pop up would have been an improvement: "<font face="courier new,courier">Set Window Title Format</font>" and "<font face="courier new,courier">Set Window Icon</font>".

There aren't tooltips anywhere either. The second, third and fourth buttons on the toolbar are for toggling the <font face="courier new,courier">Devices</font>, <font face="courier new,courier">Bookmarks</font> and <font face="courier new,courier">Tree</font> panels respectively. In retrospect, they have sensible icons, but due to the lack of tooltips I didn't bother to see what they did the first time around. For controlling the visibility of the panels there are also toggles on the "<font face="courier new,courier">View</font>" submenu of the context menu.There are no such toggles under "<font face="courier new,courier">View</font>" on the main menu however. Instead, the "<font face="courier new,courier">Devices</font>" and "<font face="courier new,courier">Bookmarks</font>" top menus have a "<font face="courier new,courier">Show</font>" menu item each. These work for showing the panels, but they aren't toggles; and there are no corresponding "Hide" options. The panels themselves don't have a close button.

Of course, this is all apropos of showing and hiding the panels, not changing the focus to them. The points made by jpa and TheCPUWizard about accelerators keys are valid. The good news is tab and shift+tab change the focus in a completely sane way. So there's that.

Pre-edit: I agree with what kilroo has said in the meantime.

SpaceFM is meant to be completely customizable by right-clicking any interface element, including context menus themselves. A context menu for that interface element opens and through it you can toggle the UI elements' default visibility, assign an accelerator key. You can even set contexts for when that element is available, including such diverse conditions as whether the clipboard has text or the selected file is of a given MIME type. That's pretty cool!

In practice, this isn't quite well implemented yet. I can add custom commands to the context menus but I can't hide the default ones. If that's intentional I'd say it defeats the purpose.

It also seems as of yet only right-clicking on menus works. Right-clicking the toolbar does nothing and its customization is done through left-clicking the first toolbar button: it opens a popup menu with an option corresponding to every toolbar button including hidden ones (which is fine). Left- or right-clicking one of these opens another menu and disables the first one. Unless you already know this is "Design Mode", or even if you do, it's freakingly confusing!

Lots of things that are "cool" aren't useful. Many things that are "cool" are usability and tech support nightmares. "Hey, look, Office 2003 lets you drag the menu bar around and dock it anywhere! Or hide it completely! How 'cool'!"

I can add custom commands to the context menus but I can't hide the default ones. If that's intentional I'd say it defeats the purpose.

It is intentional, and I agree. Given the way this mode operates, I can see why they might want to require editing a config in order to hide default stuff rather than allowing it through the design mode mouse actions (makes it harder to get rid of something accidentally without knowing how to get it back), but I didn't find it clear from the documentation whether that's what's going on and it needs work as an implementation even if it is.

Unless you already know this is "Design Mode", or even if you do, it's freakingly confusing!

I agree. I get the impression that what they are trying to accomplish is making the interface (almost) as customizable through more of the interface as if you could go in and effectively rewrite it in some kind of code. Unfortunately this capability is almost entirely composed of rough edges at the moment.

Lots of things that are "cool" aren't useful. Many things that are "cool" are usability and tech support nightmares. "Hey, look, Office 2003 lets you drag the menu bar around and dock it anywhere! Or hide it completely! How 'cool'!"

Both very true. I think a lot of what's "cool" in how SpaceFM can be configured is probably useful, personally. Unfortunately a lot of it is also definitely a usability nightmare at the moment.

If you make it scriptable, you must make ALL OPERATIONS scriptable, otherwise your scripting API is just a piece of shit.

"focus" is a concept used by humans, not by computers. I don't see any purpose to making it scriptable. But in any case:

1) fair enough, my point still applies (this is a shitty way of making the computer scriptable)
2) I doubt that's why that menu exists anyway, I'm sure some Linux dinosaur put in a feature request for it and since all Linux developers have a hard-on for complexity and "choice", they put it in no questions asked

You allow focus to be scriptable because very often the application has triggers on onFocus() and onBlur() (or whatever).

I don't like the default layout and I can arrange the toolbars how I want.

We're not talking about the toolbars, we're talking about the menu bar.

OK. Same thing. Maybe I like the menu bar above the toolbars. Maybe I like it below the toolbars or in between the toolbars. Maybe I like it at the bottom of the screen. That would be stupid, but that's only my opinion.

A little customizability is a good thing. You really have to be an arrogant prick to create software that says YOU'LL DO THINGS MY WAY AND FUCK YOU IF YOU DON'T LIKE IT.

You allow focus to be scriptable because very often the application has triggers on onFocus() and onBlur() (or whatever).

(pulled from ass)

$(document).ready()

{

$("#textfield1").blur() { $("#textfield2").focus()}

$(#textfield2").blur() { $("#textfield1").focus()}

$("#textfield1").focus()

$("#textfield2").focus()

};

Anyway, one advantage of using a nested context menu to focus in a filemanager would be if those menus had keyboard shortcuts. I'm not averse to multi-key shortcuts. (I still use alt+space,x to maximize current window.)

Something like Context key -> F -> F to get the folder listing area could be handy. (assuming it could respond fast enough)

Then the application's broken. Not all input devices have a concept of "focus", so if the application is doing something that relies on it, it's broken.

I'm not saying it's uncommon for apps to rely on focus; I'm just saying that in that case the problem is the app, and not the scripting interface.

Can't disagree, however if it is a feature of the GUI toolkit to register events against onFocus()/onBlur(), and the GUI toolkit provides a scripting API, then you must be able to script that for it to be considered complete.

For every person who moved the toolbars on purpose, 100 moved them on accident-- and until they made it possible to move by accident too, the menu bar was the way of recovering from that type of error. What the Office team did is make it as easy to move/hide the menu bar on accident as it was to move/hide toolbars on accident, creating a support nightmare.

It was a fucking terrible idea and it took them way too long to fix it.

I dunno what you mean. And I'm not using "script-able" in the sense of "written in a scripting language", but "presents an API to external users to automate". Like, shudder, VBA.

Oh, maybe I do see what you mean. Infinite loop. Not the GUI toolkits problem. It is always possible to construct an infinite call loop that might be triggered. What about onChange()? Constructing an onChange() battle royal is just as easy to do.

We're usually an edge case. What programmers expect from software and what your average end user expects from software are usually different things. Which is one of the reasons so much FOSS is shitty and impossible to use.

What the Office team did is make it as easy to move/hide the menu bar on accident as it was to move/hide toolbars on accident, creating a support nightmare.

Office applications last had an actual menu bar in Office 95. In all later versions, the menu bar is just another toolbar, which only uses text labels instead of pictures. From a programming standpoint, this makes sense, since you don't need to use 2 very different UI elements, which makes customization easier. And while it doesn't make much sense to allow the toolbar to be docked vertically, I actually met some users that preferred it that way (don't ask me why - that office was weird).

What the Office team did is make it as easy to move/hide the menu bar on accident as it was to move/hide toolbars on accident, creating a support nightmare.

Office applications last had an actual menu bar in Office 95. In all later versions, the menu bar is just another toolbar, which only uses text labels instead of pictures. From a programming standpoint, this makes sense, since you don't need to use 2 very different UI elements, which makes customization easier. And while it doesn't make much sense to allow the toolbar to be docked vertically, I actually met some users that preferred it that way (don't ask me why - that office was weird).

Vertical docking is useful if your typical usecase involves text that does not extend horizontally a lot. By moving the toolbars over to the sides, you create more vertical space for the important bits. This is the same reason why a lot of people set their monitors to portrait mode.

Not all input devices have a concept of "focus", so if the application is doing something that relies on it, it's broken.

I don't think I follow. Could you give an example?

The usual “things aren't as simple as they seem” examples in this area are the smartphone and the tablet, but they can still have focus just fine. Those sorts of apps are often written to have at most one focusable area at a time (making the question moot) but the concept's certainly valid. The only truly focus-free UI systems I can think of are certain types of kiosk, and they're not really a counterexample (heck, they're often just a locked-down IE).

But focus control bindings shouldn't be user-configurable. They're a low-level feature of Controllers that ought to usually be just handled correctly by the UI toolkit for you. Even most programmers shouldn't be allowed to tinker with such things; it never seems to end well when they do…

Not all input devices have a concept of "focus", so if the application is doing something that relies on it, it's broken.

I don't think I follow. Could you give an example?

iPad.

I have this mental model that "focus" means "widget that gets keyboard events", so that doesn't really mean change anything in my mind.

I can send pointer events to different widgets just fine, even if my hardware doesn't support touch (if that's want you meant), but that doesn't mean there isn't a concept of "focus". You need it for when you input text.

I'm not disagreeing with you when you say apps shouldn't rely on focus events, mind you.

If you make it scriptable, you must make ALL OPERATIONS scriptable, otherwise your scripting API is just a piece of shit.

"focus" is a concept used by humans, not by computers. I don't see any purpose to making it scriptable. But in any case:

1) fair enough, my point still applies (this is a shitty way of making the computer scriptable)
2) I doubt that's why that menu exists anyway, I'm sure some Linux dinosaur put in a feature request for it and since all Linux developers have a hard-on for complexity and "choice", they put it in no questions asked

So, it never crosses anyone's mind to have a script that guides human-machine interaction, perhaps with better productivity than that of pointy-clicking all day long. Yeah, unheard of. </sarcasm>

If you make it scriptable, you must make ALL OPERATIONS scriptable, otherwise your scripting API is just a piece of shit.

"focus" is a concept used by humans, not by computers. I don't see any purpose to making it scriptable. But in any case:

1) fair enough, my point still applies (this is a shitty way of making the computer scriptable)
2) I doubt that's why that menu exists anyway, I'm sure some Linux dinosaur put in a feature request for it and since all Linux developers have a hard-on for complexity and "choice", they put it in no questions asked

So, it never crosses anyone's mind to have a script that guides human-machine interaction, perhaps with better productivity than that of pointy-clicking all day long. Yeah, unheard of.

It's not useful to blakeyrat because he can't CLI. Therefore it's not useful to anyone ever and shouldn't exist, according to him. You're not going to change his mind on that point.

It's not useful to blakeyrat because he can't CLI. Therefore it's not useful to anyone ever and shouldn't exist, according to him. You're not going to change his mind on that point and you're a horrible person who also probably wants to sap and impurify all of our precious bodily fluids for even trying.