Simple Window Manager - SWM

Yes! it worked :slight_smile:
image

@_shlomo can you try this lines

bg=(await SS('defaults read -g AppleInterfaceStyle')=="Dark")?1:0;

switch((await SS('defaults read -g AppleHighlightColor')).split(' ')[3]){
	case'Blue'		:sc=bg?"3477F6":"3478F6";break
	case'Purple'	:sc=bg?"9B53A3":"8A4292";break
	case'Pink'		:sc=bg?"E55C9C":"E45C9B";break
	case'Red'		:sc=bg?"EB5F5C":"CC4746";break
	case'Orange'	:sc=bg?"E8893B":"E8893A";break
	case'Yellow'	:sc=bg?"F5C644":"F5C94E";break
	case'Green'		:sc=bg?"78B756":"79B855";break
	case'Graphite'	:sc=bg?"8C8C8C":"989898";break
	default			:sc=bg?"3478F6":"3478F6"
}

@yw4z Yes, that's how it works, too. Should it allow color selection? Where is this definition?

@_shlomo it just detects system color (Dark / Light or accent colors) and automatically applies to swm,

you will see purple background on buttons while mouse hover if you select purple on system settings

1 Like

Hello!

Is there anyway to add Swish like swipe controls to this or even at all to BTT?

Would like to move away from Swish to fully on BTT but I havent figured out to add swipe controls to Toolbar for window resizing.

@Vakke
adding gestures to titlebar not possible with btt atm, only double click to title bar available,

SWM is working nice and fast, its better if you use keyboard shortcuts

if SWM window not open on your system i will release a new version soon

also you can check my other preset for dock

https://community.folivora.ai/t/enhanced-dock-for-macos/

but this one is not stable, it tried best but applescript limited many features

SWM and the dock have worked perfectly!

The dock had similar swiping features I'd love to have on BTT window management and that's why asked you as you also had the window manager! Well I've made a feature request for the toolbar to be a new trigger condition so hopefully it'll be added to software some day!

Keep up the great work!

1 Like

Hi i have downloaded and installed SWM. I right click on the minimize button, see the pop up and then select how i want the windo snapped. I.e. Left Half and nothing happens.
Is there something additional i am supposed to do?

I am running Custom Snap areas but not sure if this impacts it.

Thanks

@Andrew_Losurdo

are functions that placed below align working? you need to scroll down to see them.

problem should not be related with snap areas.

also can you see a background color on buttons when you move cursor? if you dont, check 4-5 upper post

do you use other presets or triggers related with windows. try to disable them one by one.

Hi, thanks for your reply. The functions BELOW align work however the ones above do not.
Any thoughts on what that might be?

i lost my files on my mac 2 weeks ago because of a cleaner script and my last backup was 9 months ago. im trying to rewrite new versions of my presets. if i remember right SWM has less changes. i will release new versions with fixes. just wait 1-2 weeks for now :frowning:

1 Like

Updated first post with 0.6 release

Changelog

  • Changed - Fullscreen Toggle uses Tab key instead of "F"
  • Changed - Restore window size action (R shortcut or SWM_WR button ) works like double click on title bar now. Switches window between maximized or restored size
  • Improvement - All resize functions using BTT custom window resize/move action now. This one is better options for multi monitor support
  • Improvement - Simplified preset folder path detection. This one decreased launch time a bit
  • Improvement - Moved settings on BTT to SWM.html. You can find setting with searching SWM_SETTINGS in SWM.html file in preset folder

  • Changed - SWM uses dark apperance and blue accent color by default for fastest launch time. You can change them to Auto from settings in html file
  • Improvement - Tile window to Left / Right resizes window to preferred half of screen if app has no tile options on menubar
  • Improvement - added :traffic_light: icon to SWM actions for better visibility
  • Fixed - SWM window not activating on monterey
  • Fixed - Corrected typo mistake on middle 2x3 actions
  • Fixed - Horizontal thirds, 2x3, 3x2, 3x3 actions leaves blank spaces on bottom or right sides
  • Fixed - Align functions leaves blank spaces near screen edge
  • Fixed - Split to Left/Right functions works properly now
  • Fixed - Double click to title bar not working on windows that has no stored size
  • Known Issues - BTT resize/move wrong window sometimes if active app has multiple windows on seperate displays. Will send a bug report
3 Likes

Thanks so much for this update! Works perfectly in Montery now

1 Like

Thank you so much for this. This is beautiful and perfect.

A few questions:

  • What is ResizeFactor?
  • Can we do custom grid sizes? I have a 49" ultra wide monitor and would love a grid that is 4 columns and 2 rows.

Uh, many actions aren't working for me on Ventura beta... e.g. Hide other windows. But the window resizing functions mostly seem good. Seems like the top row and bottom actions outside the scrolling area don't work. Take screenshot good tho. Most do nothing, keeping the popup visible. But the split to left and right half hide the popup. Any ideas what's up?
Might also be bug in Ventura... :woman_shrugging:t3:

@imthenachoman resize factor is used for resize functions. if you change it to 100 it changes window size by 100px

Make Window Bigger Shift + Up
Make Window Smaller Shift + Down
Make Window Taller Cmd + Up
Make Window Shorter Cmd + Down
Make Window Wider Cmd + Right
Make Window Narrower Cmd + Left

these actions only available with keyboard shortcuts also you can repeat actions while swm window open

swm not supporting custom sizes atm but you can add with editing html file

o(x,y,w,h) function creates a custom action for resizing and positioning windows
o(x position as percentage ,y position as percentage, window width as percentage , window height as percentage)
position or size values calculated by BTT depends on active screen with given percentage

o(0,0,25,50) resizes window on top left for 4x2
o(75,50,25,50) should resize on botton right for 4x2

this code add rows for 4x2

Code


<a onclick='o(0,0,25,50)'
t='4x2 Left Top'


<a onclick='o(25,0,25,50)'
t='4x2 Left Middle Top'

<a onclick='o(50,0,25,50)'
t='4x2 Right Middle Top'

<a onclick='o(75,0,25,50)'
t='4x2 Right Top'

<a onclick='o(25,0,25,100)'
t='4x2 Left Middle'


<a onclick='o(0,50,25,50)'
t='4x2 Left Bottom'


<a onclick='o(25,50,25,50)'
t='4x2 Left Middle Bottom'

<a onclick='o(50,50,25,50)'
t='4x2 Right Middle Bottom'

<a onclick='o(75,50,25,50)'
t='4x2 Right Bottom'

<a onclick='o(50,0,25,100)'
t='4x2 Right Middle'

i will add new icons later, but i have to find a better way for adding these functions, already swm has many icons on interface

@shelbyKiraM
looks like swm cant launch applescripts. still im using big sur :slight_smile:
i changed how SWM detects preset folder on latest release
maybe you have any special characters or spaces on your user name that causes issue
can you try previous release let me know if not working ones works

if they not, you can install latest release again then look for errors on console

can you delete this lines or add // beginning every line then save it

w.oncontextmenu=i=>(false);
w.ondragstart =i=>(false);
w.onselectstart=i=>(false);
w.onmouseout=e=>wq=(!e.toElement)?setTimeout(()=>bw(),500):(("wq" in window)?clearTimeout(wq):"");

then right click on swm window
choose inspect element
click on console
send a screenshot if you see any errors

1 Like

How are you creating icons? Is there an easy way we can create our own using your theme?

hi i will share new version after few weeks with nice additions, i added 4x2 grid

im drawing icons on illustrator

here is a preview of new UI

Screen Shot 2022-11-20 at 23.42.44

this ui creates room for more functions, you have to scroll to end on previous version. you can simply click to navigate for prefered grid on this one
i added navigation buttons for common, 3x2,2x3 3x3 and 4x2, will add more options for sure

rectangle on bottom right for window alignments

3 Likes

Have you thought about using CSS to dynamically create the grid? I have some code that might work. Do you mind if I tweak your code and share something with you if I can get it to work?

  • dynamic image using CSS
  • custom dynamic sizer option where user can input some data, like what size grid and what x,y they want the app to be and the script does the math

@imthenachoman

CustomGrid copy

here is a concept drawing of dynamic grid, i used table for ui instead of x,y boxes for easier usage
basic usage and features
user can store 3 different grid
first click on grid starts selection, second click on grid resizes window
clicking outside of grid cancels grid selection

coding table is easy but finding neighbor cells a bit harder, it should highlight cells on mouse hover

1 Like