tool bar buttons

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
suslo
Posts: 178
Joined: 02 Feb 2015 05:02

tool bar buttons

Post by suslo »

tool bar buttons have 2 visual states: usual state and hovered/pressed state
is there a way to completely disable the displaying of that hovered/pressed state?
because i really don't like to see a button changing its appearence only when hover it

and because i have real troubles with the hovered/pressed state:
(not always at all but seldom) a button looks like pressed even after it was deactivated
for example, after i turned the 'sticky selection' off by pressing its button for the 2nd time

moreover, a tool bar button may begin to look like pressed after it was hovered
i speak about a situation when the cursor is already in some other place but a button still looks like hovered

jupe
Posts: 2803
Joined: 20 Oct 2017 21:14
Location: Win10 22H2 120dpi

Re: tool bar buttons

Post by jupe »

Not exactly what you are asking for, but in the customize toolbar dialog, there is a Options button on the right, And if you change the style to "Windows Theme Style" it makes the button hover and pressed state much less dramatic.

edit: You could also change all the buttons that have a pressed state, into custom toolbar buttons and script their function, that way they wouldn't have a pressed state.

edit2: you could also change the toolbar background color, it may help with the look you are after,

viewtopic.php?f=3&t=17908&p=152284#p154957

suslo
Posts: 178
Joined: 02 Feb 2015 05:02

Re: tool bar buttons

Post by suslo »

thank you for the answer. "Windows Theme Style" is not a solution but it is better if it is enabled
custom toolbar buttons and script their function, that way they wouldn't have a pressed state
i have some custom buttons and they all behave like standard buttons. example of 1 custom button: on left click - #147
but i don't know what exactly should i add to the #147 so that the button was always displayed not in a pressed state
you could also change the toolbar background color
a) i tried to change the colour to DDDAD4. it is RGB-221-218-212 which i got from a small colour-related utility "pixie 4.1"
but DDDAD4 turned out to be not exactly the appropriate colour

b) main menu will have different background colour then (which is not good)

c) this is the most important aspect: buttons will still have the unwanted "pressed" effect
it can be described as a slight shifting of an image inside a button
shifting (to the right+down and then to the left+up) is seen clearly during the time you are clicking a button

jupe
Posts: 2803
Joined: 20 Oct 2017 21:14
Location: Win10 22H2 120dpi

Re: tool bar buttons

Post by jupe »

i have some custom buttons and they all behave like standard buttons. example of 1 custom button: on left click - #147
#147 doesn't have a pressed state anyway, but if I create a CTB for instance for #481 (suspend autorefresh), and remove the inbuilt button, then that CTB doesn't lock down in a pressed state, but still performs the function, you could also do it something like this:

Code: Select all

 if (ctbicon() == "Apple.ico") {
  ctbicon("Apple_Half.ico");
 } else {
  ctbicon("Apple.ico");
 }
 #481;
which would change the toolbar icon, instead of having a pressed/unpressed state.
a) i tried to change the colour to DDDAD4. it is RGB-221-218-212 which i got from a small colour-related utility "pixie 4.1"
but DDDAD4 turned out to be not exactly the appropriate colour
play around with different colors then.
b) main menu will have different background colour then (which is not good)
if you don't like it, don't use it, I was just presenting an option.
i speak about a situation when the cursor is already in some other place but a button still looks like hovered
maybe you could make your cursor larger so you can see it and don't confuse the hover effect with the pressed state.
c) this is the most important aspect: buttons will still have the unwanted "pressed" effect
it can be described as a slight shifting of an image inside a button
shifting (to the right+down and then to the left+up) is seen clearly during the time you are clicking a button
When I say this keep in mind I am not the developer, but I think sometimes people have to accept some things, everyone can't always have exactly what they want, XY does provide a multitude of customization to try to accommodate as much as possible but some things just have to be lived with.

suslo
Posts: 178
Joined: 02 Feb 2015 05:02

Re: tool bar buttons

Post by suslo »

Code: Select all

if (ctbicon() == "C:\images\1.ico") {
  ctbicon("C:\images\1.ico");
 } else {
  ctbicon("C:\images\1.ico");
 }
 #147;
i tried this code and it changed nothing

jupe
Posts: 2803
Joined: 20 Oct 2017 21:14
Location: Win10 22H2 120dpi

Re: tool bar buttons

Post by jupe »

The middle icon line needs to be a DIFFERENT icon, like the example I provided.

It can also be done like this:

Code: Select all

	$icon	= "Apple.ico";
	$icon_p = "Apple_Half.ico";
	ctbicon(((ctbicon() LikeI $icon) ? $icon_p : $icon));
	#147
If you want to test it as is, both those icons should exist in a standard XY installation, so just need to change the code to either of the examples I provided.

This isn't meant to stop the click state of a button! it will still look like it has been clicked, it is meant as an alternative for the pressed state, ie. instead of the button being locked down you get 2 different icons, one for the up state, and another for the pressed state, you either make the icons yourself, for example in different colors or different styles etc. or find pre-made ones.

For #147; it is useless because that function doesn't have a pressed state anyway, which you said was your whole problem, mixing up pressed state with hovered state, keep in mind if you use this icon swap code you will need to also add a check in the script for the state of the button, eg.

Code: Select all

if get("#800") {
you would need to look that up in the help file.

aurumdigitus
Posts: 1075
Joined: 30 May 2008 21:02
Location: Lake Erie

Re: tool bar buttons

Post by aurumdigitus »

Code: Select all

 if (ctbicon() == "Apple.ico") {
  ctbicon("Apple_Half.ico");
 } else {
  ctbicon("Apple.ico");
 }
 #xxx;  //command to toggle
This is a great Tip/Idea! Much easier to see on a laptop in low light. :appl:

suslo
Posts: 178
Joined: 02 Feb 2015 05:02

Re: tool bar buttons

Post by suslo »

You could also change all the buttons that have a pressed state, into custom toolbar buttons and script their function, that way they wouldn't have a pressed state
now all my 49 custom buttons display just very short text. it is unfortunately limited to only 24 pixels
i would have certainly preferred to have: a) much more space for the titles, b) the ability to place the buttons inside not 1 but 2 or 3 rows

this question is quite important for me: what exactly should i add to each of my text button?
(so that it was displayed without the 'click state' effect which appears each time i click a tool bar button)

4 examples of my user buttons:
name: keep selected
icon: label:KS
on left click: #359
name: make not read only
icon: label:RO-
on left click: attrstamp("r", 4, "<allitems |>")
name: toggle files
icon: label:Fil-
on left click: filter "attr: d"
name: hide selected (no toggle)
icon: label:HS
on left click: #252; wait 10; #359; wait 10; #251
concerning this 4th example:
i tried many times but eventually failed to find a better/reliable way to add such possibility as 'hide selected items'
the closest variant is: filter "!<get SelectedItemsNames |>"
but for instance, if the task is to hide the folder named 05, this variant is also hiding the file 05.rar

jupe
Posts: 2803
Joined: 20 Oct 2017 21:14
Location: Win10 22H2 120dpi

Re: tool bar buttons

Post by jupe »

This is just my opinion, and maybe the developer thinks differently, but asking for a button not to look like it is being clicked seems unreasonable, I doubt this is an option in any apps and AFAIK I have already suggested all currently available options regarding the locked down pressed state being more noticeable so as to differentiate it from the hover & click state.

As an alternative If you want the toolbar to have bigger labels, you can turn on Toolbar captions. more info:
https://www.xyplorer.com/release_18.90.php#TFS
suslo wrote:i tried many times but eventually failed to find a better/reliable way to add such possibility as 'hide selected items'
the closest variant is: filter "!<get SelectedItemsNames |>"
but for instance, if the task is to hide the folder named 05, this variant is also hiding the file 05.rar
You could try it like this:

Code: Select all

	filter "!" . quote(<get selecteditemsnames '"|"'>); 

suslo
Posts: 178
Joined: 02 Feb 2015 05:02

Re: tool bar buttons

Post by suslo »

but asking for a button not to look like it is being clicked seems unreasonable
i think that everyone decides himself what things are reasonable or unreasonable
for example, my firefox has 39 text buttons placed on its bookmarks toolbar
there i have no unsightly separators and no limitation concerning the length of text
and there i also don't have any click effect. it looks and feels great (during years)

that bookmarks toolbar also contains 7 small image buttons (left side) and even not long address bar (right side)
image buttons also don't have any hovered/clicked effects. they look neatly and just work
I have already suggested all currently available options
1) in xyplorer i changed toolbar icons from images to text. and it turned out to be a substantial visual relief
so my previous post was not about "locked down pressed state" or "hover state"

2) i removed the menu bar and then i changed 1 line in the ini-file: ToolbarBackColor=FFFFFF
and now i don't see any "hover state"
the only real problem (for me) which is left here is the click effect. i'm not asking for enumerating the reasons to hide it or not to hide

i'm asking to help me to remove this click effect (which looks like slightly and ugly jumping piece of text)
if this effect is hard-coded, then users like us can do nothing. if it's not, then there's a chance
You could try it like this
thank you, it works. i knew that to force exact matches i should also quote a filter but all my quotes were not successful

Post Reply