Commit Graph

122 Commits

Author SHA1 Message Date
Evan Simkowitz
ec4f6c01de
Create workspace will always create a saved workspace (#1509)
Also moves icon and color definitions to the backend and makes it so the
new workspaces get created with a different icon color for each index.

If an ephemeral window has more than one tab, always create a new window
when switching workspaces

Also fixes workspace accelerators on macOS
2024-12-12 17:21:09 -08:00
Evan Simkowitz
a9eeb55021
Fix inconsistent tab sizing between views (#1502)
The windowdrag right spacer was acting erratic. It's also not necessary,
since we can just use margins to let the banner buttons fill empty space
so they float to the right side of the tab bar. Without it, though, I
had to add more padding for the add tab button so it has more room.
2024-12-11 18:25:36 -08:00
Evan Simkowitz
4918737044
Remove unnecessary log (#1498) 2024-12-11 12:54:23 -08:00
Evan Simkowitz
4070abadde
Squash some leftover bugs (#1495)
Only create new tab in `CheckAndFixWindow` if no tabs or pinned tabs
exist

Update `resolvers.resolveTabNum` to account for pinned tabs

Remove obsolete and unused `wstore.DeleteTab`

Only show accelerators for first 9 workspaces in workspace app menu to
be consistent with other keybindings

Fix tabbar spacing to remove min size for drag right spacer, account for
workspace switcher button size

Fix updatebanner size calculations
2024-12-11 12:52:15 -08:00
Mike Sawka
4fccd71227
minor docs fixups (consistency) (#1480) 2024-12-10 18:03:48 -08:00
Evan Simkowitz
c8bcf08fff
Workspace doc, moving around images (#1479)
Also adds missing global keybindings.

Also reorders docs in the sidebar, introduces new mechanisms for
indicating how an img should float in a document, and adds a `<div
style="clear: both">` before every heading.
2024-12-10 17:43:56 -08:00
Mike Sawka
41f960c60c
fix for tabs out of order in tabbar (#1478) 2024-12-10 16:33:55 -08:00
Evan Simkowitz
c2312f1c7f
Make default workspace icon the Wave logo (#1470)
I made our logo a custom icon in Font Awesome so we can add it to our
workspace switcher as the default icon
2024-12-10 13:54:11 -08:00
Mike Sawka
8957e0405a
try to fix drag region above tabs (#1466)
just a temporary fix for now, needs a more extensive fix later
2024-12-10 12:50:58 -08:00
Evan Simkowitz
f7875bc4f0
Auto-select workspace name (#1464) 2024-12-10 12:26:42 -08:00
Evan Simkowitz
bedea6d3be
Show hover effect on dragging tab (#1459) 2024-12-10 11:41:37 -08:00
Evan Simkowitz
c4fce5acc5
Make workspace switcher icons fixed width, add confirm on delete (#1455)
Also makes the confirmation dialogs shorter and fixes the logic for
showing them
2024-12-10 10:15:33 -08:00
Evan Simkowitz
24d808cddc
Add divider between color and icon selectors (#1448)
Also make left icon fixed width
2024-12-09 18:29:33 -08:00
Evan Simkowitz
84bec65e50
Add tooltip for unpin and close tab buttons (#1445) 2024-12-09 16:55:52 -08:00
Evan Simkowitz
34b73b8bea
Update switcher icons, fix bug makeIconClass, add guid to new workspace name (#1444) 2024-12-09 16:52:59 -08:00
Evan Simkowitz
edab90aa55
New colors for workspace switcher (#1443)
Also updates workspace switcher button and tab bg colors
2024-12-09 16:24:32 -08:00
Mike Sawka
878a7285ab
implement tab:preset, and increase active tab opacity (#1439) 2024-12-09 14:48:16 -08:00
Evan Simkowitz
f858d3ba0f
Pass workspace id to contextmenu-show (#1429)
Sometimes, the context menu click handlers don't seem to get passed any
window object. Here, I'm sending over the workspace id with the
`contextmenu-show` event so that we can resolve our cached copy of the
object in case the value from the click handler is empty.
2024-12-06 19:10:34 -08:00
Evan Simkowitz
72ea58267d
Workspace app menu (#1423)
Adds a new app menu for creating a new workspace or switching to an
existing one. This required adding a new WPS event any time a workspace
gets updated, since the Electron app menus are static.

This also fixes a bug where closing a workspace could delete it if it
didn't have both a pinned and an unpinned tab.
2024-12-06 15:33:00 -08:00
Mike Sawka
5744f4b06f
closeTab fix (#1403)
fixes bug with closeTab when the tab didn't exist in the waveWindow cache.  also adds Cmd-Shift-W to close a tab (doesn't work for pinned tabs).  and restores Cmd-W for killing blocks on pinned tabs
2024-12-05 18:26:20 -08:00
Evan Simkowitz
7a61f25331
Auditing async usage in frontend code (#1402)
I found a lot of places where asyncs weren't being properly wrapped or
awaited
2024-12-05 18:09:54 -08:00
Evan Simkowitz
5fbd72b590
Fix edge case when dragging pinnned tabs (#1399) 2024-12-05 14:58:04 -08:00
Mike Sawka
7386fc19f7
activity update + dont allow empty workspace names (#1393) 2024-12-05 10:35:54 -08:00
Evan Simkowitz
df2889f280
Fix zombie tab context menus (#1390)
The memoizing of the tabs was causing the callbacks for
handleContextMenu to become dead ends. This makes more of the callbacks
into memoized callbacks and makes the handleContextMenu function itself
a memoized callback to ensure it's properly updated when its upstream
callbacks change.
2024-12-04 17:30:28 -08:00
Evan Simkowitz
87aea21184
Better flicker prevention when switching tabs (#1389)
There was still some flicker when nohover took effect before the tab
view actually switched. Now, we override the active tab in the tabbar
when the app is switching tabs. We also override active tab behavior so
that the close button is always visible while nohover is in effect. This
effectively removes the flickering
2024-12-04 17:20:06 -08:00
Mike Sawka
72f36a9639
wsh run (#1376)
implements `wsh run` command.  lots of fixes (and new options) for command blocks.  cleans up the UX/UI for command blocks.  lots of bug fixes for blockcontrollers.  other minor bug fixes.

also makes editor:* vars into settings override atoms.
2024-12-04 14:16:50 -08:00
Evan Simkowitz
d8edea9fbc
Oops i actually made the tabs wrong (#1384)
forgot to update .editorconfig to include scss...
2024-12-04 13:49:14 -08:00
Evan Simkowitz
aa77b2c259
Pinned tabs (#1375)
![image](https://github.com/user-attachments/assets/a4072368-b204-4eed-bb65-8e3884687f9a)

This functions very similarly to VSCode's pinned tab feature. To pin a
tab, you can right-click on it and select "Pin tab" from the context
menu. Once pinned, a tab will be fixed to the left-most edge of the tab
bar, in order of pinning. Pinned tabs can be dragged around like any
others. If you drag an unpinned tab into the pinned tabs section (any
index less than the highest-index pinned tab), it will be pinned. If you
drag a pinned tab out of the pinned tab section, it will be unpinned.
Pinned tabs' close button is replaced with a persistent pin button,
which can be clicked to unpin them. This adds an extra barrier to
accidentally closing a pinned tab. They can still be closed from the
context menu.
2024-12-04 13:34:22 -08:00
Evan Simkowitz
0145e8fe99
Fix SCSS formatting after migration (#1382)
The migration tool we used didn't take into account our formatting
standards so I'm bulk-formatting the SCSS files to bring them back up to
our standards. Basically this just changes the tab size for all the
files.
2024-12-04 12:49:44 -08:00
Evan Simkowitz
29e8929f91
Hack to prevent tabbar flicker when switching tabs (#1379) 2024-12-03 20:08:06 -08:00
Red J Adaya
42cbbcdc2a
tabs new design (#1352)
Co-authored-by: sawka <mike@commandline.dev>
Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2024-12-03 13:53:27 -08:00
Evan Simkowitz
04c4f0a203
Create and rename files and dirs in dirpreview (#1156)
New context menu options are available in the directory preview to
create and rename files and directories

It's missing three pieces of functionality, none of which are a
regression:
- Editing or creating an entry does not update the focused index. Focus
index right now is pretty dumb, it doesn't factor in the column sorting
so if you change that, the selected item will change to whatever is now
at that index. We should update this so we use the actual file name to
determine which element to focus and let the table determine which index
to then highlight given the current sorting algo
- Open in native preview should not be an option on remote connections
with the exception of WSL, where it should resolve the file in the
Windows filesystem, rather than the WSL one
- We should catch CRUD errors in the dir preview and display a popup
2024-12-02 22:23:44 -08:00
Evan Simkowitz
82f53dc1fb
Workspaces are back! (#1282) 2024-12-02 10:56:56 -08:00
Evan Simkowitz
2e91ee843c
Switch from Less to Scss (#1335)
Less hasn't received an update in over a year and the parser is missing
some modern syntax like relative colors so this switches us to scss
2024-11-21 16:05:04 -08:00
Mike Sawka
1210313d2b
activity updates (#1302) 2024-11-15 16:09:26 -08:00
Mike Sawka
b746a0bfb6
fix long tab names and syncing tab renaming (#1160) 2024-10-27 23:01:47 -07:00
Mike Sawka
d0d9095c92
call isDev() function to properly hide workspace switcher in prod (#1154) 2024-10-27 14:23:52 -07:00
Red J Adaya
55c8e5a213
workspace switcher + new elements (in storybook) (#1148) 2024-10-27 13:22:06 -07:00
Mike Sawka
369fababa6
tab updates (#1134) 2024-10-24 23:16:44 -07:00
Mike Sawka
c1c90bb4f8
browser view (#1005) 2024-10-17 14:34:02 -07:00
Mike Sawka
a629b28194
implement a config error button + message modal that shows the errors (#1030) 2024-10-14 14:57:12 -07:00
Evan Simkowitz
64084d3e27
Remove global.ts dependency from emain (#1003)
Removes global atoms dependency from emain by moving WOS to grab the
globalAtoms from window, if present. Also removes interdependency
between wshrpcutil and wps

Also adds showmenubar setting for Windows and Linux
2024-10-10 10:12:42 -07:00
Evan Simkowitz
af38ebab54
typo in last pr 2024-09-20 13:31:12 -07:00
Evan Simkowitz
38f07ae3f9
Dismiss update banner after 10s on error (#800) 2024-09-20 13:29:37 -07:00
Evan Simkowitz
231c960ca8
missed a change 2024-09-18 14:30:45 -07:00
Evan Simkowitz
e5e6259dec
Show updater status banner for all statuses (#396)
Also adds updater channel to about modal
2024-09-18 14:25:52 -07:00
Red J Adaya
dae72e7009
more on button refactor (#388)
- Removed opacity for hover effect. Now uses a brighter variant of color
- Updated other Button usages
2024-09-17 22:38:17 -07:00
Red J Adaya
09f4616ae0
button refactor (#383)
Refactored to be more flexible. Now, it has three types

- solid
- outline
- ghost

and subtypes

- green
- grey
- red
- yellow

It defaults to solid and green when no className is provided. It
concatenates defaults if custom classNames are provided.
2024-09-16 22:23:05 -07:00
Red J Adaya
c3a02d7e33
revert tabs scroll timing (#363) 2024-09-10 23:22:32 -07:00
Red J Adaya
f6fc0125fd
fix issue where tabs are immediately visible while they're still stacked on load (#362)
This fixes the visual bug where the active tab seems to be the first tab
and then switches to the actual active tab after the tabs are
positioned.
2024-09-10 23:06:27 -07:00