Option for a borderless window mode

Have a suggestion for "Everything"? Please post it here.
Post Reply
eugenesv
Posts: 30
Joined: Fri Mar 04, 2016 7:03 pm

Option for a borderless window mode

Post by eugenesv »

There is already a feature request to make Everything more lean and beautiful :) without a menu bar, and I'd like to propose adding an option for something even better — launch Everything without the window/title bar and without window borders in a truly borderless mode!
I'm currently doing it via AutoHotkey by disabling

Code: Select all

WS_Caption := 0x00C00000 and WS_SizeBox:= 0x00040000
, but the initial (re) launch is not as nice — the title bar is still visible, even if for a split second, and given that I launch Everything very often, it's a minor annoyance. I was hoping that with an native option that visibility window will be 0

This would look something like this (I've shrinked the window for the purposes of this illustration):
Fully borderless mode
Fully borderless mode
Everything Borderless.png (10.28 KiB) Viewed 9066 times
Note that there is no title bar and the mouse cursor doesn't change shape at the window border (and when the no menu bar feature gets implemented, Everything will become even better :)

And this is the regular view for comparison
Current view
Current view
Everything Borders.png (12.01 KiB) Viewed 9066 times

A bit of background: I'm never using the default Window controls as there are way more convenient ways to:
  • resize: instead of trying to precision-target the little right window border to make the window wider I just WinRMB in the general right area of the window and then move my mouse left/right to change the window's width (thanks, AltDrag)
  • move: Win+Mouse (though, tbh, I don't ever need to resize or move Everything, it just stays in the same place with the same window size)
  • minimize/maximize: use mouse gestures, e.g. RMB to maximize (thanks, StrokesPlus)
  • close: any convenient keyboard shortcut, e.g. CtrlQ or simply Esc or simply open the folder and it auto-closes
NotNull
Posts: 5458
Joined: Wed May 24, 2017 9:22 pm

Re: Option for a borderless window mode

Post by NotNull »

Try this:

Code: Select all

#NoEnv
#singleinstance force


$EverythingEXE := "C:\Tools\Everything\Everything.exe"

;_____________________________________________________________________________
;
    StartEverything:
;_____________________________________________________________________________
;
;   Start Everything (new window); activate the FOLDER filter)
    Run, "%$EverythingEXE%",,, $EvPID

;   Wait until Everything is loaded
    WinWaitActive, ahk_class EVERYTHING

;	Get the ID of the window on top (assumption: that must be the freshly started Everything)
    WinGet, $EverythingID, ID, A

;   Remove menu bar of this Everything window
    DllCall("SetMenu", "uint", $EverythingID, "uint", 0)

;   Remove title bar of this Everything window (WS_CAPTION)
    WinSet, Style, -0xC00000, ahk_id %$EverythingID%


ExitApp
eugenesv
Posts: 30
Joined: Fri Mar 04, 2016 7:03 pm

Re: Option for a borderless window mode

Post by eugenesv »

Thanks, but I don't want to disable the menu, it's still useful to me from time to time, I just want to hide it until those times when I need it.
Otherwise WinSetStyle is already the function that I use with the drawback described above. I guess you can't avoid the fundamental issue — you have to wait until the window is launched, and it's launched with borders/title bar, — before you can remove them.
NotNull
Posts: 5458
Joined: Wed May 24, 2017 9:22 pm

Re: Option for a borderless window mode

Post by NotNull »

Then you might be please to know that
void wrote: Fri Jul 26, 2019 1:35 pm I've added the option to hide the menu bar for the next major version of Everything.

If the menu bar is hidden, it can be reshown by right clicking the toolbar, window caption or status bar.
When the menu bar is hidden, all menu items can be accessed from the system menu (right clicking the window caption).
(from here )

The "next major version" @void is talking aboit is version 1.5 and is currently under development. Release date unknown at the moment.
eugenesv
Posts: 30
Joined: Fri Mar 04, 2016 7:03 pm

Re: Option for a borderless window mode

Post by eugenesv »

Well, the request I linked to has the same info, so yes, I'm aware that it's planned for the future. Hopefully the borderless option will also fit there :)
NotNull
Posts: 5458
Joined: Wed May 24, 2017 9:22 pm

Re: Option for a borderless window mode

Post by NotNull »

eugenesv wrote: Thu Jun 04, 2020 2:00 pm Well, the request I linked to has the same info, so yes, I'm aware that it's planned for the future. Hopefully the borderless option will also fit there :)
Well ... if that is the same info to you, then I obviously wasted my time trying to help you. And your time too. Sorry about that. Will not happen again.
void
Developer
Posts: 16683
Joined: Fri Oct 16, 2009 11:31 pm

Re: Option for a borderless window mode

Post by void »

Thanks for the suggestions Eugenesv,

I'll look into supporting a borderless window mode.

WS_POPUP works well. I'll need to draw my own borders as this removes all of the default window frame.
Clicking and dragging the statusbar or toolbar to move the window could work.
Using the size grip would be the only way to resize the window. This doesn't work with WS_POPUP, will have to look into this further..
eugenesv
Posts: 30
Joined: Fri Mar 04, 2016 7:03 pm

Re: Option for a borderless window mode

Post by eugenesv »

void wrote: Fri Jun 05, 2020 10:30 am WS_POPUP works well.
Hm, WS_POPUP (0x80000000) did nothing visible to a launched window, only the WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) did, but it's not as good since it still has a useless bar at the top (more narrow than the titlebar, but still) and retains the resizeable borders (WS_SizeBox)!
void wrote: Fri Jun 05, 2020 10:30 am I'll need to draw my own borders as this removes all of the default window frame.
Clicking and dragging the statusbar or toolbar to move the window could work.
Using the size grip would be the only way to resize the window. This doesn't work with WS_POPUP, will have to look into this further..
Well, the beauty my original proposal is exactly that you don't need to draw any of the borders yourself or care about size grips or status/toolbars — all of that functionality is a poor replacement of the actions I've described in at the bottom of my post, like why would you hunt for a tiny window border when you can do the same resizing by clicking in a much more comfortable area ~40% of the window width (and maybe ~30% of its height for pure right-border-horizontal-only resizing)???

I mean, I don't mind at all if you plan to add extra config options (though the way I understood your description it looks much more comlpicated that it has to be), but I'd just like to have an option to remove only those two Window Styles I mentioned above for the full borderless experience
Maybe you could expose those styles as toggles in a config window so that anyone could click to auto-hide whatever elements he hates himself :)

(and, when the menu proposal is implemented, the menu bar would also only be shown after alt is pressed, so you'd only have a nice searchbar and results below it, nothing more)
void
Developer
Posts: 16683
Joined: Fri Oct 16, 2009 11:31 pm

Re: Option for a borderless window mode

Post by void »

Added to my TODO list: Support custom window styles and ex styles.
For example:
/window_style=0x06cf0000
/window_exstyle=0x00040000

Thanks for the suggestion.
eugenesv
Posts: 30
Joined: Fri Mar 04, 2016 7:03 pm

Re: Option for a borderless window mode

Post by eugenesv »

Thank you!
Post Reply