Comments (10)
Yeah, I hear you. In this instance, there really should be a hook invoked when creating a new tab. That would allow a non-advice extension point, but I don't know if they would want that. I'll raise it on emacs-devel. In the interim, what would you think about putting the buffer isolation part into its own function so one could use it to advise tab-bar-new-tab
if one so desired?
from tabspaces.
Looks like there is already a hook for this:
(defun tabspaces--tab-post-open-function (_tab)
"Reset buffer list on new tab creation."
(tabspaces-reset-buffer-list))
(add-to-list 'tab-bar-tab-post-open-functions #'tabspaces--tab-post-open-function)
With this in place, there is no need to advise anything or define commands like tabspaces-create-workspace
, every new tab will have its own workspace. I'm not sure if that would be what you are looking for, but I think it's what I'm looking for in that I just want to be able to use tabs and have them each manage their own buffer list.
I think, for now, I will experiment with a trimmed down version of tabspaces that uses this technique and see how I like it in practice.
from tabspaces.
Just migrated over, seems to work great. Thanks for making those updates, it's nice to have a more "vanilla" tab bar configuration now.
from tabspaces.
In general I'm reticent to use advice if I can code up something relatively small. With advice this means that one would have to turn off tabspaces mode to get the normal behavior from tab-bar, rather than having that exist alongside. Maybe that is overly cautious but
from tabspaces.
what would you think about putting the buffer isolation part into its own function so one could use it to advise tab-bar-new-tab if one so desired?
Yeah that seems like a good compromise in the meantime. If you wanna open another pull request I'll merge it.
from tabspaces.
Thanks for the quick merging and collaboration, much appreciated. If I end up advising, I'll share the snippet so it can be added to the readme in case anyone wants that.
from tabspaces.
Sounds great -- thanks for your contributions!
from tabspaces.
Cool -- I'll try this as well and see.
from tabspaces.
FYI -- I've made a bunch of changes and simplifications starting with commit d883baf
from tabspaces.
Looks great, I’ll try it out shortly.
from tabspaces.
Related Issues (20)
- [feature-requrest] ivy-integration HOT 3
- Error with opening tab space HOT 2
- Switch corresponding tab when switching between buffers? HOT 13
- tabspaces-switch-or-create not creating new 'workspaces'' HOT 8
- Saving tabspaces isolated buffer lists with desktop.el HOT 4
- [Sharing code] Switching tabs via frog-menu HOT 2
- error while installing from melpa HOT 1
- Searching files in a workspace HOT 3
- `tabspaces-session-auto-restore t` doesn't autorestore when switching to project HOT 7
- question about your README HOT 4
- C-c TAB b to switch buffers always lists the current buffer at the top of the list HOT 2
- when switching buffer and tab to an existing buffer, it gets added to the current tabspace HOT 3
- Support restoring project eshell and dired buffers in tabspaces HOT 1
- Add tabspaces-session-file to no-littering HOT 1
- Pick a license HOT 2
- Submit to MELPA HOT 4
- help understanding buffer-isolated tabspaces HOT 3
- tabspaces-switch-to-or-create-workspace creates two tabs HOT 3
- tabspaces-open-existing-project-and-workspace includes current buffer in new workspace HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabspaces.