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)
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:
w, h = initial_window_size(self.opts)
os_window_id = create_os_window(w, h, self.args.cls)
w, h = initial_window_size(self.opts) if size is None else size
os_window_id = create_os_window(w, h, wclass or self.args.cls)
tm = TabManager(os_window_id, self.opts, self.args, startup_session)
self.os_window_map[os_window_id] = tm
return os_window_id
@ -103,7 +103,7 @@ class Boss:
args = option_parser().parse_args(msg['args'][1:])
opts = create_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:
ctx = init_startup_notification(os_window_id, startup_id)
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* sn_display = sn_display_new(display, NULL, 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);
sn_display_unref(sn_display);
if (!ctx) { PyErr_SetString(PyExc_OSError, "Failed to create startup-notification context"); return NULL; }