Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save and restore terminal pane state #1401

Merged
merged 11 commits into from
Jan 12, 2024
Merged

Conversation

jeremypw
Copy link
Collaborator

Fixes #283

Now the terminal pane is a first -class citizen, not a plugin, it should behave like the sidebar and outline panes regarding saving and restoring its state.

@jeremypw jeremypw requested a review from a team January 11, 2024 17:08
@colinkiama
Copy link
Member

I'm not sure what's going on, I keep getting this error (even though I've installed the latest settings schema):

(io.elementary.code:7636): GLib-GIO-ERROR **: 21:37:17.074: Settings schema 'io.elementary.code.saved-state' does not contain a key named 'terminal-visible'
Trace/breakpoint trap

Can you let me know the steps to updating the settings schema? Maybe I'm missing something.

@jeremypw
Copy link
Collaborator Author

Can you let me know the steps to updating the settings schema? Maybe I'm missing something.

You should only need to install this PR (sudo ninja install) - the installation script compiles the schemas. You should see at the end of the installation output in the terminal:

Running custom install script '/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas'

@colinkiama
Copy link
Member

colinkiama commented Jan 12, 2024

I did what you said above and see the same custom install script output in the terminal.

However, I still see the same error when I try to run the app

@jeremypw
Copy link
Collaborator Author

jeremypw commented Jan 12, 2024

@colinkiama That's puzzling. You are compiling with meson build --prefix=/usr? Are you running ./src/io.elementary/code or io.elementary.code? If you use dconf-editor to look at the saved-state schema is the terminal-visible there and associated with a schema? I can only get this error if I install master and then try to run this PR without installing it. Here is th output I get with and without installing:

jeremy@Proteus-EL07R6-4cf32af9:~/Elementary/code/build$ sudo ninja
[sudo] password for jeremy:                 
[202/202] Linking target plugins/fuzzy-search/libfuzzy-search.so
jeremy@Proteus-EL07R6-4cf32af9:~/Elementary/code/build$ ./src/io.elementary.code

(io.elementary.code:100764): GLib-GIO-ERROR **: 13:56:55.182: Settings schema 'io.elementary.code.saved-state' does not contain a key named 'terminal-visible'
Trace/breakpoint trap
jeremy@Proteus-EL07R6-4cf32af9:~/Elementary/code/build$ sudo ninja install
[0/1] Installing files.
Installing data/io.elementary.code.desktop to /usr/share/applications

 ......

Installing /home/jeremy/Elementary/code/data/io.elementary.code.gschema.xml to /usr/share/glib-2.0/schemas
Installing /home/jeremy/Elementary/code/data/io.elementary.code.plugins.spell.gschema.xml to /usr/share/glib-2.0/schemas
Installing /home/jeremy/Elementary/code/build/meson-private/codecore.pc to /usr/lib/x86_64-linux-gnu/pkgconfig
Installing /home/jeremy/Elementary/code/src/codecore.deps to /usr/share/vala/vapi
Running custom install script '/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas'
jeremy@Proteus-EL07R6-4cf32af9:~/Elementary/code/build$ ./src/io.elementary.code

(io.elementary.code:100837): GLib-GObject-WARNING **: 13:57:29.797: ../../../gobject/gsignal.c:2765: instance '0x55957201d1a0' has no handler with id '573'

(io.elementary.code:100837): GLib-GObject-WARNING **: 13:57:29.806: ../../../gobject/gsignal.c:2765: instance '0x55957201d770' has no handler with id '3359'

(io.elementary.code:100837): GLib-GObject-WARNING **: 13:57:29.806: ../../../gobject/gsignal.c:2765: instance '0x55957201db50' has no handler with id '3475'

(io.elementary.code:100837): GLib-GObject-WARNING **: 13:57:29.806: ../../../gobject/gsignal.c:2765: instance '0x55957201d960' has no handler with id '3444'
jeremy@Proteus-EL07R6-4cf32af9:~/Elementary/code/build$ 

Make sure you have the line Installing /home/jeremy/Elementary/code/data/io.elementary.code.gschema.xml to /usr/share/glib-2.0/schemas

@colinkiama
Copy link
Member

You are compiling with meson build --prefix=/usr?

Yes

Are you running ./src/io.elementary/code or io.elementary.code?

Normally I run io.elementary.code but I tried both and still saw the same error

If you use dconf-editor to look at the saved-state schema is the terminal-visible there and associated with a schema

Screenshot from 2024-01-12 17 13 59

terminal-visible isn't present here.

@colinkiama
Copy link
Member

Here's the installation output and attempt to run app:

colinkiama@StarBook-mune:~/Projects/elementary-code/build$ sudo ninja install
[0/1] Installing files.
Installing data/io.elementary.code.desktop to /usr/share/applications
Installing data/io.elementary.code.metainfo.xml to /usr/share/metainfo
Installing data/io.elementary.code.policy to /usr/share/polkit-1/actions
Installing src/io.elementary.code to /usr/bin
Installing src/libcodecore.so.0.0 to /usr/lib/x86_64-linux-gnu
Installing symlink pointing to libcodecore.so.0.0 to /usr/lib/x86_64-linux-gnu/libcodecore.so.0
Installing symlink pointing to libcodecore.so.0 to /usr/lib/x86_64-linux-gnu/libcodecore.so
Installing src/codecore.h to /usr/include
Installing src/codecore.vapi to /usr/share/vala/vapi
Installing plugins/brackets-completion/libbrackets-completion.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/brackets-completion
Installing plugins/brackets-completion/brackets-completion.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/brackets-completion
Installing plugins/detect-indent/libdetect-indent.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/detect-indent
Installing plugins/detect-indent/detect-indent.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/detect-indent
Installing plugins/editorconfig/libeditorconfig.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/editorconfig
Installing plugins/editorconfig/editorconfig.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/editorconfig
Installing plugins/highlight-word-selection/libhighlight-word-selection.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/highlight-word-selection
Installing plugins/highlight-word-selection/highlight-word-selection.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/highlight-word-selection
Installing plugins/markdown-actions/libmarkdown-actions.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/markdown-actions
Installing plugins/markdown-actions/markdown-actions.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/markdown-actions
Installing plugins/pastebin/libpastebin.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/pastebin
Installing plugins/pastebin/pastebin.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/pastebin
Installing plugins/preserve-indent/libpreserve-indent.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/preserve-indent
Installing plugins/preserve-indent/preserve-indent.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/preserve-indent
Installing plugins/spell/libspell.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/spell
Installing plugins/spell/spell.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/spell
Installing plugins/vim-emulation/libvim-emulation.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/vim-emulation
Installing plugins/vim-emulation/vim-emulation.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/vim-emulation
Installing plugins/word-completion/libword-completion.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/word-completion
Installing plugins/word-completion/word-completion.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/word-completion
Installing plugins/fuzzy-search/libfuzzy-search.so to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/fuzzy-search
Installing plugins/fuzzy-search/fuzzy-search.plugin to /usr/lib/x86_64-linux-gnu/io.elementary.code/plugins/fuzzy-search
Installing po/ae/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ae/LC_MESSAGES
Installing po/af/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/af/LC_MESSAGES
Installing po/ak/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ak/LC_MESSAGES
Installing po/am/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/am/LC_MESSAGES
Installing po/ar/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ar/LC_MESSAGES
Installing po/as/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/as/LC_MESSAGES
Installing po/ast/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ast/LC_MESSAGES
Installing po/av/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/av/LC_MESSAGES
Installing po/ay/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ay/LC_MESSAGES
Installing po/az/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/az/LC_MESSAGES
Installing po/ba/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ba/LC_MESSAGES
Installing po/be/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/be/LC_MESSAGES
Installing po/bg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bg/LC_MESSAGES
Installing po/bh/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bh/LC_MESSAGES
Installing po/bi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bi/LC_MESSAGES
Installing po/bm/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bm/LC_MESSAGES
Installing po/bn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bn/LC_MESSAGES
Installing po/bo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bo/LC_MESSAGES
Installing po/br/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/br/LC_MESSAGES
Installing po/bs/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/bs/LC_MESSAGES
Installing po/ca/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ca/LC_MESSAGES
Installing po/ce/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ce/LC_MESSAGES
Installing po/ch/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ch/LC_MESSAGES
Installing po/ckb/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ckb/LC_MESSAGES
Installing po/co/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/co/LC_MESSAGES
Installing po/cr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/cr/LC_MESSAGES
Installing po/cs/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/cs/LC_MESSAGES
Installing po/cu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/cu/LC_MESSAGES
Installing po/cv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/cv/LC_MESSAGES
Installing po/cy/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/cy/LC_MESSAGES
Installing po/da/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/da/LC_MESSAGES
Installing po/de/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/de/LC_MESSAGES
Installing po/dv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/dv/LC_MESSAGES
Installing po/dz/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/dz/LC_MESSAGES
Installing po/ee/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ee/LC_MESSAGES
Installing po/el/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/el/LC_MESSAGES
Installing po/en_AU/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/en_AU/LC_MESSAGES
Installing po/en_CA/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/en_CA/LC_MESSAGES
Installing po/en_GB/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/en_GB/LC_MESSAGES
Installing po/eo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/eo/LC_MESSAGES
Installing po/es/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/es/LC_MESSAGES
Installing po/et/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/et/LC_MESSAGES
Installing po/eu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/eu/LC_MESSAGES
Installing po/fa/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fa/LC_MESSAGES
Installing po/ff/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ff/LC_MESSAGES
Installing po/fi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fi/LC_MESSAGES
Installing po/fj/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fj/LC_MESSAGES
Installing po/fo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fo/LC_MESSAGES
Installing po/fr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fr/LC_MESSAGES
Installing po/fr_CA/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fr_CA/LC_MESSAGES
Installing po/fy/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/fy/LC_MESSAGES
Installing po/ga/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ga/LC_MESSAGES
Installing po/gd/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/gd/LC_MESSAGES
Installing po/gl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/gl/LC_MESSAGES
Installing po/gu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/gu/LC_MESSAGES
Installing po/gv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/gv/LC_MESSAGES
Installing po/ha/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ha/LC_MESSAGES
Installing po/he/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/he/LC_MESSAGES
Installing po/hi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/hi/LC_MESSAGES
Installing po/ho/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ho/LC_MESSAGES
Installing po/hr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/hr/LC_MESSAGES
Installing po/ht/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ht/LC_MESSAGES
Installing po/hu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/hu/LC_MESSAGES
Installing po/hy/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/hy/LC_MESSAGES
Installing po/hz/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/hz/LC_MESSAGES
Installing po/ia/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ia/LC_MESSAGES
Installing po/id/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/id/LC_MESSAGES
Installing po/ie/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ie/LC_MESSAGES
Installing po/ig/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ig/LC_MESSAGES
Installing po/ii/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ii/LC_MESSAGES
Installing po/ik/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ik/LC_MESSAGES
Installing po/io/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/io/LC_MESSAGES
Installing po/is/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/is/LC_MESSAGES
Installing po/it/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/it/LC_MESSAGES
Installing po/iu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/iu/LC_MESSAGES
Installing po/ja/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ja/LC_MESSAGES
Installing po/jv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/jv/LC_MESSAGES
Installing po/ka/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ka/LC_MESSAGES
Installing po/kg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kg/LC_MESSAGES
Installing po/ki/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ki/LC_MESSAGES
Installing po/kj/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kj/LC_MESSAGES
Installing po/kk/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kk/LC_MESSAGES
Installing po/kl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kl/LC_MESSAGES
Installing po/km/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/km/LC_MESSAGES
Installing po/kn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kn/LC_MESSAGES
Installing po/ko/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ko/LC_MESSAGES
Installing po/kr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kr/LC_MESSAGES
Installing po/ks/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ks/LC_MESSAGES
Installing po/ku/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ku/LC_MESSAGES
Installing po/kv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kv/LC_MESSAGES
Installing po/kw/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/kw/LC_MESSAGES
Installing po/ky/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ky/LC_MESSAGES
Installing po/la/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/la/LC_MESSAGES
Installing po/lb/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lb/LC_MESSAGES
Installing po/lg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lg/LC_MESSAGES
Installing po/li/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/li/LC_MESSAGES
Installing po/ln/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ln/LC_MESSAGES
Installing po/lo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lo/LC_MESSAGES
Installing po/lt/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lt/LC_MESSAGES
Installing po/lu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lu/LC_MESSAGES
Installing po/lv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/lv/LC_MESSAGES
Installing po/mg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mg/LC_MESSAGES
Installing po/mh/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mh/LC_MESSAGES
Installing po/mi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mi/LC_MESSAGES
Installing po/mk/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mk/LC_MESSAGES
Installing po/ml/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ml/LC_MESSAGES
Installing po/mn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mn/LC_MESSAGES
Installing po/mr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mr/LC_MESSAGES
Installing po/ms/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ms/LC_MESSAGES
Installing po/mt/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/mt/LC_MESSAGES
Installing po/my/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/my/LC_MESSAGES
Installing po/na/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/na/LC_MESSAGES
Installing po/nb/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nb/LC_MESSAGES
Installing po/nd/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nd/LC_MESSAGES
Installing po/ne/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ne/LC_MESSAGES
Installing po/ng/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ng/LC_MESSAGES
Installing po/nl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nl/LC_MESSAGES
Installing po/nn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nn/LC_MESSAGES
Installing po/no/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/no/LC_MESSAGES
Installing po/nr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nr/LC_MESSAGES
Installing po/nv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/nv/LC_MESSAGES
Installing po/ny/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ny/LC_MESSAGES
Installing po/oc/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/oc/LC_MESSAGES
Installing po/oj/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/oj/LC_MESSAGES
Installing po/om/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/om/LC_MESSAGES
Installing po/or/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/or/LC_MESSAGES
Installing po/os/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/os/LC_MESSAGES
Installing po/pa/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/pa/LC_MESSAGES
Installing po/pi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/pi/LC_MESSAGES
Installing po/pl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/pl/LC_MESSAGES
Installing po/ps/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ps/LC_MESSAGES
Installing po/pt/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/pt/LC_MESSAGES
Installing po/pt_BR/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/pt_BR/LC_MESSAGES
Installing po/qu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/qu/LC_MESSAGES
Installing po/rm/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/rm/LC_MESSAGES
Installing po/rn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/rn/LC_MESSAGES
Installing po/ro/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ro/LC_MESSAGES
Installing po/ro_MD/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ro_MD/LC_MESSAGES
Installing po/ru/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ru/LC_MESSAGES
Installing po/rue/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/rue/LC_MESSAGES
Installing po/rw/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/rw/LC_MESSAGES
Installing po/sa/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sa/LC_MESSAGES
Installing po/sc/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sc/LC_MESSAGES
Installing po/sd/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sd/LC_MESSAGES
Installing po/se/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/se/LC_MESSAGES
Installing po/sg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sg/LC_MESSAGES
Installing po/si/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/si/LC_MESSAGES
Installing po/sk/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sk/LC_MESSAGES
Installing po/sl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sl/LC_MESSAGES
Installing po/sm/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sm/LC_MESSAGES
Installing po/sma/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sma/LC_MESSAGES
Installing po/sn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sn/LC_MESSAGES
Installing po/so/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/so/LC_MESSAGES
Installing po/sq/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sq/LC_MESSAGES
Installing po/sr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sr/LC_MESSAGES
Installing po/ss/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ss/LC_MESSAGES
Installing po/st/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/st/LC_MESSAGES
Installing po/su/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/su/LC_MESSAGES
Installing po/sv/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sv/LC_MESSAGES
Installing po/sw/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/sw/LC_MESSAGES
Installing po/szl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/szl/LC_MESSAGES
Installing po/ta/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ta/LC_MESSAGES
Installing po/te/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/te/LC_MESSAGES
Installing po/tg/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tg/LC_MESSAGES
Installing po/th/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/th/LC_MESSAGES
Installing po/ti/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ti/LC_MESSAGES
Installing po/tk/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tk/LC_MESSAGES
Installing po/tl/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tl/LC_MESSAGES
Installing po/tn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tn/LC_MESSAGES
Installing po/to/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/to/LC_MESSAGES
Installing po/tr/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tr/LC_MESSAGES
Installing po/ts/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ts/LC_MESSAGES
Installing po/tt/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tt/LC_MESSAGES
Installing po/tw/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/tw/LC_MESSAGES
Installing po/ty/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ty/LC_MESSAGES
Installing po/ug/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ug/LC_MESSAGES
Installing po/uk/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/uk/LC_MESSAGES
Installing po/ur/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ur/LC_MESSAGES
Installing po/uz/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/uz/LC_MESSAGES
Installing po/ve/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ve/LC_MESSAGES
Installing po/vi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/vi/LC_MESSAGES
Installing po/vo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/vo/LC_MESSAGES
Installing po/wa/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/wa/LC_MESSAGES
Installing po/wo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/wo/LC_MESSAGES
Installing po/xh/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/xh/LC_MESSAGES
Installing po/yi/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/yi/LC_MESSAGES
Installing po/yo/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/yo/LC_MESSAGES
Installing po/za/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/za/LC_MESSAGES
Installing po/zh/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/zh/LC_MESSAGES
Installing po/zh_CN/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/zh_CN/LC_MESSAGES
Installing po/zh_HK/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/zh_HK/LC_MESSAGES
Installing po/zh_TW/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/zh_TW/LC_MESSAGES
Installing po/zu/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/zu/LC_MESSAGES
Installing po/ca@valencia/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ca@valencia/LC_MESSAGES
Installing po/aa/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/aa/LC_MESSAGES
Installing po/ab/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/ab/LC_MESSAGES
Installing po/gn/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/gn/LC_MESSAGES
Installing po/an/LC_MESSAGES/io.elementary.code.mo to /usr/share/locale/an/LC_MESSAGES
Installing /home/colinkiama/Projects/elementary-code/data/io.elementary.code.1 to /usr/share/man/man1
Installing /home/colinkiama/Projects/elementary-code/data/icons/16.svg to /usr/share/icons/hicolor/16x16/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/16.svg to /usr/share/icons/hicolor/16x16@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/24.svg to /usr/share/icons/hicolor/24x24/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/24.svg to /usr/share/icons/hicolor/24x24@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/32.svg to /usr/share/icons/hicolor/32x32/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/32.svg to /usr/share/icons/hicolor/32x32@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/48.svg to /usr/share/icons/hicolor/48x48/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/48.svg to /usr/share/icons/hicolor/48x48@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/64.svg to /usr/share/icons/hicolor/64x64/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/64.svg to /usr/share/icons/hicolor/64x64@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/128.svg to /usr/share/icons/hicolor/128x128/apps
Installing /home/colinkiama/Projects/elementary-code/data/icons/128.svg to /usr/share/icons/hicolor/128x128@2/apps
Installing /home/colinkiama/Projects/elementary-code/data/styles/elementary-dark.xml to /usr/share/gtksourceview-4/styles
Installing /home/colinkiama/Projects/elementary-code/data/styles/elementary-light.xml to /usr/share/gtksourceview-4/styles
Installing /home/colinkiama/Projects/elementary-code/data/fonts/BuilderBlocks.ttf to /usr/share/io.elementary.code/fonts
Installing /home/colinkiama/Projects/elementary-code/data/io.elementary.code.gschema.xml to /usr/share/glib-2.0/schemas
Installing /home/colinkiama/Projects/elementary-code/data/io.elementary.code.plugins.spell.gschema.xml to /usr/share/glib-2.0/schemas
Installing /home/colinkiama/Projects/elementary-code/build/meson-private/codecore.pc to /usr/lib/x86_64-linux-gnu/pkgconfig
Installing /home/colinkiama/Projects/elementary-code/src/codecore.deps to /usr/share/vala/vapi
Running custom install script '/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas'
colinkiama@StarBook-mune:~/Projects/elementary-code/build$ ./src/io.elementary.code

(io.elementary.code:5809): GLib-GIO-ERROR **: 17:02:10.766: Settings schema 'io.elementary.code.saved-state' does not contain a key named 'terminal-visible'
Trace/breakpoint trap
colinkiama@StarBook-mune:~/Projects/elementary-code/build$ io.elementary.code

(io.elementary.code:5986): GLib-GIO-ERROR **: 17:02:28.766: Settings schema 'io.elementary.code.saved-state' does not contain a key named 'terminal-visible'
Trace/breakpoint trap

@jeremypw
Copy link
Collaborator Author

@colinkiama Weird! I cannot see the difference between my install output and mine yet the key is not installed (or compiled) in your case. Could you check the data/io.elementary.code.gschema.xml file in the project to make sure it hasn't been accidentally changed? Next, after installing the PR, look in /usr/share/glib-2.0/schemas and find the installed io.elementary.code.gschema.xml . Open it in Code and check the 'terminal-visible' key is there. The run sudo /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas manually and see if there are any errors preventing the new schema getting installed. If you havent already try rebooting in case your system is in some weird state.

@colinkiama
Copy link
Member

Okay I resolved the problem. The issue was that I had installed elementary Code without the "/usr" prefix before. I uninstalled the app when it was built without the "/usr" prefix but the schemas in the /usr/local/glib-2.0/schemas were not recompiled.

So I compiled the schemas in /usr/local/glib-2.0/schemas then proceeded to follow the build and installation instructions from the README file. Everything works fine now! :D

I suspect that the app was trying to load schemas from /usr/local/glib-2.0/schemas instead of /usr/glib-2.0/schemas.

@jeremypw
Copy link
Collaborator Author

Ah. When I started I had similar confusions with things installed in /usr/local (the default for meson) too - they take precedence over /usr so you have to delete them if not wanted.

Copy link
Member

@colinkiama colinkiama left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few typos to fix.

Also, there is still some old terminal button tooltip code is still in src/Widgets/HeaderBar.vala

src/MainWindow.vala Outdated Show resolved Hide resolved
Correct tooltip

Co-authored-by: Colin Kiama <colinkiama@gmail.com>
@jeremypw
Copy link
Collaborator Author

Thanks for spotting that!

@jeremypw
Copy link
Collaborator Author

The terminal pane button issue is caused by the current_document.grab_focus () being called when it closes (presumably because the terminal grabs focus when it opens). However, this seem unnecessary since the desired focus widget is unpredictable when it closes anyway.

@jeremypw
Copy link
Collaborator Author

I decided to continue having the document grab focus when the terminal closes else the focus can end up on a headerbar button or somewhere unexpected. The closing of the appmenu popover is an unfortunate side-effect but is tricky to fix and doesn't seem worth it.

@jeremypw
Copy link
Collaborator Author

While here I've corrected the code which causes the terminal to grab focus.

@colinkiama
Copy link
Member

lgtm

@colinkiama colinkiama merged commit 776b864 into master Jan 12, 2024
6 checks passed
@colinkiama colinkiama deleted the jeremypw/persist-terminal branch January 12, 2024 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Leave terminal open when all tabs are closed
2 participants