Pass the window class and size settings when creating a grouped window

This commit is contained in:
Kovid Goyal 2017-11-17 21:42:14 +05:30
parent b08f4ab593
commit 3e511d217b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 4 additions and 5 deletions

View File

@ -78,10 +78,10 @@ class Boss:
startup_session = create_session(opts, args) startup_session = create_session(opts, args)
self.add_os_window(startup_session, os_window_id=os_window_id) self.add_os_window(startup_session, os_window_id=os_window_id)
def add_os_window(self, startup_session, os_window_id=None): def add_os_window(self, startup_session, os_window_id=None, wclass=None, size=None):
if os_window_id is None: if os_window_id is None:
w, h = initial_window_size(self.opts) w, h = initial_window_size(self.opts) if size is None else size
os_window_id = create_os_window(w, h, self.args.cls) os_window_id = create_os_window(w, h, wclass or self.args.cls)
tm = TabManager(os_window_id, self.opts, self.args, startup_session) tm = TabManager(os_window_id, self.opts, self.args, startup_session)
self.os_window_map[os_window_id] = tm self.os_window_map[os_window_id] = tm
return os_window_id return os_window_id
@ -103,7 +103,7 @@ class Boss:
args = option_parser().parse_args(msg['args'][1:]) args = option_parser().parse_args(msg['args'][1:])
opts = create_opts(args) opts = create_opts(args)
session = create_session(opts, args) session = create_session(opts, args)
os_window_id = self.add_os_window(session) os_window_id = self.add_os_window(session, wclass=args.cls, size=initial_window_size(opts))
if startup_id: if startup_id:
ctx = init_startup_notification(os_window_id, startup_id) ctx = init_startup_notification(os_window_id, startup_id)
end_startup_notification(ctx) end_startup_notification(ctx)

View File

@ -58,7 +58,6 @@ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
void* display = PyLong_AsVoidPtr(dp); void* display = PyLong_AsVoidPtr(dp);
void* sn_display = sn_display_new(display, NULL, NULL); void* sn_display = sn_display_new(display, NULL, NULL);
if (!sn_display) { PyErr_SetString(PyExc_OSError, "Failed to create SnDisplay"); return NULL; } if (!sn_display) { PyErr_SetString(PyExc_OSError, "Failed to create SnDisplay"); return NULL; }
printf("%s", startup_id);
void *ctx = startup_id ? sn_launchee_context_new(sn_display, 0, startup_id) : sn_launchee_context_new_from_environment(sn_display, 0); void *ctx = startup_id ? sn_launchee_context_new(sn_display, 0, startup_id) : sn_launchee_context_new_from_environment(sn_display, 0);
sn_display_unref(sn_display); sn_display_unref(sn_display);
if (!ctx) { PyErr_SetString(PyExc_OSError, "Failed to create startup-notification context"); return NULL; } if (!ctx) { PyErr_SetString(PyExc_OSError, "Failed to create startup-notification context"); return NULL; }