PaperWM icon indicating copy to clipboard operation
PaperWM copied to clipboard

Add workspace configuration (name, icon, directory etc.)

Open hedning opened this issue 7 years ago • 8 comments

Configuration

A workspace should have a customizable configuration, which at least includes a name, an icon, a color and a workspace folder.

Icon, colors and name

It's possible to provide a default icon ala. github avatars, and a default color chosen from a color palette.

The icon and name should be displayed in the statusbar, clicking on it should give you access to the configuration and other workspace related things, eg. notes.

Chapters/separators

Separators should be available to give a workspace internal structure. Like tabs in paper binders. Separators should be foldable.

hedning avatar Sep 17 '17 13:09 hedning

Replacing the Actvities text with the workspace name seems like a good idea. Clicking on the workspace name takes you to the workspace overview, which seems very sane.

image

We need a way to configure a workspace however, at its most basic changing the name. Triggering a menu on a right click might be good way to do this resulting in a menu like this (This is the Applications menu extension):

image

Another option is having a configuration button/icon to click.

hedning avatar Apr 06 '18 11:04 hedning

Technical: GSettings/dconf does not seem to have a decent mechanism for storing lists of composite types (sub-schemas) meaning it is not straight forward to use it for per-workspace configuration storage.

There is the `list-of" stuff: https://gitlab.gnome.org/GNOME/glib/commit/900a756e8fb70bcd6e725f0696d8094a7208f905 but it doesn't really seems to be properly supported.

It's miiight also be possible to create "schema-less" children using relocatable schemas and https://developer.gnome.org/gio/stable/GSettings.html#g-settings-new-full but I haven't quite managed to get it working.

Note-to-self:

  • https://www.mail-archive.com/[email protected]/msg11753.html
  • https://bugzilla.gnome.org/show_bug.cgi?id=622126
  • https://bugzilla.gnome.org/show_bug.cgi?id=791781

olejorgenb avatar May 01 '18 15:05 olejorgenb

More specifically this is some working code:

let gschema = Gio.SettingsSchemaSource.new_from_directory(
    GLib.build_filenamev([Extension.path, "schemas"]),
    Gio.SettingsSchemaSource.get_default(),
    false
)

let settings = gschema.lookup("org.gnome.shell.extensions.org-scrollwm.Workspace", true);
let workspaceSettings = new Gio.Settings({
    settings_schema: settings, path: '/org/gnome/shell/extensions/org-scrollwm/workspace/foo/'});
workspaceSettings.set_string('name', 'foo');

We probably also need a static list of workspace names/ids.

hedning avatar Jun 24 '18 08:06 hedning

Workspace directory done: #185

olejorgenb avatar Oct 20 '19 08:10 olejorgenb

Hey all,

I note workspace settings are larlgey done. I also note that this issue has some interesting ideas re chapters/separators within a workspace.

I'm happy with the workspace settings as they stand, and I admit I don't fully understand the chapters/separators idea. Are others still interested in this (and might be able to take a stab and fleshing this out)?

Comments thoughts welcome.

jtaala avatar Mar 11 '23 02:03 jtaala

My guess regarding chapters/separators is that you put in a vertical bar at a specific location, possibly with a label/tag attached and maybe a colour. All windows after the separator will belong to that chapter until it reaches another chapter or the end.

This chapter can be folded and will then only display this bar and hide all windows that is part of this chapter.

It definitely sounds like an interesting idea.

terlar avatar Mar 11 '23 06:03 terlar

Thanks @terlar, sounds cool (but quite complex) and I'm not sure I see the value in doing this (as opposed to just keeping windows in workspaces). I'll add a help wanted label in case some kind soul decides this is worth the effort and want to give this one a go!

jtaala avatar Apr 08 '23 02:04 jtaala

The workspaces directory thingy is a great idea doesn't seem to work? i set a directory but it has no effect on terminals, etc. Maybe I'm missing something?

inmanturbo avatar Aug 30 '23 18:08 inmanturbo